/*
Theme Name: Yogariadna
Theme URI: https://yogariadna.com/
Author: Yogariadna
Description: Tema a medida para yogariadna.com. Inicio, página 404, páginas legales y enlaces para Instagram (/info). Sin constructores ni plugins.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: yogariadna
*/

/* Fuentes alojadas en el tema (SIL OFL 1.1, ver assets/fonts/OFL-*.txt). Variables: un archivo por familia. */
@font-face{font-family:"Sora";font-style:normal;font-weight:500 700;font-display:swap;src:url(assets/fonts/sora-latin.woff2) format("woff2");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:"Inter";font-style:normal;font-weight:400 600;font-display:swap;src:url(assets/fonts/inter-latin.woff2) format("woff2");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}

/* =========================================================
   Yogariadna — Inicio v1 (vista previa en una sola sección)
   Tokens: VISUAL_SYSTEM.md (Ruta A)
   ========================================================= */
:root{
  --ya-ciruela:#4B3045;
  --ya-malva:#82687D;
  --ya-terracota:#B76552;
  --ya-terracota-hover:#A35846;
  --ya-arena:#D8C2AA;
  --ya-arena-clara:#F1E8DD;
  --ya-marfil:#F7F3ED;
  --ya-blanco:#FFFFFF;
  --ya-carbon:#29262A;
  --ya-texto-suave:#5A5459;

  --ya-font-titulo:"Sora", system-ui, sans-serif;
  --ya-font-texto:"Inter", system-ui, sans-serif;

  --ya-s1:8px; --ya-s2:16px; --ya-s3:24px; --ya-s4:32px;
  --ya-s6:48px; --ya-s8:64px; --ya-s10:80px; --ya-s12:96px;

  --ya-radio-card:20px;
  --ya-radio-boton:14px;
  --ya-radio-img:24px;
  --ya-sombra:0 12px 32px rgba(41,38,42,.08);
  --ya-ancho:1200px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;background:var(--ya-marfil);color:var(--ya-carbon);
  font-family:var(--ya-font-texto);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--ya-font-titulo);color:var(--ya-ciruela);margin:0;letter-spacing:-.01em}
h1{font-weight:600;font-size:clamp(38px,5.2vw,60px);line-height:1.08;letter-spacing:-.02em}
h2{font-weight:600;font-size:clamp(30px,3.4vw,42px);line-height:1.15}
h3{font-weight:600;font-size:clamp(20px,2vw,24px);line-height:1.25}
p{margin:0}

.ya-contenedor{width:100%;max-width:var(--ya-ancho);margin:0 auto;padding:0 var(--ya-s3)}
.ya-seccion{padding:var(--ya-s12) 0}
.ya-seccion--blanca{background:var(--ya-blanco)}
.ya-seccion--arena{background:var(--ya-arena-clara)}
.ya-encabezado{max-width:720px;margin-bottom:var(--ya-s6)}
.ya-encabezado h2{margin-bottom:var(--ya-s2)}
.ya-antetitulo{font-family:var(--ya-font-titulo);font-weight:600;font-size:15px;color:var(--ya-terracota);margin-bottom:var(--ya-s1);letter-spacing:.02em}
.ya-lead{font-size:clamp(18px,1.6vw,20px);color:var(--ya-texto-suave);line-height:1.55}

/* ---------- Botones ---------- */
.ya-boton{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 var(--ya-s4);border-radius:var(--ya-radio-boton);
  font-family:var(--ya-font-texto);font-weight:600;font-size:16px;text-decoration:none;
  border:2px solid transparent;transition:background .2s, color .2s, border-color .2s;cursor:pointer
}
.ya-boton svg{width:20px;height:20px;flex:none}
.ya-boton--primario{background:var(--ya-terracota);color:var(--ya-marfil)}
.ya-boton--primario:hover{background:var(--ya-terracota-hover)}
.ya-boton--secundario{background:transparent;border-color:var(--ya-ciruela);color:var(--ya-ciruela)}
.ya-boton--secundario:hover{background:var(--ya-ciruela);color:var(--ya-marfil)}
.ya-boton:focus-visible,.ya-nav a:focus-visible,.ya-faq summary:focus-visible{outline:3px solid var(--ya-malva);outline-offset:3px}

