/* NURVA — Checkout del drop */
.co-body{background:#F2EFE8;}
.co-nav-tag{color:#fff;font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.04em;}
.co-status{position:sticky;top:73px;z-index:40;background:#0A0E2A;color:#fff;border-bottom:3px solid var(--black);padding:12px 20px;text-align:center;font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.03em;}
.co-status[data-state="open"]{background:#0B3D1F;}
.co-status[data-state="open"] .co-status-text::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:#4CF08A;margin-right:8px;vertical-align:1px;}
.co-status[data-state="soldout"],.co-status[data-state="closed"]{background:var(--red);}
@media (max-width:680px){.co-status{top:53px;font-size:11px;padding:10px 14px;}}

.co-wrap{max-width:760px;margin:0 auto;padding:24px 16px 64px;}
.co-sec{background:#fff;border:2.5px solid var(--black);border-radius:14px;box-shadow:5px 5px 0 var(--black);padding:22px;margin-bottom:22px;}
.co-sec-head{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.co-sec-head h2{font-size:22px;}
.co-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--cobalt);color:#fff;font-family:'Archivo',sans-serif;font-weight:900;font-size:15px;flex-shrink:0;}
.co-hint{font-size:13px;color:rgba(10,10,12,.6);margin:0 0 14px;}
.co-sub-head{font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;font-size:13px;margin:20px 0 10px;}

/* cajas */
.co-boxes{display:flex;flex-direction:column;gap:12px;}
.co-box-card{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;border:2px solid rgba(10,10,12,.15);border-radius:12px;padding:10px 14px 10px 10px;transition:border-color .15s,background .15s;}
.co-box-card.on{border-color:var(--cobalt);background:#EEF1FF;}
.co-box-card img{width:120px;height:auto;}
.co-box-name{font-size:20px;}
.co-box-desc{font-size:12px;color:rgba(10,10,12,.6);margin:3px 0 6px;line-height:1.4;}
.co-box-price{font-family:'Archivo',sans-serif;font-weight:900;font-size:18px;color:var(--cobalt);}
.co-box-price span{font-size:11px;color:rgba(10,10,12,.5);font-weight:700;}
.co-box-promo{display:inline-block;margin-top:6px;background:#4CF08A;border:2px solid var(--black);border-radius:6px;padding:2px 8px;font-family:'Archivo',sans-serif;font-weight:900;font-size:12px;text-transform:uppercase;}
.co-qty-control{display:flex;align-items:center;gap:4px;background:#fff;border:2px solid var(--black);border-radius:10px;padding:3px;}
.co-qty-control button{width:38px;height:38px;border:none;border-radius:7px;background:var(--cobalt);color:#fff;font-size:20px;font-weight:900;cursor:pointer;}
.co-qty-control span{min-width:30px;text-align:center;font-family:'Archivo',sans-serif;font-weight:900;font-size:20px;}
@media (max-width:520px){
  .co-box-card{grid-template-columns:84px 1fr;}
  .co-box-card img{width:84px;}
  .co-box-card .co-qty-control{grid-column:1 / -1;justify-self:end;}
}

/* carrito fijo (franja siempre visible, sin bajar hasta el resumen) */
.co-mini-cart{position:fixed;left:12px;right:12px;bottom:12px;z-index:45;display:flex;align-items:center;gap:10px;background:var(--cobalt);color:#fff;border:2.5px solid var(--black);border-radius:12px;padding:12px 16px;box-shadow:5px 5px 0 var(--black);font-family:'Archivo',sans-serif;cursor:pointer;max-width:728px;margin:0 auto;width:calc(100% - 24px);}
.co-mini-cart[hidden]{display:none;}
.co-mini-cart-count{font-weight:800;text-transform:uppercase;font-size:13px;flex:1;text-align:left;}
.co-mini-cart-total{font-weight:900;font-size:17px;}
.co-mini-cart-arrow{font-size:11px;font-weight:700;text-transform:uppercase;opacity:.85;white-space:nowrap;}
@media (max-width:520px){.co-mini-cart-arrow{display:none;}}
body.co-body{padding-bottom:76px;}

/* galletas sueltas */
.co-flavors{display:flex;flex-direction:column;gap:10px;}
.co-flavor-card{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border:2px solid rgba(10,10,12,.15);border-radius:12px;padding:8px 12px 8px 8px;transition:border-color .15s,background .15s;}
.co-flavor-card.on{border-color:var(--cobalt);background:#EEF1FF;}
.co-flavor-card img{width:64px;height:64px;object-fit:contain;}
.co-flavor-name{font-size:14px;font-weight:800;line-height:1.2;}
.co-flavor-price{font-size:12px;color:rgba(10,10,12,.55);margin-top:2px;}
.co-qty-control.small button{width:32px;height:32px;font-size:17px;}
.co-qty-control.small span{min-width:22px;font-size:16px;}

/* cajas armables */
.co-box-add-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
.co-box-add-btn{flex:1;min-width:150px;background:var(--cobalt);color:#fff;border:2.5px solid var(--black);border-radius:10px;padding:12px 14px;font-family:'Archivo',sans-serif;font-weight:800;font-size:13px;text-transform:uppercase;cursor:pointer;box-shadow:4px 4px 0 var(--black);text-align:left;}
.co-box-add-btn small{display:block;font-weight:600;text-transform:none;font-size:11px;opacity:.85;margin-top:2px;}
.co-box-add-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--black);}
.co-box-instance{border:2.5px solid var(--black);border-radius:14px;padding:16px;margin-bottom:14px;background:#fff;transition:background .3s,box-shadow .3s;}
.co-box-instance-new{background:#EEF1FF;box-shadow:0 0 0 3px var(--cobalt);}
.co-box-instance-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.co-box-instance-title{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;font-size:15px;}
.co-box-instance-count{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:rgba(10,10,12,.08);}
.co-box-instance-count.full{background:#4CF08A;color:var(--black);}
.co-box-instance-remove{background:none;border:none;color:var(--red);font-size:13px;font-weight:700;cursor:pointer;}
.co-box-flavor-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid rgba(10,10,12,.08);}
.co-box-flavor-row:last-child{border-bottom:none;}
.co-box-flavor-name{font-size:13px;font-weight:700;}

/* entrega */
.co-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;}
.co-type-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:#fff;border:2px solid rgba(10,10,12,.2);border-radius:12px;padding:14px;cursor:pointer;font-family:inherit;}
.co-type-card.active{border-color:var(--cobalt);background:#EEF1FF;box-shadow:3px 3px 0 var(--cobalt);}
.co-type-title{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;font-size:15px;}
.co-type-sub{font-size:12px;color:rgba(10,10,12,.6);}
.co-panel{margin-top:12px;background:#F7F6F2;border-radius:12px;padding:14px;}
.co-place-name{font-weight:800;font-size:15px;}
.co-place-line{font-size:14px;margin-top:4px;}
.co-place-note{font-size:12px;color:rgba(10,10,12,.6);margin-top:8px;}
.co-map-link{display:inline-block;margin-top:10px;font-weight:800;font-size:13px;color:var(--cobalt);border-bottom:2px solid;}
.co-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:rgba(10,10,12,.65);margin-top:10px;}
.co-input{width:100%;padding:12px;border:2px solid rgba(10,10,12,.2);border-radius:10px;font-size:16px;font-family:inherit;background:#fff;}
.co-input:focus{outline:none;border-color:var(--cobalt);}
.co-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media (max-width:520px){.co-row2,.co-type-grid{grid-template-columns:1fr;}}
.co-horario-row{display:flex;flex-wrap:wrap;gap:8px;}
.co-horario-chip{border:2px solid rgba(10,10,12,.2);background:#fff;border-radius:999px;padding:8px 12px;font-family:inherit;font-weight:700;font-size:13px;cursor:pointer;}
.co-horario-chip.active{background:var(--cobalt);color:#fff;border-color:var(--cobalt);}

/* resumen */
.co-lines{display:flex;flex-direction:column;gap:8px;margin:10px 0 12px;}
.co-line{display:flex;justify-content:space-between;gap:12px;font-size:15px;font-weight:600;align-items:center;}
.co-line-right{display:flex;align-items:center;gap:10px;}
.co-line-remove{background:none;border:none;color:rgba(10,10,12,.35);font-size:14px;cursor:pointer;padding:2px 4px;line-height:1;}
.co-line-remove:hover{color:var(--red);}
.co-line em{font-style:normal;background:#4CF08A;border-radius:4px;padding:0 5px;font-size:11px;font-weight:800;margin-left:4px;}
.co-empty{font-size:14px;color:rgba(10,10,12,.5);}
.co-totals{border-top:2px dashed rgba(10,10,12,.2);padding-top:12px;display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.co-totals div{display:flex;justify-content:space-between;font-size:14px;}
#coSavingsRow{color:var(--green);font-weight:700;}
.co-total-final{font-family:'Archivo',sans-serif;font-weight:900;font-size:22px!important;text-transform:uppercase;margin-top:4px;}
.co-full{width:100%;}
#coPay:disabled{background:#C9CCDA;color:#3A3D4D;cursor:not-allowed;box-shadow:3px 3px 0 var(--black);transform:none;font-size:13px;}
.co-pay-error{background:#FDECEC;color:var(--red);border-radius:8px;padding:10px 12px;font-weight:700;font-size:13px;}
.co-secure{font-size:11px;color:rgba(10,10,12,.5);text-align:center;margin:12px 0 0;}

/* confirmación */
.co-confirm{background:#fff;border:2.5px solid var(--black);border-radius:14px;box-shadow:5px 5px 0 var(--black);padding:28px;text-align:center;}
.co-confirm-title{color:var(--green);font-size:30px;}
.co-confirm-id{font-family:'Archivo',sans-serif;font-weight:900;font-size:18px;margin:8px 0 16px;}
.co-confirm-box{text-align:left;background:#F7F6F2;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px;font-size:14px;margin-bottom:16px;}

/* cajas agrupadas por tamaño (x4 / x6) con "+ Se me antoja otra caja" —
   botones chicos (no a lo ancho) para que no compitan con el pedido */
.co-box-group{border:2.5px solid var(--black);border-radius:14px;padding:14px;margin-bottom:12px;background:#fff;transition:background .3s,box-shadow .3s;}
.co-box-group.on{border-color:var(--cobalt);}
.co-box-group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;}
.co-box-group-sub{font-size:12px;color:rgba(10,10,12,.6);margin-top:3px;}
.co-box-group-count{font-size:13px;margin:0 0 6px;padding:7px 10px;border-radius:8px;background:rgba(30,58,255,.08);}
.co-box-add-btn.co-box-group-add{flex:none;min-width:0;width:auto;display:inline-flex;align-items:center;padding:8px 14px;font-size:11.5px;border-width:2px;border-radius:8px;box-shadow:3px 3px 0 var(--black);letter-spacing:.02em;}
.co-box-group-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap;}
.co-box-group-actions .co-box-instance-remove{font-size:12px;}
.co-box-group .co-box-flavor-row{padding:5px 0;}
.co-box-group .co-qty-control.small button{width:30px;height:30px;font-size:16px;}

/* =====================================================================
   PEDIDO DEL DROP (body.co-modo-drop) — se distingue del pedido normal:
   cabecera tornasol con número + nombre + historia, franja tornasol en
   cada sección, números de paso tornasol y botón de pagar tornasol.
   El tornasol va como ACENTO (fondo claro + letra negra = se lee bien
   al sol en el celular); el resto del checkout no cambia.
   ===================================================================== */
.co-drop-hero[hidden]{display:none;}
.co-drop-hero{position:relative;overflow:hidden;text-align:center;padding:28px 20px 24px;background:var(--holo);background-size:260% 100%;animation:holo-shift 9s linear infinite;color:#0A0A0C;border-bottom:3px solid var(--black);}
.co-drop-hero-num{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.3em;font-size:13px;}
.co-drop-hero-name{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(34px,8vw,64px);line-height:.95;letter-spacing:-.02em;margin:6px 0 0;}
.co-drop-hero-name:empty{display:none;}
.co-drop-hero-story{max-width:560px;margin:12px auto 0;font-size:15px;line-height:1.55;white-space:pre-line;}
.co-drop-hero-story:empty{display:none;}
.co-drop-hero-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:14px;}
.co-drop-hero-tags span{border:2px solid #0A0A0C;border-radius:999px;padding:4px 10px;font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;font-size:10.5px;letter-spacing:.06em;background:rgba(255,255,255,.35);}
.co-modo-drop .co-sec{position:relative;overflow:hidden;}
.co-modo-drop .co-sec::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--holo);background-size:260% 100%;animation:holo-shift 7s linear infinite;}
.co-modo-drop .co-num{background:var(--holo);background-size:260% 100%;color:#0A0A0C;border:2px solid #0A0A0C;}
.co-modo-drop #coPay:not(:disabled){background:var(--holo);background-size:260% 100%;animation:holo-shift 7s linear infinite;color:#0A0A0C;}
.co-modo-drop .co-mini-cart{background:var(--holo);background-size:260% 100%;animation:holo-shift 9s linear infinite;color:#0A0A0C;}
@media (prefers-reduced-motion:reduce){.co-drop-hero,.co-modo-drop .co-sec::before,.co-modo-drop #coPay,.co-modo-drop .co-mini-cart{animation:none;}}
@media (max-width:520px){.co-drop-hero{padding:22px 16px 20px;} .co-drop-hero-story{font-size:14px;}}

/* zonas de delivery como tarjetas (reemplaza el <select> nativo) */
.co-zone-select{display:none;}
.co-zone-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px;}
.co-zone-chip{display:flex;justify-content:space-between;align-items:center;gap:8px;border:2px solid rgba(10,10,12,.2);background:#fff;border-radius:10px;padding:11px 12px;font-family:inherit;cursor:pointer;text-align:left;}
.co-zone-name{font-weight:800;font-size:13px;}
.co-zone-fee{font-family:'Archivo',sans-serif;font-weight:900;font-size:13px;white-space:nowrap;}
.co-zone-chip.active{border-color:var(--cobalt);background:#EEF1FF;box-shadow:3px 3px 0 var(--cobalt);}

.co-zone-name small{display:block;font-weight:600;font-size:10.5px;opacity:.7;margin-top:2px;}
.co-ruta{margin-top:12px;padding:12px;border-radius:10px;border:2px dashed var(--cobalt);}
.co-ruta[hidden]{display:none;}
.co-ruta-info{margin:0 0 10px;font-size:13px;line-height:1.5;}

/* stock por sabor */
.co-stock{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:rgba(30,58,255,.1);color:var(--cobalt);vertical-align:1px;}
.co-stock.is-ultimas{background:#FFE14D;color:#0A0A0C;}
.co-stock.is-agotada{background:var(--red);color:#fff;}
.co-flavor-card.agotada img{filter:grayscale(1);opacity:.5;}
.co-qty-control button:disabled{opacity:.35;cursor:not-allowed;}

/* retorno desde Getnet */
.co-retorno-icono{font-size:46px;line-height:1;margin-bottom:8px;}
.co-retorno-acciones{display:flex;flex-direction:column;gap:10px;margin-top:16px;}
.co-confirm-pago{margin:4px 0 12px;font-weight:700;font-size:13px;opacity:.8;}

.co-field-help{font-weight:500;font-size:11.5px;opacity:.7;}
.co-optin{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13px;line-height:1.45;cursor:pointer;}
.co-optin input{margin-top:2px;width:18px;height:18px;flex-shrink:0;accent-color:var(--cobalt);}

/* Link de seguimiento (app de clientes, 5-oct-2026) */
.co-seguimiento{margin:6px 0 16px;}
.co-seguimiento .btn{width:100%;}
.co-seguimiento-txt{font-size:13px;opacity:.8;margin:8px 0 0;}
