/* Clases · temas, precios, taller, flujo de reserva, formulario, reglas y preguntas */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* cabecera */
.page-top h1{max-width:none}
.ct-acc{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:36px;animation-delay:.65s}
.ct-datos{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin-top:64px;border-top:1px solid var(--line);animation-delay:.8s;max-width:820px}
.ct-datos li{flex:1 1 180px;display:grid;gap:2px;padding:18px 24px 0 0}
.ct-datos li+li{padding-left:24px;border-left:1px solid var(--line)}
.ct-datos b{font-size:clamp(22px,2vw,28px);font-weight:500;letter-spacing:-.025em}
.ct-datos span{color:var(--dim);font-size:15px}

/* temas: filas numeradas */
.tema-lista{list-style:none;border-top:1px solid var(--line)}
.tema-lista>li{display:grid;grid-template-columns:110px 1fr 1.25fr;gap:32px;padding:40px 0;border-bottom:1px solid var(--line);align-items:start}
.t-num{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:clamp(44px,4.4vw,68px);line-height:.9;color:var(--ac2)}
.t-tit{display:grid;gap:8px;align-content:start}
.t-tit h3{font-size:clamp(26px,2.4vw,36px)}
.tema-lista .chk{gap:10px}

/* precios */
.precios-c h2{margin-bottom:48px}
.modos{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:16px;align-items:stretch}
.modo{display:flex;flex-direction:column;gap:12px}
.modo .m-dur{font-size:19px;font-weight:500;margin-top:-4px}
.modo .pill{align-self:flex-start;margin-top:auto}
.modo>p:not(.dim):not(.precio):not(.m-dur){color:var(--dim)}
.panel-ac.modo>p:not(.dim):not(.precio):not(.m-dur){color:var(--txt)}
.nota{margin-top:20px;font-size:15px}
.precios-c{padding-bottom:clamp(48px,6vw,80px)}
.taller-c{padding-top:0}

/* taller */
.tl-caja{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:40px 64px;padding:clamp(28px,4vw,56px);border:1px dashed rgba(143,160,255,.45);border-radius:calc(var(--r) * 1.5);background:radial-gradient(120% 90% at 100% 0,rgba(74,91,255,.14),transparent 60%);overflow:hidden}
.tl-txt{display:grid;gap:20px;justify-items:start;grid-row:span 2}
.tl-txt .kicker{margin-bottom:0}
.tl-datos{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.tl-datos div{padding:16px 16px 0 0;display:grid;gap:4px}
.tl-datos div+div{padding-left:16px;border-left:1px solid var(--line)}
.tl-datos dt{color:var(--dim);font-size:14px}
.tl-datos dd{font-size:clamp(30px,3vw,44px);font-weight:500;letter-spacing:-.04em;line-height:1}
.tl-datos small{display:block;font-size:14px;color:var(--dim);letter-spacing:0;font-weight:400;margin-top:6px}
.tl-reglas{align-self:end}

/* cómo funciona */
.flujo{padding-bottom:clamp(40px,5vw,72px)}
.f-pasos{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;position:relative}
.f-pasos::before{content:"";position:absolute;left:22px;right:22px;top:22px;height:1px;background:linear-gradient(90deg,var(--ac2),var(--line))}
.f-pasos li{position:relative;display:grid;gap:8px;align-content:start}
.f-n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--ac2);color:var(--ac2);font-weight:500;margin-bottom:12px}
.f-pasos li:first-child .f-n{background:var(--ac);border-color:var(--ac);color:#fff}
.f-pasos b{font-size:19px;font-weight:500;letter-spacing:-.015em}
.f-pasos span:last-child{color:var(--dim);font-size:15px}

/* reserva */
.reserva-c{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:start}
.reserva-c .rv-txt{display:grid;gap:24px;position:sticky;top:120px}
.reserva-c .form .pill{justify-self:start}
.reserva-c .form{scroll-margin-top:100px}
#reservar{scroll-margin-top:40px}

/* reglas */
.reglas{display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:start}
.rg-lista{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.rg-lista div{padding:26px 24px 26px 0;border-bottom:1px solid var(--line);display:grid;gap:8px;align-content:start}
.rg-lista div:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}
.rg-lista dt{font-size:clamp(20px,1.8vw,26px);font-weight:500;letter-spacing:-.02em}
.rg-lista dd{color:var(--dim)}

/* preguntas (patrón de inicio.css) */
.faq h2{margin-bottom:40px}
.faq-lista{border-top:1px solid var(--line)}
.faq-lista details{border-bottom:1px solid var(--line)}
.faq-lista summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:26px 0;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.02em}
.faq-lista summary::-webkit-details-marker{display:none}
.faq-lista summary::after{content:"+";color:var(--ac2);transition:transform .4s var(--ease)}
.faq-lista details[open] summary::after{transform:rotate(45deg)}
.faq-lista details p{color:var(--dim);padding:0 0 26px;max-width:70ch}

@media (max-width:1100px){
  .f-pasos{grid-template-columns:repeat(3,1fr);row-gap:40px}
  .f-pasos::before{display:none}
}
@media (max-width:900px){
  .tema-lista>li{grid-template-columns:1fr;gap:14px;padding:32px 0}
  .modos{grid-template-columns:1fr}
  .tl-caja{grid-template-columns:1fr}
  .tl-txt{grid-row:auto}
  .reserva-c,.reglas{grid-template-columns:1fr;gap:32px}
  .reserva-c .rv-txt{position:static}
  .rg-lista{grid-template-columns:1fr}
  .rg-lista div:nth-child(even){padding-left:0;border-left:0}
}
@media (max-width:600px){
  .ct-datos{margin-top:44px}
  .ct-datos li,.ct-datos li+li{flex:1 1 100%;padding:14px 0;border-left:0;border-bottom:1px solid var(--line)}
  .f-pasos{grid-template-columns:1fr;row-gap:0}
  .f-pasos li{grid-template-columns:44px 1fr;column-gap:16px;padding-bottom:24px}
  .f-n{grid-row:span 2;margin-bottom:0}
  .f-pasos::before{display:block;left:22px;right:auto;top:22px;bottom:46px;width:1px;height:auto;background:linear-gradient(180deg,var(--ac2),var(--line))}
  .tl-datos div,.tl-datos div+div{padding:14px 8px 0 0}
  .tl-datos div+div{padding-left:10px}
  .tl-datos dd{font-size:26px}
}

/* taller: próxima fecha, cupos y formulario para apartar */
.tl-prox{display:grid;gap:12px;justify-items:start;width:100%}
.tl-tema{font-size:clamp(20px,1rem + .6vw,26px);font-weight:500;letter-spacing:-.02em;max-width:28ch}
.tl-tema[hidden],.tl-cupos[hidden]{display:none}
.tl-cupos{display:grid;gap:8px;width:100%;max-width:420px;font-size:15px;color:var(--dim)}
.tl-barra{height:6px;border-radius:999px;background:rgba(237,235,230,.1);overflow:hidden}
.tl-barra i{display:block;height:100%;width:var(--lleno,0%);border-radius:inherit;background:linear-gradient(90deg,var(--ac),var(--ac2));transition:width 1s var(--ease)}
.tl-form{width:100%;max-width:460px;gap:14px}
.tl-form .pill{justify-self:start}
.tl-nota{font-size:14px;color:var(--dim)}
.tl-datos{align-self:start}