/* ---------- Header ---------- */
.ya-header{position:sticky;top:0;z-index:50;background:rgba(247,243,237,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(75,48,69,.08)}
.ya-header__fila{display:flex;align-items:center;justify-content:space-between;height:72px;gap:var(--ya-s3)}
.ya-marca{display:flex;align-items:center;gap:12px;text-decoration:none}
.ya-marca img{height:44px;width:auto}
.ya-marca span{font-family:var(--ya-font-titulo);font-weight:600;font-size:17px;letter-spacing:.12em;color:var(--ya-ciruela)}
.ya-nav{display:flex;align-items:center;gap:var(--ya-s4)}
.ya-nav a{text-decoration:none;font-weight:500;font-size:15px;color:var(--ya-carbon)}
.ya-nav a:not(.ya-boton):hover{color:var(--ya-terracota)}
.ya-header .ya-boton{min-height:44px;padding:0 var(--ya-s3);font-size:15px}
.ya-menu-boton{display:none;background:none;border:0;padding:8px;cursor:pointer;color:var(--ya-ciruela)}
.ya-menu-boton svg{width:28px;height:28px}

/* ---------- Hero ---------- */
.ya-hero{padding:var(--ya-s10) 0 var(--ya-s12)}
.ya-hero__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:var(--ya-s8);align-items:center}
.ya-hero h1{margin-bottom:var(--ya-s3)}
.ya-hero .ya-lead{max-width:30ch;margin-bottom:var(--ya-s4)}
.ya-hero__acciones{display:flex;flex-wrap:wrap;gap:var(--ya-s2);margin-bottom:var(--ya-s3)}
.ya-hero__micro{display:flex;flex-wrap:wrap;gap:var(--ya-s1) var(--ya-s3);font-size:15px;color:var(--ya-texto-suave)}
.ya-hero__micro span{display:inline-flex;align-items:center;gap:8px}
.ya-hero__micro svg{width:18px;height:18px;color:var(--ya-malva)}
.ya-hero__foto{position:relative}
.ya-hero__foto img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:50% 70%;border-radius:var(--ya-radio-img)}
.ya-hero__arco{position:absolute;inset:auto auto -18px -18px;width:120px;height:120px;border:2px solid var(--ya-arena);border-radius:50%;z-index:-1}


/* ---------- Listas con icono ---------- */
.ya-puntos{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ya-s3);margin:0;padding:0;list-style:none}
.ya-punto{background:var(--ya-marfil);border-radius:var(--ya-radio-card);padding:var(--ya-s4) var(--ya-s3)}
.ya-punto__icono{width:48px;height:48px;border-radius:50%;background:var(--ya-arena-clara);display:grid;place-items:center;margin-bottom:var(--ya-s2);color:var(--ya-ciruela)}
.ya-punto__icono svg{width:24px;height:24px}
.ya-punto p{font-family:var(--ya-font-titulo);font-weight:600;color:var(--ya-ciruela);font-size:18px;line-height:1.3}

/* ---------- Cómo trabajamos ---------- */
.ya-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--ya-s8);align-items:center}
.ya-split img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--ya-radio-img)}
.ya-split h2{margin-bottom:var(--ya-s2)}
.ya-split .ya-lead{margin-bottom:var(--ya-s4)}
.ya-lista{list-style:none;margin:0;padding:0;display:grid;gap:var(--ya-s2)}
.ya-lista li{display:flex;align-items:center;gap:var(--ya-s2);font-weight:500;font-size:17px}
.ya-lista svg{width:24px;height:24px;flex:none;color:var(--ya-terracota)}

/* ---------- Clases y horarios ---------- */
.ya-chips{display:flex;flex-wrap:wrap;gap:var(--ya-s1) var(--ya-s2);margin:0 0 var(--ya-s6);padding:0;list-style:none}
.ya-chips li{background:var(--ya-blanco);border:1px solid rgba(75,48,69,.14);border-radius:999px;padding:10px 20px;font-weight:500;color:var(--ya-ciruela)}
.ya-horarios{display:grid;grid-template-columns:1fr 1fr;gap:var(--ya-s3);margin-bottom:var(--ya-s4)}
.ya-horario{background:var(--ya-blanco);border-radius:var(--ya-radio-card);padding:var(--ya-s4);box-shadow:var(--ya-sombra)}
.ya-horario__etiqueta{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--ya-terracota);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--ya-s2)}
.ya-horario__etiqueta svg{width:18px;height:18px}
.ya-horario__dias{font-family:var(--ya-font-titulo);font-weight:600;font-size:22px;color:var(--ya-ciruela);margin-bottom:4px}
.ya-horario__hora{font-family:var(--ya-font-titulo);font-weight:700;font-size:clamp(32px,3.4vw,40px);color:var(--ya-carbon);letter-spacing:-.01em}
.ya-datos{display:flex;flex-wrap:wrap;gap:var(--ya-s2) var(--ya-s4);margin-bottom:var(--ya-s4);color:var(--ya-texto-suave);font-size:16px}
.ya-datos span{display:inline-flex;align-items:center;gap:8px}
.ya-datos svg{width:20px;height:20px;color:var(--ya-malva)}

/* ---------- Experiencia ---------- */
.ya-experiencia{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--ya-s8);align-items:center}
.ya-experiencia img{width:100%;max-width:420px;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:8px solid var(--ya-arena-clara)}
.ya-experiencia h2{margin-bottom:var(--ya-s2)}
.ya-certificaciones{display:flex;flex-wrap:wrap;gap:var(--ya-s1);margin-top:var(--ya-s3);padding:0;list-style:none}
.ya-certificaciones li{background:var(--ya-arena-clara);color:var(--ya-ciruela);border-radius:999px;padding:8px 16px;font-size:15px;font-weight:500}

