.checkout-page{min-height:100vh;padding:0;background:var(--bg);color:var(--text);overflow-x:clip}
.checkout-page .iris{position:fixed;inset:0;overflow:hidden}
.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}
.checkout-nav{position:sticky;top:0;z-index:20;height:70px;display:grid;grid-template-columns:180px 1fr 48px;align-items:center;gap:24px;padding:0 max(24px,calc((100vw - 1280px)/2));background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.checkout-brand img{display:block;width:126px;height:auto}.checkout-progress{justify-self:center;display:flex;align-items:center;gap:12px;color:var(--text-3);font-size:.82rem}.checkout-progress span{display:flex;align-items:center;gap:7px}.checkout-progress span::first-letter{font-family:'Micro 5',monospace}.checkout-progress span.is-active{color:var(--accent-ink)}.checkout-progress i{width:42px;height:1px;background:var(--line)}
.checkout-shell{position:relative;z-index:2;width:min(1280px,calc(100% - 48px));margin:0 auto;padding:64px 0 100px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:70px;align-items:start}.checkout-step{max-width:820px;padding:0}.checkout-intro{margin-bottom:36px}.checkout-intro h1{font-size:clamp(2.5rem,6vw,5.2rem);line-height:.94;letter-spacing:-.036em;max-width:850px;margin:8px 0 20px}.checkout-intro>p:last-child{color:var(--text-2);font-size:1.08rem;max-width:640px}
.pack-picker{border:0;padding:0;margin:0 0 62px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pack-choice{cursor:pointer;display:flex;min-height:116px;padding:22px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);align-items:flex-end;justify-content:space-between;gap:14px;transition:.25s var(--ease)}.pack-choice:hover,.pack-choice.is-selected{border-color:var(--accent-ink);background:var(--surface-2);transform:translateY(-3px);box-shadow:var(--shadow)}.pack-choice input{position:absolute;opacity:0}.pack-choice span{display:flex;flex-direction:column}.pack-choice b{font-size:1.05rem}.pack-choice small{color:var(--text-3);margin-top:6px}.pack-choice strong{font-size:1.35rem;font-weight:500}
.flavor-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.flavor-head h2{font-size:clamp(1.7rem,3vw,2.6rem);margin-top:5px}.bottle-counter{width:94px;height:94px;border:1px solid var(--accent-ink);border-radius:50%;display:grid;place-content:center;text-align:center;line-height:1}.bottle-counter b{font-size:1.35rem;font-weight:500}.bottle-counter span{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-top:6px}
.checkout-flavors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flavor-row{--flavor:var(--menta-ink);display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:116px;padding:13px 17px 13px 10px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);transition:.24s var(--ease)}.flavor-row:focus-within,.flavor-row.has-value{border-color:var(--flavor);box-shadow:0 12px 28px -24px var(--flavor)}.flavor-row img{width:70px;height:88px;object-fit:contain}.flavor-row h3{font-size:1rem;line-height:1.1}.flavor-row p{font-size:.78rem;color:var(--text-3);margin-top:5px}.qty-control{display:grid;grid-template-columns:34px 34px 34px;align-items:center}.qty-control button{width:34px;height:34px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:50%;font-size:1.15rem;cursor:pointer}.qty-control button:hover,.qty-control button:focus-visible{border-color:var(--flavor);background:var(--flavor);color:var(--accent-on)}.qty-control output{text-align:center;font-weight:600}
.step-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.text-link{appearance:none;border:0;background:none;color:var(--text-2);font:inherit;cursor:pointer;text-decoration:none;padding:12px 0}.text-link:hover{color:var(--accent-ink)}.form-error{min-height:24px;color:#b42318;margin-top:12px;font-size:.9rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:34px 0}.form-grid label{display:flex;flex-direction:column;gap:8px}.form-grid label>span,.delivery-picker legend{font-size:.86rem;font-weight:500}.form-grid em{font-style:normal;color:var(--text-3);font-weight:300}.span-2{grid-column:span 2}.form-grid input{height:54px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;outline:0}.form-grid input:focus{border-color:var(--accent-ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.form-grid input[aria-invalid=true]{border-color:#b42318}.delivery-picker{border:0;padding:0;margin:28px 0}.delivery-picker legend{margin-bottom:12px}.delivery-picker>label{display:inline-block;margin:0 8px 8px 0}.delivery-picker input{position:absolute;opacity:0}.delivery-picker span{display:block;padding:13px 16px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);cursor:pointer}.delivery-picker input:checked+span{border-color:var(--accent-ink);background:var(--accent);color:#17130f}.check-row{display:flex;align-items:flex-start;gap:11px;color:var(--text-2);cursor:pointer}.check-row input{width:20px;height:20px;accent-color:var(--accent-ink)}
.checkout-summary{position:sticky;top:116px;padding:28px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow)}.summary-pack,.summary-total{display:flex;justify-content:space-between;gap:16px}.summary-pack{padding:18px 0;border-bottom:1px solid var(--line)}.summary-pack b{font-weight:500}.summary-flavors{padding:18px 0;min-height:105px}.summary-flavors p{color:var(--text-3);font-size:.88rem}.summary-flavors div{display:flex;justify-content:space-between;padding:4px 0;font-size:.88rem}.summary-total{padding:18px 0;border-top:1px solid var(--line);font-size:1.1rem}.summary-total strong{font-weight:500}.checkout-summary>small{display:block;color:var(--text-2);line-height:1.45;margin-top:12px}
.order-review{display:grid;gap:14px;margin:30px 0}.review-card{padding:24px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.review-card header{display:flex;justify-content:space-between;margin-bottom:13px}.review-card h3{font-size:1rem}.review-card button{border:0;background:none;color:var(--accent-ink);cursor:pointer}.review-card p{color:var(--text-2);line-height:1.6}.review-flavors{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.review-flavors span{display:flex;justify-content:space-between;color:var(--text-2)}.secure-note{text-align:right;color:var(--text-3);font-size:.8rem;margin-top:12px}.checkout-success{text-align:center;padding:70px 0}.checkout-success img{width:54px;height:auto;margin:0 auto 24px}.checkout-success h1{font-size:clamp(2.8rem,6vw,5rem);margin:8px 0 18px}.checkout-success p{max-width:540px;margin:0 auto;color:var(--text-2)}.checkout-success>strong{display:block;font-family:'Micro 5',monospace;font-size:2rem;letter-spacing:.1em;margin:24px 0}.checkout-success .btn{display:inline-flex}
@media(max-width:920px){.checkout-nav{grid-template-columns:130px 1fr 44px}.checkout-progress b{display:none}.checkout-progress i{width:22px}.checkout-shell{grid-template-columns:1fr;gap:30px}.checkout-summary{position:static;grid-row:1;padding:18px 22px}.checkout-summary .summary-flavors,.checkout-summary>small{display:none}.checkout-summary .micro{display:none}.summary-pack{padding:0 0 12px}.summary-total{padding:12px 0 0}.checkout-step{max-width:none}}
@media(max-width:620px){.checkout-nav{height:62px;padding:0 16px;gap:8px}.checkout-brand img{width:104px}.checkout-progress{gap:6px}.checkout-progress i{width:12px}.checkout-shell{width:calc(100% - 30px);padding:36px 0 72px}.checkout-intro{margin-bottom:26px}.checkout-intro h1{font-size:clamp(2.55rem,13vw,4.2rem)}.pack-picker{grid-template-columns:1fr;margin-bottom:46px}.pack-choice{min-height:82px;padding:16px 18px}.flavor-head{align-items:center}.bottle-counter{width:76px;height:76px;flex:0 0 auto}.checkout-flavors{grid-template-columns:1fr}.flavor-row{grid-template-columns:64px minmax(0,1fr) auto;min-height:102px}.flavor-row img{width:58px;height:75px}.qty-control{grid-template-columns:32px 28px 32px}.qty-control button{width:32px;height:32px}.step-actions{align-items:stretch;flex-direction:column-reverse}.step-actions .btn{width:100%}.step-actions .text-link{text-align:center}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.delivery-picker>label{display:block;margin-right:0}.delivery-picker span{text-align:center}.review-flavors{grid-template-columns:1fr}.secure-note{text-align:center}}

/* G1: tap targets ≥44px — los ± del contador subían a 34px */
.qty-control{grid-template-columns:44px 44px 44px}
.qty-control button{width:44px;height:44px}
/* G1 bis: el logo del checkout medía 29px de alto. Área táctil, no logotipo. */
.checkout-brand{display:inline-flex;align-items:center;padding-block:8px;min-height:44px}

/* Viuda: "¿Cómo repartimos tu caja?" partía en 3 líneas, dos de una sola palabra. */
.flavor-head h2{text-wrap:balance;max-width:16ch}
/* Viuda real: en 390px .flavor-head es flex y el contador de 94px deja al h2
   en 284px — "¿Cómo repartimos tu caja?" caía en 3 líneas, dos de una palabra.
   Se apila en móvil para devolverle el ancho completo. Bajar el cuerpo habría
   cambiado un defecto de craft por otro. */
@media (max-width:520px){
  .flavor-head{flex-direction:column;align-items:flex-start;gap:14px}
  .flavor-head h2{max-width:none}
}
