/* site.css — Gorras VZLA, tienda pública */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --bg:#131110; --panel:#1d1a17; --panel-2:#232019; --line:#332e28;
  --gold:#e8b23d; --gold-dim:#8a6a26; --cream:#f4efe6; --muted:#9a9186;
  --red:#c1453f; --green:#6fae72; --radius:16px;
}
*{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html,body{ margin:0; background:var(--bg); color:var(--cream); font-family:'Inter',sans-serif; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
button{ font-family:inherit; }

.wrap{ max-width:1080px; margin:0 auto; padding:0 18px; }

/* ---------- header ---------- */
.site-header{ position:sticky; top:0; z-index:40; background:rgba(19,17,16,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.site-header__inner{ max-width:1080px; margin:0 auto; padding:14px 18px; display:flex; align-items:center; justify-content:space-between; }
.site-header__brand{ font-family:'Oswald',sans-serif; font-weight:700; font-size:19px; color:var(--gold); letter-spacing:.01em; }
.site-header__right{ display:flex; align-items:center; gap:16px; }
.site-header__menu-btn{ display:none; background:none; border:none; color:var(--cream); cursor:pointer; }
.site-header__nav{ display:flex; gap:22px; font-size:13.5px; font-weight:500; }
.site-header__nav a{ color:var(--muted); transition:color .15s; }
.site-header__nav a:hover{ color:var(--gold); }

@media (max-width:720px){
  .site-header__menu-btn{ display:block; }
  .site-header__nav{
    position:fixed; top:57px; left:0; right:0; background:var(--panel); border-bottom:1px solid var(--line);
    flex-direction:column; gap:0; max-height:0; overflow:hidden; transition:max-height .2s ease;
  }
  .site-header__nav.open{ max-height:260px; }
  .site-header__nav a{ padding:14px 18px; border-bottom:1px solid var(--line); }
}

/* ---------- footer ---------- */
.site-footer{ border-top:1px solid var(--line); margin-top:50px; padding:36px 18px 30px; background:var(--panel); }
.site-footer__inner{ max-width:1080px; margin:0 auto; text-align:center; }
.site-footer__brand{ font-family:'Oswald',sans-serif; font-weight:700; color:var(--gold); font-size:17px; margin-bottom:8px; }
.site-footer__texto{ color:var(--muted); font-size:13px; max-width:44ch; margin:0 auto 18px; line-height:1.6; }
.site-footer__links{ display:flex; gap:18px; justify-content:center; flex-wrap:wrap; font-size:12.5px; margin-bottom:16px; }
.site-footer__links a{ color:var(--muted); }
.site-footer__links a:hover{ color:var(--gold); }
.site-footer__social{ display:flex; gap:16px; justify-content:center; font-size:12.5px; font-weight:600; margin-bottom:20px; }
.site-footer__social a{ color:var(--cream); }
.site-footer__legal{ color:var(--muted); font-size:11px; }

.payment-badges{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:18px; }
.payment-badge{
  font-size:11px; font-weight:600; color:var(--muted); background:var(--panel-2); border:1px solid var(--line);
  padding:5px 11px; border-radius:100px; cursor:default;
}

/* ---------- modals ---------- */
.modal-overlay{ position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:90; opacity:0; pointer-events:none; transition:opacity .15s; }
.modal-overlay.open{ opacity:1; pointer-events:all; }
.modal{
  position:fixed; left:50%; top:50%; transform:translate(-50%,-46%); width:min(92vw, 420px); max-height:80vh;
  overflow-y:auto; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  z-index:91; opacity:0; pointer-events:none; transition:opacity .15s, transform .2s;
}
.modal.open{ opacity:1; pointer-events:all; transform:translate(-50%,-50%); }
.modal__head{ display:flex; justify-content:space-between; align-items:center; padding:16px 18px; border-bottom:1px solid var(--line); }
.modal__head h3{ margin:0; font-family:'Oswald',sans-serif; font-size:16px; color:var(--gold); }
.modal__close{ background:none; border:none; color:var(--muted); font-size:16px; cursor:pointer; }
.modal__body{ padding:16px 18px 22px; font-size:13.5px; line-height:1.7; color:var(--cream); white-space:pre-line; }

/* ================= PRODUCT PAGE ================= */
.product-page{ padding-bottom:100px; } /* espacio para la barra fija inferior en móvil */

.breadcrumb{ font-size:12px; color:var(--muted); padding:14px 18px 0; max-width:1080px; margin:0 auto; }
.breadcrumb a{ color:var(--muted); }
.breadcrumb a:hover{ color:var(--gold); }

.product-layout{ max-width:1080px; margin:0 auto; padding:18px; display:grid; grid-template-columns:1fr; gap:26px; }
@media (min-width:860px){ .product-layout{ grid-template-columns:1.1fr 1fr; gap:40px; } }

/* galería */
.gallery{ position:relative; }
.gallery__main{
  border-radius:var(--radius); overflow:hidden; background:var(--panel); border:1px solid var(--line);
  aspect-ratio:1/1;
}
.gallery__main img{ width:100%; height:100%; object-fit:cover; }
.gallery__thumbs{ display:flex; gap:8px; margin-top:10px; overflow-x:auto; scrollbar-width:none; }
.gallery__thumbs::-webkit-scrollbar{ display:none; }
.gallery__thumbs img{
  width:60px; height:60px; object-fit:cover; border-radius:9px; border:2px solid var(--line); cursor:pointer; flex:none;
}
.gallery__thumbs img.active{ border-color:var(--gold); }

/* signature: hang tag de precio, como las etiquetas reales de las gorras en el local */
.hang-tag{
  position:absolute; top:14px; right:14px; background:var(--panel); border:1.5px solid var(--gold);
  border-radius:8px; padding:10px 14px 8px; transform:rotate(4deg); box-shadow:0 6px 14px rgba(0,0,0,0.35);
  font-family:'Oswald',sans-serif;
}
.hang-tag::before{
  content:""; position:absolute; top:-9px; left:50%; transform:translateX(-50%); width:2px; height:12px; background:var(--line);
}
.hang-tag::after{
  content:""; position:absolute; top:-3px; left:50%; transform:translateX(-50%); width:7px; height:7px;
  border-radius:50%; background:var(--bg); border:1.5px solid var(--gold-dim);
}
.hang-tag .precio-oferta{ font-size:20px; font-weight:700; color:var(--gold); line-height:1; }
.hang-tag .precio-normal{ font-size:12px; color:var(--muted); text-decoration:line-through; }

/* info del producto */
.product-info .eyebrow{
  font-family:'Oswald',sans-serif; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold);
  margin-bottom:8px; display:flex; align-items:center; gap:8px;
}
.product-info .eyebrow::before{ content:""; width:14px; height:2px; background:var(--gold); }
.product-info h1{ font-family:'Oswald',sans-serif; font-size:26px; line-height:1.15; margin:0 0 10px; font-weight:700; }
.product-info .desc-corta{ color:var(--muted); font-size:14px; line-height:1.55; margin-bottom:18px; }

.price-row{ display:flex; align-items:baseline; gap:10px; margin-bottom:6px; }
.price-row .actual{ font-family:'Oswald',sans-serif; font-size:28px; font-weight:700; color:var(--gold); }
.price-row .anterior{ font-size:15px; color:var(--muted); text-decoration:line-through; }
.stock-flag{ font-size:12.5px; margin-bottom:20px; }
.stock-flag.low{ color:var(--red); font-weight:600; display:flex; align-items:center; gap:7px; }
.stock-flag.low::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--red); display:inline-block; animation:pulseDot 1.4s infinite; flex:none; }
.stock-flag.ok{ color:var(--muted); }
@keyframes pulseDot{ 0%,100%{ opacity:1; } 50%{ opacity:.25; } }

.option-block{ margin-bottom:20px; }
.option-block .label{ font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); font-weight:600; margin-bottom:9px; }
.color-swatches{ display:flex; gap:10px; flex-wrap:wrap; }
.color-swatch{
  width:36px; height:36px; border-radius:50%; border:2px solid var(--line); cursor:pointer; position:relative;
}
.color-swatch.selected{ border-color:var(--gold); box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--gold); }
.color-swatch .tick{ display:none; position:absolute; inset:0; align-items:center; justify-content:center; color:#fff; font-size:14px; text-shadow:0 1px 2px rgba(0,0,0,.6); }
.color-swatch.selected .tick{ display:flex; }
.size-options{ display:flex; gap:8px; flex-wrap:wrap; }
.size-btn{
  border:1.5px solid var(--line); background:var(--panel-2); color:var(--cream); padding:9px 16px; border-radius:9px;
  font-size:13px; font-weight:600; cursor:pointer;
}
.size-btn.selected{ border-color:var(--gold); background:rgba(232,178,61,0.12); color:var(--gold); }

.cta-row{ display:flex; gap:10px; margin-top:24px; flex-wrap:wrap; }
.cta-row .btn{ flex:1 1 100px; }
.btn{
  border:none; border-radius:12px; padding:15px 18px; font-family:'Oswald',sans-serif; font-weight:600;
  font-size:14px; text-transform:uppercase; letter-spacing:.02em; cursor:pointer; display:flex; align-items:center;
  justify-content:center; gap:8px; flex:1;
}
.btn.primary{ background:var(--gold); color:#1a1610; }
.btn.ghost{ background:var(--panel-2); color:var(--cream); border:1px solid var(--line); }
.btn svg{ width:17px; height:17px; }

.trust-row{ display:flex; gap:16px; margin-top:26px; flex-wrap:wrap; }
.trust-item{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); }
.trust-item svg{ width:16px; height:16px; color:var(--gold); flex:none; }

.desc-larga{ max-width:1080px; margin:34px auto 0; padding:0 18px; color:var(--cream); font-size:14.5px; line-height:1.75; }
.desc-larga h2{ font-family:'Oswald',sans-serif; font-size:17px; color:var(--gold); text-transform:uppercase; letter-spacing:.05em; margin-bottom:12px; }

/* ofertas por combo (ej: "Lleva 2 por $38.99") — rediseño persuasivo */
.combo-offers{ max-width:1080px; margin:20px auto 0; padding:0 18px; display:flex; flex-direction:column; gap:10px; }
.combo-card{
  position:relative; background:var(--panel-2); border:1.5px solid var(--line); border-radius:14px;
  padding:14px 18px; overflow:hidden;
}
.combo-card.featured{
  border-color:var(--gold);
  background:linear-gradient(135deg, rgba(232,178,61,0.16), rgba(232,178,61,0.03));
  box-shadow:0 0 0 1px rgba(232,178,61,0.25), 0 6px 18px rgba(232,178,61,0.08);
}
.combo-ribbon{
  position:absolute; top:11px; right:-32px; background:var(--gold); color:#1a1610; font-size:9.5px; font-weight:800;
  letter-spacing:.05em; padding:4px 36px; transform:rotate(35deg); text-transform:uppercase;
  font-family:'Oswald',sans-serif;
}
.combo-card__head{ display:flex; align-items:center; gap:9px; margin-bottom:7px; flex-wrap:wrap; }
.combo-card__tag{ font-size:10.5px; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:.03em; }
.combo-card__qty{ font-family:'Oswald',sans-serif; font-weight:600; font-size:14px; color:var(--cream); }
.combo-card__prices{ display:flex; align-items:baseline; gap:11px; flex-wrap:wrap; }
.combo-card__price{ font-family:'Oswald',sans-serif; font-weight:700; font-size:23px; color:var(--gold); }
.combo-card__old{ font-size:13px; color:var(--muted); text-decoration:line-through; }
.combo-card__meta{ font-size:12px; color:var(--muted); margin-top:5px; }
.combo-card__save{ color:var(--green); font-weight:700; }

/* barra de contador regresivo real (solo aparece si el producto tiene fecha límite configurada) */
.countdown-bar{
  background:linear-gradient(90deg, #c1453f, #8a2f2b); color:#fff; text-align:center; padding:11px 14px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:12.5px; letter-spacing:.02em;
  display:flex; align-items:center; justify-content:center; gap:9px; flex-wrap:wrap;
  text-transform:uppercase;
}
.countdown-bar #countdownTime{
  background:rgba(255,255,255,0.2); padding:4px 11px; border-radius:7px; font-variant-numeric:tabular-nums;
  letter-spacing:.06em; font-size:13.5px;
}

/* nota de precio especial por método de pago */
.alt-payment-note{
  max-width:1080px; margin:12px auto 0; padding:0 18px;
}
.alt-payment-note .inner{
  background:var(--panel-2); border:1px dashed var(--gold-dim); border-radius:10px; padding:11px 14px;
  font-size:12.5px; color:var(--cream); display:flex; align-items:center; gap:8px;
}
.alt-payment-note b{ color:var(--gold); }

/* stack de imágenes largas tipo landing/publicidad — full width en móvil,
   alineado al ancho de product-layout en escritorio */
.landing-stack{ width:100%; margin-top:34px; }
.landing-stack img{ width:100%; display:block; }
@media (min-width:860px){
  .landing-stack{ max-width:1080px; margin-left:auto; margin-right:auto; padding:0 18px; }
}

/* barra fija inferior (móvil) */
.sticky-buybar{
  position:fixed; bottom:0; left:0; right:0; z-index:50; background:var(--panel); border-top:1px solid var(--line);
  padding:12px 16px; display:flex; align-items:center; gap:12px;
}
.sticky-buybar .precio{ font-family:'Oswald',sans-serif; font-weight:700; color:var(--gold); font-size:16px; flex:none; }
.sticky-buybar .btn{ flex:1; padding:13px; }
@media (min-width:860px){ .sticky-buybar{ display:none; } }

/* ================= CATÁLOGO ================= */
.catalog-header{ max-width:1080px; margin:0 auto; padding:26px 18px 6px; }
.catalog-header h1{ font-family:'Oswald',sans-serif; font-size:24px; margin:0 0 14px; }
.search-box{ display:flex; gap:8px; }
.search-box input{
  flex:1; background:var(--panel); border:1px solid var(--line); border-radius:10px; color:var(--cream);
  padding:12px 14px; font-size:14px;
}
.search-box button{ background:var(--gold); border:none; border-radius:10px; padding:0 18px; font-weight:700; cursor:pointer; }

.filtros-avanzados{ background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:16px; margin-bottom:6px; }
.filtros-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:12px; }
.filtros-grid .field{ margin-bottom:0; }
.filtros-grid label{ display:block; font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; margin-bottom:5px; font-weight:600; }
.filtros-grid input, .filtros-grid select{
  width:100%; background:var(--panel-2); border:1px solid var(--line); border-radius:9px; color:var(--cream);
  padding:9px 10px; font-size:13px;
}
.checkbox-field{ display:flex; align-items:flex-end; }
.checkbox-field .checkbox-row{ display:flex; align-items:center; gap:7px; font-size:13px; color:var(--cream); padding-bottom:9px; }