/* ---------- Espacio y ubicación ---------- */
.ya-galeria{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:var(--ya-s2);height:clamp(420px,42vw,560px);margin-bottom:var(--ya-s6)}
.ya-galeria img{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:var(--ya-radio-img)}
.ya-galeria img:first-child{grid-row:1 / 3}
/* Fotos verticales en celdas horizontales: mostrar a las personas (parte baja), no el techo */
.ya-galeria img:nth-child(n+2){object-position:50% 78%}
.ya-ubicacion{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ya-s3);background:var(--ya-marfil);border-radius:var(--ya-radio-card);padding:var(--ya-s4)}
.ya-ubicacion__dato{display:flex;gap:var(--ya-s2);align-items:flex-start;max-width:640px}
.ya-ubicacion__dato svg{width:28px;height:28px;flex:none;color:var(--ya-terracota);margin-top:2px}
.ya-ubicacion__dato strong{display:block;font-family:var(--ya-font-titulo);color:var(--ya-ciruela);font-size:18px;margin-bottom:4px}

/* ---------- FAQ ---------- */
.ya-faq{max-width:820px}
.ya-faq details{border-bottom:1px solid rgba(75,48,69,.14)}
.ya-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--ya-s2);padding:var(--ya-s3) 0;font-family:var(--ya-font-titulo);font-weight:600;font-size:19px;color:var(--ya-ciruela)}
.ya-faq summary::-webkit-details-marker{display:none}
.ya-faq summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--ya-terracota);border-bottom:2px solid var(--ya-terracota);transform:rotate(45deg) translateY(-4px);transition:transform .2s}
.ya-faq details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.ya-faq details p{padding:0 0 var(--ya-s3);color:var(--ya-texto-suave);max-width:68ch}

/* ---------- CTA final ---------- */
.ya-cierre{background:var(--ya-ciruela);color:var(--ya-marfil);border-radius:32px;padding:var(--ya-s10) var(--ya-s6);text-align:center;position:relative;overflow:hidden}
.ya-cierre h2{color:var(--ya-marfil);margin-bottom:var(--ya-s2)}
.ya-cierre p{color:rgba(247,243,237,.85);font-size:19px;margin-bottom:var(--ya-s4)}
.ya-cierre__telefono{display:block;margin-top:var(--ya-s3);font-family:var(--ya-font-titulo);font-weight:600;font-size:20px;color:var(--ya-marfil);text-decoration:none;letter-spacing:.02em}
.ya-cierre__iso{position:absolute;right:-40px;bottom:-60px;width:260px;opacity:.07;pointer-events:none}

/* ---------- Footer ---------- */
.ya-footer{background:var(--ya-arena-clara);padding:var(--ya-s8) 0 var(--ya-s4);font-size:15px}
.ya-footer__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--ya-s6);margin-bottom:var(--ya-s6)}
.ya-footer__logo{width:150px;margin-bottom:var(--ya-s2)}
.ya-footer h3{font-size:16px;margin-bottom:var(--ya-s2)}
.ya-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ya-footer a{text-decoration:none}
.ya-footer a:hover{color:var(--ya-terracota)}
.ya-footer__base{border-top:1px solid rgba(75,48,69,.14);padding-top:var(--ya-s3);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--ya-s2);color:var(--ya-texto-suave)}

/* ---------- WhatsApp flotante (solo móvil) ---------- */
.ya-flotante{display:none;position:fixed;right:16px;bottom:16px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--ya-terracota);color:var(--ya-marfil);place-items:center;box-shadow:0 8px 24px rgba(75,48,69,.28)}
.ya-flotante svg{width:28px;height:28px}

