/* ============================================================
   SHAKTIVA · CAPA DE FUNDACIÓN
   ------------------------------------------------------------
   Se carga DESPUÉS de style.css. Hace tres cosas:
     1. Redefine los tokens de marca (nueva dirección de arte).
     2. Define las 9 variables que el contenido invocaba y NO existían
        — por eso /metodo-l/ perdía el fondo de dos secciones enteras.
     3. Define las 34 clases que el contenido usaba y NO tenían regla
        — por eso /contacto/ y /altea-octubre/ salían a sangre, pegadas
        al borde del navegador y con líneas de 200 caracteres.
   No se ha modificado ni una línea de style.css.
   ============================================================ */

/* ---------- 1. TIPOGRAFÍA AUTOALOJADA (RGPD) ---------- */
/* Bodoni Moda: solo suple los caracteres que Grand Slang no tiene (« » → ↗), comprobado con
   fontTools sobre GrandSlang-Roman.woff2. Para todo lo demás no se descarga. */
@font-face{
  font-family:'Bodoni Moda';
  src:url('../fonts/bodoni-moda/bodoni-moda-normal.woff2') format('woff2');
  font-weight:400 900; font-style:normal; font-display:swap;
  unicode-range:U+00AB,U+00BB,U+2192,U+2197;
}
@font-face{
  font-family:'Bodoni Moda';
  src:url('../fonts/bodoni-moda/bodoni-moda-italic.woff2') format('woff2');
  font-weight:400 900; font-style:italic; font-display:swap;
  unicode-range:U+00AB,U+00BB,U+2192,U+2197;
}
@font-face{
  font-family:'Grand Slang';
  src:url('../fonts/grand-slang/GrandSlang-Roman.woff2') format('woff2'),
      url('../fonts/grand-slang/GrandSlang-Roman.woff') format('woff'),
      url('../fonts/grand-slang/GrandSlang-Roman.ttf') format('truetype');
  font-weight:300 700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('../fonts/montserrat/montserrat-normal.woff2') format('woff2');
  font-weight:300 700; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Montserrat';
  src:url('../fonts/montserrat/montserrat-normal-ext.woff2') format('woff2');
  font-weight:300 700; font-style:normal; font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Montserrat';
  src:url('../fonts/montserrat/montserrat-italic.woff2') format('woff2');
  font-weight:300 700; font-style:italic; font-display:swap;
}
/* Geist, Cormorant e Inter: retiradas el 2026-10-09 (declaradas y nunca usadas; ficheros borrados con
   la confirmación de Adrián). */

/* ---------- 2. TOKENS ---------- */
:root{
  /* Tierra. El violeta deja de ser superficie clara y pasa a ser el suelo oscuro. */
  --shaktiva-violeta-deep:#16121B;
  --shaktiva-violeta-cosmos:#241F28;   /* tinta de titulares sobre claro */
  --shaktiva-violeta-mid:#2C2436;
  --shaktiva-lila-espacial:#4A2E73;    /* único color saturado */
  --shaktiva-lila-bruma:#B3A4C7;
  --shaktiva-lila-velo:#E7E2EC;

  /* Oro: SOLO filete. Nunca superficie, nunca texto sobre claro. */
  --shaktiva-oro-antiguo:#A8813F;
  --shaktiva-oro-luz:#C9A868;
  --shaktiva-oro-glow:rgba(168,129,63,.28);
  --shaktiva-oro-gradient:#A8813F;     /* el degradado de 3 paradas, anulado */
  --shaktiva-oro-border:rgba(168,129,63,.45);

  /* Piedra. No es crema casi blanca: es un tono medio y mineral. */
  --shaktiva-blanco-puro:#FFFFFF;
  --shaktiva-lino:#E4DED3;
  --shaktiva-lino-warm:#DAD3C6;
  --shaktiva-lino-card:#F0ECE3;
  --shaktiva-carbon:#241F28;
  --shaktiva-carbon-soft:#4A4351;

  /* Tipografía */
  --shaktiva-font-display:'Grand Slang','Bodoni Moda',Georgia,'Times New Roman',serif;
  --shaktiva-font-text:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;

  /* --- Las 9 que el contenido invocaba y nunca existieron --- */
  --shaktiva-lila-noche:#16121B;       /* devuelve el fondo a #vsl-video y #cualificacion */
  --shaktiva-oro-suave:#C9A868;
  --shaktiva-oro-filete:rgba(168,129,63,.45);
  --shaktiva-oro-metalico:#A8813F;
  --shaktiva-oro-oscuro:#7C5F2C;
  --shaktiva-blanco-lino:#F5F1EA;
  --shaktiva-texto-cuerpo:#4A4351;
  --shaktiva-font-serif:var(--shaktiva-font-display);
  --shaktiva-font-sans:var(--shaktiva-font-text);

  /* Medidas y ritmo */
  --sk-container:1280px;
  --sk-gutter:clamp(20px,5vw,72px);
  --sk-measure:66ch;
  --sk-ease:cubic-bezier(.16,1,.3,1);

  /* Escala tipográfica, razón 1,333 */
  --sk-xs:.8125rem;
  --sk-sm:.9375rem;
  --sk-md:1.0625rem;
  --sk-lg:1.4rem;
  --sk-xl:1.85rem;
  --sk-2xl:clamp(2.1rem, 1.4rem + 2.6vw, 3.3rem);
  --sk-3xl:clamp(2.8rem, 1.6rem + 4.4vw, 4.4rem);
  --sk-4xl:clamp(3.4rem, 1.6rem + 6.4vw, 6rem);

  /* Ritmo vertical: variable a propósito, no un metrónomo de 140px */
  --sk-space-tight:clamp(40px,6vh,72px);
  --sk-space:clamp(72px,11vh,132px);
  --sk-space-wide:clamp(104px,16vh,190px);

  /* --- TINTAS DE CONTEXTO ---
     Valores para fondo claro. Una sección oscura los redefine una sola vez
     y todo lo de dentro se adapta por herencia. Así no hace falta una
     excepción por elemento, que es como se llegó a tener titulares
     invisibles sobre su propio fondo. */
  --sk-heading:#241F28;
  --sk-ink:#241F28;
  --sk-ink-mute:#4A4351;
  --sk-eyebrow:#4A4351;
  --sk-rule:rgba(36,31,40,.14);
}

/* Contenedores oscuros. El contenido los declara con estas dos variables. */
.shaktiva-cinema-hero,
.shaktiva-metodo-hero,
.shaktiva-vsl-container,
.shaktiva-parallax-break,
.shaktiva-site-footer,
[style*="--shaktiva-lila-noche"],
[style*="--shaktiva-lila-espacial"],
.sk-dark{
  --sk-heading:#F4EEE6;
  --sk-ink:#D3C9BE;
  --sk-ink-mute:#C7BCB0;
  --sk-eyebrow:#D2B378;
  --sk-rule:rgba(234,227,217,.18);
}

/* Eje óptico (opsz): solo actúa en fuentes que lo tienen; Grand Slang lo ignora. */
:where(h1,h2,h3,h4,.shaktiva-hero-title,.shaktiva-heading-lg){font-variation-settings:'opsz' 96}
:where(h4,h5,h6){font-variation-settings:'opsz' 28}

/* ---------- 3. CONTENEDOR Y SECCIÓN (lo que faltaba) ---------- */
.shaktiva-container{
  width:100%;
  max-width:var(--sk-container);
  margin-inline:auto;
  padding-inline:var(--sk-gutter);
}
.shaktiva-section{
  padding-block:var(--sk-space);
}
.shaktiva-section > .shaktiva-container{padding-inline:var(--sk-gutter)}
.shaktiva-section-header{margin-bottom:clamp(28px,4.5vh,56px)}
.shaktiva-section-header > *{margin-inline:0}
.shaktiva-text-center{text-align:center}
.shaktiva-text-center .shaktiva-body-lead,
.shaktiva-text-center p{margin-inline:auto}

.shaktiva-gold-rule{
  height:1px;border:0;margin:0 0 clamp(24px,4vh,44px);
  background:var(--shaktiva-oro-antiguo);opacity:.5;
}

/* ---------- 4. TIPOGRAFÍA DE PÁGINA ---------- */
.shaktiva-pre-title{
  display:block;
  font-family:var(--shaktiva-font-text);
  font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:var(--sk-eyebrow);
  margin:0 0 16px;
}
.shaktiva-heading-lg{
  font-family:var(--shaktiva-font-display);
  font-size:var(--sk-3xl);font-weight:400;line-height:1.04;
  letter-spacing:-.022em;color:var(--sk-heading);
  margin:0 0 clamp(18px,2.6vh,30px);text-wrap:balance;
}
.shaktiva-body-lead{
  font-family:var(--shaktiva-font-text);
  font-size:var(--sk-md);line-height:1.65;
  color:var(--sk-ink-mute);
  max-width:var(--sk-measure);
  text-wrap:pretty;
}
.shaktiva-link-editorial{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--shaktiva-font-text);font-size:var(--sk-sm);font-weight:500;
  color:var(--shaktiva-lila-espacial);text-decoration:none;
  border-bottom:1px solid var(--shaktiva-oro-antiguo);
  padding-bottom:4px;min-height:32px;
  transition:color .25s var(--sk-ease),gap .25s var(--sk-ease);
}
.shaktiva-link-editorial:hover{color:var(--shaktiva-violeta-cosmos);gap:15px}