.catalog-grid{ max-width:1080px; margin:0 auto; padding:20px 18px 60px; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media (min-width:640px){ .catalog-grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:900px){ .catalog-grid{ grid-template-columns:repeat(4,1fr); } }

.product-card{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; position:relative; }
.product-card__img{ aspect-ratio:1/1; background:var(--panel-2); overflow:hidden; }
.product-card__img img{ width:100%; height:100%; object-fit:cover; }
.product-card__body{ padding:12px 12px 14px; }
.product-card__name{ font-size:13px; font-weight:600; margin-bottom:6px; line-height:1.3; }
.product-card__price{ font-family:'Oswald',sans-serif; font-weight:700; color:var(--gold); font-size:15px; }
.product-card__price .anterior{ color:var(--muted); text-decoration:line-through; font-size:11.5px; margin-left:6px; }
.product-card .badge-oferta{
  position:absolute; top:10px; left:10px; background:var(--red); color:#fff; font-size:10.5px; font-weight:700;
  padding:3px 9px; border-radius:100px; text-transform:uppercase; letter-spacing:.03em;
}
.empty-catalog{ text-align:center; color:var(--muted); padding:60px 20px; }

/* ================= TESTIMONIOS ================= */
.testimonios-section{ max-width:1080px; margin:40px auto 0; padding:0 18px 10px; }
.testimonios-titulo{
  font-family:'Oswald',sans-serif; font-size:18px; color:var(--gold); text-transform:uppercase;
  letter-spacing:.05em; margin:0 0 16px; text-align:center;
}
.testimonios-slider{
  display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:12px;
  -webkit-overflow-scrolling:touch;
}
.testimonio-card{
  flex:0 0 auto; width:210px; scroll-snap-align:start; background:var(--panel); border:1px solid var(--line);
  border-radius:16px; overflow:hidden; display:flex; flex-direction:column;
}
.testimonio-card__foto{ width:100%; aspect-ratio:9/16; background:var(--panel-2); overflow:hidden; }
.testimonio-card__foto img{ width:100%; height:100%; object-fit:cover; display:block; }
.testimonio-card__body{ padding:13px; display:flex; flex-direction:column; gap:7px; flex:1; }
.testimonio-card__estrellas{ color:var(--gold); font-size:13px; letter-spacing:2px; }
.testimonio-card__comentario{ font-size:12.5px; color:var(--cream); line-height:1.5; margin:0; font-style:italic; }
.testimonio-card__autor{ font-size:12px; font-weight:600; color:var(--muted); margin-top:auto; }
.testimonio-card__autor span{ font-weight:400; }
.testimonio-card__producto{
  display:flex; align-items:center; gap:8px; margin-top:6px; padding-top:10px; border-top:1px solid var(--line);
  font-size:11.5px; color:var(--gold); font-weight:600;
}
.testimonio-card__producto img{ width:28px; height:28px; border-radius:6px; object-fit:cover; flex:none; background:var(--panel-2); }

/* ================= CHECKOUT MODAL ================= */
.checkout-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,0.65); z-index:190; opacity:0; pointer-events:none; transition:opacity .15s;
}
.checkout-overlay.open{ opacity:1; pointer-events:all; }
.checkout-modal{
  position:fixed; left:50%; top:50%; transform:translate(-50%,-46%); width:min(94vw, 440px); max-height:88vh;
  overflow-y:auto; background:var(--panel); border:1px solid var(--line); border-radius:18px;
  z-index:191; opacity:0; pointer-events:none; transition:opacity .15s, transform .2s;
}
.checkout-modal.open{ opacity:1; pointer-events:all; transform:translate(-50%,-50%); }
.checkout-modal__head{
  display:flex; justify-content:space-between; align-items:center; padding:16px 18px; border-bottom:1px solid var(--line);
  position:sticky; top:0; background:var(--panel); z-index:2;
}
.checkout-modal__head h3{ margin:0; font-family:'Oswald',sans-serif; font-size:16px; color:var(--gold); }
.checkout-modal__body{ padding:16px 18px 22px; }