/* =================== Responsive =================== */
@media (max-width:1024px){
  .ya-nav{gap:var(--ya-s3)}
  .ya-puntos{grid-template-columns:repeat(2,1fr)}
  .ya-hero__grid,.ya-split,.ya-experiencia{gap:var(--ya-s6)}
}
@media (max-width:860px){
  .ya-menu-boton{display:block}
  .ya-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--ya-marfil);padding:var(--ya-s1) var(--ya-s3) var(--ya-s3);border-bottom:1px solid rgba(75,48,69,.1)}
  .ya-nav.esta-abierto{display:flex}
  .ya-nav a{padding:14px 0;font-size:17px;border-bottom:1px solid rgba(75,48,69,.08)}
  .ya-nav .ya-boton{margin-top:var(--ya-s2);border-bottom:0}
  .ya-hero__grid,.ya-split,.ya-experiencia{grid-template-columns:1fr}
  .ya-hero{padding-top:var(--ya-s4)}
  .ya-hero__foto{order:-1}
  .ya-hero__foto img{aspect-ratio:4/3}
  .ya-hero__arco{display:none}
  .ya-hero .ya-lead{max-width:none}
  .ya-split img{order:-1}
  .ya-experiencia img{max-width:260px;margin:0 auto}
  .ya-horarios{grid-template-columns:1fr}
  .ya-footer__grid{grid-template-columns:1fr 1fr}
  .ya-flotante{display:grid}
  .ya-footer{padding-bottom:96px}
}
@media (max-width:560px){
  body{font-size:16px}
  .ya-contenedor{padding:0 var(--ya-s2)}
  .ya-seccion{padding:var(--ya-s8) 0}
  .ya-marca span{display:none}
  .ya-hero__acciones .ya-boton{width:100%}
  .ya-puntos{grid-template-columns:1fr;gap:var(--ya-s1)}
  .ya-punto{display:flex;align-items:center;gap:var(--ya-s2);padding:var(--ya-s2)}
  .ya-punto__icono{margin-bottom:0;flex:none}
  .ya-punto p{font-size:17px}
  .ya-galeria{grid-template-columns:1fr;grid-template-rows:auto;height:auto}
  .ya-galeria img:first-child{grid-row:auto}
  .ya-galeria img{height:auto;aspect-ratio:4/3}
  .ya-ubicacion .ya-boton{width:100%}
  .ya-cierre{padding:var(--ya-s8) var(--ya-s3);border-radius:24px}
  .ya-cierre .ya-boton{width:100%}
  .ya-footer__grid{grid-template-columns:1fr;gap:var(--ya-s4)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}

/* =========================================================
   Movimiento (v4): suave, una sola vez, sin rebotes.
   Solo se oculta nada si hay JavaScript (clase .js).
   ========================================================= */
:root{--ya-ease:cubic-bezier(.22,.61,.36,1)}

/* Aparecer al entrar en pantalla */
.js .ya-reveal{opacity:0;transform:translateY(20px);transition:opacity .65s var(--ya-ease),transform .65s var(--ya-ease);transition-delay:var(--d,0s)}
.js .ya-reveal.es-visible{opacity:1;transform:none}
.ya-retraso{--d:.15s}

/* Hero: la foto se asienta (leve acercamiento inicial) */
.ya-hero__foto{overflow:hidden;border-radius:var(--ya-radio-img)}
.js .ya-hero__foto img{animation:ya-asienta 1.3s var(--ya-ease) both}
@keyframes ya-asienta{from{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}

/* Cabecera: se compacta al bajar */
.ya-header{transition:box-shadow .3s ease}
.ya-header__fila{transition:height .3s var(--ya-ease)}
.ya-header.es-compacto{box-shadow:0 6px 20px rgba(41,38,42,.07)}
.ya-header.es-compacto .ya-header__fila{height:60px}
.ya-header.es-compacto .ya-marca img{height:38px}
.ya-marca img{transition:height .3s var(--ya-ease)}

/* Botones: se elevan 2 px */
.ya-boton{transition:background .2s,color .2s,border-color .2s,transform .2s var(--ya-ease)}
.ya-boton:hover{transform:translateY(-2px)}

/* WhatsApp flotante: aparece al pasar el hero */
.js .ya-flotante{opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .4s ease,transform .4s var(--ya-ease),visibility .4s}
.js .ya-flotante.es-visible{opacity:1;visibility:visible;transform:none}

/* Firma de marca: el isotipo del cierre "respira" (único movimiento continuo) */
.ya-cierre__iso{animation:ya-respira 12s ease-in-out infinite}
@keyframes ya-respira{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}

/* Movimiento reducido: todo queda quieto y visible */
@media (prefers-reduced-motion:reduce){
  .js .ya-reveal{opacity:1;transform:none}
  .js .ya-hero__foto img{animation:none}
  .ya-cierre__iso{animation:none}
  .ya-boton:hover{transform:none}
  .js .ya-flotante{transition:none}
}

/* =========================================================
   Hero v5: centrado, con carrusel curvo de posturas y clases
   ========================================================= */
.ya-hero--centrado{text-align:center;padding:var(--ya-s6) 0 var(--ya-s10);overflow:hidden}
.ya-hero__insignia{display:inline-block;background:var(--ya-arena-clara);color:var(--ya-ciruela);border-radius:999px;padding:8px 18px;font-weight:600;font-size:14px;margin-bottom:var(--ya-s3)}
.ya-hero--centrado h1{max-width:16ch;margin:0 auto var(--ya-s3)}
.ya-hero--centrado .ya-lead{max-width:52ch;margin:0 auto var(--ya-s4)}
.ya-hero--centrado .ya-hero__acciones{justify-content:center;margin-top:var(--ya-s4)}
.ya-hero--centrado .ya-hero__micro{justify-content:center}

.ya-carrusel{--ya-tarjeta-w:210px;--ya-tarjeta-gap:18px;position:relative}
.ya-carrusel__pista{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:var(--ya-tarjeta-gap);overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.ya-tarjeta{flex:none;width:var(--ya-tarjeta-w);aspect-ratio:3/4;border-radius:var(--ya-radio-img);overflow:hidden;background:var(--ya-arena-clara);box-shadow:0 14px 34px rgba(41,38,42,.10)}
.ya-tarjeta img{width:100%;height:100%;object-fit:cover}
/* Con JavaScript: las tarjetas se colocan en curva y avanzan despacio */
.ya-carrusel__pista.es-dinamico{display:block;position:relative;height:calc(var(--ya-tarjeta-w) * 4 / 3 * 1.2);perspective:1100px}
.ya-carrusel__pista.es-dinamico .ya-tarjeta{position:absolute;left:0;top:50%;margin-top:calc(var(--ya-tarjeta-w) * -2 / 3);will-change:transform}
.ya-carrusel__pausa{position:absolute;right:max(16px,calc((100% - var(--ya-ancho)) / 2 + 24px));bottom:-8px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(75,48,69,.18);background:var(--ya-blanco);color:var(--ya-ciruela);display:none;place-items:center;cursor:pointer}
.ya-carrusel__pausa svg{width:18px;height:18px}
.ya-carrusel__pausa .ya-icono-play{display:none}
.ya-carrusel__pausa[aria-pressed="true"] .ya-icono-pausa{display:none}
.ya-carrusel__pausa[aria-pressed="true"] .ya-icono-play{display:block}
.ya-carrusel__pausa:focus-visible{outline:3px solid var(--ya-malva);outline-offset:3px}
.js .ya-carrusel__pausa{display:grid}
@media (max-width:860px){.ya-carrusel{--ya-tarjeta-w:180px;--ya-tarjeta-gap:14px}}
@media (max-width:560px){
  .ya-hero--centrado{padding:var(--ya-s6) 0 var(--ya-s8)}
  .ya-carrusel{--ya-tarjeta-w:140px;--ya-tarjeta-gap:12px}
  .ya-hero__insignia{font-size:12.5px;padding:6px 14px;white-space:nowrap}
  .ya-hero--centrado .ya-lead{margin-bottom:var(--ya-s4)}
  .ya-hero--centrado .ya-hero__acciones{margin-top:var(--ya-s4)}
}
@media (prefers-reduced-motion:reduce){.ya-carrusel__pausa{display:none!important}}
/* =========================================================
   Sección con la palabra YOGA entrelazada (3 opciones)
   Tres capas: palabra (detrás) · figura · letra O (delante).
   ========================================================= */
.ya-yoga{padding:0}
.ya-yoga__panel{position:relative;overflow:hidden;border-radius:32px;height:clamp(600px,50vw,700px);background:var(--panel)}
.ya-yoga__escena{position:absolute;inset:0}
.ya-yoga__sujeto{
  --fh:1.45;--ocx:1.032;--ocy:.421;--bx:.548;--by:.411;
  position:absolute;left:50%;transform:translateX(-50%);
  bottom:calc((var(--ocy) + (1 - var(--by) - .042) * var(--fh) - .9) * 1em);
  font-size:clamp(130px,21vw,300px);line-height:.9;white-space:nowrap;
}
.ya-yoga__palabra{display:block;position:relative;font-family:var(--ya-font-titulo);font-weight:700;line-height:.9;letter-spacing:-.02em;color:var(--letra);user-select:none}
.ya-yoga__palabra i,.ya-yoga__palabra b{font-style:normal;font-weight:inherit}
.ya-yoga__palabra--frente{position:absolute;left:0;top:0}
.ya-yoga__palabra--frente i{visibility:hidden}
.ya-yoga__figura{
  position:absolute;max-width:none;height:calc(var(--fh) * 1em);width:auto;
  left:calc((var(--ocx) - var(--bx) * var(--fh) * .7424) * 1em);
  top:calc((var(--ocy) - var(--by) * var(--fh)) * 1em);
  clip-path:inset(0 0 4.2% 0);filter:drop-shadow(0 .05em .05em var(--sombra));
}
.ya-yoga__texto{position:absolute;z-index:3;color:var(--tinta)}
.ya-yoga__titular{font-family:var(--ya-font-titulo);font-weight:600;letter-spacing:-.01em;color:var(--tinta);font-size:clamp(26px,2.7vw,38px);line-height:1.1;margin:0 0 var(--ya-s2)}
.ya-yoga__texto .ya-lead{color:var(--tinta-suave);font-size:clamp(15px,1.25vw,18px);max-width:40ch;margin:0 0 var(--ya-s2)}
.ya-yoga__antetitulo{font-family:var(--ya-font-titulo);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--acento);margin:0 0 var(--ya-s1)}
.ya-yoga__acciones{display:flex;flex-wrap:wrap;gap:var(--ya-s2)}
.ya-yoga__chips{display:flex;flex-wrap:wrap;gap:var(--ya-s1) var(--ya-s2);list-style:none;margin:var(--ya-s2) 0 0;padding:0}
.ya-yoga__chips li{background:rgba(255,255,255,.7);border-radius:999px;padding:8px 16px;font-weight:600;font-size:15px;color:var(--ya-ciruela)}
.ya-yoga__chips span{font-weight:500;color:#4F4350}

/* Opción 2: arena, texto centrado arriba y horarios */
.ya-yoga--2{--panel:radial-gradient(90% 90% at 40% 62%,#F4ECE2 0%,#E8DACB 60%,#DCC8B3 100%);--letra:#FFFFFF;--sombra:rgba(75,48,69,.22);--tinta:#4B3045;--tinta-suave:#5A4A55;--acento:#B76552}
.ya-yoga--2 .ya-yoga__panel{height:clamp(680px,56vw,780px)}
.ya-yoga .ya-yoga__texto{left:50%;transform:translateX(-50%);top:clamp(26px,3.4vw,44px);width:min(86%,760px);text-align:center}
.ya-yoga .ya-yoga__texto .ya-lead{margin-left:auto;margin-right:auto}
.ya-yoga--2 .ya-yoga__chips{justify-content:center}

/* Tablet y móvil: sin entrelazado; palabra arriba, figura grande, texto debajo */
@media (max-width:980px){
  .ya-yoga__panel,.ya-yoga--2 .ya-yoga__panel{height:auto;display:flex;flex-direction:column;border-radius:24px}
  .ya-yoga__escena{position:relative;inset:auto;height:min(112vw,640px)}
  .ya-yoga__sujeto{top:0;right:0;bottom:0;left:0;transform:none;font-size:clamp(100px,29.5vw,230px)}
  .ya-yoga__palabra{position:absolute;left:50%;top:4%;transform:translateX(-50%)}
  .ya-yoga__palabra--frente{display:none}
  .ya-yoga__figura{left:50%;top:auto;bottom:0;height:90%;transform:translateX(-50%)}
  .ya-yoga__texto,.ya-yoga--1 .ya-yoga__texto,.ya-yoga .ya-yoga__texto,.ya-yoga--3 .ya-yoga__texto{position:static;transform:none;width:auto;padding:var(--ya-s1) var(--ya-s3) var(--ya-s4)}
  .ya-yoga .ya-yoga__texto,.ya-yoga--3 .ya-yoga__texto{text-align:left}
  .ya-yoga--2 .ya-yoga__chips{justify-content:flex-start}
  .ya-yoga__texto .ya-lead{max-width:none}
}
@media (max-width:560px){
  .ya-yoga .ya-contenedor,.ya-opcion .ya-contenedor{padding:0 var(--ya-s1)}
  .ya-yoga__texto,.ya-yoga--1 .ya-yoga__texto,.ya-yoga .ya-yoga__texto,.ya-yoga--3 .ya-yoga__texto{padding:var(--ya-s1) var(--ya-s2) var(--ya-s3)}
}

/* Clases y horarios: modalidades y botón debajo del recuadro */
.ya-clases__extra{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ya-s3);margin-top:var(--ya-s4)}
.ya-clases__extra .ya-chips{margin:0}
@media (max-width:560px){.ya-clases__extra .ya-boton{width:100%}}

/* ---------- Animación de la sección YOGA (v9): entrada por capas ---------- */
.ya-yoga__proxima{display:none;margin:var(--ya-s2) 0 0;font-weight:600;font-size:15px;color:var(--ya-terracota)}
.js .ya-yoga__proxima{display:block;min-height:1.6em;visibility:hidden}
.js .ya-yoga__proxima.es-lista{visibility:visible}
.ya-yoga__chips li.es-proxima{background:#fff;box-shadow:0 0 0 2px var(--ya-terracota);animation:ya-halo 1.6s ease-out 1 .2s}
@keyframes ya-halo{0%{box-shadow:0 0 0 2px var(--ya-terracota),0 0 0 0 rgba(183,101,82,.45)}100%{box-shadow:0 0 0 2px var(--ya-terracota),0 0 0 14px rgba(183,101,82,0)}}

/* Estado inicial (solo con JavaScript): todo oculto hasta que la sección entra en pantalla */
.js .ya-entra .ya-yoga__palabra:not(.ya-yoga__palabra--frente){opacity:0;transform:translateY(.06em);transition:opacity .9s var(--ya-ease),transform .9s var(--ya-ease)}
.js .ya-entra .ya-yoga__figura{opacity:0;transform:translateY(.05em);transition:opacity .9s var(--ya-ease) .25s,transform .9s var(--ya-ease) .25s}
.js .ya-entra .ya-yoga__palabra--frente b{opacity:0;transition:opacity .9s ease .7s}
.js .ya-entra .ya-yoga__texto > *{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s var(--ya-ease)}
.js .ya-entra .ya-yoga__texto > :nth-child(1){transition-delay:.95s}
.js .ya-entra .ya-yoga__texto > :nth-child(2){transition-delay:1.05s}
.js .ya-entra .ya-yoga__texto > :nth-child(3){transition-delay:1.15s}
.js .ya-entra .ya-yoga__texto > :nth-child(4){transition-delay:1.25s}
.js .ya-entra .ya-yoga__texto > :nth-child(5){transition-delay:1.35s}

/* Estado final */
.js .ya-entra.es-activo .ya-yoga__palabra:not(.ya-yoga__palabra--frente),
.js .ya-entra.es-activo .ya-yoga__figura{opacity:1;transform:none}
.js .ya-entra.es-activo .ya-yoga__palabra--frente b{opacity:1;transform:none}
.js .ya-entra.es-activo .ya-yoga__texto > *{opacity:1;transform:none}

/* Tablet y móvil: la palabra y la figura ya van centradas con translateX(-50%) */
@media (max-width:980px){
  .js .ya-entra .ya-yoga__palabra:not(.ya-yoga__palabra--frente){transform:translateX(-50%) translateY(.06em)}
  .js .ya-entra .ya-yoga__figura{transform:translateX(-50%) translateY(.05em)}
  .js .ya-entra.es-activo .ya-yoga__palabra:not(.ya-yoga__palabra--frente),
  .js .ya-entra.es-activo .ya-yoga__figura{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
  .js .ya-entra *{transition:none!important}
  .ya-yoga__chips li.es-proxima{animation:none}
}

/* =========================================================
   Páginas internas: 404 y legales
   ========================================================= */
.ya-saltar{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ya-ciruela);color:var(--ya-marfil);padding:10px 16px;border-radius:8px;text-decoration:none}
.ya-saltar:focus{left:8px}
.admin-bar .ya-header{top:32px}
@media (max-width:782px){.admin-bar .ya-header{top:46px}}

/* Cabecera simple (páginas internas) */
.ya-header--simple .ya-boton{min-height:44px;padding:0 var(--ya-s3);font-size:15px}

/* Pie mínimo */
.ya-pie{border-top:1px solid rgba(75,48,69,.1);padding:var(--ya-s3) 0;font-size:15px;color:var(--ya-texto-suave)}
.ya-pie .ya-contenedor{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--ya-s2)}
.ya-pie a{text-decoration:none}
.ya-pie a:hover{color:var(--ya-terracota)}

/* 404 */
body.error404{min-height:100vh;display:flex;flex-direction:column}
.ya-404{flex:1;display:flex;align-items:center;padding:var(--ya-s10) 0}
.ya-404__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--ya-s8);align-items:center}
.ya-404__codigo{font-family:var(--ya-font-titulo);font-weight:600;font-size:15px;color:var(--ya-terracota);letter-spacing:.08em;margin-bottom:var(--ya-s2)}
.ya-404 h1{font-weight:600;font-size:clamp(36px,4.6vw,56px);line-height:1.1;letter-spacing:-.02em;margin-bottom:var(--ya-s3)}
.ya-404__texto{font-size:clamp(18px,1.6vw,20px);color:var(--ya-texto-suave);max-width:44ch;margin-bottom:var(--ya-s4)}
.ya-404__acciones{display:flex;flex-wrap:wrap;gap:var(--ya-s2);margin-bottom:var(--ya-s6)}
.ya-atajos__titulo{font-family:var(--ya-font-titulo);font-weight:600;color:var(--ya-ciruela);margin-bottom:var(--ya-s2)}
.ya-atajos{display:flex;flex-wrap:wrap;gap:var(--ya-s1) var(--ya-s2);list-style:none;margin:0;padding:0}
.ya-atajos a{display:inline-block;background:var(--ya-blanco);border:1px solid rgba(75,48,69,.14);border-radius:999px;padding:10px 20px;font-weight:500;color:var(--ya-ciruela);text-decoration:none}
.ya-atajos a:hover{border-color:var(--ya-terracota);color:var(--ya-terracota)}
.ya-404__simbolo{justify-self:center;width:min(360px,100%);aspect-ratio:1;border-radius:50%;background:var(--ya-arena-clara);display:grid;place-items:center}
.ya-404__simbolo img{width:46%}
@media (max-width:860px){
  .ya-404{padding:var(--ya-s6) 0}
  .ya-404__grid{grid-template-columns:1fr;gap:var(--ya-s4)}
  .ya-404__simbolo{order:-1;width:160px;justify-self:start}
}
@media (max-width:560px){.ya-404__acciones .ya-boton{width:100%}}

/* Páginas legales (términos y aviso de privacidad) */
.ya-legal-pagina{line-height:1.7}
.ya-legal-pagina p{margin:0 0 var(--ya-s2)}
.ya-legal-pagina a:not(.ya-boton){color:var(--ya-ciruela)}
.ya-legal-cabecera{padding-top:var(--ya-s8);padding-bottom:var(--ya-s6)}
.ya-legal-cabecera h1{font-size:clamp(34px,4.4vw,52px);line-height:1.1}
.ya-legal-cabecera p{color:var(--ya-texto-suave);margin-top:var(--ya-s2)}
.ya-migas{font-size:15px;margin-bottom:var(--ya-s2)}
.ya-legal-pagina .ya-migas a{color:var(--ya-texto-suave);text-decoration:none}
.ya-legal-pagina .ya-migas a:hover{color:var(--ya-terracota)}
.ya-legal{display:grid;grid-template-columns:260px 1fr;gap:var(--ya-s8);align-items:start;padding-bottom:var(--ya-s10)}
.ya-indice{position:sticky;top:96px;background:var(--ya-blanco);border-radius:var(--ya-radio-card);padding:var(--ya-s3)}
.ya-indice p{font-family:var(--ya-font-titulo);font-weight:600;color:var(--ya-ciruela);margin-bottom:var(--ya-s1)}
.ya-indice ol{margin:0;padding-left:20px;font-size:15px;line-height:1.5}
.ya-indice li{margin:6px 0}
.ya-legal-pagina .ya-indice a{color:var(--ya-carbon);text-decoration:none}
.ya-legal-pagina .ya-indice a:hover{color:var(--ya-terracota)}
.ya-legal__contenido{max-width:760px}
.ya-legal__contenido h2,.ya-resumen h2{font-size:clamp(22px,2.2vw,26px);line-height:1.25;margin-bottom:var(--ya-s2)}
.ya-legal__contenido section{padding:var(--ya-s4) 0;border-bottom:1px solid rgba(75,48,69,.12)}
.ya-legal__contenido section:last-child{border-bottom:0}
.ya-legal__contenido ul{margin:0 0 var(--ya-s2);padding-left:22px}
.ya-legal__contenido li{margin:6px 0}
.ya-resumen{background:var(--ya-blanco);border-left:4px solid var(--ya-terracota);border-radius:var(--ya-radio-card);padding:var(--ya-s4);margin-bottom:var(--ya-s2)}
.ya-resumen h2{font-size:20px}
.ya-resumen ul{margin:0;padding-left:22px}
@media (max-width:860px){
  .ya-legal{grid-template-columns:1fr;gap:var(--ya-s4)}
  .ya-indice{position:static}
}
@media (max-width:560px){
  .ya-legal-cabecera{padding-top:var(--ya-s6);padding-bottom:var(--ya-s4)}
  .ya-resumen{padding:var(--ya-s3)}
}

/* =========================================================
   Enlaces para la bio de Instagram (/info) — aprobado: output/web/links/links-v2.html
   Una columna de 460 px como máximo, igual en celular y escritorio.
   ========================================================= */
body.ya-pagina-links{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;font-size:16px;line-height:1.55}
.ya-lk{width:100%;max-width:460px;flex:1;display:flex;flex-direction:column;padding:16px 16px 32px}

/* Cabecera ciruela: el arco inferior retoma la forma envolvente del logo */
.ya-lk-cabecera{
  position:relative;overflow:hidden;background:var(--ya-ciruela);color:var(--ya-marfil);
  border-radius:28px 28px 50% 50% / 28px 28px 56px 56px;
  padding:40px 28px 56px;text-align:center;margin-bottom:20px;
}
.ya-lk-cabecera::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;top:-150px;right:-110px;border:1px solid rgba(247,243,237,.12)}
.ya-lk-marca{display:inline-flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}
.ya-lk-marca img{width:56px}
.ya-lk-marca span{font-family:var(--ya-font-titulo);font-weight:600;font-size:15px;letter-spacing:.2em;padding-left:.2em}
.ya-lk-cabecera h1{color:var(--ya-marfil);font-size:26px;line-height:1.15;letter-spacing:-.015em;margin:0 0 12px}
.ya-lk-cabecera p{color:rgba(247,243,237,.82);font-size:15px}

/* Tarjeta de clases y horarios */
.ya-lk-tarjeta{position:relative;margin:0 0 20px;padding:24px 20px 20px;border-radius:22px;background:var(--ya-blanco);box-shadow:0 12px 32px rgba(75,48,69,.08)}
.ya-lk-tarjeta__ante{margin-bottom:6px;font-family:var(--ya-font-titulo);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ya-terracota)}
.ya-lk-tarjeta h2{margin:0 0 8px;font-size:22px;line-height:1.2}
.ya-lk-tarjeta__texto{margin-bottom:16px;color:var(--ya-texto-suave);font-size:15px}
.ya-lk-horarios{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.ya-lk-horarios li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--ya-marfil);border:1px solid transparent;transition:border-color .3s, background .3s}
.ya-lk-horarios svg{flex:none;width:22px;height:22px;color:var(--ya-malva)}
.ya-lk-horarios div{display:flex;flex-direction:column;line-height:1.35}
.ya-lk-horarios strong{font-weight:600;color:var(--ya-ciruela);font-size:15px}
.ya-lk-horarios span{font-size:14px;color:var(--ya-texto-suave)}
.ya-lk-horarios li.es-proxima{background:var(--ya-arena-clara);border-color:rgba(183,101,82,.45)}
.ya-lk-horarios li.es-proxima svg{color:var(--ya-terracota)}
.ya-lk-proxima{display:none;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ya-terracota)}
.ya-lk-proxima.es-lista{display:flex}
.ya-lk-proxima::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ya-terracota);flex:none}
.ya-lk-tarjeta__nota{margin-top:12px;padding-top:12px;border-top:1px solid rgba(75,48,69,.1);font-size:14px;color:var(--ya-texto-suave)}