/* ---------- 5. HÉROE ---------- */
.shaktiva-metodo-hero,
.shaktiva-cinema-hero{position:relative;isolation:isolate}
.shaktiva-hero-inner{
  position:relative;z-index:2;
  width:100%;max-width:var(--sk-container);
  margin-inline:auto;padding-inline:var(--sk-gutter);
  padding-block:clamp(96px,16vh,190px) clamp(64px,11vh,120px);
}
.shaktiva-hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:9px 20px;border-radius:999px;
  border:1px solid var(--shaktiva-oro-filete);
  font-family:var(--shaktiva-font-text);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--shaktiva-oro-luz);
  margin-bottom:clamp(22px,3.4vh,38px);
}
/* Por defecto el héroe se asume CLARO. Solo se aclara la tinta dentro de un
   contenedor oscuro declarado. Lo contrario deja titulares invisibles en
   páginas de fondo piedra, como pasó en /contacto/. */
.shaktiva-hero-title{
  font-family:var(--shaktiva-font-display);
  font-size:var(--sk-4xl);font-weight:400;line-height:1.02;
  letter-spacing:-.024em;
  color:var(--sk-heading);
  margin:0 0 clamp(20px,3vh,34px);
  text-wrap:balance;max-width:19ch;
}
.shaktiva-hero-title em,
.shaktiva-hero-title i{font-style:italic;color:var(--sk-ink-mute)}
.shaktiva-hero-subtitle{
  font-family:var(--shaktiva-font-text);
  font-size:var(--sk-md);line-height:1.66;
  color:var(--sk-ink-mute);max-width:46ch;margin:0 0 clamp(28px,4vh,44px);
}
.shaktiva-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}

