/* ============================================================
   RESTÁURAME — Hoja de estilos global
   Réplica del sistema visual del sitio original (WordPress)
   Tipografías: Raleway (títulos) + DM Sans (texto)
   Paleta: guinda #5E2223 · rosa #CD9191 · negro #1A1A1A
   ============================================================ */

:root{
  --guinda-950:#3B1516;
  --guinda-900:#4A1D1E;
  --guinda:#5E2223;
  --guinda-700:#6E2B2C;
  --guinda-600:#7E3536;
  --rosa:#CD9191;
  --rosa-300:#DFB6B6;
  --rosa-100:#F3E4E4;
  --negro:#1A1A1A;
  --negro-800:#232323;
  --blanco:#FFFFFF;
  --crema:#FAF7F5;
  --texto:#43403F;
  --texto-suave:#6B6664;
  --borde:#E8E2DF;
  --f-titulo:'Raleway',sans-serif;
  --f-texto:'DM Sans',sans-serif;
  --sombra:0 18px 40px rgba(30,10,10,.14);
  --trans:all .3s ease;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--f-texto);color:var(--texto);background:var(--blanco);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
h1,h2,h3,h4,h5{font-family:var(--f-titulo);font-weight:800;line-height:1.15;text-wrap:balance}
p{text-wrap:pretty}

.container{width:min(1140px,92%);margin:0 auto}