/* WhatsApp (único botón primario) y enlaces secundarios */
.ya-lk-boton{display:flex;align-items:center;justify-content:center;gap:10px;min-height:60px;padding:0 24px;border-radius:16px;font-weight:600;font-size:17px;text-decoration:none;background:var(--ya-terracota);color:var(--ya-marfil);transition:background .2s, transform .2s}
.ya-lk-boton svg{width:22px;height:22px}
.ya-lk-boton:hover{background:var(--ya-terracota-hover)}
.ya-lk-boton:active{transform:scale(.99)}
.ya-lk-enlaces{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ya-lk-enlace{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 14px;border-radius:16px;text-decoration:none;font-weight:600;font-size:15px;background:var(--ya-blanco);color:var(--ya-ciruela);border:1px solid rgba(75,48,69,.16);transition:border-color .2s, color .2s}
.ya-lk-enlace svg{width:20px;height:20px;color:var(--ya-malva);flex:none}
.ya-lk-enlace:hover{border-color:var(--ya-terracota);color:var(--ya-terracota)}
.ya-lk-boton:focus-visible,.ya-lk-enlace:focus-visible,.ya-lk-pie a:focus-visible{outline:3px solid var(--ya-malva);outline-offset:3px}

.ya-lk-pie{margin-top:auto;padding-top:40px;text-align:center;font-size:14px;color:var(--ya-texto-suave)}
.ya-lk-pie a{text-decoration:none}
.ya-lk-pie a:hover{color:var(--ya-terracota)}

@media (min-width:768px){ .ya-lk{padding-top:48px} .ya-lk-cabecera h1{font-size:28px} .ya-lk-tarjeta h2{font-size:24px} }
@media (max-width:359px){
  .ya-lk-cabecera{padding:32px 20px 48px} .ya-lk-cabecera h1{font-size:23px}
  .ya-lk-tarjeta{padding:20px 16px 16px} .ya-lk-enlaces{grid-template-columns:1fr}
  .ya-lk-boton{padding:0 16px;font-size:16px;gap:8px}
}
@media (prefers-reduced-motion:reduce){.ya-lk *{transition:none!important}}
