/* =====================================================================
   CHECKOUT NEGRO (urbano) — lo carga checkout/index.html.
   Se carga después de checkout.css y ../css/urbano.css: tarjetas negras
   con borde blanco y sombra azul dura, selección en azul con neón.
   ===================================================================== */
.co-body{background:#000;color:var(--ink);}
.co-status{background:#05060F;border-bottom:2px solid var(--cobalt);}
.co-status[data-state="open"]{background:#04140A;border-bottom-color:#4CF08A;}

.co-sec,.co-confirm{background:#0B0B10;border:2px solid #fff;box-shadow:6px 6px 0 var(--cobalt);color:var(--ink);}
.co-sec-head h2{color:#fff;}
.co-hint,.co-box-desc,.co-flavor-price,.co-type-sub,.co-place-note,.co-empty,.co-secure{color:rgba(255,255,255,.58);}
.co-box-price span{color:rgba(255,255,255,.5);}
.co-sub-head{color:#fff;}

/* tarjetas de galleta / caja */
.co-box-card,.co-flavor-card{border:1.5px solid rgba(255,255,255,.16);background:#111118;}
.co-box-card.on,.co-flavor-card.on{border-color:var(--cobalt-2);background:rgba(30,58,255,.14);box-shadow:0 0 0 1px var(--cobalt),0 0 18px rgba(30,58,255,.45);}
.co-flavor-name{color:#fff;}
.co-box-price{color:var(--cobalt-2);}
.co-qty-control{background:#000;border-color:#fff;}
.co-qty-control span{color:#fff;}

/* armar caja */
.co-box-add-btn{border-color:#fff;box-shadow:4px 4px 0 #fff;}
.co-box-add-btn:hover{box-shadow:2px 2px 0 #fff;}
.co-box-instance{background:#111118;border:2px solid rgba(255,255,255,.3);}
.co-box-instance-new{background:rgba(30,58,255,.14);box-shadow:0 0 0 2px var(--cobalt),0 0 22px rgba(30,58,255,.5);}
.co-box-instance-title,.co-box-flavor-name{color:#fff;}
.co-box-instance-count{background:rgba(255,255,255,.1);color:#fff;}
.co-box-instance-count.full{background:#4CF08A;color:#000;}
.co-box-instance-remove{color:#FF6B81;}
.co-box-flavor-row{border-bottom-color:rgba(255,255,255,.08);}

/* entrega */
.co-type-card{background:#111118;border-color:rgba(255,255,255,.2);color:#fff;}
.co-type-card.active{border-color:var(--cobalt-2);background:rgba(30,58,255,.16);box-shadow:3px 3px 0 var(--cobalt);}
.co-type-title{color:#fff;}
.co-panel,.co-confirm-box{background:#15151C;color:var(--ink);}
.co-map-link{color:var(--cobalt-2);}
.co-field{color:rgba(255,255,255,.65);}
.co-input{background:#000;color:#fff;border-color:rgba(255,255,255,.22);}
.co-input::placeholder{color:rgba(255,255,255,.35);}
.co-input:focus{border-color:var(--cobalt-2);box-shadow:0 0 0 3px rgba(30,58,255,.3);}
.co-horario-chip{background:#000;color:#fff;border-color:rgba(255,255,255,.25);}
.co-horario-chip.active{background:var(--cobalt);border-color:#fff;}
select.co-input option{background:#000;color:#fff;}

/* resumen y pago */
.co-line{color:#fff;}
.co-line-remove{color:rgba(255,255,255,.4);}
.co-line em{color:#000;}
.co-totals{border-top-color:rgba(255,255,255,.2);}
.co-total-final{color:#fff;}
#coSavingsRow{color:#4CF08A;}
#coPay:disabled{background:#26283A;color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.3);box-shadow:3px 3px 0 rgba(255,255,255,.25);}
.co-pay-error{background:rgba(200,30,58,.18);color:#FF8A9B;border:1px solid rgba(255,107,129,.5);}

/* carrito fijo */
.co-mini-cart{border-color:#fff;box-shadow:5px 5px 0 #fff;}

/* CELULAR — la mayoría de los pedidos llega por acá: menos margen doble,
   nombres de galleta en 2 líneas como máximo, botones de caja a lo ancho
   y controles de cantidad más compactos (siguen siendo de 34px para el dedo). */
@media (max-width:520px){
  .co-wrap{padding:16px 12px 64px;}
  .co-sec{padding:16px 14px;box-shadow:4px 4px 0 var(--cobalt);border-radius:12px;}
  .co-sec-head h2{font-size:19px;}
  .co-flavor-card{grid-template-columns:52px 1fr auto;gap:10px;padding:8px 8px 8px 6px;}
  .co-flavor-card img{width:52px;height:52px;}
  .co-flavor-name{font-size:13.5px;}
  .co-qty-control.small{gap:2px;padding:2px;}
  .co-qty-control.small button{width:34px;height:34px;}
  .co-qty-control.small span{min-width:20px;}
  .co-box-add-row{flex-direction:column;gap:10px;}
  .co-box-add-btn{min-width:0;width:100%;flex:none;padding:14px 16px;font-size:14px;}
  .co-horario-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
  .co-horario-chip{padding:11px 8px;text-align:center;}
  .co-mini-cart{box-shadow:4px 4px 0 #fff;}
}

/* cajas agrupadas (negro) */
.co-box-group{background:#111118;border:2px solid rgba(255,255,255,.3);color:#fff;}
.co-box-group.on{border-color:var(--cobalt-2);box-shadow:0 0 0 1px var(--cobalt),0 0 18px rgba(30,58,255,.35);}
.co-box-group-sub{color:rgba(255,255,255,.6);}
.co-box-group-count{background:rgba(30,58,255,.18);color:#fff;}
.co-box-add-btn.co-box-group-add{box-shadow:3px 3px 0 #fff;}
@media (max-width:520px){
  .co-box-group{padding:12px;}
  .co-box-add-btn.co-box-group-add{width:auto;padding:8px 12px;font-size:11px;}
}

/* zonas de delivery (negro) */
.co-zone-chip{background:#000;color:#fff;border-color:rgba(255,255,255,.25);}
.co-zone-chip .co-zone-fee{color:var(--cobalt-2);}
.co-zone-chip.active{background:var(--cobalt);border-color:#fff;box-shadow:3px 3px 0 #fff;}
.co-zone-chip.active .co-zone-fee{color:#fff;}
.co-ruta{border-color:var(--cobalt-2);background:rgba(30,58,255,.08);}
.co-stock{background:rgba(63,92,255,.22);color:#C9D2FF;}
.co-stock.is-ultimas{background:#FFE14D;color:#0A0A0C;}
.co-stock.is-agotada{background:var(--red);color:#fff;}