.checkout-summary{ display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.checkout-summary__name{ font-size:13.5px; font-weight:600; }
.checkout-summary__price{ font-family:'Oswald',sans-serif; font-weight:700; font-size:19px; color:var(--gold); }

.checkout-modal .field, .cart-drawer .field{ margin-bottom:14px; }
.checkout-modal label, .cart-drawer label{ font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); font-weight:600; display:block; margin-bottom:6px; }
.checkout-modal input, .checkout-modal select, .checkout-modal textarea,
.cart-drawer input, .cart-drawer select, .cart-drawer textarea{
  width:100%; background:var(--panel-2); border:1px solid var(--line); border-radius:9px; color:var(--cream);
  padding:11px 12px; font-size:13.5px; font-family:inherit;
}
.checkout-modal textarea, .cart-drawer textarea{ resize:vertical; }
.checkout-modal select:disabled, .cart-drawer select:disabled{ opacity:.5; }
.checkout-honeypot{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }

.checkout-phone-row{ display:flex; gap:8px; }
.checkout-phone-row select{ flex:0 0 108px; }
.checkout-phone-row input{ flex:1; }

.checkout-qty-row{ display:flex; align-items:center; gap:10px; }
.checkout-qty-btn{
  width:38px; height:38px; border-radius:9px; border:1px solid var(--line); background:var(--panel-2);
  color:var(--cream); font-size:18px; cursor:pointer; flex:none; line-height:1;
}
.checkout-qty-row input{ text-align:center; max-width:70px; }