/* Botones */
.shaktiva-btn-gold,
.shaktiva-btn-glass{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:52px;padding:0 30px;border-radius:2px;
  font-family:var(--shaktiva-font-text);font-size:var(--sk-sm);font-weight:500;
  letter-spacing:.01em;text-decoration:none;cursor:pointer;
  transition:background .25s var(--sk-ease),color .25s var(--sk-ease),border-color .25s var(--sk-ease);
}
.shaktiva-btn-gold{background:#EAE3D9;color:#16121B;border:1px solid #EAE3D9}
.shaktiva-btn-gold:hover{background:#fff;border-color:#fff;color:#16121B}
.shaktiva-btn-glass{background:transparent;color:#EAE3D9;border:1px solid var(--shaktiva-oro-filete)}
.shaktiva-btn-glass:hover{border-color:var(--shaktiva-oro-luz);color:#fff}

/* ---------- 6. SECCIONES OSCURAS ---------- */
/* Ya no hay excepciones por elemento: el contexto oscuro se declara arriba
   con las tintas y todo lo de dentro hereda. Aquí solo lo que no es color. */
.shaktiva-vsl-container,
.shaktiva-metodo-hero,
.shaktiva-cinema-hero,
.sk-dark{color:var(--sk-ink)}
.shaktiva-vsl-container :is(h1,h2,h3,h4),
.shaktiva-metodo-hero :is(h1,h2,h3,h4),
.shaktiva-cinema-hero :is(h1,h2,h3,h4),
.sk-dark :is(h1,h2,h3,h4){color:var(--sk-heading)}
.shaktiva-vsl-container :is(p,li),
.sk-dark :is(p,li){color:var(--sk-ink-mute)}

.shaktiva-vsl-container{padding-block:var(--sk-space)}
.shaktiva-vsl-frame{
  position:relative;width:100%;max-width:1000px;margin-inline:auto;
  aspect-ratio:16/9;overflow:hidden;border-radius:3px;
  border:1px solid var(--shaktiva-oro-filete);background:#0F0C14;
}
.shaktiva-vsl-frame img,
.shaktiva-vsl-frame video,
.shaktiva-vsl-frame iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}

/* ---------- 7. TARJETAS DEL TRÍPTICO ---------- */
.shaktiva-triptych-card{
  display:flex;flex-direction:column;
  background:var(--shaktiva-lino-card);
  border:1px solid rgba(36,31,40,.10);
  border-radius:2px;overflow:hidden;
}
.shaktiva-triptych-card > img,
.shaktiva-triptych-card figure img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* ---------- 8. RETIRO (altea-octubre) ---------- */
.shaktiva-retreat-body-content{
  width:100%;max-width:var(--sk-container);
  margin-inline:auto;padding-inline:var(--sk-gutter);
}
.shaktiva-retreat-body-content > * + *{margin-top:clamp(18px,2.6vh,30px)}
.shaktiva-retreat-body-content p{max-width:var(--sk-measure)}
.shaktiva-retreat-details-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:clamp(24px,3.4vw,52px);
  align-items:start;
}
.shaktiva-retreat-sidebar{
  position:relative;
  background:var(--shaktiva-lino-card);
  border:1px solid var(--shaktiva-oro-filete);
  border-radius:2px;
  padding:clamp(26px,3vw,40px);
}
@media (min-width:1024px){
  .shaktiva-retreat-sidebar{position:sticky;top:104px}
}
.shaktiva-card-booking{display:flex;flex-direction:column;gap:18px}
.shaktiva-booking-price{
  font-family:var(--shaktiva-font-text);
  font-size:var(--sk-2xl);font-weight:500;line-height:1.1;
  color:var(--shaktiva-violeta-cosmos);
  font-variant-numeric:tabular-nums lining-nums;
  letter-spacing:-.01em;
}
.shaktiva-booking-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.shaktiva-booking-list li{
  position:relative;padding-left:20px;
  font-size:var(--sk-sm);line-height:1.55;color:var(--shaktiva-texto-cuerpo);
}
.shaktiva-booking-list li::before{
  content:"";position:absolute;left:0;top:.62em;
  width:7px;height:1px;background:var(--shaktiva-oro-antiguo);
}
.shaktiva-booking-note{
  font-size:var(--sk-xs);line-height:1.55;color:var(--shaktiva-carbon-soft);
  padding-top:14px;border-top:1px solid rgba(36,31,40,.12);
}

/* ---------- 9. CONTACTO ---------- */
.shaktiva-contact-wrap{
  width:100%;max-width:var(--sk-container);
  margin-inline:auto;padding-inline:var(--sk-gutter);
  padding-block:var(--sk-space);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:clamp(32px,5vw,80px);
  align-items:start;
}
.shaktiva-contact-info-box > * + *{margin-top:clamp(16px,2.2vh,26px)}
.shaktiva-contact-info-box p{max-width:46ch}
.shaktiva-contact-form-box{
  background:var(--shaktiva-lino-card);
  border:1px solid rgba(36,31,40,.10);
  border-radius:2px;
  padding:clamp(24px,3vw,44px);
}

/* ---------- 10. PIE ---------- */
.shaktiva-footer-col,
.shaktiva-footer-col-brand{min-width:0}
.shaktiva-footer-title-group{display:flex;flex-direction:column;gap:5px}
.shaktiva-copyright{margin:0;font-size:var(--sk-xs);color:rgba(234,227,217,.62)}

/* El pie de 5 columnas se partía en dos filas por culpa de los flex-basis.
   2026-10-09: las pistas las manda style.css (.shaktiva-footer-grid, con !important
   y sus dos media queries); la rejilla que había aquí nunca llegaba a aplicarse. */
.shaktiva-footer-grid{align-items:start}
.shaktiva-footer-grid > .wp-block-column{flex-basis:auto !important;width:auto !important}

/* ---------- 10 bis. EL ORO NUNCA ES TEXTO SOBRE CLARO ---------- */
/* Regla del propio sistema documentado: «dorado como filete, nunca superficie».
   Sobre piedra el oro da 2-3:1 y no hay tamaño que lo salve, así que estas
   etiquetas pasan a tinta. El oro se queda en los filetes y en fondo oscuro. */
.shaktiva-card-numeral,
.shaktiva-manifesto-eyebrow,
.shaktiva-triad-eyebrow,
.shaktiva-exp-eyebrow,
.shaktiva-doors-eyebrow,
.shaktiva-itinerary-time,
.shaktiva-itinerary-day,
.shaktiva-pilar-label,
.shaktiva-footer-location{
  color:var(--sk-eyebrow) !important;
}

/* Las píldoras sobre fotografía necesitan fondo opaco: con alfa .75 el oro
   quedaba en 3,5:1 y el texto es de 10-11 px. */
.shaktiva-card-floating-pill,
.shaktiva-retreat-pill,
.shaktiva-audio-pill{
  --sk-heading:#F4EEE6;
  --sk-ink:#E8DCC2;
  --sk-ink-mute:#E8DCC2;
  --sk-eyebrow:#E8DCC2;
  background:#16121B !important;
  border-color:var(--shaktiva-oro-filete) !important;
  color:var(--sk-eyebrow) !important;
}

/* ---------- 10 ter. ESTILOS EN LÍNEA HEREDADOS DEL CONTENIDO ---------- */
/* Estos colores están escritos a mano dentro del contenido en la base de
   datos, no en una hoja de estilos. Se neutralizan aquí hasta que el
   contenido se reescriba; entonces estas reglas se pueden borrar. */
[style*="#7A7584"]{color:var(--sk-ink-mute) !important}
[style*="rgba(56,52,66,0.7)"],
[style*="rgba(56,52,66,0.6)"],
[style*="rgba(56, 52, 66, 0.7)"],
[style*="rgba(56, 52, 66, 0.6)"]{color:var(--sk-ink-mute) !important}

/* Oro como texto: a tinta por defecto, y solo vuelve a ser oro sobre oscuro. */
[style*="#C6A15B"],
[style*="--shaktiva-oro-suave"],
[style*="--shaktiva-oro-antiguo"],
[style*="--shaktiva-oro-metalico"],
.shaktiva-soundwave-container,
.shaktiva-soundwave-container span{color:var(--sk-eyebrow) !important}

/* Títulos y descripciones del diagrama de los tres movimientos */
.shaktiva-node-title{color:var(--sk-eyebrow) !important}
.shaktiva-node-desc{color:var(--sk-ink-mute) !important}

/* ---------- 11. ACCESIBILIDAD ---------- */
/* El anillo de foco en oro daba 2,21:1 sobre piedra: no cumple SC 1.4.11.
   Doble anillo: siempre hay uno que contrasta, sea cual sea el fondo. */
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{
  outline:2px solid var(--shaktiva-lila-espacial) !important;
  outline-offset:2px !important;
  box-shadow:0 0 0 4px rgba(244,238,230,.9) !important;
}
.shaktiva-metodo-hero :focus-visible,
.shaktiva-cinema-hero :focus-visible,
.shaktiva-vsl-container :focus-visible,
.shaktiva-site-footer :focus-visible{
  outline-color:#F4EEE6 !important;
  box-shadow:0 0 0 4px rgba(22,18,27,.9) !important;
}

/* ---------- 12. (retirada: el revelado por scroll ya no existe) ---------- */

/* ---------- 13. MEDIDA DE LECTURA ---------- */
/* La prosa no pasa de ~66 caracteres por línea. Para los párrafos que ya
   viven en una columna estrecha esta regla no hace nada; solo recorta los
   que se estaban estirando hasta los 1280 px del contenedor. */
.entry-content p:not(.shaktiva-hero-subtitle):not([class*="pill"]):not([class*="price"]),
.entry-content li{
  max-width:var(--sk-measure);
}
.shaktiva-text-center p,
.has-text-align-center{margin-inline:auto}
.shaktiva-footer-disclaimer{max-width:72ch}

/* ============================================================
   14. ELEVACIÓN 2026-10 · QUITAR, ALINEAR, AFINAR
   ------------------------------------------------------------
   Fuente: docs/premium-2026-10/ (auditor, Codex marketing y UX,
   mapa técnico). Criterios: .agents/rules/70-estandar-premium.md.
   Todo lo de esta sección es reversible borrándola: no se ha
   tocado contenido de la base de datos.
   ============================================================ */

/* 14.1 (retirada: sin scroll reveal en el tema ni en el contenido) */

/* 14.2 Foco visible con contraste ≥3:1 (SC 1.4.11).
   style.css fijaba un anillo oro (~2,7:1 sobre lino) con !important y
   especificidad 0,1,1; esta regla (0,2,1) lo sustituye. */
html :is(a,button,input,textarea,select,summary,[tabindex],.button,.wp-block-button__link):focus-visible{
  outline:2px solid var(--shaktiva-lila-espacial) !important;
  outline-offset:2px !important;
  box-shadow:0 0 0 4px rgba(244,238,230,.9) !important;
}
html :is(.shaktiva-metodo-hero,.shaktiva-cinema-hero,.shaktiva-vsl-container,.shaktiva-site-footer,.shaktiva-gracee-hero,.sk-dark,[style*="--shaktiva-lila-noche"],[style*="--shaktiva-lila-espacial"]) :is(a,button,input,textarea,select,summary,[tabindex],.button):focus-visible,
html .shaktiva-desktop-nav.is-open :focus-visible{
  outline-color:#F4EEE6 !important;
  box-shadow:0 0 0 4px rgba(22,18,27,.9) !important;
}

/* 14.3 Un único botón. Tinta sobre claro, lino sobre oscuro.
   El oro deja de ser superficie (regla 10: «detalle, nunca superficie»). */
:root{--sk-btn-bg:#241F28;--sk-btn-ink:#F4EEE6;--sk-btn-bg-hover:#4A2E73}
.shaktiva-cinema-hero,.shaktiva-metodo-hero,.shaktiva-vsl-container,.shaktiva-site-footer,
.shaktiva-gracee-hero,.shaktiva-bento-metodo,[style*="--shaktiva-lila-noche"],[style*="--shaktiva-lila-espacial"],.sk-dark{
  --sk-btn-bg:#EAE3D9;--sk-btn-ink:#16121B;--sk-btn-bg-hover:#FFFFFF;
}
.shaktiva-btn-glow,
.shaktiva-btn-ink,
.shaktiva-bento-btn-gold,
.shaktiva-gracee-pill-cta,
.shaktiva-pill-btn-submit,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce-message .button,
.woocommerce-info .button,
.fluentform .ff-btn-submit{
  background:var(--sk-btn-bg) !important;
  color:var(--sk-btn-ink) !important;
  border:1px solid var(--sk-btn-bg) !important;
  box-shadow:none !important;
  transform:none !important;
}
.shaktiva-btn-glow:hover,
.shaktiva-btn-ink:hover,
.shaktiva-bento-btn-gold:hover,
.shaktiva-gracee-pill-cta:hover,
.shaktiva-pill-btn-submit:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.fluentform .ff-btn-submit:hover{
  background:var(--sk-btn-bg-hover) !important;
  border-color:var(--sk-btn-bg-hover) !important;
  color:var(--sk-btn-ink) !important;
  transform:none !important;box-shadow:none !important;filter:none !important;
}
/* Botones y CTA: radio discreto, sin elevarse ni brillar al pasar el ratón. */
.shaktiva-btn-glow,.shaktiva-btn-purple,.shaktiva-bento-btn-gold,.shaktiva-bento-pill-btn,
.shaktiva-gracee-pill-cta,.shaktiva-story-btn-pill,.shaktiva-pill-btn-submit,
.woocommerce ul.products li.product .button,.woocommerce div.product form.cart .button,
.woocommerce-message .button,.woocommerce-info .button,.fluentform .ff-btn-submit{
  border-radius:2px !important;
  min-height:48px;
  transition:background-color .25s var(--sk-ease),color .25s var(--sk-ease),border-color .25s var(--sk-ease) !important;
}
:is(.shaktiva-btn-glow,.shaktiva-btn-purple,.shaktiva-bento-pill-btn,.shaktiva-gracee-pill-cta,
.shaktiva-story-btn-pill,.shaktiva-social-icon,.shaktiva-icon-link,.shaktiva-top-btn,.cky-btn-accept):hover{
  transform:none !important;box-shadow:none !important;
}

/* 14.4 Tarjetas: sin elevación, sin sombra difusa grande, radio contenido. */
:root{--sk-radius-card:4px}
.shaktiva-bento-card,.shaktiva-bento-stat-card,.shaktiva-bento-atelier,.shaktiva-bento-quote-card{border-radius:4px !important}
.shaktiva-bento-atelier-img,.shaktiva-audio-outer-card{border-radius:2px !important}
:is(.shaktiva-bento-card,.shaktiva-exp-card,.shaktiva-itinerary-card,.shaktiva-aura-card,
.woocommerce ul.products li.product):hover{transform:none !important;box-shadow:none !important}
:is(.shaktiva-manifesto-card,.shaktiva-parallax-window,.shaktiva-story-visual-wrap,
.shaktiva-audio-outer-card,.shaktiva-lead-form-panel,.shaktiva-bento-card){box-shadow:none !important}

/* 14.5 Sin glassmorphism: fondos opacos equivalentes. */
.shaktiva-site-header{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:#F4EFE7 !important}
/* La cabecera es sticky: si cambia de tamaño al hacer scroll, empuja toda la página
   (CLS). Además .is-scrolled imponía 40 px laterales también en móvil. Mismo tamaño siempre. */
.shaktiva-site-header.is-scrolled{box-shadow:none !important;padding:14px 40px !important}
@media (max-width:768px){.shaktiva-site-header.is-scrolled{padding:12px 18px !important}}
.shaktiva-hero-emblem-badge{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:#16121B !important;box-shadow:none !important;border-radius:2px !important}
.shaktiva-card-floating-pill,.shaktiva-story-floating-pill,.shaktiva-bento-tag{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
.shaktiva-bento-tag{background:#16121B !important;border-color:var(--shaktiva-oro-filete) !important}
.shaktiva-story-floating-pill{background:#16121B !important}
.shaktiva-parallax-frosted-panel{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:rgba(22,18,27,.88) !important;border-radius:2px !important}
.shaktiva-drawer-backdrop{backdrop-filter:none !important;background:rgba(22,18,27,.72) !important}
@media (max-width:1280px){
  .shaktiva-desktop-nav{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:#16121B !important}
}

/* 14.6 Sin degradados de fondo ni destellos. */
.shaktiva-site-footer{background:#16121B !important}
.shaktiva-gracee-spotlight,.shaktiva-gracee-crosshair{display:none !important}

/* 14.7 Sin bucles decorativos (regla 70: sin animation en bloques de contenido). */
.shaktiva-top-pulse-dot,.vsl-play-button,.shaktiva-scroll-line,
.shaktiva-hero-scroll-prompt .scroll-bar,.soundwave-bar,.shaktiva-audio-bar,.sk-radar-dot{animation:none !important}
.shaktiva-logo-link:hover .shaktiva-header-cobra{transform:none !important}

/* 14.8 Parallax fijo: solo con ratón y movimiento permitido.
   En táctil y con movimiento reducido, fondo normal (sin repintado por scroll). */
@media (prefers-reduced-motion:reduce),(hover:none),(max-width:1024px){
  .shaktiva-parallax-break{background-attachment:scroll !important}
}

/* 14.9 Cabecera: WooCommerce (.woocommerce-page img{height:auto}) inflaba la cobra
   a ~170 px en tienda y fichas. Misma medida en todas las rutas. */
.shaktiva-site-header .shaktiva-header-cobra{height:38px !important;width:auto !important;max-width:none !important}
@media (max-width:782px){.shaktiva-site-header .shaktiva-header-cobra{height:28px !important}}
body.mobile-menu-active,body.drawer-active{overflow:hidden}
.shaktiva-drawer-footer[hidden]{display:none !important}
.shaktiva-cart-drawer,.shaktiva-drawer-body,.shaktiva-desktop-nav.is-open{overscroll-behavior:contain}
:where(a,button,input,select,textarea,label,summary){touch-action:manipulation}
.shaktiva-drawer-checkout{width:100%;margin-block:16px 8px}

/* 14.10 Héroe de la Home: una idea por pantalla.
   Las tres rutas y la foto auxiliar se repetían en «Tres puertas», justo debajo.
   Quedan foto, titular, apoyo y la acción. El contenido sigue en la BD. */
.shaktiva-gracee-upper{display:none !important}
.shaktiva-gracee-hero{background-color:#16121B !important}
.shaktiva-gracee-bg-img{opacity:1 !important;filter:none !important}
/* el velo del héroe se define en la sección 15 (nunca sobre el rostro) */

/* 14.11 Banner de cookies (CookieYes). RGPD del proyecto: rechazar igual de
   accesible que aceptar. Texto legible (el plugin usa .cky-notice-des, no
   .cky-description) y sin el azul por defecto del plugin. */
.cky-consent-container .cky-notice-des,
.cky-consent-container .cky-notice-des *{color:#D3C9BE !important}
.cky-consent-container .cky-notice-des a{color:#F4EEE6 !important;text-decoration:underline !important}
.cky-btn.cky-btn-accept,
.cky-btn.cky-btn-reject{
  background:#EAE3D9 !important;color:#16121B !important;
  border:1px solid #EAE3D9 !important;border-radius:2px !important;
  font-weight:500 !important;letter-spacing:.01em !important;box-shadow:none !important;
}
.cky-btn.cky-btn-accept:hover,.cky-btn.cky-btn-reject:hover{background:#FFFFFF !important;border-color:#FFFFFF !important}
.cky-btn.cky-btn-customize{border-radius:2px !important;color:#F4EEE6 !important;border-color:rgba(234,227,217,.5) !important}
.cky-btn-revisit-wrapper{background-color:#241F28 !important}
.cky-btn{min-height:44px !important}
/* En móvil el aviso ocupaba ~42 % del pliegue: Aceptar y Rechazar en fila, al mismo peso;
   Personalizar debajo, a todo el ancho. */
@media (max-width:600px){
  .cky-consent-container .cky-consent-bar{padding:16px !important}
  .cky-consent-container .cky-title{margin-bottom:8px !important}
  .cky-consent-container .cky-notice-des,
  .cky-consent-container .cky-notice-des p{font-size:.875rem !important;line-height:1.5 !important}
  .cky-consent-container .cky-notice-btn-wrapper{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;margin-top:12px !important}
  .cky-consent-container .cky-notice-btn-wrapper .cky-btn{width:100% !important;margin:0 !important;padding:8px 12px !important}
  .cky-consent-container .cky-btn-customize{grid-column:1 / -1 !important;order:3}
}

/* 14.11 bis Sin blanco puro (regla 10: el fondo es lino). El manifiesto va
   directo sobre la piedra; formulario, reproductor y tarjeta conservan una
   superficie, ahora lino claro. */
.shaktiva-story-section{background:var(--shaktiva-lino) !important}
.shaktiva-manifesto-card{background:transparent !important;border:0 !important;box-shadow:none !important}
.shaktiva-bento-card.shaktiva-bento-atelier,.shaktiva-audio-player-box,.shaktiva-lead-form-panel{background:var(--shaktiva-lino-card) !important}

/* 14.12 Objetivos táctiles de 44 px. El botón del menú medía 32×22. */
.shaktiva-mobile-toggle{width:44px !important;height:44px !important;padding:11px 6px !important;box-sizing:border-box !important}
.woocommerce-product-gallery__trigger{width:44px !important;height:44px !important;display:flex !important;align-items:center;justify-content:center}

/* 14.13 Tipografía: cuerpo de las tarjetas a 17 px (estaba en 14-15 px) y
   títulos de WooCommerce dentro de la escala (el h1 de producto llegaba a ~96 px). */
.shaktiva-bento-desc,.shaktiva-bento-metodo-desc,.shaktiva-bento-bullets li{font-size:var(--sk-md) !important;line-height:1.6 !important}
.shaktiva-form-privacy-note{font-size:var(--sk-sm) !important}
.single-product h1.wp-block-post-title,
.woocommerce div.product .product_title{font-size:var(--sk-2xl) !important;line-height:1.1 !important;letter-spacing:-.015em}
h1.wp-block-query-title,
.woocommerce-products-header__title{font-size:var(--sk-3xl) !important;line-height:1.05 !important}
/* Precio: tinta, no oro (el oro sobre lino da 2,7:1). */
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--shaktiva-violeta-cosmos) !important;font-weight:400 !important}
.cky-switch input[type="checkbox"]:checked + .cky-slider{background-color:#4A2E73 !important}

/* ============================================================
   15. RONDA DE CORRECCIONES TRAS LA QA (fase 2, 2026-10-09)
   IDs: auditorias/20261009-antes/integracion.md, sección «Fase 2».
   ============================================================ */

/* V01 · el texto del botón de Fluent Forms vive en ::after y seguía en tinta oscura
   sobre el botón oscuro: hereda la tinta del botón. */
/* style.css añadía «ENVIAR MENSAJE →» a TODOS los botones de Fluent Forms (se duplicaba con el texto
   real del botón). Cada formulario dice lo suyo: fuera el texto generado. */
.fluentform .ff-btn-submit::after{content:none !important}

/* Q03 · botón de tinta para superficies claras (cesta lateral, estados vacíos). */
.shaktiva-btn-ink{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:0 28px;font-family:var(--shaktiva-font-text);font-size:var(--sk-sm);font-weight:500;
  text-decoration:none;cursor:pointer;
}
.shaktiva-drawer-checkout{display:flex !important}

/* Q11/Q12 · cesta: cerrar con objetivo de 44 px; el foco usa el anillo lila (panel claro). */
.shaktiva-drawer-close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}

/* V05 · Tienda móvil: el orden del catálogo empujaba el ancho a 425 px. */
.wp-block-group:has(> .wc-block-catalog-sorting){flex-wrap:wrap;row-gap:12px}
.wc-block-catalog-sorting,.woocommerce-ordering{max-width:100%;min-width:0}
.wc-block-catalog-sorting select,.woocommerce-ordering select{max-width:100%}

/* V06 · Método L y Sobre mí en móvil: rellenos anidados (48 px en línea + 24 px de
   contenedor) dejaban la columna en 246 px, y las rejillas en línea con
   minmax(310-320px) no cabían. En móvil manda un solo margen lateral. */
@media (max-width:600px){
  .entry-content .wp-block-group:has(> .shaktiva-container){padding-left:0 !important;padding-right:0 !important}
  .entry-content .shaktiva-container{padding-inline:20px !important}
  .shaktiva-story-editorial{padding-inline:20px !important}
  .shaktiva-story-editorial .shaktiva-story-narrative{padding-inline:0 !important}
  .entry-content [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr) !important}
  .entry-content :is(h1,h2,.shaktiva-heading-lg,.shaktiva-hero-title){overflow-wrap:break-word;hyphens:manual}
}

/* V12 · cobra del pie: WooCommerce la inflaba a 192×206 (mismo fallo que la cabecera). */
.shaktiva-site-footer .shaktiva-footer-cobra{height:52px !important;width:auto !important;max-width:none !important}
/* Sin brillo dorado (regla 70) y en versión monocroma clara: la cobra violeta no se veía sobre el pie oscuro. */
.shaktiva-site-footer .shaktiva-footer-cobra{filter:brightness(0) invert(.88) !important}
@media (max-width:768px){.shaktiva-site-footer .shaktiva-footer-cobra{height:38px !important}}
.shaktiva-footer-logo{white-space:nowrap}
@media (min-width:1100px){.shaktiva-footer-logo{font-size:1.75rem !important}}

/* Banner de cookies en móvil: ancho completo pegado abajo y Personalizar como enlace. */
@media (max-width:600px){
  .cky-consent-container{left:0 !important;right:0 !important;bottom:0 !important;width:100% !important;max-width:100% !important}
  .cky-consent-container .cky-consent-bar{border-radius:0 !important}
  .cky-consent-container .cky-notice-des,
  .cky-consent-container .cky-notice-des p{font-size:.8125rem !important}
  .cky-consent-container .cky-btn.cky-btn-customize{
    background:transparent !important;border:0 !important;text-decoration:underline !important;
    padding:0 !important;min-height:44px !important;
  }
  /* El plugin impone su propio order: Rechazar y Aceptar en fila, Personalizar debajo. */
  .cky-consent-container .cky-notice-btn-wrapper .cky-btn-reject{order:1 !important}
  .cky-consent-container .cky-notice-btn-wrapper .cky-btn-accept{order:2 !important}
  .cky-consent-container .cky-notice-btn-wrapper .cky-btn-customize{order:3 !important}
  .cky-consent-container :is(.cky-title,.cky-notice-des,.cky-notice-btn-wrapper){padding-inline:0 !important}
}
.shaktiva-btn-ink{min-height:48px}
@media (max-width:600px){.shaktiva-story-badge-overlap{right:0 !important}} /* salía 24 px por la derecha */

/* V20/Q08 · el botón flotante de CookieYes (30×30, en inglés) tapaba el CTA y los títulos.
   Se sustituye por «Preferencias de cookies» en el pie (.cky-banner-element). */
.cky-btn-revisit-wrapper{display:none !important}
.shaktiva-footer-cookie-btn{
  background:none;border:0;padding:0;min-height:44px;cursor:pointer;
  font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;
}

/* Q13 · subrayado del menú: animar transform, no width. */
.shaktiva-nav-item::after{
  left:12px !important;width:calc(100% - 24px) !important;
  transform:scaleX(0) !important;transform-origin:center;
  transition:transform .25s var(--sk-ease) !important;
}
.shaktiva-nav-item:hover::after,.shaktiva-nav-item:focus-visible::after{transform:scaleX(1) !important}

/* Dirección de arte 2026-10 (Adrián): nunca velo sobre el rostro de Tamara.
   Héroe de la Home: el oscurecimiento queda en la franja inferior del texto. */
.shaktiva-gracee-overlay{background:linear-gradient(180deg,rgba(22,18,27,0) 0%,rgba(22,18,27,0) 50%,rgba(22,18,27,.82) 100%) !important}

/* 16. Revisión cruzada (Codex): botones con una sola voz en todo el sitio
   (mayúsculas pequeñas espaciadas, como los antetítulos) y pie algo más legible. */
html body :is(.shaktiva-btn-glow,.shaktiva-btn-ink,.shaktiva-btn-gold,.shaktiva-btn-glass,.shaktiva-btn-purple,
.shaktiva-bento-btn-gold,.shaktiva-bento-pill-btn,.shaktiva-gracee-pill-cta,.shaktiva-story-btn-pill,.shaktiva-pill-btn-submit,
.wc-block-components-product-button__button,.wp-block-button__link,.woocommerce .button,.fluentform .ff-btn-submit,.single_add_to_cart_button){
  text-transform:uppercase !important;letter-spacing:.1em !important;font-size:.8125rem !important;font-weight:500 !important;
}
.shaktiva-footer-disclaimer,.shaktiva-footer-legal-bar a,.shaktiva-footer-cookie-btn,.shaktiva-copyright{color:rgba(244,238,230,.72) !important}

/* ============================================================
   17. TIPOGRAFÍA EN TAMAÑO PEQUEÑO (Adrián, 2026-10-09)
   Grand Slang solo tiene fichero Roman: su cursiva es una inclinación
   sintética del navegador y por debajo de ~28 px se deshace. Regla:
   · titulares por debajo de 28 px → Montserrat 600;
   · cursivas por debajo de 28 px → Montserrat itálica (fichero real);
   · Grand Slang (y su cursiva) solo en display ≥ 28 px y en el logotipo.
   ============================================================ */
.entry-content h3:not([class]),
.entry-content :is(h4,h5,h6),
.shaktiva-itinerary-title,
.wc-block-product .wp-block-post-title,
.wc-block-grid__product-title,
.shaktiva-drawer-title{
  font-family:var(--shaktiva-font-text) !important;font-weight:600 !important;font-style:normal !important;
  font-size:1.375rem !important;line-height:1.3 !important;letter-spacing:-.005em !important; /* 22 px: escalón de titular pequeño */
}
.wc-block-product .wp-block-post-title,.wc-block-product .wp-block-post-title a,.wc-block-grid__product-title{font-size:var(--sk-md) !important}
.shaktiva-footer-heading{
  font-family:var(--shaktiva-font-text) !important;font-weight:600 !important;font-size:.9375rem !important;
  letter-spacing:0 !important;line-height:1.4 !important;
}
.cky-consent-container .cky-title,.cky-preference-title{
  font-family:var(--shaktiva-font-text) !important;font-weight:600 !important;font-size:1rem !important;
}
/* Citas y frases en cursiva por debajo de 28 px */
.shaktiva-editorial-pullquote,.shaktiva-deontological-italic,.shaktiva-story-badge-overlap,
.shaktiva-editorial-pullquote *,.shaktiva-deontological-italic *{
  font-family:var(--shaktiva-font-text) !important;font-style:italic !important;font-weight:400 !important;
  font-size:1.125rem !important;line-height:1.6 !important;letter-spacing:0 !important;
}
/* Cualquier <em>/<i> dentro de texto corrido (Montserrat) usa su itálica real, nunca la de Grand Slang */
.entry-content :is(p,li,blockquote) :is(em,i){font-family:inherit}

/* 18. Cabecera fija de verdad. WordPress envuelve la parte en <header class="wp-block-template-part">
   de su misma altura, así que el sticky de .shaktiva-site-header no tenía recorrido y la cabecera
   se iba con el scroll en todas las páginas. El sticky pasa al envoltorio. */
.wp-site-blocks > .wp-block-template-part:has(> .shaktiva-site-header){position:sticky;top:0;z-index:9999}
.wp-site-blocks > .wp-block-template-part > .shaktiva-site-header{position:relative}

/* ============================================================
   19. SISTEMA EDITORIAL (Adrián, 2026-10-09)
   ============================================================ */
:root{
  /* Display: el nivel de «El cuerpo recuerda…». ~80 px a 1440, ~60 a 1024, 34 en móvil. */
  --sk-display-1:clamp(2.125rem, .6rem + 4.9vw, 5.25rem);
  /* Retícula: 12 columnas, medianil fluido, mismo ancho máximo que el contenedor. */
  --sk-grid-cols:12;
  --sk-grid-gap:clamp(16px, 2.2vw, 32px);
  --sk-grid-max:1280px;
}
/* Cortes de línea de diseñador: titulares equilibrados, párrafos sin viudas, nunca guiones. */
:where(h1,h2,h3,.shaktiva-hero-title,.shaktiva-heading-lg){text-wrap:balance;hyphens:manual}
:where(.entry-content) :where(p,li){text-wrap:pretty;hyphens:manual}

/* Retícula reutilizable: .sk-grid (12 col.) y .sk-col-N / .sk-start-N en escritorio. */
.sk-grid{
  display:grid;grid-template-columns:repeat(var(--sk-grid-cols),minmax(0,1fr));
  column-gap:var(--sk-grid-gap);row-gap:var(--sk-grid-gap);
  width:100%;max-width:var(--sk-grid-max);margin-inline:auto;padding-inline:var(--sk-gutter);box-sizing:border-box;
}
.sk-grid > *{grid-column:1 / -1;min-width:0}
@media (min-width:1024px){
  /* auto / span N: el inicio lo pone el flujo o .sk-start-N (que va después) */
  .sk-col-3{grid-column:auto / span 3}.sk-col-4{grid-column:auto / span 4}.sk-col-5{grid-column:auto / span 5}
  .sk-col-6{grid-column:auto / span 6}.sk-col-7{grid-column:auto / span 7}.sk-col-8{grid-column:auto / span 8}
  .sk-col-12{grid-column:1 / -1}
  .sk-start-1{grid-column-start:1}.sk-start-2{grid-column-start:2}.sk-start-3{grid-column-start:3}.sk-start-4{grid-column-start:4}.sk-start-5{grid-column-start:5}.sk-start-6{grid-column-start:6}.sk-start-7{grid-column-start:7}.sk-start-8{grid-column-start:8}.sk-start-9{grid-column-start:9}.sk-start-10{grid-column-start:10}.sk-start-11{grid-column-start:11}.sk-start-12{grid-column-start:12}
}

/* Un solo botón también en la cabecera: la pastilla «Cesta» tenía 20 px de radio. */
.shaktiva-site-header .shaktiva-cart-link{border-radius:2px !important}

/* Vídeo de fondo preparado (sin ficheros todavía). Marcado esperado:
   <video class="sk-bg-video" muted playsinline loop preload="none" poster="…" data-sk-bg>
     <source data-src="…/heroe.webm" type="video/webm"><source data-src="…/heroe.mp4" type="video/mp4">
   </video>
   El JS solo carga las fuentes si no hay movimiento reducido ni ahorro de datos, y
   reproduce solo mientras se ve. Sin JS o sin fuentes, queda el póster. */
.sk-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--sk-video-pos,50% 30%);z-index:0}
/* Invisible hasta que de verdad se reproduce (debajo queda la foto o el póster); fundido al final del bucle. */
.sk-bg-video{opacity:0;transition:opacity .6s ease}
.sk-bg-video[data-sk-playing]{opacity:1}
.sk-bg-video.sk-fundido{opacity:0}
@media (prefers-reduced-motion:reduce){.sk-bg-video{display:none !important}}

/* ============================================================
   20. ESCALA ÚNICA EN CABECERA, PIE Y FORMULARIOS (QA 2026-10-09)
   Escala del sitio: 13 · 15 · 17 · 32 · display. El logotipo (SHAKTIVA) es marca y
   no cuenta; su lema, a 8-9 px, no se leía: 13 px en escritorio y oculto en móvil.
   ============================================================ */
.shaktiva-site-header .shaktiva-nav-item{font-size:var(--sk-sm) !important}
.shaktiva-site-header .shaktiva-cart-link{font-size:var(--sk-xs) !important}
.shaktiva-logo-tagline,.shaktiva-footer-sub{font-size:var(--sk-xs) !important;letter-spacing:.14em !important}
@media (max-width:768px){.shaktiva-logo-tagline{display:none !important}}
.shaktiva-footer-desc,.shaktiva-footer-links a{font-size:var(--sk-sm) !important}
.shaktiva-footer-disclaimer,.shaktiva-footer-legal-bar a,.shaktiva-footer-cookie-btn,.shaktiva-copyright{font-size:var(--sk-xs) !important}
.skip-link{font-size:var(--sk-sm) !important}
.fluentform .ff-el-input--label label,.fluentform .ff_t_c,.fluentform .ff_t_c *,.fluentform .ff-el-form-check-label{font-size:var(--sk-sm) !important}

/* Q8 · enlaces del pie con objetivo táctil de 44 px en táctil (medían 25 px). */
@media (hover:none),(max-width:768px){
  .shaktiva-footer-links a,.shaktiva-footer-legal-bar a,.shaktiva-footer-cookie-btn{
    display:inline-flex !important;align-items:center;min-height:44px !important;
  }
  .shaktiva-footer-links li{margin:0 !important}
}

/* 21. Escala cerrada: 13 · 15 · 17 · 22 · 32 · display (≤ 6 por página). */
.shaktiva-desktop-nav.is-open .shaktiva-nav-item{font-size:2rem !important}
.entry-content h2.wp-block-heading:not(.sk-home-display),.shaktiva-contact-form-box h2{font-size:2rem !important;line-height:1.15 !important}
.shaktiva-footer-links a,.shaktiva-footer-legal-bar a,.shaktiva-footer-cookie-btn{display:inline-flex;align-items:center;min-height:24px} /* WCAG 2.5.8 en escritorio; 44 px en táctil (§20) */

/* ============================================================
   22. ESCALA ÚNICA DEL SITIO, LOGOTIPO INCLUIDO (QA 2026-10-09)
   13 · 15 · 17 · 22 · 32 · display-2 (53) · display-1 (80); en móvil ambos displays = 34.
   Ninguna página usa los dos displays y el 32 a la vez: ≤ 6 tamaños por página.
   ============================================================ */
:root{
  --sk-display-2:clamp(2.125rem, 1rem + 2.6vw, 3.3rem);
  --sk-2xl:var(--sk-display-2);            /* era clamp(2.1rem…): 33,6 px en móvil frente a 34 */
  --sk-3xl:var(--sk-display-2);
  --sk-4xl:var(--sk-display-1);
}
html body .shaktiva-logo-text,html body .shaktiva-footer-logo{font-size:1.375rem !important}
html body :is(.shaktiva-cinema-h1,h1.wp-block-query-title,.woocommerce-products-header__title){font-size:var(--sk-display-1) !important}
html body :is(.single-product h1.wp-block-post-title,.woocommerce div.product .product_title,.shaktiva-hero-title,.shaktiva-heading-lg){font-size:var(--sk-display-2) !important}
html body .entry-content h3:not([class]),html body .entry-content :is(h4,h5,h6),html body .shaktiva-itinerary-title{font-size:1.375rem !important}
html body :is(.shaktiva-editorial-pullquote,.shaktiva-deontological-italic,.shaktiva-editorial-pullquote *,.shaktiva-deontological-italic *){font-size:1.375rem !important;line-height:1.5 !important}
html body :is(main h2.wp-block-heading,.related.products > h2,.wp-block-woocommerce-related-products h2){font-size:2rem !important;line-height:1.15 !important}
html body .shaktiva-footer-legal-bar span{font-size:var(--sk-xs) !important}

/* Q4 · Fluent Forms en todo el sitio: style.css quitaba el contorno (outline:none !important)
   y el foco quedaba en un filete dorado de 1 px (2,47:1). Etiquetas sin mayúsculas forzadas. */
html body .fluentform :is(input,textarea,select):focus,
html body .fluentform :is(input,textarea,select):focus-visible{
  outline:2px solid var(--shaktiva-lila-espacial) !important;outline-offset:2px !important;
  box-shadow:0 0 0 4px rgba(244,238,230,.9) !important;
}
html body :is([style*="--shaktiva-lila-noche"],.sk-dark) .fluentform :is(input,textarea,select):is(:focus,:focus-visible){
  outline-color:#F4EEE6 !important;box-shadow:0 0 0 4px rgba(22,18,27,.9) !important;
}
html body .fluentform :is(.ff-el-input--label label,.ff-el-input--label,.ff-el-form-check-label){
  text-transform:none !important;letter-spacing:0 !important;font-family:var(--shaktiva-font-text) !important;font-weight:600 !important;
}

/* Q8 · objetivos táctiles que faltaban (móvil y tabletas). */
@media (hover:none),(max-width:768px){
  .shaktiva-site-header .shaktiva-logo-link{min-height:44px}
  :is(.woocommerce-breadcrumb,.wc-block-breadcrumbs,.wp-block-woocommerce-breadcrumbs) a{display:inline-flex;align-items:center;min-height:44px}
  .wc-block-product .wp-block-post-title a{display:inline-flex;align-items:center;min-height:44px}
  .shaktiva-footer-legal-bar a{padding-inline:4px}
  /* V13-07 (2026-10-10): «Aviso legal» (42 px) y la categoría «Retiro» de la ficha (43 px) no llegaban a 44 de ancho. */
  :is(.woocommerce-breadcrumb,.wc-block-breadcrumbs,.wp-block-woocommerce-breadcrumbs) a,
  .shaktiva-footer-legal-bar a,.wp-block-post-terms a[rel="tag"]{min-width:44px;justify-content:center}
  .shaktiva-footer-legal-bar a,.wp-block-post-terms a[rel="tag"]{display:inline-flex;align-items:center}
  /* La barra es flex sin salto: en 390 px partía «Política de privacidad» en tres líneas de 22 px.
     Ahora salta la barra y cada enlace queda en una línea. */
  .shaktiva-footer-legal-bar{flex-wrap:wrap;column-gap:8px;row-gap:0}
  .shaktiva-footer-legal-bar a{white-space:nowrap}
}

/* ============================================================
   23. CABECERA EN ISLA, LOGOTIPO Y MOVIMIENTO (Adrián, 2026-10-09)
   ============================================================ */
/* Isla flotante sobre la foto del héroe: el envoltorio sticky no ocupa alto. */
.wp-site-blocks > .wp-block-template-part:has(> .shaktiva-site-header){position:sticky;top:0;height:0;z-index:9999}
html body .shaktiva-site-header,
html body .shaktiva-site-header.is-scrolled{
  width:min(1408px, calc(100% - 32px)) !important;margin:0 auto !important;position:relative;top:18px; /* top y no margin: el margen se colapsaba y empujaba el contenido 18 px */
  padding:12px 28px !important;border-radius:4px !important;
  background:#F4EFE7 !important;border:1px solid rgba(36,31,40,.08) !important;box-shadow:none !important;
}
.shaktiva-header-inner{max-width:none !important}
@media (max-width:768px){
  html body .shaktiva-site-header,html body .shaktiva-site-header.is-scrolled{width:calc(100% - 16px) !important;top:10px;padding:8px 8px 8px 16px !important}
}
/* Páginas sin héroe a sangre: el contenido empieza bajo la isla. */
main:not(:has(.sk-home-hero,.shaktiva-cinema-hero,.shaktiva-metodo-hero)){padding-top:112px}
@media (max-width:768px){main:not(:has(.sk-home-hero,.shaktiva-cinema-hero,.shaktiva-metodo-hero)){padding-top:88px}}

/* Logotipo: solo la palabra, más grande; el lema a la derecha, en dos líneas, nunca más alto
   que la palabra; un solo color. */
.shaktiva-logo-link{display:flex !important;align-items:center;gap:14px}
html body .shaktiva-site-header .shaktiva-logo-text{
  font-family:var(--shaktiva-font-display) !important;font-size:2rem !important;line-height:1 !important;
  letter-spacing:.14em !important;color:var(--shaktiva-violeta-cosmos) !important;font-weight:400 !important;
}
html body .shaktiva-site-header .shaktiva-logo-tagline{
  display:block !important;font-family:var(--shaktiva-font-text) !important;font-size:var(--sk-xs) !important;
  line-height:1.1 !important;max-height:2rem;letter-spacing:.16em !important;text-transform:uppercase;font-weight:500 !important;
  color:var(--shaktiva-violeta-cosmos) !important;text-align:left;white-space:nowrap;
}
@media (max-width:768px){
  html body .shaktiva-site-header .shaktiva-logo-text{font-size:1.375rem !important}
  html body .shaktiva-site-header .shaktiva-logo-tagline{display:none !important}
}
html body .shaktiva-site-footer .shaktiva-footer-logo{font-size:2rem !important;line-height:1 !important;letter-spacing:.14em !important;color:#F4EEE6 !important}
html body .shaktiva-site-footer .shaktiva-footer-sub{font-size:var(--sk-xs) !important;line-height:1.1 !important;letter-spacing:.16em !important;text-transform:uppercase;color:#F4EEE6 !important;white-space:nowrap}
/* En el pie, el lema va DEBAJO de la palabra (Adrián): la versión a la derecha es solo de la cabecera. */
.shaktiva-footer-title-group{flex-direction:column !important;align-items:flex-start;gap:8px !important}
/* 320 px (2026-10-10): con el símbolo al lado, el lema en una línea llegaba a 328 px (8 px de desborde).
   Por debajo de 360 px el lema puede partirse en dos líneas. */
@media (max-width:359px){
  .shaktiva-footer-title-group{min-width:0}
  html body .shaktiva-site-footer .shaktiva-footer-sub{white-space:normal}
}

/* Subrayado de los enlaces de la cabecera: lila. */
html body .shaktiva-nav-item::after{background:var(--shaktiva-lila-espacial) !important;height:1.5px}

/* Pie en móvil: rejilla 2×2 para las columnas de enlaces. */
@media (max-width:767px){
  html body .shaktiva-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:32px 24px !important}
  html body .shaktiva-footer-grid > .shaktiva-footer-col-brand{grid-column:1 / -1}
}
/* Sin franja de lino entre la última sección y el pie. */
html body main.wp-block-group{margin-bottom:0 !important}

/* Movimiento: la web respira. Nunca oculta contenido (nada de opacity:0) y nada con movimiento reducido. */
@media (prefers-reduced-motion:no-preference){
  @keyframes sk-zoom-lento{from{transform:scale(1)}to{transform:scale(1.06)}}
  @keyframes sk-subir{from{transform:translateY(24px)}to{transform:none}}
  @keyframes sk-respirar{from{transform:scale(1)}to{transform:scale(1.06)}}
  @keyframes sk-isla{from{transform:translateY(-12px)}to{transform:none}}
  .sk-home-hero-img,.sk-home-cierre-img{animation:sk-zoom-lento 24s ease-in-out infinite alternate;transform-origin:50% 40%}
  .sk-home-hero-text > *{animation:sk-subir 1s cubic-bezier(.16,1,.3,1) both}
  .sk-home-hero-text > :nth-child(2){animation-delay:.08s}
  .sk-home-hero-text > :nth-child(3){animation-delay:.16s}
  html body .shaktiva-site-header{animation:sk-isla .8s cubic-bezier(.16,1,.3,1) both}
  .sk-home-simbolos img,.sk-home-marcas img{animation:sk-respirar 6s ease-in-out infinite alternate;transform-origin:50% 60%}
  :is(.sk-home-simbolos,.sk-home-marcas) li:nth-child(2) img{animation-delay:-2s}
  :is(.sk-home-simbolos,.sk-home-marcas) li:nth-child(3) img{animation-delay:-4s}
  .sk-oferta-img,.sk-home-relato-foto img{transition:transform .7s cubic-bezier(.16,1,.3,1)}
  .sk-oferta:hover .sk-oferta-img,.sk-oferta:focus-within .sk-oferta-img{transform:scale(1.04)}
  .sk-home-relato-foto{overflow:hidden}
  .sk-home-relato-foto:hover img{transform:scale(1.03)}
  .shaktiva-btn-ink{transition:background-color .25s,color .25s,letter-spacing .4s cubic-bezier(.16,1,.3,1) !important}
}

/* 24. Ajustes de Adrián (ronda 6) */
/* Sin franja de fondo sobre el pie: el envoltorio heredaba el espaciado entre bloques de WP (1,2rem). */
html body .wp-site-blocks > .wp-block-template-part:has(> .shaktiva-site-footer){margin-block-start:0 !important}
/* Negritas clarificadoras: Montserrat 600 en el texto; nunca Grand Slang pequeña. */
.entry-content :is(p,li,dd,td,figcaption) :is(strong,b){font-family:var(--shaktiva-font-text);font-weight:600}

/* ============================================================
   25. HÉROE ÚNICO DEL SITIO (Adrián: «que cambie la foto, no la maqueta»)
   Modelo: el de la Home. Cada página lo aplica en su hoja con estas medidas.
   ESCRITORIO (≥1024): alto 100svh; foto/pase/vídeo a sangre (100 % de ancho, sin radio);
     velo SOLO a la izquierda (var(--sk-hero-velo)); texto en las columnas 1-5 de .sk-grid,
     máx. 440 px, abajo, con 96 px de aire inferior; el sujeto de la foto se lleva a la
     derecha con object-position para que su rostro quede por encima del 45 % del ancho.
   MÓVIL (<1024): foto arriba a 50svh y 100 % de ancho, fundido a tierra al pie; texto debajo
     sobre tierra (24 px arriba, --sk-sec abajo).
   TEXTO: h1 var(--sk-display-1) lino, con <em> cursiva oro-luz; entradilla 17 px #D3C9BE, 44ch;
     un CTA .shaktiva-btn-ink (versión sobre oscuro). Isla de cabecera encima.
   ============================================================ */
:root{
  --sk-hero-velo:linear-gradient(90deg,rgba(22,18,27,.85) 0%,rgba(22,18,27,.7) 26%,rgba(22,18,27,.35) 36%,rgba(22,18,27,0) 44%);
  --sk-hero-velo-movil:linear-gradient(180deg,rgba(22,18,27,0) 0%,rgba(22,18,27,0) 72%,rgba(22,18,27,1) 100%);
  --sk-hero-texto-max:440px;
  --sk-hero-tinta:#F4EEE6;--sk-hero-tinta-2:#D3C9BE;
}

/* 26. Cuerpo de texto más legible (Adrián): Montserrat 500 en el cuerpo; strong a 700. */
body{font-weight:500}
:where(.entry-content,.shaktiva-site-footer,.fluentform,.wc-block-components-product-name,.woocommerce) :where(p,li,label,dd,td,span,a){font-weight:500}
.entry-content :is(p,li,dd,td,figcaption) :is(strong,b),:where(.shaktiva-site-footer,.fluentform) :is(strong,b){font-weight:700}
/* Crédito del estudio en la barra inferior del pie: mismo tamaño y color; subrayado lila al pasar. */
.shaktiva-credito{margin:0;font-size:var(--sk-xs) !important;color:rgba(244,238,230,.72) !important}
.shaktiva-credito a{color:inherit !important;text-decoration:none;background:linear-gradient(var(--shaktiva-lila-bruma),var(--shaktiva-lila-bruma)) left bottom / 0 1px no-repeat;transition:background-size .3s ease}
.shaktiva-credito a:hover,.shaktiva-credito a:focus-visible{background-size:100% 1px}
/* Menú completo desde 1281 px: espacio entre enlaces más corto hasta 1365 para que quepa en una línea. */
@media (min-width:1281px) and (max-width:1365px){.shaktiva-menu-list{gap:24px !important}}

/* ============================================================
   27. QA v2 (2026-10-09)
   ============================================================ */
/* QA-09 · Crédito del estudio: subrayado permanente y objetivo táctil de 44 px de alto.
   Los márgenes negativos devuelven a la línea su alto de antes: el resto del pie no se mueve. */
.shaktiva-credito a{
  display:inline-flex;align-items:center;min-height:44px;margin-block:-14px;vertical-align:middle;
  background:none !important;
  text-decoration:underline !important;text-decoration-thickness:1px;text-underline-offset:3px;
  text-decoration-color:rgba(244,238,230,.55);
  transition:text-decoration-color .25s var(--sk-ease),color .25s var(--sk-ease);
}
.shaktiva-credito a:hover,.shaktiva-credito a:focus-visible{text-decoration-color:var(--shaktiva-lila-bruma)}

/* Isla de cabecera en la misma caja que .sk-grid (Adrián): desde 1281 px, ancho máximo
   --sk-grid-max centrado y relleno lateral --sk-gutter. El logotipo arranca en el borde
   izquierdo del contenido y «Cesta» acaba en el derecho. Alto y top (18 px), sin cambios. */
@media (min-width:1281px){
  html body .shaktiva-site-header,
  html body .shaktiva-site-header.is-scrolled{
    width:100% !important;max-width:var(--sk-grid-max) !important;box-sizing:border-box !important;
    padding-left:calc(var(--sk-gutter) - 1px) !important;padding-right:calc(var(--sk-gutter) - 1px) !important; /* − el borde de 1 px */
  }
  html body .shaktiva-site-header .shaktiva-menu-list{gap:16px !important} /* cabe en una línea de 1281 a 1920 (holgura mínima ≈ 23 px) */
}

/* Menú: la página actual lleva fija la línea lila del hover. Por clase de WordPress o
   aria-current (si llega del PHP) y, mientras tanto, por las clases del <body>:
   Home → Inicio · Sobre mí · Método L · Retiros (página y ficha del retiro) ·
   Talismanes (tienda, categorías y fichas que no son del retiro) · Contacto. */
.shaktiva-menu-list :is(.current-menu-item,.current_page_parent,.current-menu-ancestor) > .shaktiva-nav-item::after,
.shaktiva-nav-item[aria-current="page"]::after,
body.home .shaktiva-nav-item[href="/"]::after,
body.page-id-33 .shaktiva-nav-item[href="/sobre-mi/"]::after,
body.page-id-59 .shaktiva-nav-item[href="/metodo-l/"]::after,
body:is(.page-id-34,.product_cat-retiros) .shaktiva-nav-item[href="/altea-octubre/"]::after,
body:is(.woocommerce-shop,.tax-product_cat,.single-product:not(.product_cat-retiros)) .shaktiva-nav-item[href="/shop/"]::after,
body.page-id-35 .shaktiva-nav-item[href="/contacto/"]::after{transform:scaleX(1) !important}
/* En el menú móvil (fondo oscuro) la línea va en lila bruma: el lila de marca no llega a 3:1. */
@media (max-width:1280px){
  html body .shaktiva-desktop-nav.is-open .shaktiva-nav-item::after{background:var(--shaktiva-lila-bruma) !important;left:0 !important;width:100% !important;bottom:4px}
}

/* Héroe unificado v2 (Adrián, 2026-10-09; modelo: el héroe de la Home en home.css). Solo ≥1024.
   · h1 a --sk-display-hero, 3 líneas como máximo, line-height 1.02, -0,015em, text-wrap:balance.
   · Bloque en el borde izquierdo de la caja de .sk-grid (la misma que la isla), centrado en
     vertical bajo la isla: héroe de 100svh, padding-block 152px 24px.
   · Ninguna línea pasa del 47 % del ancho (--sk-hero-texto-v2); velo lineal que llega a 0 en el
     51,5 %, antes de cualquier cara. Cada hoja de página lo aplica a su marcado. */
:root{
  --sk-display-hero:clamp(3rem, min(4.4vw, 66.5px - .35vw), 4.5rem);
  --sk-hero-velo-v2:linear-gradient(90deg,rgba(22,18,27,.9) 0%,rgba(22,18,27,.84) 38%,rgba(22,18,27,.66) 46%,rgba(22,18,27,0) 51.5%);
  --sk-hero-x:calc(max(0px, (100vw - var(--sk-grid-max)) / 2) + var(--sk-gutter));
  --sk-hero-texto-v2:calc(47vw - var(--sk-hero-x));
}

/* =========================================================================
   29. Selector de idioma ES / EN (GTranslate, solo con consentimiento; Adrián, 2026-10-10)
   En la isla, antes de la Cesta, discreto: mismo tamaño y color que el menú; el idioma activo con la línea lila
   del ítem actual. Objetivos de 44 px. El aviso (sin cookies funcionales) cae bajo el selector y solo se ve con texto.
   ========================================================================= */
.sk-idioma{position:relative;display:flex;align-items:center;gap:2px;list-style:none}
/* QA-07: los enlaces y la barra van dentro de <span class="sk-idioma-grupo" role="group">; la fila sigue igual. */
.sk-idioma-grupo{display:flex;align-items:center;gap:2px}
.sk-idioma-grupo > span[aria-hidden]{color:var(--sk-ink-mute);font-size:var(--sk-sm)}
.sk-idioma a[data-gt-lang]{
  position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 4px;
  font:500 var(--sk-sm)/1 var(--shaktiva-font-text);letter-spacing:.06em;color:inherit;text-decoration:none;
}
.sk-idioma a[data-gt-lang]::after{
  content:"";position:absolute;left:12px;right:12px;bottom:10px;height:1.5px;background:var(--shaktiva-lila-espacial);
  transform:scaleX(0);transition:transform .25s ease;
}
.sk-idioma a[data-gt-lang]:hover::after,.sk-idioma a.gt-current-lang::after{transform:scaleX(1)}
.sk-idioma a.gt-current-lang{font-weight:600}
.sk-idioma-aviso{
  position:absolute;top:calc(100% + 8px);right:0;z-index:5;width:max-content;max-width:280px;padding:12px 16px;
  background:var(--shaktiva-violeta-cosmos,#1E1233);color:#F4EEE6;border-radius:2px;
  font:500 var(--sk-xs)/1.5 var(--shaktiva-font-text);letter-spacing:0;text-transform:none;
}
.sk-idioma-aviso:empty{display:none}
@media (prefers-reduced-motion:reduce){.sk-idioma a[data-gt-lang]::after{transition:none}}
/* menú móvil abierto: el selector, abajo y a la izquierda, sin el tamaño grande de los ítems */
.shaktiva-desktop-nav.is-open .sk-idioma{margin-top:16px}
.shaktiva-desktop-nav.is-open .sk-idioma-aviso{position:static;margin-top:8px}
.shaktiva-desktop-nav.is-open .sk-idioma,.shaktiva-desktop-nav.is-open .sk-idioma a[data-gt-lang],
.shaktiva-desktop-nav.is-open .sk-idioma-grupo > span[aria-hidden]{color:#F4EEE6}
.shaktiva-desktop-nav.is-open .sk-idioma a[data-gt-lang]::after{background:var(--shaktiva-lila-bruma,#B9A5D9)}

/* =========================================================================
   30. Panel de preferencias de CookieYes (2026-10-10): en el tema oscuro del banner sus textos salían a #212121
   sobre tierra (ilegibles: 1,3:1), el enlace y el botón «guardar» en el azul del plugin y «siempre activas» en verde.
   Todo a los tokens: texto #D3C9BE (10,7:1), enlaces lino subrayados, botón como «Rechazar» y lila en los interruptores.
   ========================================================================= */
html body .cky-preference-center :is(p,li,td,th,span:not(.cky-switch *),.cky-accordion-header-des,.cky-preference-content-wrapper,.cky-empty-cookies-text){color:#D3C9BE !important}
html body .cky-preference-center :is(.cky-show-desc-btn,a){color:#F4EEE6 !important;text-decoration:underline !important;text-underline-offset:3px}
html body .cky-preference-center .cky-always-active{color:#F4EEE6 !important;font-weight:600}
html body .cky-preference-center .cky-btn-preferences{
  background:#F4EEE6 !important;color:#16121B !important;border:1px solid #F4EEE6 !important;border-radius:2px !important;
}
html body .cky-preference-center .cky-switch input[type="checkbox"]:checked{background:var(--shaktiva-lila-espacial) !important}
html body .cky-preference-center :is(.cky-audit-table,.cky-cookie-des-table){background:rgba(244,238,230,.04) !important;color:#D3C9BE !important}
html body .cky-preference-center .cky-footer-shadow{background:linear-gradient(180deg,rgba(22,18,27,0) 0%,#16121B 100%) !important}
html body .cky-preference-center .cky-audit-table{border:1px solid rgba(244,238,230,.18) !important;border-radius:2px !important}
/* interruptor apagado: neutro de la paleta (lino al 35 % sobre tierra ≈ 3,4:1 con el fondo) en vez del gris del plugin */
html body .cky-preference-center .cky-switch input[type="checkbox"]:not(:checked){background:rgba(244,238,230,.35) !important}

/* =========================================================================
   31. Objetivos de 24 px también con ratón (WCAG 2.5.8; QA-09, 2026-10-10)
   Las reglas de 44 px (§20 Q8, §22 Q8, Altea, tienda) solo actúan en táctil o en pantallas estrechas; con ratón
   quedaban migas de 16 px, el enlace de privacidad de las casillas a 19 y enlaces en línea a 19-20.
   Técnica: relleno vertical en el elemento en línea. Amplía la caja pulsable sin tocar la altura de línea
   (el relleno de un elemento inline no empuja las líneas), así que el texto no se mueve y no hace falta compensar.
   ========================================================================= */
/* Migas: 16 + 2×5 = 26 px. Fuera del ámbito de §22 Q8 (que en táctil y ≤ 768 px ya les da 44). */
@media (hover:hover) and (min-width:769px){
  :is(.woocommerce-breadcrumb,.wc-block-breadcrumbs,.wp-block-woocommerce-breadcrumbs) a{padding-block:5px}
}
/* Casilla de privacidad de Fluent Forms (Home, Método L, Contacto): 19 + 2×3 = 25 px, también por línea si parte. */
html body .fluentform .ff_t_c a{padding-block:3px}
/* Enlaces en línea del texto. Ficha de producto: tienda.css sube a 44 px en táctil (QA-06). */
.single-product .woocommerce-tabs .panel :is(p,li) a{padding-block:3px}
/* Altea, «Escríbeme antes de reservar»: altea-octubre.css lo deja a padding:0 y 13 px en táctil; aquí, con ratón. */
@media (hover:hover) and (min-width:1024px){
  html body #reserva .shaktiva-card-booking > p .shaktiva-link-editorial{padding-block:3px}
}

/* =========================================================================
   32. Centrado óptico de los héroes v2 (2026-10-10) · CTA por encima del 80 % del alto
   Centrado entre 152 y 24 px, el botón acababa en el 83-87 % del alto a 1366×768 (82 % en Altea a 1440×900).
   Arriba: 17svh entre 128 (la isla acaba en 88) y 152; abajo, 15svh: el bloque queda algo por encima del
   centro geométrico. Mismo criterio que la Home (home.css). Especificidad +1 elemento sobre las hojas de página.
   ========================================================================= */
@media (min-width:1024px){
  html body .entry-content :is(section,div).shaktiva-cinema-hero .shaktiva-cinema-hero-content{padding-top:clamp(128px, 17svh, 152px) !important;padding-bottom:15svh !important}
  html body .entry-content :is(section,div).shaktiva-metodo-hero .shaktiva-hero-inner{padding-top:clamp(128px, 17svh, 152px) !important;padding-bottom:15svh !important}
}
