/* Matrícula, datos y plan de arranque (k- = hoja de matrícula y datos · o- = pedido). Tokens de site.css. */

/* ------------------------------------------------------------ cabecera común */
.k-head,.o-head{padding-top:clamp(40px,6vw,96px);padding-bottom:clamp(28px,3.5vw,48px);row-gap:8px;align-items:end}
.k-head h1,.o-head h1{margin:0}
.k-head__lead{color:var(--muted);max-width:52ch;margin:0}
.k-note{border-left:3px solid var(--accent);background:var(--surface);padding:14px 18px;margin:0 0 28px;font:500 16px/1.45 var(--f-head);max-width:72ch}
@media (min-width:1000px){
  .k-head__title{grid-column:1/7}
  .k-head__lead{grid-column:8/13}
  .k-note{grid-column:1/9}
}

/* ------------------------------------------------------------ /carrito */
.k-cart{row-gap:40px;align-items:start;border-top:1px solid var(--ink);padding-top:0}
.k-table{font:500 16px/1.35 var(--f-head)}
.k-table thead th{font:600 13px/1.3 var(--f-head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;padding:14px 12px 12px 0;border-bottom:1px solid var(--line)}
.k-table td,.k-table tbody th{padding:20px 12px 20px 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.k-table .k-c-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.k-table thead .k-c-num{text-align:right}
.k-c-course{font-weight:500}
.k-c-in{display:flex;gap:16px;align-items:baseline}
.k-idx{font:800 28px/1 var(--f-head);color:var(--line-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;flex:none;width:1.6em}
.k-c-text{display:flex;flex-direction:column;gap:6px;min-width:0}
.k-c-text a{color:var(--ink);font:600 clamp(17px,1.5vw,20px)/1.25 var(--f-head);background-size:0 1px}
.k-c-text a:hover{color:var(--accent);background-size:100% 1px}
.k-shelf{color:var(--muted);font:500 14px/1.4 var(--f-head)}
.k-c-price{font-weight:600}
.k-c-act{text-align:right;padding-right:0!important;width:1%}
.k-remove{min-height:44px;min-width:44px;padding:0 14px;border:1.5px solid var(--line-strong);border-radius:var(--r);background:transparent;color:var(--ink);font:600 15px var(--f-head);cursor:pointer;transition:border-color .15s,color .15s}
.k-remove:hover{border-color:var(--ink);color:var(--accent)}
.k-more{margin:18px 0 0;font:500 16px/1.5 var(--f-head);color:var(--muted)}
.k-more a{display:inline-flex;align-items:center;min-height:44px}

.k-sum__title{font:600 13px/1.3 var(--f-head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:16px 0 8px}
.k-totals{margin:0;font:500 16px/1.4 var(--f-head)}
.k-totals>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.k-totals dt{color:var(--muted);min-width:0}
.k-totals dd{margin:0;font-weight:600;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.k-totals__total{border-bottom:2px solid var(--ink)!important;padding:18px 0!important}
.k-totals__total dt{color:var(--ink);font-weight:600}
.k-totals__total dt span{display:block;color:var(--muted);font:500 13px/1.3 var(--f-head);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
.k-totals__total dd{font:800 clamp(26px,2.6vw,36px)/1 var(--f-head);letter-spacing:-.02em}
.k-go{margin-top:24px}
.k-go__btn,.k-submit__btn{width:100%}
.k-go__note{margin:14px 0 0;color:var(--muted);font-size:16px;line-height:1.5}

.k-empty{border-top:1px solid var(--ink);padding-top:32px}
.k-empty__lead{max-width:56ch}
.k-empty__links{display:flex;flex-wrap:wrap;gap:12px}

@media (min-width:1000px){
  .k-cart__list{grid-column:1/9}
  .k-cart__sum{grid-column:9/13;position:sticky;top:24px;padding-left:clamp(0px,1.5vw,24px);border-left:1px solid var(--line)}
  .k-empty__lead{grid-column:1/7}
  .k-empty__links{grid-column:1/9}
}
/* en el móvil cada fila es un bloque: nombre arriba, horas · precio · quitar debajo */
@media (max-width:639px){
  .k-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .k-table tbody tr{display:grid;grid-template-columns:1fr auto auto;column-gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:16px 0}
  .k-table td,.k-table tbody th{border:0;padding:0}
  .k-table tbody th{grid-column:1/-1;margin-bottom:12px}
  .k-table .k-c-num{text-align:left}
  .k-table td[data-label]::before{content:attr(data-label) " ";display:block;font:600 12.5px/1.3 var(--f-head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
  .k-c-act{width:auto}
  .k-idx{font-size:22px}
}

/* ------------------------------------------------------------ /pago */
.k-notices{margin-bottom:28px}
.k-alert{border:1.5px solid var(--ink);border-left-width:6px;background:var(--surface);padding:18px 20px;max-width:72ch}
.k-alert p{margin:0;font:500 16px/1.5 var(--f-head)}
.k-alert__title{font-weight:600!important}
.k-alert__list{margin-top:8px!important;color:var(--muted)}
.k-co{row-gap:48px;align-items:start}
.k-step{border-top:1px solid var(--ink);padding:0 0 36px}
.k-step summary{list-style:none;display:flex;align-items:baseline;gap:18px;padding:20px 0 22px;cursor:pointer;font:800 clamp(24px,2.4vw,34px)/1.1 var(--f-head);letter-spacing:-.015em;min-height:44px}
.k-step summary::-webkit-details-marker{display:none}
.k-step summary:focus-visible{outline-offset:6px}
.k-step__n{font:800 clamp(40px,4.4vw,64px)/.85 var(--f-head);color:var(--line-strong);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.k-step__body{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px var(--col-gap)}
.k-step__body>*{min-width:0;grid-column:1/-1}
@media (min-width:640px){
  .k-f--half{grid-column:span 3}
  .k-f--third{grid-column:span 2}
}
.k-f{display:flex;flex-direction:column;gap:6px}
.k-f label{font:600 15px/1.3 var(--f-head)}
.k-opt{color:var(--muted);font-weight:500}
.k-f input,.k-f select{width:100%;min-height:50px;padding:10px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font:500 16px/1.3 var(--f-head);transition:border-color .15s}
.k-f select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.k-f input:hover,.k-f select:hover{border-color:var(--ink)}
.k-f input:focus-visible,.k-f select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--ink)}
.k-hint{color:var(--muted);font:500 14px/1.4 var(--f-head)}
.k-err{color:var(--ink);font:600 14px/1.4 var(--f-head);padding-left:12px;border-left:3px solid var(--accent)}
.is-bad input,.is-bad select{border-color:var(--ink);border-width:2px}
.k-check{display:grid;grid-template-columns:28px 1fr;gap:6px 12px;align-items:start}
.k-check input{width:24px;height:24px;margin:2px 0 0;accent-color:var(--accent);cursor:pointer}
.k-check label{font-size:17px;line-height:1.5;cursor:pointer}
.k-check .k-err{grid-column:2}
.k-submit{padding-top:8px}
.k-submit__note{margin:14px 0 12px;color:var(--muted);font:500 15px/1.45 var(--f-head)}
.k-cards{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.k-cards img{height:26px;width:auto}
.k-co__aside{border-top:1px solid var(--ink);font-size:17px}
.k-aside__edit{margin:12px 0 28px;font:500 16px var(--f-head)}
.k-aside__edit a{display:inline-flex;align-items:center;min-height:44px}
.k-aside__h{font:600 18px/1.3 var(--f-head);margin:0 0 10px}
.k-co__aside p{color:var(--ink)}
.k-linkbtn{display:inline;padding:0;border:0;background:none;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;min-height:0}
.k-linkbtn:hover{color:var(--ink)}
@media (min-width:1000px){
  .k-notices>*{grid-column:1/9}
  .k-co__form{grid-column:1/8}
  .k-co__aside{grid-column:9/13;position:sticky;top:24px}
}

/* ------------------------------------------------------------ /pedido */
.o-head__lead{color:var(--muted);max-width:56ch;margin:18px 0 0}
.o-meta{margin:24px 0 0;font:500 16px/1.4 var(--f-head);border-top:1px solid var(--ink)}
.o-meta>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.o-meta dt{color:var(--muted)}
.o-meta dd{margin:0;font-weight:600;text-align:right}
.o-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.o-head--state{padding-bottom:clamp(48px,6vw,96px)}
@media (min-width:1000px){
  .o-head__title{grid-column:1/8}
  .o-meta{grid-column:9/13}
  .o-head--state .o-head__title{grid-column:1/9}
}

.o-stages-wrap{padding-bottom:clamp(40px,5vw,72px)}
.o-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.o-stage{display:flex;flex-direction:column;gap:10px;min-width:0;font:600 15px/1.3 var(--f-head);color:var(--muted)}
.o-stage__bar{display:block;height:10px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);position:relative;overflow:hidden}
.o-stage__bar::after{content:"";position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left center}
.o-stage.is-done .o-stage__bar::after{transform:none}
.o-stage.is-now .o-stage__bar::after{transform:scaleX(.5);animation:o-fill 1.1s cubic-bezier(.2,.7,.2,1) both}
.o-stage.is-done,.o-stage.is-now{color:var(--ink)}
.o-stage__n{font:800 13px/1 var(--f-head);letter-spacing:.08em;color:var(--muted)}
.o-stages__note{margin:20px 0 0;font:500 17px/1.45 var(--f-head);max-width:60ch;border-left:3px solid var(--accent);padding-left:14px}
@keyframes o-fill{from{transform:scaleX(0)}to{transform:scaleX(.5)}}
@media (min-width:1000px){
  .o-stages{grid-column:1/11}
  .o-stages__note{grid-column:1/9}
}

.o-course{row-gap:20px;padding-bottom:clamp(40px,5vw,72px)}
.o-course__rule{margin-bottom:clamp(20px,2.4vw,36px)}
.o-course__num{font-size:clamp(72px,9vw,140px);margin-bottom:12px}
.o-course__name{font-size:clamp(24px,2.4vw,34px);line-height:1.12;margin:0 0 10px}
.o-course__name a{color:var(--ink);background-size:0 1px}
.o-course__name a:hover{color:var(--accent);background-size:100% 1px}
.o-course__facts{color:var(--muted);font:500 15px/1.45 var(--f-head);margin:0}
.o-weeks{display:grid;grid-template-columns:minmax(0,1fr);gap:28px var(--col-gap)}
.o-week{min-width:0;border-top:2px solid var(--ink)}
.o-week__title{font:800 22px/1.2 var(--f-head);margin:14px 0 6px}
.o-week__title span{display:block;font:500 14px/1.4 var(--f-head);color:var(--muted);margin-top:4px}
.o-week__units{list-style:none;margin:0;padding:0}
.o-week__units li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 14px;padding:12px 0;border-bottom:1px solid var(--line)}
.o-week__u{font:600 13px/1.5 var(--f-head);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);white-space:nowrap}
.o-week__t{font-size:17px;line-height:1.4}
.o-week__l{grid-column:2;color:var(--muted);font:500 14px/1.4 var(--f-head)}
@media (min-width:700px){ .o-weeks{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1000px){
  .o-course__side{grid-column:1/5;position:sticky;top:24px;align-self:start}
  .o-weeks{grid-column:5/13}
}

.o-ready{row-gap:20px;padding-bottom:clamp(40px,5vw,72px)}
.o-ready__h{margin:0}
.o-ready__list{margin:0;padding:0;list-style:none;counter-reset:o-r}
.o-ready__list li{counter-increment:o-r;display:grid;grid-template-columns:3.2em minmax(0,1fr);padding:16px 0;border-bottom:1px solid var(--line)}
.o-ready__list li::before{content:"0" counter(o-r);font:800 22px/1.3 var(--f-head);color:var(--line-strong);grid-row:span 2}
.o-ready__list strong{font-family:var(--f-head);font-weight:600}
.o-contact{background:var(--ink);color:var(--on-ink);padding:clamp(22px,2.6vw,36px);border-radius:var(--r)}
.o-contact h3{margin:0 0 10px}
.o-contact p{margin:0;color:var(--on-ink-muted)}
.o-contact strong{color:var(--on-ink)}
.o-contact a,.o-contact .k-linkbtn{color:var(--on-ink-accent)}
.o-contact .k-linkbtn:hover,.o-contact a:hover{color:var(--on-ink)}
.o-contact :focus-visible{outline-color:var(--on-ink-accent)}
@media (min-width:1000px){
  .o-ready__h{grid-column:1/5}
  .o-ready__list{grid-column:5/13}
  .o-contact{grid-column:5/13;margin-top:12px}
}

.o-fine{row-gap:28px;border-top:1px solid var(--line);padding-top:28px;font:500 15px/1.5 var(--f-head);color:var(--muted)}
.o-fine__h{font:600 13px/1.3 var(--f-head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}
.o-amounts{margin:0}
.o-amounts>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line)}
.o-amounts dt{min-width:0}
.o-amounts dd{margin:0;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.o-amounts__total dt,.o-amounts__total dd{color:var(--ink);font-weight:600}
.o-amounts__total dt span{display:block;font-size:13px;font-weight:500;color:var(--muted)}
.o-fine__seller p{margin:0 0 10px}
@media (min-width:1000px){
  .o-fine__amounts{grid-column:1/6}
  .o-fine__seller{grid-column:8/13}
}

@media (prefers-reduced-motion:reduce){
  .o-stage.is-now .o-stage__bar::after{animation:none}
  .k-remove,.k-f input,.k-f select{transition:none}
}
