/* Gauss House Academy — catálogo (cursos.php): índice lateral fijo + fichas-fórmula en mosaico de dos columnas.
   Solo tokens de site.css; todas las clases con prefijo k-. */

.k-vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- cabecera: texto + mini índice ---------- */
.k-cab{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,340px);gap:32px clamp(32px,6vw,96px);align-items:end}
.k-cab .lede{margin-bottom:0}
.k-mini{padding:18px 20px 20px;border:1.5px solid var(--ink);border-radius:var(--r);background:var(--tile);font-family:var(--mono);box-shadow:6px 6px 0 -1px var(--ink)}
.k-mini-h{margin:0 0 .5rem;font:500 .78rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.k-mini dl{margin:0}
.k-mini dl div{display:flex;align-items:baseline;gap:.5rem;padding:.32rem 0}
.k-mini dt{display:flex;flex:1;align-items:baseline;gap:.5rem;min-width:0;font-size:.86rem;color:var(--text)}
.k-mini dt::after{content:"";flex:1;min-width:1rem;border-bottom:1.5px dotted var(--field)}
.k-mini dd{margin:0;font-weight:700;font-size:1.05rem;color:var(--ink);font-variant-numeric:tabular-nums}
.k-mini-test{display:block;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line);font:600 .95rem/1.35 var(--sans);color:var(--cobalt);text-decoration:none}
.k-mini-test::after{content:" →";font-family:var(--mono)}
.k-mini-test:hover{color:var(--cobalt-d);text-decoration:underline}
@media(max-width:900px){.k-cab{grid-template-columns:1fr}.k-mini{max-width:420px}}

/* ---------- catálogo: índice lateral + grupos ---------- */
.k-cat{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start}
.k-cat>*{min-width:0}
.k-idx{position:sticky;top:96px;display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-height:calc(100vh - 112px);overflow-y:auto;padding:2px 4px 4px 2px}
.k-idx-b{min-width:0}
.k-idx-h{margin:0 0 .55rem;font:500 .78rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.k-anclas,.k-filtro{list-style:none;margin:0;padding:0}
.k-anclas{border-top:2px solid var(--ink)}
.k-anclas a{display:grid;grid-template-columns:1.9rem minmax(0,1fr) auto;gap:.4rem;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;line-height:1.3}
.k-anclas a:hover .k-t{color:var(--cobalt);text-decoration:underline}
.k-n{font:500 .8rem/1 var(--mono);color:var(--muted)}
.k-anclas b{min-width:1.7rem;padding:.2rem .4rem;border-radius:999px;background:var(--tile-2);color:var(--ink);font:600 .8rem/1.2 var(--mono);text-align:center}
.k-filtro{display:grid;gap:2px}
.k-filtro a{display:flex;align-items:center;gap:.6rem;min-height:40px;padding:.3rem 0;color:var(--text);text-decoration:none;font-size:.95rem;line-height:1.3}
.k-filtro a::before{content:"";flex:none;width:.8rem;height:.8rem;border:1.5px solid var(--ink);border-radius:3px;background:var(--tile)}
.k-filtro a:hover{color:var(--ink);text-decoration:underline}
.k-filtro a[aria-current="page"]{color:var(--ink);font-weight:600}
.k-filtro a[aria-current="page"]::before{background:var(--lime)}

.k-grupos{display:grid;gap:clamp(48px,6vw,88px)}
.k-estado{margin:0 0 -24px;font:500 .85rem/1.5 var(--mono);color:var(--muted)}
.k-estado a{font-family:var(--sans);font-weight:600}

/* mosaico: cabecera del grupo arriba a la derecha; la primera ficha ocupa la columna ancha y dos filas */
.k-grupo{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:16px;align-items:stretch;scroll-margin-top:96px}
.k-ghead{grid-column:2;grid-row:1;align-self:start;padding:14px 4px 18px;border-top:2px solid var(--ink)}
.k-lead{grid-column:1;grid-row:1}
.k-grupo-alto .k-lead{grid-row:1/span 2}
.k-gnum{margin:0 0 .6rem;font:500 .8rem/1 var(--mono);letter-spacing:.04em;color:var(--cobalt)}
.k-ghead h2{margin:0 0 .5rem;font-size:clamp(1.5rem,2.4vw,2.1rem)}
.k-gdesc{margin:0 0 .6rem;max-width:42ch;color:var(--text)}
.k-gcount{margin:0;font:500 .85rem/1.4 var(--mono);color:var(--muted)}

/* ---------- ficha-fórmula ---------- */
.k-card{display:flex;flex-direction:column;padding:0;border:1.5px solid var(--ink)}
.k-piz{display:flex;flex-direction:column;gap:14px;padding:14px 18px 18px;background:var(--grid),var(--tile-2);border-bottom:1.5px solid var(--ink)}
.k-lead .k-piz{flex:1;min-height:250px;padding:18px 24px 24px}
.k-thumb{align-self:flex-end;display:block;width:92px;padding:4px;border:1.5px solid var(--ink);border-radius:6px;background:var(--tile);transform:rotate(2.5deg);transition:transform .3s ease}
.k-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px}
.k-lead .k-thumb{width:132px}
.k-card:hover .k-thumb{transform:rotate(0)}
.k-f{margin:auto 0 0;font:500 clamp(1.2rem,1.8vw,1.55rem)/1.25 var(--mono);letter-spacing:-.02em;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.k-lead .k-f{font-size:clamp(1.6rem,3.2vw,2.9rem);font-weight:700;letter-spacing:-.035em}

.k-body{display:flex;flex:1;flex-direction:column;gap:.55rem;padding:16px 18px 18px}
.k-lead .k-body{flex:none;padding:20px 24px 22px}
.k-body p{margin:0}
.k-h{margin:0;font-size:1.2rem}
.k-lead .k-h{font-size:clamp(1.3rem,2vw,1.65rem)}
.k-h a{color:var(--ink);text-decoration:none;background:linear-gradient(var(--cobalt),var(--cobalt)) 0 100%/0 2px no-repeat;transition:background-size .35s ease}
.k-h a:hover{color:var(--ink);background-size:100% 2px}
.k-res{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font-size:.97rem;line-height:1.55}
.k-datos{font:500 .82rem/1.5 var(--mono);color:var(--muted)}

/* itinerarios: lo que incluye y el precio por separado */
.k-sub{margin-top:.25rem!important;font:500 .78rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.k-incl{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.k-incl li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:.4rem 0;border-bottom:1px solid var(--line);font-size:.94rem}
.k-incl a{color:var(--ink)}
.k-incl a:hover{color:var(--cobalt)}
.k-incl span{font:500 .82rem/1.5 var(--mono);color:var(--muted);white-space:nowrap}
.k-bloques{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:.92rem;color:var(--text)}
.k-bloques li+li::before{content:"·";margin:0 .45rem;color:var(--muted)}
.k-ahorro{padding:.55rem .75rem;border:1.5px solid var(--ink);border-radius:var(--r-s);background:var(--lime);color:var(--ink);font:600 .86rem/1.4 var(--mono)}

.k-compra{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--field)}
.k-precio{display:grid;gap:.3rem;margin-right:auto!important}
.k-precio .price{font-size:1.45rem}
.k-lead .k-precio .price{font-size:1.8rem}
.k-iva{font-size:.82rem;color:var(--muted)}
.k-compra form{margin:0}
.k-compra .btn{min-height:44px;padding:.55rem 1.05rem}

/* ---------- franja final de precios y pago ---------- */
.k-pie{padding:0 0 clamp(40px,5vw,64px)}
.k-pie-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:18px;border-top:1px solid var(--line)}
.k-pie-t{margin:0;font:500 .88rem/1.5 var(--mono);color:var(--muted)}