.checkout-status{ margin-top:10px; font-size:12.5px; text-align:center; min-height:16px; color:var(--muted); }
.checkout-status.error{ color:#d97b6c; }
.checkout-status.ok{ color:#7fb87f; }

/* ================= PROBADOR — MODAL PANTALLA COMPLETA ================= */
.tryon-fullmodal{
  position:fixed; inset:0; z-index:250; background:var(--bg);
  display:flex; flex-direction:column; opacity:0; pointer-events:none; transition:opacity .15s;
}
.tryon-fullmodal.open{ opacity:1; pointer-events:all; }
.tryon-fullmodal__bar{
  flex:none; display:flex; justify-content:flex-end; align-items:center; padding:10px 14px;
  background:var(--panel); border-bottom:1px solid var(--line);
  padding-top:calc(10px + env(safe-area-inset-top, 0px));
}
.tryon-fullmodal__close{
  display:flex; align-items:center; gap:8px; background:var(--panel-2); border:1px solid var(--line);
  color:var(--cream); padding:10px 18px; border-radius:10px; font-family:'Oswald',sans-serif; font-weight:600;
  font-size:13px; cursor:pointer;
}
.tryon-fullmodal__close:hover{ border-color:var(--gold); color:var(--gold); }
.tryon-fullmodal__iframe{ flex:1; width:100%; border:none; background:var(--bg); }

/* ================= CARRITO ================= */
.cart-overlay{ position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:195; opacity:0; pointer-events:none; transition:opacity .15s; }
.cart-overlay.open{ opacity:1; pointer-events:all; }
.cart-drawer{
  position:fixed; top:0; right:0; bottom:0; width:min(92vw, 400px); background:var(--panel);
  border-left:1px solid var(--line); z-index:196; transform:translateX(100%); transition:transform .25s ease;
  display:flex; flex-direction:column;
}
.cart-drawer.open{ transform:translateX(0); }
.cart-drawer__head{ display:flex; justify-content:space-between; align-items:center; padding:16px 18px; border-bottom:1px solid var(--line); flex:none; }
.cart-drawer__head h3{ margin:0; font-family:'Oswald',sans-serif; color:var(--gold); font-size:16px; }
.cart-drawer__body{ padding:16px 18px 24px; overflow-y:auto; flex:1; }

.cart-item{ display:flex; gap:10px; padding:12px 0; border-bottom:1px solid var(--line); align-items:flex-start; }
.cart-item__img{ width:52px; height:52px; border-radius:8px; object-fit:cover; background:var(--panel-2); flex:none; }
.cart-item__body{ flex:1; min-width:0; }
.cart-item__name{ font-size:13px; font-weight:600; }
.cart-item__variant{ font-size:11.5px; color:var(--muted); margin-top:2px; }
.cart-item__qty-row{ display:flex; align-items:center; gap:8px; margin-top:8px; }
.cart-item__qty{ font-size:13px; min-width:16px; text-align:center; }
.cart-item__remove{ background:none; border:none; color:var(--red); font-size:11px; cursor:pointer; margin-left:auto; text-decoration:underline; }
.cart-item__subtotal{ font-family:'Oswald',sans-serif; font-weight:700; color:var(--gold); font-size:13.5px; white-space:nowrap; }

.cart-total-row{
  display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid var(--line);
  margin-bottom:16px; font-family:'Oswald',sans-serif; font-weight:700; font-size:17px; color:var(--gold);
}

/* ícono de carrito en el header */
.cart-icon-btn{ position:relative; background:none; border:none; color:var(--cream); cursor:pointer; padding:4px; display:flex; align-items:center; }
.cart-icon-btn svg{ width:21px; height:21px; }
.cart-badge{
  position:absolute; top:-4px; right:-6px; background:var(--gold); color:#1a1610; font-size:10px; font-weight:800;
  min-width:16px; height:16px; border-radius:100px; display:none; align-items:center; justify-content:center; padding:0 3px;
}