/* ---------- Loader ---------- */
#loader{position:fixed;inset:0;z-index:999;background:var(--guinda-950);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:opacity .5s ease,visibility .5s ease}
#loader img{width:84px;animation:pulse 1.4s ease-in-out infinite}
#loader .loader-logo{width:230px;max-width:64vw}
#loader .loader-word{color:#fff;font-family:var(--f-titulo);font-weight:600;letter-spacing:.35em;font-size:.8rem;text-transform:uppercase;opacity:.85}
#loader.hidden{opacity:0;visibility:hidden}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.08);opacity:1}}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:90;padding:14px 0;background:linear-gradient(rgba(20,8,8,.85),rgba(20,8,8,.55) 70%,transparent);transition:background .35s ease,padding .35s ease,box-shadow .35s ease}
.site-header.solid{background:rgba(22,10,10,.97);padding:8px 0;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;color:#fff}
.brand img{width:34px}
.brand .brand-logo{width:auto;height:40px}
.brand .brand-name{font-family:var(--f-texto);font-weight:500;font-size:1.35rem;letter-spacing:.01em;border-bottom:1px solid rgba(255,255,255,.85);padding-bottom:2px}
.main-nav ul{display:flex;align-items:center;gap:26px}
.main-nav a{color:#fff;font-family:var(--f-titulo);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;padding:6px 0;position:relative}
.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--rosa);transition:width .3s ease}
.main-nav a:hover::after,.main-nav li.active > a::after{width:100%}
.main-nav li.active > a::before{content:"↗";color:var(--rosa);font-size:.8em}
.has-sub{position:relative}
.has-sub > a::marker{content:''}
.sub{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,8px);background:#fff;min-width:190px;border-radius:6px;box-shadow:var(--sombra);opacity:0;visibility:hidden;transition:var(--trans);padding:10px 0;display:block}
.sub li a{color:var(--texto);display:block;padding:9px 20px;font-size:.7rem}
.sub li a:hover{color:var(--guinda);background:var(--rosa-100)}
.sub li a::after{display:none}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.header-cta{display:flex;align-items:center;gap:14px}
.btn-donar{background:var(--guinda);color:#fff;font-family:var(--f-texto);font-weight:700;font-size:.92rem;letter-spacing:-.01em;padding:11px 20px;border-radius:4px;transition:var(--trans)}
.btn-donar:hover{background:var(--guinda-700);transform:translateY(-2px)}
.nav-toggle{display:none;background:var(--guinda);border:0;width:44px;height:44px;border-radius:6px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav-toggle span{display:block;width:20px;height:2px;background:#fff;transition:var(--trans)}

/* móvil */
@media(max-width:960px){
  .main-nav{position:fixed;inset:0;background:var(--guinda-950);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:var(--trans);z-index:95;overflow-y:auto;padding:90px 24px 40px}
  .main-nav ul{flex-direction:column;align-items:center;gap:4px;width:100%}
  .main-nav li{display:block;width:100%;text-align:center}
  .main-nav a{display:block;width:100%;padding:15px 0;font-size:1.02rem;letter-spacing:.16em}
  .main-nav a::after{display:none}
  .main-nav a::before{display:none}
  .main-nav li.active > a{color:var(--rosa)}
  .main-nav .solo-movil{margin-top:6px}
  .main-nav .solo-movil a{font-size:.86rem;color:rgba(255,255,255,.75)}
  .main-nav .solo-movil.destacado{margin-top:14px}
  .main-nav .solo-movil.destacado a{width:auto;color:#fff}
  .main-nav.open{opacity:1;visibility:visible}
  .main-nav ul{flex-direction:column;gap:26px;text-align:center}
  .main-nav a{font-size:1rem}
  .sub{position:static;transform:none;opacity:1;visibility:visible;background:transparent;box-shadow:none;padding:8px 0 0}
  .sub li a{color:var(--rosa);font-size:.8rem;padding:6px}
  .nav-toggle{display:flex;z-index:96}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.open span:nth-child(2){opacity:0}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .btn-donar{display:none}
}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-texto);font-weight:700;font-size:.98rem;letter-spacing:-.01em;padding:14px 28px;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:var(--trans)}
.btn .fl{color:var(--rosa);font-size:.9em;transition:transform .3s ease}
.btn:hover .fl{transform:translate(2px,-2px)}
.btn-outline-light{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.06)}
.btn-outline-light:hover{background:#fff;color:var(--guinda)}
.btn-outline-dark{border-color:var(--negro-800);color:var(--negro-800);background:transparent}
.btn-outline-dark:hover{background:var(--guinda);border-color:var(--guinda);color:#fff}
.btn-solid{background:var(--guinda);color:#fff}
.btn-solid:hover{background:var(--guinda-700);transform:translateY(-2px)}
.btn-rosa{background:var(--rosa);color:#fff}
.btn-rosa:hover{background:#b97c7c}

/* ---------- Secciones genéricas ---------- */
section{padding:90px 0}
.section-dark{background:var(--guinda);color:#fff}
.section-darker{background:var(--guinda-950);color:#fff}
.section-negro{background:var(--negro);color:#fff}
.section-rosa{background:var(--rosa);color:#fff}
.section-crema{background:var(--crema)}
.kicker{font-family:var(--f-titulo);font-weight:700;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rosa);margin-bottom:14px}
.section-dark .kicker,.section-darker .kicker{color:var(--rosa-300)}
h2.title{font-family:var(--f-texto);font-weight:700;font-size:clamp(1.7rem,3.6vw,2.6rem);text-transform:uppercase;letter-spacing:-.02em;margin-bottom:18px}
.title .accent{color:var(--rosa)}
.lead{max-width:640px;color:var(--texto-suave)}
.section-dark .lead,.section-darker .lead{color:rgba(255,255,255,.82)}

/* layout etiqueta lateral (landing retiro) */
.side-block{display:grid;grid-template-columns:240px 1fr;gap:48px;padding:64px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.side-block:last-child{border-bottom:none}
.side-label{font-family:var(--f-titulo);font-weight:800;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.side-label small{display:block;font-size:.66rem;letter-spacing:.2em;color:var(--rosa-300);margin-top:6px;font-weight:700}
@media(max-width:820px){.side-block{grid-template-columns:1fr;gap:20px;padding:48px 0}}
.blocks-light .side-block{border-bottom:none;padding:74px 0}
.blocks-light .side-label{color:var(--guinda-950)}
.blocks-light .side-label small{color:var(--rosa)}
.faq-light .faq-item{border-bottom-color:var(--borde)}
.faq-light .faq-q{color:var(--guinda)}
.faq-light .faq-q:hover,.faq-light .faq-item.open .faq-q{color:var(--guinda-950)}
.faq-light .faq-a p{color:var(--texto-suave)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:160px 0 110px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2;animation:heroZoom 14s ease-out forwards}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(24,10,10,.55) 0%,rgba(74,29,30,.55) 55%,var(--guinda) 100%)}
.hero .kicker{color:var(--rosa-300)}
.hero h1{font-size:clamp(2rem,5.4vw,3.9rem);text-transform:uppercase;max-width:900px;margin:0 auto 14px}
.hero .verse{font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;opacity:.85;margin-bottom:34px}
.hero-sub{font-family:var(--f-titulo);font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:clamp(.8rem,1.6vw,1.05rem);margin-bottom:8px}
.hero-place{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;opacity:.8;margin-bottom:36px}

/* hero del home: texto abajo-izquierda, gradiente que arranca abajo */
.hero-home{align-items:flex-end;text-align:left;min-height:96vh;padding:160px 0 42px}
.hero-home h1{margin:0 0 14px;font-size:clamp(2.3rem,5.3vw,4.85rem);line-height:1.14;max-width:none}
.hero-home .verse{margin-bottom:0;text-align:left;text-transform:none;letter-spacing:0;font-weight:700;font-size:1.15rem;opacity:.95;font-family:var(--f-texto)}
.hero-home .hero-overlay{background:linear-gradient(180deg,rgba(20,8,8,.38) 0%,rgba(20,8,8,.02) 34%,rgba(74,29,30,.12) 55%,rgba(84,31,32,.72) 80%,var(--guinda) 100%)}

/* fecha + apostolado (home) */
.fecha-apostolado{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.fecha-apostolado .fecha-link:hover span:nth-child(2){transform:translate(2px,-2px)}
.fecha-apostolado .fecha-link span{transition:transform .3s ease}
@media(max-width:860px){.fecha-apostolado{grid-template-columns:1fr;gap:36px}}

.hero-interior{min-height:52vh;padding:150px 0 80px}
.hero-interior h1{font-size:clamp(2.2rem,6vw,4.2rem)}

/* franja de próxima fecha (home) */
.next-date{background:var(--guinda);color:#fff;padding:56px 0}
.next-date-inner{display:grid;grid-template-columns:auto auto 1fr;gap:40px;align-items:center}
.next-date .date{font-family:var(--f-titulo);font-weight:800;font-size:clamp(1.4rem,3vw,2.1rem);text-transform:uppercase}
.next-date .arrow{color:var(--rosa);font-size:1.6rem}
.next-date .place{font-size:.95rem;opacity:.9}
@media(max-width:820px){.next-date-inner{grid-template-columns:1fr;gap:10px;text-align:center}.next-date .arrow{display:none}}

/* ---------- Tarjetas de retiros (próximas fechas) ---------- */
.retiros-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:44px}
.retiro-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:28px 26px;display:flex;flex-direction:column;gap:10px;transition:var(--trans)}
.retiro-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.09)}
.retiro-card .fecha{font-family:var(--f-titulo);font-weight:800;font-size:1.3rem;text-transform:uppercase}
.retiro-card .tag{align-self:flex-start;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--rosa);color:#fff;padding:4px 10px;border-radius:20px}
.retiro-card .tag.doble{background:#fff;color:var(--guinda)}
.retiro-card .lugar{font-size:.9rem;opacity:.9}
.retiro-card .insc{font-size:.76rem;letter-spacing:.06em;color:var(--rosa-300)}
.retiro-card .btn{margin-top:auto;justify-content:center}

/* ---------- Equipo ---------- */
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:48px}
.team-card{position:relative;overflow:hidden;border-radius:8px}
.team-card img{aspect-ratio:6/7;object-fit:cover;width:100%;transition:transform .5s ease}
.team-card:hover img{transform:scale(1.05)}
.team-card .info{position:absolute;left:0;right:0;bottom:0;padding:36px 16px 14px;background:linear-gradient(transparent,rgba(20,8,8,.85));color:#fff}
.team-card .rol{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rosa-300);font-weight:700}
.team-card .nombre{font-family:var(--f-texto);font-weight:700;font-size:1.02rem;letter-spacing:-.02em}
@media(max-width:960px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.team-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- Split ¿Buscas más? / misión / visión ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.reverse > .split-img{order:2}
.split-img{border-radius:10px;overflow:hidden;box-shadow:var(--sombra)}
.split-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.split-img:hover img{transform:scale(1.04)}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:34px}.split.reverse > .split-img{order:0}}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.stats.three{grid-template-columns:repeat(3,1fr)}
.stat .num{font-family:var(--f-texto);font-weight:700;letter-spacing:-.03em;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--guinda)}
.section-dark .stat .num,.section-darker .stat .num{color:#fff}
.stat .num .plus{color:var(--rosa)}
.stat .label{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave);font-weight:600}
.section-dark .stat .label{color:rgba(255,255,255,.75)}
@media(max-width:720px){.stats,.stats.three{grid-template-columns:repeat(2,1fr)}}

/* ---------- Testimonios ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:48px}
.testi-card{background:#fff;border:1px solid var(--borde);border-radius:10px;padding:34px 30px;transition:var(--trans)}
.testi-card:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.testi-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.testi-head .q{width:38px;height:38px;border-radius:50%;background:var(--guinda);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:1.3rem;flex-shrink:0}
.testi-head h4{font-family:var(--f-texto);font-weight:700;letter-spacing:-.02em;font-size:1rem}
.testi-card p{font-size:.92rem;color:var(--texto-suave)}
.testi-card .autor{margin-top:16px;font-weight:700;color:var(--texto)}
.testi-card .origen{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rosa);font-weight:700}
@media(max-width:860px){.testi-grid{grid-template-columns:1fr}}

/* ---------- Logos asociaciones ---------- */
.logos-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:48px 56px}
.logos-band img{height:76px;width:auto;transition:var(--trans)}
.logos-band img:hover{transform:scale(1.05)}

/* ---------- Cursos (escuela) ---------- */
.curso-row{display:grid;grid-template-columns:56px 1.1fr 1.6fr auto;gap:26px;align-items:center;padding:34px 0;border-bottom:1px solid var(--borde)}
.curso-num{width:44px;height:44px;border-radius:50%;background:var(--guinda);color:#fff;font-family:var(--f-titulo);font-weight:800;display:flex;align-items:center;justify-content:center}
.curso-row.abierto .curso-num{background:#fff;color:var(--guinda);border:2px solid var(--guinda)}
.curso-row h3{font-family:var(--f-texto);font-weight:700;letter-spacing:-.02em;font-size:1.05rem;text-transform:uppercase}
.curso-row .modalidad{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rosa);font-weight:700;margin-top:8px}
.curso-row .desc{font-size:.9rem;color:var(--texto-suave)}
.curso-row .valor{font-weight:700;color:var(--guinda);white-space:nowrap}
@media(max-width:900px){.curso-row{grid-template-columns:44px 1fr;gap:16px}.curso-row .desc,.curso-row .cta{grid-column:2}}

/* ---------- Tabs temarios ---------- */
.tabs-head{display:flex;flex-wrap:wrap;gap:6px 28px;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:14px;margin:34px 0 40px}
.tab-btn{background:none;border:0;cursor:pointer;font-family:var(--f-titulo);font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65);padding:6px 0;transition:var(--trans)}
.tab-btn.active,.tab-btn:hover{color:#fff}
.tab-panel{display:none;animation:fadeIn .45s ease}
.tab-panel.active{display:flex;flex-direction:column;gap:18px}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.modulo{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:28px 32px;transition:var(--trans)}
.modulo:hover{background:rgba(255,255,255,.22)}
.modulo h4{font-family:var(--f-titulo);font-weight:700;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#fff;opacity:.85;margin-bottom:6px}
.modulo h5{font-family:var(--f-texto);font-weight:700;letter-spacing:-.01em;font-size:1.08rem;text-transform:uppercase;color:#fff;margin-bottom:14px}
.modulo ul{columns:2;column-gap:46px}
.modulo li{font-size:.92rem;padding:5px 0 5px 20px;position:relative;color:#fff;break-inside:avoid}
.modulo li::before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:#fff;opacity:.75}
@media(max-width:720px){.modulo ul{columns:1}.modulo{padding:22px 22px}}

/* ---------- Acordeón FAQ ---------- */
.faq-item{border-bottom:1px solid rgba(255,255,255,.25)}
.faq-q{width:100%;background:none;border:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;color:var(--rosa-300);font-family:var(--f-texto);font-size:1rem;text-align:left;transition:var(--trans)}
.faq-q:hover{color:#fff}
.faq-q .chev{transition:transform .3s ease;font-size:.8rem}
.faq-item.open .faq-q{color:#fff}
.faq-item.open .chev{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease}
.faq-a p{padding:0 0 22px;font-size:.92rem;color:rgba(255,255,255,.85);max-width:640px}

/* ---------- Recursos ---------- */
.rec-cat{margin-top:70px}
.rec-cat:first-of-type{margin-top:0}
.rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px;margin-top:30px}
.rec-card{background:#fff;border:1px solid var(--borde);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:var(--trans)}
.rec-card:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.rec-card .thumb{aspect-ratio:4/3;overflow:hidden;background:var(--rosa-100);display:flex;align-items:center;justify-content:center}
.rec-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.rec-card:hover .thumb img{transform:scale(1.06)}
.rec-card .body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.rec-card .tipo{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rosa);font-weight:700}
.rec-card h4{font-family:var(--f-texto);font-weight:700;letter-spacing:-.02em;font-size:.98rem}
.rec-card .autor{font-size:.8rem;color:var(--texto-suave)}
.rec-card .link{margin-top:auto;padding-top:10px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--guinda)}
.rec-card .link .fl{display:inline-block;transition:transform .3s ease}
.rec-card:hover .link .fl{transform:translate(2px,-2px)}

/* ---------- Valores (nosotros) ---------- */
.valores-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.valor-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:30px 26px;transition:var(--trans)}
.valor-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.1)}
.valor-card .icon{font-size:1.5rem;color:var(--rosa);margin-bottom:14px}
.valor-card h3{font-family:var(--f-texto);font-weight:700;letter-spacing:-.02em;font-size:1rem;text-transform:uppercase;margin-bottom:10px}
.valor-card p{font-size:.88rem;color:rgba(255,255,255,.82)}
@media(max-width:900px){.valores-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.valores-grid{grid-template-columns:1fr}}

/* ---------- Formularios ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .full{grid-column:1/-1}
label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave);display:block;margin-bottom:7px}
input,textarea,select{width:100%;padding:14px 16px;border:1px solid var(--borde);border-radius:6px;font-family:var(--f-texto);font-size:.95rem;color:var(--texto);background:#fff;transition:var(--trans)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--rosa);box-shadow:0 0 0 3px rgba(205,145,145,.18)}
textarea{min-height:140px;resize:vertical}
.form-msg{display:none;margin-top:16px;padding:14px 18px;border-radius:6px;font-size:.9rem}
.form-msg.ok{display:block;background:#eaf6ec;color:#22662c}
.form-msg.err{display:block;background:#fdeaea;color:#8c2626}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
footer{background:var(--negro);color:#fff;padding:80px 0 0}
.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1.3fr;gap:56px;padding-bottom:60px}
.footer-grid h4{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:22px}
.footer-grid a{transition:var(--trans)}
.footer-grid a:hover{color:var(--rosa)}
.footer-contacto p{margin-bottom:10px;font-size:.95rem;color:rgba(255,255,255,.85)}
.footer-social{display:flex;gap:14px;margin-top:18px}
.footer-social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.footer-social a:hover{background:var(--guinda);border-color:var(--guinda);color:#fff}
.footer-links{columns:2;column-gap:30px}
.footer-links li{margin-bottom:12px;font-size:.92rem;break-inside:avoid}
.footer-links a::before{content:"↗ ";color:var(--rosa);font-size:.8em}
.footer-oracion p{font-size:.88rem;color:rgba(255,255,255,.7);margin-bottom:16px}
.footer-oracion textarea{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#fff;min-height:90px}
.footer-oracion textarea::placeholder{color:rgba(255,255,255,.45)}
.footer-oracion .btn{margin-top:14px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:24px 0;font-size:.78rem;color:rgba(255,255,255,.55);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footer-bottom a{color:rgba(255,255,255,.75)}
.footer-bottom a:hover{color:var(--rosa)}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr;gap:44px}}

/* ---------- Marquee (bandita deslizante) ---------- */
.marquee{overflow:hidden;padding:38px 0;user-select:none}
.marquee-track{display:flex;align-items:center;gap:52px;width:max-content;animation:marquee 30s linear infinite;will-change:transform}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item{display:flex;align-items:center;gap:52px;font-family:var(--f-titulo);font-weight:800;font-size:clamp(2.2rem,5vw,4.4rem);letter-spacing:.02em;white-space:nowrap;line-height:1;text-transform:uppercase}
.marquee-item img{height:clamp(34px,3.6vw,56px);width:auto;flex-shrink:0}
.marquee-light .marquee-item{color:rgba(255,255,255,.34)}
.marquee-dark .marquee-item{color:rgba(94,34,35,.15)}
@keyframes marquee{to{transform:translateX(calc(-50% - 26px))}}
@media(max-width:640px){
  .marquee{padding:26px 0}
  .marquee-track,.marquee-item{gap:30px}
  @keyframes marquee{to{transform:translateX(calc(-50% - 15px))}}
}

/* banda deslizante de logos (home) */
.marquee-logos{background:#fff;padding:52px 0}
.marquee-logos .marquee-track{gap:90px;animation:marqueeLogos 42s linear infinite}
.marquee-logos .marquee-item{gap:90px}
.marquee-logos .marquee-item img{height:64px;width:auto}
@keyframes marqueeLogos{to{transform:translateX(calc(-50% - 45px))}}
@media(max-width:640px){
  .marquee-logos .marquee-track,.marquee-logos .marquee-item{gap:48px}
  .marquee-logos .marquee-item img{height:48px}
  @keyframes marqueeLogos{to{transform:translateX(calc(-50% - 24px))}}
}

/* ---------- Volver arriba ---------- */
#toTop{position:fixed;right:26px;bottom:26px;width:46px;height:46px;border:1px solid var(--borde);background:#fff;color:var(--negro);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:var(--trans);z-index:80;box-shadow:0 8px 20px rgba(0,0,0,.12)}
#toTop.show{opacity:1;visibility:visible}
#toTop:hover{background:var(--guinda);color:#fff;border-color:var(--guinda)}

/* ---------- Reveals ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-stagger > *{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal-stagger.visible > *{opacity:1;transform:none}
.reveal-stagger.visible > *:nth-child(1){transition-delay:.05s}
.reveal-stagger.visible > *:nth-child(2){transition-delay:.13s}
.reveal-stagger.visible > *:nth-child(3){transition-delay:.21s}
.reveal-stagger.visible > *:nth-child(4){transition-delay:.29s}
.reveal-stagger.visible > *:nth-child(5){transition-delay:.37s}
.reveal-stagger.visible > *:nth-child(6){transition-delay:.45s}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.reveal-stagger > *{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ============================================================
   AMPLIACIÓN v2 — checkout, escuela, aula y panel
   ============================================================ */

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.salta{position:absolute;left:-9999px;top:0;z-index:999;background:var(--guinda);color:#fff;padding:12px 20px;border-radius:0 0 8px 0}
.salta:focus{left:0}
/* La trampa anti-robots: se saca de la vista sin que mida nada. Lleva el
   selector con etiqueta porque input[type=text]{width:100%} le ganaba. */
input.trampa,textarea.trampa,.trampa{position:absolute!important;left:-9999px!important;
  top:0!important;width:1px!important;height:1px!important;padding:0!important;
  margin:0!important;opacity:0;overflow:hidden;border:0!important}
:focus-visible{outline:3px solid var(--rosa);outline-offset:2px;border-radius:3px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-titulo);font-weight:700;
     font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;padding:14px 28px;border-radius:6px;border:1.5px solid transparent;
     cursor:pointer;transition:var(--trans);text-align:center;line-height:1.3}
.btn.grande{padding:17px 34px;font-size:.8rem}
.btn.chico{padding:10px 18px;font-size:.66rem}
.btn.ancho{width:100%}
.btn-solid{background:var(--guinda);color:#fff;border-color:var(--guinda)}
.btn-solid:hover{background:var(--guinda-700);transform:translateY(-2px);box-shadow:0 10px 24px rgba(94,34,35,.28)}
.btn-outline-light{border-color:rgba(255,255,255,.55);color:#fff}
.btn-outline-light:hover{background:#fff;color:var(--guinda);transform:translateY(-2px)}
.btn-outline-dark{border-color:var(--guinda);color:var(--guinda)}
.btn-outline-dark:hover{background:var(--guinda);color:#fff;transform:translateY(-2px)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.btn-cuenta{color:#fff;font-family:var(--f-titulo);font-weight:700;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
            padding:9px 16px;border:1px solid rgba(255,255,255,.45);border-radius:5px;transition:var(--trans)}
.btn-cuenta:hover{background:rgba(255,255,255,.14)}

.alerta{padding:14px 18px;border-radius:8px;font-size:.9rem;margin-bottom:22px;border-left:4px solid}
.alerta.ok{background:#EFF7F0;border-color:#3E8E4F;color:#2C6939}
.alerta.error{background:#FCEEEE;border-color:#B23A3A;color:#8E2C2C}
.alerta.aviso{background:#FDF6E9;border-color:#C99A3E;color:#8A6620}
.alerta.grande{padding:18px 22px;font-size:.95rem}

.volver{display:inline-block;font-family:var(--f-titulo);font-weight:700;font-size:.72rem;letter-spacing:.1em;
        text-transform:uppercase;color:var(--guinda);margin-bottom:22px;transition:var(--trans)}
.volver:hover{opacity:.65;transform:translateX(-3px)}
.estrecho{width:min(760px,92%)}
.centrado{text-align:center}
.opcional{font-weight:400;color:var(--texto-suave);text-transform:none;letter-spacing:0;font-size:.85em}

/* ---------- Tarjetas de retiro ---------- */
.retiros-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:44px}
.retiro-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:28px 24px 26px;
             display:flex;flex-direction:column;gap:10px;transition:var(--trans)}
.retiro-card:hover{background:rgba(255,255,255,.09);transform:translateY(-4px);border-color:rgba(205,145,145,.5)}
.retiro-card .tag{align-self:flex-start;font-family:var(--f-titulo);font-weight:700;font-size:.6rem;letter-spacing:.14em;
                  text-transform:uppercase;background:rgba(205,145,145,.22);color:var(--rosa-300);padding:6px 11px;border-radius:20px}
.retiro-card .tag.doble{background:rgba(205,145,145,.4);color:#fff}
.retiro-card .fecha{font-family:var(--f-titulo);font-weight:800;font-size:clamp(1.25rem,2.2vw,1.6rem);color:#fff;text-transform:uppercase;line-height:1.1}
.retiro-card .lugar{color:rgba(255,255,255,.8);font-size:.9rem;line-height:1.5}
.retiro-card .insc{font-size:.78rem;color:rgba(255,255,255,.6)}

.retiro-card .precio{font-family:var(--f-titulo);font-weight:800;font-size:1.15rem;color:#fff;margin-top:2px}
.retiro-card .precio span{display:block;font-family:var(--f-texto);font-weight:400;font-size:.72rem;color:rgba(255,255,255,.6);letter-spacing:0;text-transform:none}
.retiro-card .btn{margin-top:auto}
.retiro-card.clara{background:#fff;border-color:var(--borde);box-shadow:var(--sombra)}
.retiro-card.clara .fecha,.retiro-card.clara .precio{color:var(--negro)}
.retiro-card.clara .lugar{color:var(--texto)}
.aviso-vacio{background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.25);border-radius:12px;padding:40px;text-align:center;margin-top:36px}
.aviso-vacio p{color:rgba(255,255,255,.85);margin-bottom:20px}
.lista-pasados{display:grid;gap:8px;margin-top:18px;color:rgba(255,255,255,.6);font-size:.88rem}
.lista-pasados span{font-family:var(--f-titulo);font-weight:700;color:rgba(255,255,255,.85);margin-right:8px}

.fecha-apostolado .fecha-link{display:flex;gap:20px;align-items:flex-start;transition:var(--trans)}
.fecha-apostolado .fecha-link:hover{transform:translateX(4px)}
.fecha-grande{font-family:var(--f-titulo);font-weight:800;font-size:clamp(1.4rem,2.6vw,2rem);text-transform:uppercase;white-space:nowrap}
.fecha-apostolado .flecha{color:var(--rosa);font-size:1.4rem;line-height:1.3}
.fecha-lugar{opacity:.9;padding-top:6px}
.correo-link{display:inline-block;font-family:var(--f-titulo);font-weight:700;letter-spacing:.14em;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.4);padding:10px 0 5px}

/* ---------- Página de un retiro ---------- */
.hero-retiro .hero-fecha{font-family:var(--f-titulo);font-weight:700;font-size:clamp(1rem,2vw,1.3rem);color:var(--rosa-300);margin-top:14px}
.hero-retiro .hero-sede{color:rgba(255,255,255,.85);font-size:.95rem;margin-top:6px}
.barra-inscripcion{background:var(--guinda);color:#fff;padding:26px 0;position:sticky;top:0;z-index:80;box-shadow:0 6px 22px rgba(0,0,0,.22)}
.barra-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.barra-precio .monto{font-family:var(--f-titulo);font-weight:800;font-size:1.75rem;line-height:1}
.barra-precio .moneda{font-size:.8rem;font-weight:600;opacity:.75}
.barra-precio .por{font-size:.78rem;opacity:.8;margin-top:4px}
.barra-estado .etiqueta{font-family:var(--f-titulo);font-weight:700;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
                        padding:5px 12px;border-radius:20px;display:inline-block}
.barra-estado .etiqueta.abierta{background:var(--rosa);color:var(--guinda-950)}
.barra-estado .etiqueta.espera{background:rgba(255,255,255,.2);color:#fff}
.barra-estado .etiqueta.lleno{background:rgba(0,0,0,.3);color:rgba(255,255,255,.85)}
.barra-estado .dato{font-size:.82rem;opacity:.9;margin-top:6px}
.aviso-doble{background:var(--rosa-100);border-top:1px solid var(--rosa-300);border-bottom:1px solid var(--rosa-300);padding:20px 0}
.aviso-doble p{color:#6B3232;font-size:.94rem;max-width:900px}
.caja-incluye{background:var(--crema);border:1px solid var(--borde);border-radius:14px;padding:34px 30px}
.caja-incluye h3{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px;color:var(--guinda)}
.lista-check{display:grid;gap:11px}
.lista-check li{position:relative;padding-left:28px;font-size:.94rem}
.lista-check li::before{content:"✓";position:absolute;left:0;top:0;color:var(--guinda);font-weight:700}
.datos-retiro{margin-top:26px;border-top:1px solid var(--borde);padding-top:20px;display:grid;gap:14px}
.datos-retiro div{display:grid;grid-template-columns:100px 1fr;gap:14px;align-items:start}
.datos-retiro dt{font-family:var(--f-titulo);font-weight:700;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave);padding-top:2px}
.datos-retiro dd{font-size:.94rem}
.nota-publico{margin-top:22px;padding:14px 18px;background:var(--rosa-100);border-radius:8px;font-size:.9rem;color:#6B3232}
.acordeon details{border-bottom:1px solid var(--borde);padding:4px 0}
.acordeon summary{cursor:pointer;padding:18px 34px 18px 0;font-family:var(--f-titulo);font-weight:700;font-size:1rem;position:relative;list-style:none}
.acordeon summary::-webkit-details-marker{display:none}
.acordeon summary::after{content:"+";position:absolute;right:6px;top:16px;font-size:1.4rem;font-weight:400;color:var(--guinda);transition:var(--trans)}
.acordeon details[open] summary::after{content:"−"}
.acordeon details p{padding:0 0 20px;color:var(--texto-suave);font-size:.94rem}
.cta-ayuda{text-align:center;margin-top:46px}
.cta-ayuda p{margin-bottom:16px;font-family:var(--f-titulo);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.section-crema{background:var(--crema);padding:90px 0}

/* ---------- Checkout ---------- */
.pagina-checkout{background:var(--crema)}
.checkout{padding:120px 0 80px}
.checkout-grid{display:grid;grid-template-columns:1.5fr .95fr;gap:46px;align-items:start}
.checkout-form{background:#fff;border:1px solid var(--borde);border-radius:14px;padding:38px 36px;box-shadow:var(--sombra)}
.checkout-form h1{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:8px}
.checkout-form .sub{color:var(--texto-suave);margin-bottom:28px;font-size:.94rem}
.checkout-form fieldset{border:0;padding:0;margin:0 0 30px}
.checkout-form legend{display:flex;align-items:center;gap:11px;font-family:var(--f-titulo);font-weight:800;font-size:1rem;
                      text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;padding:0}
.checkout-form .paso{width:27px;height:27px;border-radius:50%;background:var(--guinda);color:#fff;display:grid;place-items:center;font-size:.8rem}
.checkout-form label{display:block;margin-bottom:16px;font-family:var(--f-titulo);font-weight:700;font-size:.7rem;
                     letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave)}
.checkout-form .par{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=password],input[type=search],select,textarea{
  width:100%;margin-top:7px;padding:13px 15px;border:1.5px solid var(--borde);border-radius:8px;background:#fff;
  font-family:var(--f-texto);font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--texto);transition:var(--trans)}
input:focus,textarea:focus,select:focus{border-color:var(--guinda);outline:none;box-shadow:0 0 0 3px rgba(94,34,35,.11)}
input[aria-invalid=true]{border-color:#B23A3A;background:#FDF7F7}
textarea{resize:vertical;min-height:88px;line-height:1.6}
.campo-error{color:#B23A3A;font-size:.76rem;font-family:var(--f-texto);font-weight:500;letter-spacing:0;text-transform:none;margin-top:6px}
.campo-ayuda{color:var(--texto-suave);font-size:.76rem;font-family:var(--f-texto);font-weight:400;letter-spacing:0;text-transform:none;margin-top:6px}
.bloque-acompanante{background:var(--rosa-100);border-radius:12px;padding:26px 24px 10px;border:1px solid var(--rosa-300)}
.bloque-acompanante .nota{font-family:var(--f-texto);font-size:.87rem;color:#6B3232;margin-bottom:20px;font-weight:400;letter-spacing:0;text-transform:none}
.metodos{display:grid;gap:12px;margin-bottom:20px}
.metodo{display:block;margin:0;cursor:pointer;position:relative}
/* El radio se oculta pero NO debe medir la pantalla: sin position:relative en
   el label, se anclaba al viewport y empujaba el scroll horizontal. */
.metodo > input[type="radio"]{position:absolute;top:0;left:0;width:1px;height:1px;
  margin:0;padding:0;opacity:0;pointer-events:none}
.metodo .cara{display:block;border:1.5px solid var(--borde);border-radius:10px;padding:16px 18px;transition:var(--trans);background:#fff}
.metodo .cara strong{display:block;font-family:var(--f-texto);font-size:.98rem;font-weight:700;color:var(--negro);letter-spacing:0;text-transform:none}
.metodo .cara small{display:block;color:var(--texto-suave);font-size:.82rem;margin-top:3px;font-weight:400;letter-spacing:0;text-transform:none}
.metodo input:checked + .cara{border-color:var(--guinda);background:#FDF9F9;box-shadow:0 0 0 3px rgba(94,34,35,.09)}
.metodo input:focus-visible + .cara{outline:3px solid var(--rosa);outline-offset:2px}
.campo-notas{margin-bottom:0}
.pie-seguro{text-align:center;color:var(--texto-suave);font-size:.78rem;margin-top:14px}
.checkout-resumen{position:sticky;top:100px}
.resumen-caja{background:var(--guinda);color:#fff;border-radius:14px;padding:32px 28px}
.resumen-caja h2{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.75;margin-bottom:16px}
.res-titulo{font-family:var(--f-titulo);font-weight:800;font-size:1.2rem;line-height:1.25;margin-bottom:20px}
.resumen-caja dl{display:grid;gap:13px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.2)}
.resumen-caja dl div{display:grid;grid-template-columns:92px 1fr;gap:12px}
.resumen-caja dt{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;opacity:.7;font-family:var(--f-titulo);font-weight:700}
.resumen-caja dd{font-size:.92rem}
.res-total{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0 6px}
.res-total span{font-family:var(--f-titulo);font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.res-total strong{font-family:var(--f-titulo);font-weight:800;font-size:1.8rem}
.res-total small{font-size:.72rem;font-weight:600;opacity:.7}
.res-nota{font-size:.78rem;opacity:.8}
.res-confianza{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);display:grid;gap:10px;font-size:.83rem;opacity:.92}
.res-confianza li{padding-left:22px;position:relative}
.res-confianza li::before{content:"✓";position:absolute;left:0;color:var(--rosa-300)}
.res-confianza a{text-decoration:underline}

/* ---------- Gracias ---------- */
.gracias{padding:150px 0 100px;text-align:center}
.gracias h1{font-size:clamp(1.6rem,3.4vw,2.3rem);margin-bottom:14px}
.gracias .sub{color:var(--texto-suave);margin-bottom:38px}
.marca-ok{color:var(--guinda);display:flex;justify-content:center;margin-bottom:26px}
.marca-ok .anillo{stroke-dasharray:151;stroke-dashoffset:151;animation:dibujar .6s ease forwards}
.marca-ok .palomita{stroke-dasharray:40;stroke-dashoffset:40;animation:dibujar .4s .5s ease forwards}
@keyframes dibujar{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.marca-ok .anillo,.marca-ok .palomita{animation:none;stroke-dashoffset:0}}
.ticket{background:#fff;border:1px solid var(--borde);border-radius:14px;box-shadow:var(--sombra);padding:0;overflow:hidden;text-align:left;margin-bottom:34px}
.ticket-folio{background:var(--guinda);color:#fff;padding:18px 28px;display:flex;justify-content:space-between;align-items:center}
.ticket-folio span{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;opacity:.8;font-family:var(--f-titulo);font-weight:700}
.ticket-folio strong{font-family:var(--f-titulo);font-weight:800;font-size:1.2rem;letter-spacing:.05em}
.ticket dl{padding:26px 28px;display:grid;gap:15px}
.ticket dl div{display:grid;grid-template-columns:170px 1fr;gap:16px}
.ticket dt{font-family:var(--f-titulo);font-weight:700;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave)}
.ticket dd{font-size:.96rem}
.siguiente-paso{background:var(--crema);border-radius:14px;padding:34px 30px}
.siguiente-paso h2{font-size:1.2rem;margin-bottom:10px}
.siguiente-paso p{color:var(--texto-suave);margin-bottom:20px;font-size:.94rem}

/* ---------- Acceso (entrar / recuperar / clave) ---------- */
.pagina-acceso{background:var(--guinda-950)}
.acceso{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:130px 20px 70px}
.caja-acceso{background:#fff;border-radius:14px;box-shadow:var(--sombra);padding:44px 40px;width:min(450px,100%);text-align:center}
.acceso-logo{width:64px;margin:0 auto 18px}
.caja-acceso h1{font-size:1.35rem;text-transform:uppercase;margin-bottom:10px}
.caja-acceso .sub{color:var(--texto-suave);font-size:.9rem;margin-bottom:26px}
.caja-acceso form{text-align:left}
.caja-acceso label{display:block;margin-bottom:16px;font-family:var(--f-titulo);font-weight:700;font-size:.7rem;
                   letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave)}
.caja-acceso .btn{margin-top:8px}
.acceso-links{margin-top:20px;font-size:.84rem;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.acceso-links a{color:var(--guinda);font-weight:700}
.acceso-links a:hover{text-decoration:underline}
.acceso-links span{color:var(--borde)}
.acceso-ayuda{margin-top:26px;padding-top:22px;border-top:1px solid var(--borde);font-size:.82rem;color:var(--texto-suave);text-align:left}
.acceso-ayuda p{margin-bottom:8px}
.acceso-ayuda a{color:var(--guinda);font-weight:700;text-decoration:underline}

/* ---------- Escuela: lista de cursos ---------- */
.franja-alumno{background:var(--rosa-100);border-bottom:1px solid var(--rosa-300);padding:16px 0}
.franja-alumno .container{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.franja-alumno p{color:#6B3232;font-weight:500}
.cursos-lista{display:grid;gap:18px;margin-top:44px}
.curso-fila{display:grid;grid-template-columns:56px 1fr 210px;gap:26px;align-items:center;background:#fff;border:1px solid var(--borde);
            border-radius:14px;padding:28px 30px;transition:var(--trans)}
.curso-fila:hover{border-color:var(--rosa-300);box-shadow:var(--sombra);transform:translateY(-3px)}
.curso-fila.mio{border-color:var(--guinda);background:#FDF9F9}
.curso-num{width:56px;height:56px;border-radius:50%;background:var(--guinda);color:#fff;display:grid;place-items:center;
           font-family:var(--f-titulo);font-weight:800;font-size:1.35rem}
.curso-info h3{font-size:1.13rem;margin-bottom:5px;line-height:1.3}
.curso-modalidad{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--guinda);font-family:var(--f-titulo);font-weight:700;margin-bottom:8px}
.curso-desc{color:var(--texto-suave);font-size:.9rem;line-height:1.6}
.curso-accion{text-align:right}
.curso-precio{font-family:var(--f-titulo);font-weight:800;font-size:1.3rem;margin-bottom:12px}
.curso-precio span{font-size:.7rem;font-weight:600;color:var(--texto-suave)}
.curso-precio.tengo{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--guinda)}
.cifras{padding:70px 0}
.cifras-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px;text-align:center}
.cifras-grid strong{display:block;font-family:var(--f-titulo);font-weight:800;font-size:clamp(2.2rem,5vw,3.4rem);color:var(--rosa);line-height:1}
.cifras-grid span{display:block;margin-top:8px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.temario-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.temario-tab{background:#fff;border:1.5px solid var(--borde);border-radius:24px;padding:10px 18px;cursor:pointer;
             font-family:var(--f-titulo);font-weight:700;font-size:.72rem;letter-spacing:.06em;color:var(--texto-suave);transition:var(--trans)}
.temario-tab:hover{border-color:var(--rosa-300)}
.temario-tab.activo{background:var(--guinda);border-color:var(--guinda);color:#fff}
.temario-panel{display:none}
.temario-panel.activo{display:block}
.temario-panel details{background:#fff;border:1px solid var(--borde);border-radius:10px;margin-bottom:10px;overflow:hidden}
.temario-panel summary{cursor:pointer;padding:18px 22px;font-family:var(--f-titulo);font-weight:700;font-size:.95rem;list-style:none;line-height:1.4}
.temario-panel summary::-webkit-details-marker{display:none}
.mod-num{display:inline-block;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--guinda);margin-right:8px}
.temario-clases{padding:0 22px 20px;display:grid;gap:8px;counter-reset:c}
.temario-clases li{position:relative;padding-left:30px;font-size:.9rem;color:var(--texto-suave);counter-increment:c}
.temario-clases li::before{content:counter(c);position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;
                           background:var(--rosa-100);color:var(--guinda);font-size:.66rem;font-weight:700;display:grid;place-items:center}
.cta-final{background:var(--crema);padding:80px 0;text-align:center}
.cta-final .lead{margin-bottom:26px;color:var(--texto-suave)}

/* ---------- Aula ---------- */
.pagina-aula{background:var(--crema)}
.aula{padding:120px 0 80px}
.aula-cabecera{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.aula-cabecera h1{font-size:clamp(1.5rem,3vw,2.1rem)}
.aula-menu{display:flex;gap:18px;font-family:var(--f-titulo);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.aula-menu a{color:var(--guinda);border-bottom:1px solid transparent;padding-bottom:2px}
.aula-menu a:hover{border-color:var(--guinda)}
.mis-cursos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.tarjeta-curso{background:#fff;border:1px solid var(--borde);border-radius:14px;padding:28px 26px;display:flex;flex-direction:column;gap:14px;transition:var(--trans)}
.tarjeta-curso:hover{box-shadow:var(--sombra);transform:translateY(-3px)}
.tc-cabecera{display:flex;justify-content:space-between;align-items:center}
.tc-num{font-family:var(--f-titulo);font-weight:700;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--guinda)}
.tc-listo{background:var(--rosa-100);color:var(--guinda);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:20px}
.tarjeta-curso h2{font-size:1.08rem;line-height:1.35}
.barra{height:7px;background:var(--rosa-100);border-radius:20px;overflow:hidden}
.barra span{display:block;height:100%;background:var(--guinda);border-radius:20px;transition:width .5s ease}
.tc-avance p{font-size:.78rem;color:var(--texto-suave);margin-top:7px}
.tc-siguiente{font-size:.86rem;color:var(--texto-suave);line-height:1.5}
.tc-siguiente strong{color:var(--negro)}
.tc-indice{text-align:center;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--f-titulo);font-weight:700;color:var(--texto-suave)}
.tc-indice:hover{color:var(--guinda)}
.aula-vacia{background:#fff;border:1px dashed var(--borde);border-radius:14px;padding:56px 34px;text-align:center}
.aula-vacia h2{font-size:1.25rem;margin-bottom:10px}
.aula-vacia p{color:var(--texto-suave);margin-bottom:20px}
.aula-vacia .chico{font-size:.84rem;margin-top:16px}
.aula-vacia .chico a{color:var(--guinda);font-weight:700;text-decoration:underline}
.otros-cursos{margin-top:64px}
.cursos-lista.compacta{margin-top:22px}
.cursos-lista.compacta .curso-fila{padding:20px 24px}

/* ---------- Curso: temario ---------- */
.curso-detalle{padding:120px 0 80px}
.cd-cabecera{display:grid;grid-template-columns:1fr 290px;gap:40px;align-items:start;margin-bottom:48px}
.cd-cabecera h1{font-size:clamp(1.5rem,3vw,2.15rem);margin-bottom:14px}
.cd-desc{color:var(--texto-suave);font-size:.98rem;line-height:1.75}
.cd-avance,.cd-compra{background:#fff;border:1px solid var(--borde);border-radius:14px;padding:28px 24px;text-align:center}
.anillo{--p:0;width:112px;height:112px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;
        background:conic-gradient(var(--guinda) calc(var(--p)*1%),var(--rosa-100) 0)}
.anillo span{width:84px;height:84px;background:#fff;border-radius:50%;display:grid;place-items:center;
             font-family:var(--f-titulo);font-weight:800;font-size:1.55rem;color:var(--guinda)}
.anillo small{font-size:.7rem}
.cd-avance p{font-size:.82rem;color:var(--texto-suave);margin-bottom:12px}
.cd-compra .precio{font-family:var(--f-titulo);font-weight:800;font-size:1.9rem}
.cd-compra .precio span{font-size:.72rem;font-weight:600;color:var(--texto-suave)}
.cd-compra .nota{font-size:.78rem;color:var(--texto-suave);margin-bottom:18px}
.cd-compra .chico{font-size:.8rem;margin-top:12px;color:var(--texto-suave)}
.cd-compra .chico a{color:var(--guinda);font-weight:700;text-decoration:underline}
.cd-modulo{background:#fff;border:1px solid var(--borde);border-radius:14px;padding:26px 28px;margin-bottom:16px}
.cd-modulo header{border-bottom:1px solid var(--borde);padding-bottom:14px;margin-bottom:14px}
.cd-modulo h2{font-size:1.02rem;line-height:1.4}
.mod-meta{font-size:.76rem;color:var(--texto-suave);margin-top:5px}
.cd-clases{display:grid;gap:2px}
.cd-clases li a,.cd-clases li .bloqueada{display:grid;grid-template-columns:26px 30px 1fr;gap:12px;align-items:center;
                                          padding:11px 10px;border-radius:8px;transition:var(--trans);font-size:.93rem}
.cd-clases li a:hover{background:var(--rosa-100)}
.cd-clases li .bloqueada{color:var(--texto-suave);opacity:.7}
.cd-clases .marca{color:var(--guinda);font-size:.8rem;text-align:center}
.cd-clases .clase-num{color:var(--texto-suave);font-size:.78rem;text-align:right}
.cd-clases li.vista .clase-titulo{color:var(--texto-suave)}
.cd-clases li.vista .marca{color:var(--guinda)}

/* ---------- Lección ---------- */
.pagina-leccion{background:#fff}
.leccion{display:grid;grid-template-columns:315px 1fr;min-height:100vh;padding-top:66px}
.lec-indice{background:var(--crema);border-right:1px solid var(--borde);padding:26px 0 40px;position:sticky;top:66px;
            height:calc(100vh - 66px);overflow-y:auto}
.li-cabecera{padding:0 24px 20px;border-bottom:1px solid var(--borde);margin-bottom:16px}
.li-cabecera .volver{margin-bottom:14px;font-size:.68rem;display:block;line-height:1.4}
.li-avance .barra{height:6px}
.li-avance p{font-size:.74rem;color:var(--texto-suave);margin-top:6px}
.li-modulo{padding:16px 24px 7px;font-family:var(--f-titulo);font-weight:700;font-size:.64rem;letter-spacing:.14em;
           text-transform:uppercase;color:var(--texto-suave)}
.lec-indice nav ol{display:grid;gap:1px}
.lec-indice nav a{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:9px 24px;font-size:.85rem;line-height:1.4;transition:var(--trans)}
.lec-indice nav a:hover{background:rgba(94,34,35,.06)}
.lec-indice .marca{color:var(--texto-suave);font-size:.72rem;text-align:center;padding-top:2px}
.lec-indice li.vista .marca{color:var(--rosa)}
.lec-indice li.vista a{color:var(--texto-suave)}
.lec-indice li.actual a{background:var(--guinda);color:#fff;font-weight:500}
.lec-indice li.actual .marca{color:#fff}
.lec-contenido{padding:34px 44px 80px;max-width:960px}
.lec-abrir-indice{display:none}
.lec-cabecera{margin-bottom:22px}
.lec-modulo{font-family:var(--f-titulo);font-weight:700;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--guinda);margin-bottom:7px}
.lec-cabecera h1{font-size:clamp(1.25rem,2.6vw,1.75rem);line-height:1.3}
.lec-video{position:relative;padding-top:56.25%;background:var(--negro);border-radius:12px;overflow:hidden;margin-bottom:22px}
.lec-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lec-sin-video{background:var(--crema);border:1px dashed var(--borde);border-radius:12px;padding:44px;text-align:center;margin-bottom:22px}
.lec-sin-video p{color:var(--texto-suave);margin-bottom:16px}
.lec-barra{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
           padding:16px 0;border-top:1px solid var(--borde);border-bottom:1px solid var(--borde);margin-bottom:34px}
.check-vista{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;font-weight:500}
.check-vista input{width:21px;height:21px;accent-color:var(--guinda);cursor:pointer}
.lec-nav{display:flex;gap:10px;flex-wrap:wrap}
.tabs-botones{display:flex;gap:6px;border-bottom:1px solid var(--borde);margin-bottom:22px}
.tabs-botones .tab{background:none;border:0;border-bottom:2.5px solid transparent;padding:12px 16px;cursor:pointer;
                   font-family:var(--f-titulo);font-weight:700;font-size:.78rem;letter-spacing:.05em;color:var(--texto-suave);transition:var(--trans)}
.tabs-botones .tab.activo{color:var(--guinda);border-color:var(--guinda)}
.tabs-botones .pill{background:var(--rosa-100);color:var(--guinda);border-radius:20px;padding:1px 8px;font-size:.7rem;margin-left:4px}
.tab-panel{display:none}
.tab-panel.activo{display:block}
.panel-ayuda{font-size:.82rem;color:var(--texto-suave);margin-bottom:12px}
#nota{min-height:210px;font-size:.96rem;line-height:1.75}
.nota-estado{font-size:.75rem;color:var(--texto-suave);margin-top:8px;min-height:18px}
.form-comentario{margin-bottom:28px}
.form-comentario textarea{min-height:92px;margin-bottom:10px}
.comentarios{display:grid;gap:18px}
.comentarios li{background:var(--crema);border-radius:12px;padding:18px 20px}
.co-cabeza{display:flex;align-items:center;gap:10px;margin-bottom:7px;flex-wrap:wrap}
.co-autor{font-family:var(--f-titulo);font-weight:700;font-size:.88rem}
.co-equipo{background:var(--guinda);color:#fff;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:20px;font-weight:700}
.co-cabeza time{font-size:.75rem;color:var(--texto-suave);margin-left:auto}
.comentarios p{font-size:.94rem;line-height:1.65;white-space:pre-wrap}
.co-acciones{margin-top:9px}
.co-acciones button{background:none;border:0;color:var(--texto-suave);font-size:.75rem;cursor:pointer;padding:0;text-decoration:underline}
.co-acciones button:hover{color:var(--guinda)}
.co-acciones button:disabled{cursor:default;text-decoration:none;opacity:.6}
.vacio{color:var(--texto-suave);font-size:.9rem;text-align:center;padding:26px}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .checkout-grid{grid-template-columns:1fr}
  .checkout-resumen{position:static;order:-1}
  .cd-cabecera{grid-template-columns:1fr}
  .leccion{grid-template-columns:1fr}
  .lec-indice{position:fixed;inset:66px 0 auto 0;height:auto;max-height:0;overflow:hidden;z-index:70;border-right:0;
              border-bottom:1px solid var(--borde);padding:0;transition:max-height .35s ease}
  .lec-indice.abierto{max-height:70vh;overflow-y:auto;padding:20px 0 26px;box-shadow:0 14px 30px rgba(0,0,0,.16)}
  .lec-abrir-indice{display:block;width:100%;background:var(--crema);border:1px solid var(--borde);border-radius:8px;
                    padding:13px;margin-bottom:20px;cursor:pointer;font-family:var(--f-titulo);font-weight:700;
                    font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--guinda)}
  .lec-contenido{padding:22px 20px 70px}
}
@media (max-width:760px){
  .checkout{padding:100px 0 60px}
  .checkout-form{padding:28px 22px}
  .checkout-form .par{grid-template-columns:1fr}
  .curso-fila{grid-template-columns:44px 1fr;gap:16px;padding:22px 20px}
  .curso-num{width:44px;height:44px;font-size:1.1rem}
  .curso-accion{grid-column:1/-1;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:16px}
  .curso-precio{margin-bottom:0}
  .barra-inner{flex-direction:column;align-items:flex-start;gap:14px}
  .barra-accion{width:100%}
  .barra-accion .btn{width:100%}
  .ticket dl div{grid-template-columns:1fr;gap:3px}
  .aula-cabecera{align-items:flex-start}
  .caja-acceso{padding:34px 24px}
  .cifras-grid{gap:24px}
}

/* Áreas de toque cómodas en el pie, sobre todo en móvil */
.footer-links a,.footer-contacto p a,.footer-bottom a{display:inline-block;padding:9px 0;line-height:1.35}
.footer-social a{display:inline-grid;place-items:center;min-width:44px;min-height:44px}
@media (max-width:760px){
  .footer-links a,.footer-contacto p a{padding:12px 0;min-height:44px;display:flex;align-items:center}
  .footer-bottom a{padding:10px 0}
}

/* ---------- Mi cuenta ---------- */
.caja-cuenta{background:#fff;border:1px solid var(--borde);border-radius:14px;padding:30px 28px;margin-bottom:20px}
.caja-cuenta h2{font-size:1.02rem;margin-bottom:20px}
.caja-cuenta label{display:block;margin-bottom:16px;font-family:var(--f-titulo);font-weight:700;font-size:.7rem;
                   letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave)}
.caja-cuenta .par{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.caja-cuenta input:disabled{background:var(--crema);color:var(--texto-suave)}
.lista-compras{display:grid;gap:12px}
.lista-compras li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--borde)}
.lista-compras li:last-child{border-bottom:0}
.lista-compras strong{display:block;font-size:.95rem}
.lista-compras span{font-size:.78rem;color:var(--texto-suave)}
.lista-compras .monto{font-family:var(--f-titulo);font-weight:800;font-size:1.05rem;color:var(--guinda)}
.salir-cuenta{text-align:center;margin-top:26px}
.salir-cuenta a{color:var(--texto-suave);font-size:.85rem;text-decoration:underline}

/* ---------- Constancia ---------- */
.pagina-constancia{background:var(--crema)}
.constancia-envoltura{padding:120px 0 80px}
.constancia-acciones{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.constancia-acciones .volver{margin-bottom:0}
.constancia{background:#fff;border:1px solid var(--borde);border-radius:8px;box-shadow:var(--sombra);
            padding:60px 54px;text-align:center;position:relative;border-top:7px solid var(--guinda)}
.c-logo{width:190px;margin:0 auto 30px}
.c-tipo{font-family:var(--f-titulo);font-weight:700;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--rosa);margin-bottom:34px}
.c-otorga{color:var(--texto-suave);font-size:.92rem}
.c-nombre{font-family:var(--f-titulo);font-weight:800;font-size:clamp(1.5rem,4vw,2.2rem);color:var(--guinda);margin:10px 0 20px;line-height:1.2}
.c-curso{font-family:var(--f-titulo);font-weight:700;font-size:clamp(1.05rem,2.4vw,1.35rem);margin:10px 0 26px;line-height:1.35}
.c-fecha{font-size:.86rem;color:var(--texto-suave);margin-bottom:44px}
.c-pie{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.c-firma{text-align:left;flex:1;min-width:200px}
.c-firma span{display:block;width:100%;max-width:230px;border-top:1px solid var(--negro);margin-bottom:8px}
.c-firma p{font-family:var(--f-titulo);font-weight:700;font-size:.9rem}
.c-firma small{color:var(--texto-suave);font-size:.74rem}
.c-sello{width:56px;opacity:.85}
@media print{
  .site-header,footer,.constancia-acciones,#loader,.salta,#toTop{display:none!important}
  body,.pagina-constancia{background:#fff}
  .constancia-envoltura{padding:0}
  .constancia{border:0;box-shadow:none;padding:40px 20px;border-top:6px solid var(--guinda)}
  .estrecho{width:100%}
}
@media (max-width:760px){
  .caja-cuenta .par{grid-template-columns:1fr}
  .constancia{padding:40px 24px}
}

/* ---------- Ver / ocultar contraseña ---------- */
.campo-clave{position:relative;display:block}
.campo-clave input{padding-right:50px}
.ver-clave{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;
  display:grid;place-items:center;background:none;border:0;border-radius:7px;cursor:pointer;
  color:var(--texto-suave);transition:var(--trans)}
.ver-clave:hover{color:var(--guinda);background:var(--rosa-100)}
.ver-clave svg{display:block}

/* ============================================================
   HEADER — más aire y color de la misma familia
   ============================================================ */

/* El header respira a lo ancho: logo pegado a la izquierda, acciones a la derecha */
.site-header .container{width:auto;max-width:none;margin:0;padding:0 clamp(20px,3.2vw,56px)}
.header-inner{gap:clamp(20px,3vw,54px)}
.brand{margin-right:auto;flex:0 0 auto}
.main-nav{margin:0 auto;flex:0 1 auto}
.main-nav ul{gap:clamp(16px,1.7vw,32px);flex-wrap:nowrap}
.main-nav a{white-space:nowrap}
.header-cta{margin-left:auto;gap:12px;flex:0 0 auto}

/* Los botones nunca se parten en dos renglones */
.btn-cuenta,.btn-donar{white-space:nowrap;display:inline-flex;align-items:center;line-height:1}
.btn-cuenta{padding:12px 20px}
.btn-donar{padding:13px 24px}

/* Sobre el hero el header NO lleva fondo: la imagen pasa completa por detrás
   y solo se marca con una línea, como en el sitio original.
   Al hacer scroll sí se vuelve sólido, para que el menú siga legible. */
.site-header{background:transparent;border-bottom:1px solid rgba(255,255,255,.22)}
.site-header .brand,
.site-header .main-nav a,
.site-header .btn-cuenta{text-shadow:0 1px 14px rgba(0,0,0,.55)}
.site-header .brand-logo{filter:drop-shadow(0 1px 10px rgba(0,0,0,.5))}

.site-header.solid{background:var(--guinda-950);border-bottom-color:transparent;
  box-shadow:0 6px 22px rgba(30,10,10,.32)}
.site-header.solid .brand,
.site-header.solid .main-nav a,
.site-header.solid .btn-cuenta{text-shadow:none}
.site-header.solid .brand-logo{filter:none}

/* La línea del menú activo y los botones, en tono de marca */
.btn-cuenta{border-color:rgba(255,255,255,.4)}
.btn-cuenta:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7)}

@media (max-width:1280px){
  .main-nav a{font-size:.68rem;letter-spacing:.09em}
  .btn-cuenta{padding:11px 15px;font-size:.64rem}
  .btn-donar{padding:12px 18px}
}

/* ============================================================
   PÁGINA DE RETIRO — el hero se funde con el fondo, sin corte
   ============================================================ */

.hero-retiro{min-height:min(92vh,760px);display:flex;align-items:center;text-align:center;position:relative}
.hero-retiro .container{position:relative;z-index:2}
.hero-retiro .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}

/* El velo: tinte de marca arriba que se cierra en guinda sólido abajo.
   Ese cierre es lo que empalma con la sección siguiente sin costura. */
.hero-retiro .hero-velo{position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to bottom,
      rgba(59,21,22,.78) 0%,
      rgba(59,21,22,.55) 26%,
      rgba(59,21,22,.72) 58%,
      rgba(59,21,22,.94) 82%,
      var(--guinda-950) 100%),
    radial-gradient(ellipse at 50% 38%, rgba(94,34,35,.28), transparent 62%)}

.hero-retiro .kicker{color:var(--rosa-300);letter-spacing:.28em;font-size:.68rem;margin-bottom:20px}
.hero-retiro h1{color:#fff;font-size:clamp(2.2rem,6vw,4.4rem);letter-spacing:.01em;text-transform:uppercase;line-height:1.05}
.hero-retiro .hero-sub{color:rgba(255,255,255,.82);font-family:var(--f-titulo);font-weight:600;
  font-size:clamp(.72rem,1.5vw,.92rem);letter-spacing:.26em;text-transform:uppercase;margin-top:16px}
.hero-retiro .hero-fecha{color:rgba(255,255,255,.92);font-family:var(--f-titulo);font-weight:700;
  font-size:clamp(.8rem,1.7vw,1rem);letter-spacing:.16em;text-transform:uppercase;margin-top:26px}
.hero-retiro .hero-sede{color:rgba(255,255,255,.72);font-family:var(--f-titulo);font-weight:600;
  font-size:clamp(.72rem,1.4vw,.86rem);letter-spacing:.16em;text-transform:uppercase;margin-top:10px}

/* La barra de inscripción continúa el mismo fondo: nada de blanco entre el
   hero y el cuerpo. Deja de ser pegajosa para no cortar el difuminado. */
.hero-retiro + .barra-inscripcion{position:static;box-shadow:none;
  border-bottom:1px solid rgba(255,255,255,.1)}
.barra-inscripcion{background:var(--guinda-950)}

/* Aviso de habitación doble, en la misma familia */
/* El tinte rosa va SOBRE el guinda sólido. Con solo el rgba translúcido
   se veía el blanco del body por detrás y el texto blanco desaparecía. */
.aviso-doble{background:linear-gradient(rgba(205,145,145,.12),rgba(205,145,145,.12)),var(--guinda-950);
  border-top:1px solid rgba(205,145,145,.24);
  border-bottom:1px solid rgba(205,145,145,.24)}
.aviso-doble p{color:rgba(255,255,255,.9)}
.aviso-doble p strong{color:#fff}

/* Cuerpo del retiro: mismo guinda, etiqueta a la izquierda y texto a la derecha */
.retiro-cuerpo{background:var(--guinda-950);color:rgba(255,255,255,.86);padding:76px 0 90px}
.rc-bloque{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start;
  padding:44px 0;border-top:1px solid rgba(255,255,255,.1)}
.rc-bloque:first-child{border-top:0;padding-top:8px}
.rc-etiqueta h2{color:#fff;font-size:clamp(1.05rem,2vw,1.32rem);text-transform:uppercase;letter-spacing:.02em}
.rc-etiqueta p{color:var(--rosa-300);font-family:var(--f-titulo);font-weight:600;font-size:.68rem;
  letter-spacing:.22em;text-transform:uppercase;margin-top:8px}
.rc-texto p{margin-bottom:16px;line-height:1.85;color:rgba(255,255,255,.84)}
.rc-texto .rc-aviso{background:rgba(205,145,145,.12);border-left:3px solid var(--rosa);
  padding:14px 18px;border-radius:0 8px 8px 0;font-size:.92rem}
.rc-sub{color:var(--rosa-300);font-family:var(--f-titulo);font-weight:700;font-size:.72rem;
  letter-spacing:.22em;text-transform:uppercase;margin:34px 0 18px}
.rc-temario{counter-reset:tema;display:grid;gap:13px}
.rc-temario li{counter-increment:tema;position:relative;padding-left:38px;line-height:1.6;color:rgba(255,255,255,.86)}
.rc-temario li::before{content:counter(tema) ".";position:absolute;left:0;top:0;
  color:var(--rosa);font-family:var(--f-titulo);font-weight:700;font-size:.95rem}
.rc-incluye{display:grid;gap:12px;margin-bottom:8px}
.rc-incluye li{position:relative;padding-left:26px;line-height:1.6;color:rgba(255,255,255,.86)}
.rc-incluye li::before{content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;
  border-radius:50%;background:var(--rosa)}
.rc-precio{font-size:1.05rem;color:rgba(255,255,255,.86)}
.rc-precio strong{display:inline-block;font-family:var(--f-titulo);font-weight:800;
  font-size:clamp(1.5rem,3.4vw,2.1rem);color:#fff;letter-spacing:.01em;margin:0 6px}
.rc-datos{margin:30px 0 32px;display:grid;gap:14px;border-top:1px solid rgba(255,255,255,.1);padding-top:24px}
.rc-datos div{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start}
.rc-datos dt{font-family:var(--f-titulo);font-weight:700;font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--rosa-300);padding-top:3px}
.rc-datos dd{color:rgba(255,255,255,.88);font-size:.95rem}

/* Después del cuerpo viene el marquee y ahí sí abre el claro */
.retiro-cuerpo + .marquee{border-top:0}

@media (max-width:900px){
  .rc-bloque{grid-template-columns:1fr;gap:22px;padding:34px 0}
  .rc-datos div{grid-template-columns:1fr;gap:2px}
  .hero-retiro{min-height:78vh}
}

/* Registro desde la pantalla de ingreso */
.acceso-registro{margin-top:24px;padding-top:22px;border-top:1px solid var(--borde);text-align:center}
.acceso-registro p{font-size:.86rem;color:var(--texto-suave);margin-bottom:12px}
.caja-acceso .par{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media (max-width:520px){.caja-acceso .par{grid-template-columns:1fr}}

/* ============================================================
   Los heros internos usan el MISMO degradado del home
   El del home ya estaba bien: deja ver la imagen y cierra suave.
   Lo único que cambia es el color de cierre, que debe ser el de
   la sección que viene abajo — si no, se ve la línea.
   ============================================================ */

/* mismo reparto de paradas que .hero-home, cerrando en --guinda */
.hero-interno .hero-overlay,
.hero-interior .hero-overlay{
  background:linear-gradient(180deg,
    rgba(20,8,8,.38) 0%,
    rgba(20,8,8,.02) 34%,
    rgba(74,29,30,.12) 55%,
    rgba(84,31,32,.72) 80%,
    var(--guinda) 100%)}

/* si abajo viene el guinda profundo, se cierra en ese */
.hero:has(+ .section-darker) .hero-overlay{
  background:linear-gradient(180deg,
    rgba(20,8,8,.38) 0%,
    rgba(20,8,8,.02) 34%,
    rgba(59,21,22,.14) 55%,
    rgba(59,21,22,.74) 80%,
    var(--guinda-950) 100%)}

/* ============================================================
   Inicio — próximas fechas, compactas junto al apostolado
   Antes se anunciaba una sola fecha arriba y se repetían todas
   más abajo en tarjetas grandes. Ahora van todas aquí, en corto.
   ============================================================ */
.fechas-titulo{font-family:var(--f-titulo);font-weight:700;font-size:.66rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--rosa-300);margin-bottom:18px}
.fechas-lista{display:grid;gap:2px}
.fechas-lista li{border-top:1px solid rgba(255,255,255,.13)}
.fechas-lista li:last-child{border-bottom:1px solid rgba(255,255,255,.13)}
.fechas-lista a,
.fechas-lista li > div{display:grid;gap:3px;padding:16px 4px 15px;transition:var(--trans)}
.fechas-lista a:hover{background:rgba(255,255,255,.05);padding-left:12px}
.f-fecha{font-family:var(--f-titulo);font-weight:800;font-size:clamp(1.05rem,2vw,1.35rem);
  color:#fff;text-transform:uppercase;line-height:1.15;display:flex;align-items:baseline;gap:9px}
.f-flecha{color:var(--rosa);font-size:.85em;font-weight:400}
.f-lugar{color:rgba(255,255,255,.72);font-size:.86rem;line-height:1.45}
/* El estado es una pastilla, no texto suelto: se distingue de un vistazo
   cuál ya cerró y cuál todavía se puede tomar. */
.f-estado{justify-self:start;display:inline-flex;align-items:center;gap:7px;margin-top:9px;
  font-family:var(--f-titulo);font-weight:700;font-size:.6rem;letter-spacing:.13em;
  text-transform:uppercase;padding:6px 12px;border-radius:20px;border:1px solid transparent}
.f-estado::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}

.f-estado.abiertas{background:var(--rosa);border-color:var(--rosa);color:var(--guinda-950)}
.f-estado.espera{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.28);color:rgba(255,255,255,.9)}
.f-estado.lleno{background:transparent;border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.5)}
.f-estado.lleno::before{background:rgba(255,255,255,.35)}

/* Las cerradas se apagan; las disponibles mandan */
.fechas-lista li.cerrada .f-fecha{color:rgba(255,255,255,.5)}
.fechas-lista li.cerrada .f-lugar{color:rgba(255,255,255,.42)}
.fechas-lista li.cerrada .f-flecha{display:none}
.fechas-lista li.cerrada a:hover{background:rgba(255,255,255,.03)}
.fechas-lista li.disponible .f-fecha{color:#fff}
.fechas-pie{margin-top:20px}
.fechas-pie a{font-family:var(--f-titulo);font-weight:700;font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--rosa-300);border-bottom:1px solid rgba(205,145,145,.4);padding-bottom:3px}
.fechas-pie a:hover{color:#fff;border-color:#fff}
.sin-fechas{color:rgba(255,255,255,.8)}
.sin-fechas a{color:var(--rosa-300);text-decoration:underline}

@media (max-width:900px){
  .fecha-apostolado{gap:44px}
}

/* ---------- Lista de espera ---------- */
.caja-aviso{background:var(--guinda-950);border-bottom:1px solid rgba(255,255,255,.1);padding:34px 0 38px}
.caja-aviso[hidden]{display:none}
.ca-titulo{font-family:var(--f-titulo);font-weight:800;font-size:1.1rem;color:#fff;text-transform:uppercase;
  letter-spacing:.02em;margin-bottom:8px}
.ca-nota{color:rgba(255,255,255,.76);font-size:.9rem;line-height:1.6;margin-bottom:20px;max-width:640px}
.ca-campos{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:start}
.ca-campos input{margin-top:0;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);color:#fff}
.ca-campos input::placeholder{color:rgba(255,255,255,.5)}
.ca-campos input:focus{background:rgba(255,255,255,.12);border-color:var(--rosa);box-shadow:0 0 0 3px rgba(205,145,145,.18)}
.caja-aviso .form-msg{margin-top:12px;font-size:.88rem;min-height:20px}
.caja-aviso .form-msg.ok{color:var(--rosa-300)}
.caja-aviso .form-msg.err{color:var(--rosa-300)}
@media (max-width:760px){
  .ca-campos{grid-template-columns:1fr}
  .ca-campos .btn{width:100%}
}

/* Tarjetas del listado: mismo criterio, la cerrada se apaga */
.retiro-card .insc{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;
  padding:5px 11px;border-radius:20px;border:1px solid transparent;font-family:var(--f-titulo);
  font-weight:700;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}
.retiro-card .insc::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.retiro-card .insc.abiertas{background:var(--rosa);border-color:var(--rosa);color:var(--guinda-950)}
.retiro-card .insc.espera{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.26);color:rgba(255,255,255,.86)}
.retiro-card .insc.lleno{border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.45)}
.retiro-card.cerrada{opacity:.62}
.retiro-card.cerrada:hover{opacity:.85}

/* "¿Qué vas a vivir?" continúa el mismo fondo: no corta a blanco */
#que-es{padding:86px 0}
#que-es .lead{color:rgba(255,255,255,.82)}
#que-es .lista-check li{color:rgba(255,255,255,.86)}
#que-es .lista-check li::before{color:var(--rosa)}
#que-es .split-img img{border-radius:14px}

/* Botón inerte: se ve como estado, no como algo en lo que se pueda picar */
.btn-inerte{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--f-titulo);font-weight:700;font-size:.74rem;letter-spacing:.12em;
  text-transform:uppercase;padding:14px 28px;border-radius:6px;text-align:center;line-height:1.3;
  border:1px dashed rgba(255,255,255,.24);color:rgba(255,255,255,.5);
  background:rgba(255,255,255,.03);cursor:default;user-select:none}
.retiro-card.clara .btn-inerte{border-color:var(--borde);color:var(--texto-suave);background:var(--crema)}
.retiro-card .btn-inerte{margin-top:auto}

/* Una tarjeta cerrada no se levanta ni cambia al pasar el cursor */
.retiro-card.cerrada{opacity:.55}
.retiro-card.cerrada:hover{opacity:.55;transform:none;background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.14);box-shadow:none}

/* Ni la fila cerrada del inicio */
.fechas-lista li.cerrada div{cursor:default}
.fechas-lista li.cerrada div:hover{background:none;padding-left:4px}

/* La banda toma el tono de la sección que tiene encima. Así continúa el fondo
   en vez de cortarlo con otro guinda. Si arriba hay claro, se queda con el
   guinda de la marca, que ahí sí funciona como acento. */
.marquee-light{background:var(--guinda)}
.section-darker + .marquee-light,
.retiro-cuerpo + .marquee-light,
.aviso-doble + .marquee-light,
.barra-inscripcion + .marquee-light{background:var(--guinda-950)}
.section-dark + .marquee-light{background:var(--guinda)}

/* ============================================================
   Mega menú de fechas bajo "Retiro"
   ============================================================ */
.main-nav li.con-mega{position:relative}
.main-nav li.con-mega > a::before{content:"";position:absolute;left:0;right:0;top:100%;height:18px}

.mega{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(-8px);
  width:min(420px,88vw);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:95}
.main-nav li.con-mega:hover .mega,
.main-nav li.con-mega:focus-within .mega{opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0)}

.mega-caja{background:var(--guinda-950);border:1px solid rgba(255,255,255,.14);border-radius:14px;
  padding:20px 22px 18px;box-shadow:0 24px 50px rgba(20,8,8,.5)}
.mega-caja::before{content:"";position:absolute;top:-7px;left:50%;width:13px;height:13px;
  transform:translateX(-50%) rotate(45deg);background:var(--guinda-950);
  border-left:1px solid rgba(255,255,255,.14);border-top:1px solid rgba(255,255,255,.14)}
.mega-titulo{font-family:var(--f-titulo);font-weight:700;font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--rosa-300);margin-bottom:12px;text-align:left}
/* Va con .main-nav delante porque el menú define .main-nav ul{display:flex}
   y .main-nav a en mayúsculas: sin esto, la lista se acomoda en fila y se
   sale del panel. */
.main-nav .mega-fechas{display:grid;gap:1px;align-items:stretch}
.main-nav .mega-fechas li{border-top:1px solid rgba(255,255,255,.09);display:block}
.main-nav .mega-fechas li:first-child{border-top:0}
.main-nav .mega-fechas a,
.main-nav .mega-fechas li > div{display:grid;gap:2px;padding:11px 10px;border-radius:8px;
  transition:var(--trans);font-family:var(--f-texto);font-size:1rem;font-weight:400;
  letter-spacing:0;text-transform:none;color:inherit}
.main-nav .mega-fechas a::after,
.main-nav .mega-todos::after{display:none}
.main-nav .mega-fechas a:hover{background:rgba(255,255,255,.07)}
.main-nav .mega-fechas a:hover::after{width:0}
.main-nav .mega-fechas li.cerrada div{cursor:default}
.m-fecha{font-family:var(--f-titulo);font-weight:800;font-size:.92rem;color:#fff;
  text-transform:uppercase;letter-spacing:.01em;line-height:1.2}
.m-lugar{font-size:.78rem;color:rgba(255,255,255,.66);font-family:var(--f-texto);
  font-weight:400;letter-spacing:0;text-transform:none}
.m-estado{justify-self:start;margin-top:4px;font-family:var(--f-titulo);font-weight:700;
  font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:20px;
  border:1px solid transparent}
.m-estado.abiertas{background:var(--rosa);border-color:var(--rosa);color:var(--guinda-950)}
.m-estado.espera{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.26);color:rgba(255,255,255,.86)}
.m-estado.lleno{border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.45)}
.mega-fechas li.cerrada .m-fecha{color:rgba(255,255,255,.5)}
.mega-fechas li.cerrada .m-lugar{color:rgba(255,255,255,.38)}
.main-nav .mega-todos{display:block;margin-top:14px;padding-top:13px;
  border-top:1px solid rgba(255,255,255,.12);font-family:var(--f-titulo);font-weight:700;
  font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rosa-300);
  text-align:center;padding-left:0;padding-right:0}
.main-nav .mega-todos:hover{color:#fff;background:none}

/* En móvil los mega menús no existen: desplegados convertían el menú en una
   página entera que había que recorrer para llegar a los demás enlaces.
   Cada enlace lleva a su página, que ya trae fechas y cursos completos. */
@media (max-width:1000px){
  .main-nav .mega{display:none!important}
  .main-nav li.con-mega > a::before{display:none}
}

/* Vista previa de un borrador — solo la ve quien administra */
.barra-previa{position:fixed;top:0;left:0;right:0;z-index:120;background:#C99A3E;color:#3A2A08;
  padding:9px 0;font-size:.86rem;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.barra-previa strong{font-weight:700}
.barra-previa a{text-decoration:underline;font-weight:700;margin-left:10px}
body:has(.barra-previa) .site-header{top:38px}
body:has(.barra-previa) .hero{padding-top:196px}

/* ---------- Mega menú de la Escuela ---------- */
.mega-escuela{width:min(380px,88vw)}
.main-nav .mega-cursos{display:grid;gap:1px}
.main-nav .mega-cursos li{display:block;border-top:1px solid rgba(255,255,255,.09)}
.main-nav .mega-cursos li:first-child{border-top:0}
.main-nav .mega-cursos a{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center;
  padding:11px 10px;border-radius:8px;transition:var(--trans);font-family:var(--f-texto);
  font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;color:inherit}
.main-nav .mega-cursos a::after{display:none}
.main-nav .mega-cursos a:hover{background:rgba(255,255,255,.07)}
.c-num{width:30px;height:30px;border-radius:50%;background:rgba(205,145,145,.18);
  color:var(--rosa-300);display:grid;place-items:center;font-family:var(--f-titulo);
  font-weight:800;font-size:.82rem}
.c-cuerpo{display:grid;gap:3px;min-width:0}
.c-titulo{font-family:var(--f-titulo);font-weight:700;font-size:.86rem;color:#fff;line-height:1.3}
.c-estado{justify-self:start;font-family:var(--f-titulo);font-weight:700;font-size:.55rem;
  letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.c-estado.mio{background:var(--rosa);color:var(--guinda-950);padding:3px 9px;border-radius:20px}
.mega-pie{display:flex;gap:14px;justify-content:space-between;margin-top:14px;padding-top:13px;
  border-top:1px solid rgba(255,255,255,.12)}
.main-nav .mega-pie .mega-todos{margin-top:0;padding-top:0;border-top:0;flex:1;text-align:center}
@media (max-width:1000px){
  .mega-escuela{width:100%}
  .mega-pie{flex-direction:column;gap:8px}
}

/* Aviso cuando no hay pasarelas conectadas todavía */
.metodos-demo{background:var(--crema);border:1px dashed var(--borde);border-radius:10px;
  padding:14px 16px;font-size:.87rem;color:var(--texto-suave);margin-bottom:20px}

/* ============================================================
   Móvil: el menú cerrado no debe medir nada
   El menú overlay sigue maquetado aunque esté oculto, y con los mega
   menús dentro estiraba el header y provocaba scroll horizontal.
   ============================================================ */
@media (max-width:1000px){
  .site-header{max-width:100vw;overflow:hidden}
  .site-header .container{max-width:100%}
  .header-inner{min-width:0}
  .brand,.header-cta{min-width:0;flex-shrink:1}
  .main-nav{max-width:100vw}

}

/* El enlace de saltar contenido no debe crear área desplazable */
.salta{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden}
.salta:focus{left:0;width:auto;height:auto;z-index:999;background:var(--guinda);
  color:#fff;padding:12px 20px;border-radius:0 0 8px 0;overflow:visible}

/* ============================================================
   Header en móvil: solo marca y menú
   Con los botones de cuenta y donar el ancho se pasaba de 375px y la
   hamburguesa quedaba FUERA de pantalla: no había forma de abrir el menú.
   Esas dos acciones viven ahora dentro del menú.
   ============================================================ */
.solo-movil{display:none}

@media (max-width:960px){
  .header-cta .btn-cuenta,
  .header-cta .btn-donar{display:none}
  .header-inner{gap:12px}
  .brand{margin-right:auto}
  .brand .brand-logo{height:34px}
  .nav-toggle{flex:none}

  .main-nav .solo-movil{display:block}
  .main-nav .solo-movil a{font-size:.78rem}
  .main-nav .solo-movil.destacado a{display:inline-block;background:var(--guinda);
    border:1px solid var(--rosa-300);border-radius:6px;padding:12px 24px;margin-top:6px}
  .main-nav .solo-movil.destacado a::after{display:none}

}

/* Áreas de toque cómodas en los enlaces de cierre de bloque */
.fechas-pie a,.mega-todos,.tc-indice,.volver,.acceso-links a{display:inline-block;padding:11px 0;min-height:44px;
  display:inline-flex;align-items:center}
@media (max-width:760px){
  .fechas-pie a,.tc-indice,.volver{min-height:48px}
}


/* ---------- Cupón en el checkout ---------- */
.campo-cupon{margin:22px 0 18px;padding:18px 18px;background:var(--crema);border:1px solid var(--borde);border-radius:10px}
.campo-cupon label{display:block;margin-bottom:8px;font-family:var(--f-titulo);font-weight:700;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave)}
.cupon-fila input{margin-top:0}
.cupon-ok{margin-top:9px;font-size:.86rem;color:var(--guinda);font-weight:500}
.cupon-ok strong{font-family:var(--f-titulo)}
.res-linea{display:flex;justify-content:space-between;font-size:.9rem;padding:5px 0;color:rgba(255,255,255,.85)}
.res-linea.descuento{color:var(--rosa-300)}


/* ---------- Consentimiento de imagen + política de cancelación ---------- */
.bloque-politica{background:var(--crema);border:1px solid var(--borde);border-radius:10px;padding:18px 20px;margin:22px 0}
.check-consiente{display:flex;gap:11px;align-items:flex-start;cursor:pointer;margin:0}
.check-consiente input{width:20px;height:20px;margin-top:2px;accent-color:var(--guinda);flex:none;cursor:pointer}
.check-consiente span{font-family:var(--f-texto);font-weight:400;font-size:.88rem;line-height:1.55;color:var(--texto);letter-spacing:0;text-transform:none}
.politica-cancelacion{margin-top:16px;border-top:1px solid var(--borde);padding-top:14px}
.politica-cancelacion summary{cursor:pointer;font-family:var(--f-titulo);font-weight:700;font-size:.82rem;color:var(--guinda)}
.politica-cancelacion ul{margin:12px 0 0;padding-left:20px;display:grid;gap:6px}
.politica-cancelacion li{font-size:.86rem;color:var(--texto-suave);line-height:1.5}
.acepto-nota{margin-top:12px;font-size:.8rem;color:var(--texto-suave)}
