/* ===== CARRITO — se carga en todas las páginas (head.php). Lógica en assets/js/carrito.js ===== */

/* Botón del carrito en la cabecera */
.cart-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:1px solid var(--line);color:#fff;cursor:pointer;transition:.2s;padding:0;flex:none}
.cart-btn:hover{border-color:var(--orange);color:var(--orange)}
.cart-btn svg{width:22px;height:22px;display:block}
.cart-count{position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--orange);color:#000;font-family:var(--display);font-size:.7rem;font-weight:800;display:grid;place-items:center;line-height:1}

/* Cabecera en anchos medianos (tablet / ventana angosta): menos separación y sin el botón "Visítanos", para que menú + carrito quepan */
@media(max-width:1020px){
  .nav-links{gap:16px}
  .nav-links a{font-size:.74rem;letter-spacing:1px}
  .nav-cta{gap:10px}
  .nav-cta .btn{padding:12px 18px}
}
@media(max-width:760px){
  .nav-cta .btn{display:none}
}

/* Panel lateral */
body.cart-lock{overflow:hidden}
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:1290;opacity:0;transition:opacity .25s}
.cart-overlay.open{opacity:1}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,100vw);background:var(--bg-2);border-left:1px solid var(--line);z-index:1300;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s ease;box-shadow:-20px 0 50px rgba(0,0,0,.5)}
.cart-drawer.open{transform:translateX(0)}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}
.cart-head h2{font-family:var(--display);font-weight:800;font-style:italic;font-size:1.35rem;text-transform:uppercase;letter-spacing:-.3px}
.cart-x{background:none;border:none;color:#fff;font-size:2rem;line-height:1;cursor:pointer;padding:0 4px;transition:.2s}
.cart-x:hover{color:var(--orange)}
.cart-body{flex:1;overflow-y:auto;padding:4px 22px;min-height:120px}
.cart-foot{border-top:1px solid var(--line);padding:16px 22px 20px;background:var(--bg);max-height:60vh;overflow-y:auto}
/* pantallas bajitas (celular horizontal, ventanas chicas): todo más compacto para que la lista de productos siempre se vea */
@media(max-height:640px){
  .cart-head{padding:12px 18px}
  .cart-head h2{font-size:1.1rem}
  .cart-body{padding:0 18px}
  .cart-item{padding:10px 0}
  .cart-foot{padding:10px 18px 12px}
  .cart-nota{display:none}
  .cart-tot{margin-bottom:2px}
  .cart-tot b{font-size:1.25rem}
  .cart-pay{margin-top:8px;padding:11px 20px}
  .cart-acc{margin-top:8px}
}

/* Lista */
.cart-list{list-style:none;margin:0;padding:0}
.cart-item{display:grid;grid-template-columns:72px 1fr 26px;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-item:last-child{border-bottom:none}
.cart-img{width:72px;height:72px;background:#fff;display:grid;place-items:center;overflow:hidden}
.cart-img img{width:100%;height:100%;object-fit:contain;padding:4px}
.cart-noimg{width:100%;height:100%;background:#1c1e22}
.cart-name{font-family:var(--display);font-weight:800;font-size:.86rem;text-transform:uppercase;line-height:1.15;letter-spacing:-.1px}
.cart-var{font-size:.74rem;color:var(--muted);margin-top:3px;line-height:1.3}
.cart-unit{font-size:.78rem;color:var(--muted);margin-top:4px}
.cart-ago{font-size:.74rem;color:#f87171;font-weight:700;margin-top:4px}
.cart-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.cart-qty{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--bg)}
.cart-qty button{width:32px;height:32px;background:none;border:none;color:#fff;font-size:1.15rem;line-height:1;cursor:pointer;transition:.15s;padding:0}
.cart-qty button:hover:not([disabled]){background:var(--orange);color:#000}
.cart-qty button[disabled]{color:#4a4c52;cursor:not-allowed}
.cart-qty span{min-width:34px;text-align:center;font-family:var(--display);font-weight:800;font-size:.9rem}
.cart-sub{font-family:var(--display);font-weight:800;font-size:1rem}
.cart-del{background:none;border:none;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer;align-self:start;padding:0;transition:.2s}
.cart-del:hover{color:#f87171}
.cart-item.agotado .cart-img img{filter:grayscale(1);opacity:.55}
.cart-item.agotado .cart-name,.cart-item.agotado .cart-var{color:var(--muted);text-decoration:line-through}

/* Carrito vacío */
.cart-empty{text-align:center;padding:70px 10px}
.cart-empty-ico{font-size:3rem;margin-bottom:10px;opacity:.6}
.cart-empty p{color:var(--muted);margin-bottom:22px}

/* Pie: totales y acciones */
.cart-aviso{font-size:.78rem;color:#f87171;background:rgba(198,32,32,.12);border:1px solid rgba(198,32,32,.3);padding:8px 10px;margin-bottom:12px}
.cart-tot{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.cart-tot span{font-family:var(--display);font-size:.74rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.cart-tot b{font-family:var(--display);font-size:1.5rem;font-weight:800}
.cart-tot.card b{font-size:1.05rem;color:var(--muted)}
.cart-nota{font-size:.72rem;color:var(--muted);font-style:italic;margin:4px 0 2px}
.cart-pay{width:100%;justify-content:center;margin-top:14px;text-align:center}
.cart-pay.off{opacity:.35;pointer-events:none}
.cart-acc{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.cart-link{background:none;border:none;color:var(--muted);font-family:inherit;font-size:.8rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0;transition:.2s}
.cart-link:hover{color:var(--orange)}
.cart-link.danger:hover{color:#f87171}
.cart-conf{font-size:.8rem;color:var(--ink)}

/* Aviso "Añadido" */
.cart-toast{position:fixed;left:24px;bottom:24px;z-index:1350;display:flex;align-items:center;gap:14px;max-width:min(420px,calc(100vw - 110px));background:#000;color:#fff;border:1px solid var(--orange);padding:12px 16px;font-size:.86rem;line-height:1.3;box-shadow:0 10px 30px rgba(0,0,0,.5);opacity:0;transform:translateY(16px);pointer-events:none;transition:.25s}
.cart-toast.show{opacity:1;transform:translateY(0);pointer-events:auto}
.cart-toast button{background:none;border:none;color:var(--orange);font-family:var(--display);font-weight:800;font-size:.74rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;white-space:nowrap;padding:0}

/* Botones "Añadir al carrito" en tarjetas (catálogo y promos) */
.p-cart{display:inline-flex;justify-content:center;align-items:center;gap:8px;font-family:var(--display);background:var(--orange);color:#000;padding:12px;font-size:.74rem;font-weight:800;font-style:italic;letter-spacing:1.5px;text-transform:uppercase;border:none;cursor:pointer;transition:.2s;margin-bottom:8px;width:100%}
.p-cart:hover:not([disabled]){background:#fff}
.p-cart[disabled]{background:#26272b;color:var(--muted);cursor:not-allowed;font-style:normal}
/* con el carrito como acción principal, "Comprar por WhatsApp" queda como acción secundaria */
.p-btn.alt{background:transparent;color:var(--ink);border:1px solid var(--line)}
.p-btn.alt:hover{background:#fff;color:#000;border-color:#fff}
/* en la ficha */
.pd-actions .btn[disabled]{background:#26272b;color:var(--muted);cursor:not-allowed;clip-path:none}
/* la copia de la tarjeta dentro del popup de promos no sabe qué versión eligió el cliente: allí no se muestra */
.pl-info .p-cart{display:none}

@media(max-width:600px){
  .cart-drawer{width:100vw;border-left:none}
  .cart-toast{left:12px;right:84px;max-width:none}
}