/* ---------- tamaños intermedios y móvil ---------- */
@media(max-width:1280px){.k-cat{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:1100px){
  .k-cat{grid-template-columns:1fr;gap:28px}
  .k-idx{position:static;max-height:none;overflow:visible;gap:14px;padding:0}
  .k-idx-h{margin-bottom:.4rem}
  .k-scroll{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:3px 3px 8px;margin:0 -3px}
  .k-anclas,.k-filtro{display:flex;gap:8px;width:max-content;border:0}
  .k-anclas a,.k-filtro a{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.35rem .8rem;border:1.5px solid var(--ink);border-radius:999px;background:var(--tile);white-space:nowrap}
  .k-anclas a{padding-right:.4rem}
  .k-filtro a::before{display:none}
  .k-filtro a[aria-current="page"]{background:var(--ink);color:var(--lime)}
  .k-estado{margin-bottom:-16px}
}
@media(max-width:760px){
  .k-grupo{grid-template-columns:1fr}
  .k-ghead,.k-lead,.k-grupo-alto .k-lead{grid-column:auto;grid-row:auto}
  .k-lead .k-piz{min-height:200px}
}
@media(max-width:420px){
  .k-piz,.k-lead .k-piz{padding:12px 14px 16px}
  .k-body,.k-lead .k-body{padding:14px 14px 16px}
  .k-thumb{width:80px}
  .k-lead .k-thumb{width:104px}
  .k-compra form{flex:1 1 auto}
  .k-compra .btn{width:100%}
}

/* ---------- movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  .k-thumb,.k-h a{transition:none}
  .k-card:hover .k-thumb{transform:rotate(2.5deg)}
}
