/* ================================================================
   JEC Store v2 — store.css
   WooCommerce + diseño JEC oscuro
   ================================================================ */

/* 1. Tokens */
:root {
  --bg:          #050508;
  --bg-2:        #0c0c12;
  --surface:     #111118;
  --surface-2:   #18181f;
  --line:        rgba(255,255,255,0.07);
  --line-s:      rgba(255,255,255,0.18);
  --ink:         #ffffff;
  --ink-soft:    rgba(255,255,255,0.72);
  --ink-muted:   rgba(255,255,255,0.45);
  --ink-faint:   rgba(255,255,255,0.18);
  --lime:        #bdf522;
  --lime-glow:   rgba(189,245,34,0.22);
  --pink:        #fa51a2;
  --violet:      #a609f0;
  --red:         #ff4444;
  --green:       #22c55e;
  --nav-h:       68px;
  --r-sm:        10px;
  --r-md:        16px;
  --r-lg:        24px;
  --r-pill:      999px;
  --container:   1280px;
  --ease:        cubic-bezier(0.4,0,0.2,1);
  --ease-s:      cubic-bezier(0.34,1.56,0.64,1);
}

/* 2. Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:16px;line-height:1.6;min-height:100vh;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,select,textarea{font-family:inherit;}
ul,ol{list-style:none;}

/* 3. Utilidades */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 32px;}
@media(max-width:640px){.container{padding:0 16px;}}
.font-display{font-family:'Boldonse','Arial Black',sans-serif;font-weight:400;text-transform:uppercase;}

/* 4. Botones */
.btn,.button,.wc-forward{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;
  padding:13px 26px;border-radius:var(--r-pill);
  cursor:pointer;text-decoration:none;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s;
  white-space:nowrap;line-height:1;border:none;
}
.btn--primary,button[type="submit"].btn,
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
#place_order,
.checkout-button{
  background:var(--lime)!important;color:#000!important;
}
.btn--primary:hover,
.woocommerce .button.alt:hover,
#place_order:hover,
.checkout-button:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 10px 32px var(--lime-glow)!important;
  color:#000!important;
}
.btn--ghost{background:rgba(255,255,255,.06);color:var(--ink-soft);border:1px solid var(--line-s);}
.btn--ghost:hover{background:rgba(255,255,255,.12);color:var(--ink);}
.btn--wa{background:#25d366!important;color:#fff!important;}
.btn--wa:hover{transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(37,211,102,.35)!important;}
.btn--sm{padding:9px 18px!important;font-size:11px!important;}
.btn--lg{padding:17px 34px!important;font-size:14px!important;}
.btn--full{width:100%!important;}

/* WooCommerce buttons override */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background:rgba(255,255,255,.07)!important;color:var(--ink-soft)!important;
  border:1px solid var(--line-s)!important;border-radius:var(--r-pill)!important;
  font-family:'DM Sans',sans-serif!important;font-weight:700!important;
  font-size:12px!important;letter-spacing:.05em!important;text-transform:uppercase!important;
  padding:11px 22px!important;
  transition:all .25s!important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover{
  background:rgba(255,255,255,.13)!important;color:var(--ink)!important;
  transform:translateY(-1px)!important;
}

/* ================================================================
   HEADER
   ================================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--nav-h);
  background:rgba(5,5,8,.55);
  backdrop-filter:blur(22px) saturate(1.8);
  -webkit-backdrop-filter:blur(22px) saturate(1.8);
  border-bottom:1px solid var(--line);
  transition:background .4s,border-color .4s;
}
.site-header.is-solid{background:rgba(5,5,8,.95);border-color:var(--line-s);}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.nav__logo{
  font-family:'Boldonse',sans-serif;font-size:1.45rem;text-transform:uppercase;
  color:var(--lime);letter-spacing:-.02em;
  text-shadow:0 0 32px rgba(189,245,34,.5);flex-shrink:0;
}
.nav__logo span{color:var(--ink-faint);font-size:.85em;}
.nav__right{display:flex;align-items:center;gap:10px;flex-shrink:0;}

/* Carrito en nav — usa el carrito nativo de WC */
.nav__cart{
  position:relative;display:flex;align-items:center;gap:7px;
  padding:8px 16px;border-radius:var(--r-pill);
  border:1px solid var(--line-s);background:rgba(255,255,255,.05);
  color:var(--ink-soft);font-size:13px;font-weight:600;
  transition:background .2s,color .2s;cursor:pointer;text-decoration:none;
}
.nav__cart:hover{background:rgba(255,255,255,.1);color:var(--ink);}
.nav__cart svg{width:16px;height:16px;}
.nav__cart-count{
  position:absolute;top:-5px;right:-5px;
  background:var(--lime);color:#000;
  font-size:10px;font-weight:800;min-width:18px;height:18px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;padding:0 4px;
}

/* ================================================================
   CATÁLOGO PRINCIPAL
   ================================================================ */
.catalog-page{padding:calc(var(--nav-h) + 48px) 0 100px;min-height:100vh;}
.catalog-topbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;margin-bottom:40px;flex-wrap:wrap;
}
.catalog-topbar__left{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.catalog-topbar__title{
  font-family:'Boldonse',sans-serif;
  font-size:clamp(1.8rem,3.5vw,3rem);
  text-transform:uppercase;letter-spacing:-.02em;
}
.catalog-topbar__title em{font-style:normal;color:var(--lime);}
.catalog-topbar__count{font-size:.82rem;color:var(--ink-muted);font-weight:500;}

/* Grid de productos */
.products-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;
}
@media(max-width:660px){.products-grid{grid-template-columns:1fr;}}

/* Tarjeta de producto */
.product-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
  position:relative;
}
.product-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  border-color:rgba(255,255,255,.14);
}
.product-card__badge{
  position:absolute;top:14px;left:14px;z-index:2;
  font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 12px;border-radius:var(--r-pill);
  background:var(--lime);color:#000;
}
.product-card__badge--preventa{background:var(--violet)!important;color:#fff!important;}
.product-card__badge--agotado{background:var(--surface-2)!important;color:var(--ink-muted)!important;border:1px solid var(--line-s)!important;}
.product-card__badge--oferta{background:var(--pink)!important;color:#fff!important;}

.product-card__gallery{
  position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface-2);flex-shrink:0;
}
.product-card__gallery img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s var(--ease);
}
.product-card:hover .product-card__gallery img{transform:scale(1.05);}
.product-card__gallery-nav{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;
  padding:0 10px;opacity:0;transition:opacity .2s;
}
.product-card:hover .product-card__gallery-nav{opacity:1;}
.product-card__nav-btn{
  width:32px;height:32px;border-radius:50%;
  background:rgba(0,0,0,.7);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;color:var(--ink);
  cursor:pointer;transition:background .2s;flex-shrink:0;
}
.product-card__nav-btn:hover{background:rgba(0,0,0,.9);}
.product-card__nav-btn svg{width:14px;height:14px;}
.product-card__dots{
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:5px;
}
.product-card__dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.4);transition:background .2s,transform .2s;}
.product-card__dot.is-active{background:var(--lime);transform:scale(1.4);}
.product-card__gallery-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--ink-faint);}

.product-card__body{flex:1;display:flex;flex-direction:column;padding:20px;}
.product-card__meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap;}
.product-card__line{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);font-weight:600;}
.product-card__sep{width:1px;height:10px;background:var(--line-s);}
.product-card__publisher{font-size:10px;color:var(--ink-faint);}
.product-card__title{font-family:'Boldonse',sans-serif;font-size:1.2rem;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:6px;line-height:1.2;}
.product-card__tagline{font-size:.85rem;color:var(--ink-muted);line-height:1.55;margin-bottom:12px;flex:1;}
.product-card__chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px;}
.chip{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:var(--r-pill);border:1px solid var(--line-s);color:var(--ink-muted);background:rgba(255,255,255,.03);}
.product-card__stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin-bottom:16px;}
.product-card__stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 6px;border-right:1px solid var(--line);}
.product-card__stat:last-child{border-right:none;}
.product-card__stat-val{font-size:.88rem;font-weight:700;color:var(--ink);line-height:1;}
.product-card__stat-lbl{font-size:9px;color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase;}
.product-card__price-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px;gap:8px;flex-wrap:wrap;}
.product-card__price-label{font-size:10px;color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:2px;}
.product-card__price-amount{font-family:'Boldonse',sans-serif;font-size:1.4rem;color:var(--lime);letter-spacing:-.02em;line-height:1;display:block;}
.product-card__price-min{font-size:11px;color:var(--ink-muted);}
.product-card__actions{display:flex;gap:8px;}
.product-card__actions .btn{flex:1;}

/* ================================================================
   WOOCOMMERCE — Sobrescrituras visuales completas
   ================================================================ */

/* Páginas WC */
body.woocommerce,body.woocommerce-page,
body.woocommerce-cart,body.woocommerce-checkout{background:var(--bg)!important;color:var(--ink)!important;}

.jec-wc-main{padding:calc(var(--nav-h) + 48px) 0 80px;min-height:100vh;}

/* Breadcrumb */
.woocommerce-breadcrumb{
  font-family:'DM Sans',sans-serif!important;font-size:.82rem!important;color:var(--ink-muted)!important;
  background:none!important;padding:0 0 20px!important;margin-bottom:0!important;
}
.woocommerce-breadcrumb a{color:var(--ink-muted)!important;}
.woocommerce-breadcrumb a:hover{color:var(--lime)!important;}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-radius:var(--r-md)!important;font-family:'DM Sans',sans-serif!important;font-size:.9rem!important;border-top:none!important;
  display:flex!important;align-items:center!important;gap:10px!important;padding:14px 18px!important;
}
.woocommerce-message{background:rgba(34,197,94,.1)!important;color:var(--green)!important;border:1px solid rgba(34,197,94,.2)!important;}
.woocommerce-info{background:rgba(166,9,240,.1)!important;color:#c084fc!important;border:1px solid rgba(166,9,240,.2)!important;}
.woocommerce-error{background:rgba(255,68,68,.1)!important;color:#fca5a5!important;border:1px solid rgba(255,68,68,.2)!important;list-style:none!important;}
.woocommerce-message a,.woocommerce-info a,.woocommerce-error a{color:var(--lime)!important;}

/* Inputs */
.woocommerce input[type="text"],.woocommerce input[type="email"],
.woocommerce input[type="tel"],.woocommerce input[type="number"],
.woocommerce input[type="password"],.woocommerce select,.woocommerce textarea,
.woocommerce-page input[type="text"],.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],.woocommerce-page select,
.woocommerce-page textarea{
  background:rgba(255,255,255,.05)!important;border:1px solid var(--line-s)!important;
  color:var(--ink)!important;border-radius:var(--r-sm)!important;
  font-family:'DM Sans',sans-serif!important;font-size:.9rem!important;
  padding:11px 14px!important;width:100%!important;box-sizing:border-box!important;
  transition:border-color .2s,box-shadow .2s!important;height:auto!important;
}
.woocommerce input:focus,.woocommerce select:focus,.woocommerce textarea:focus{
  outline:none!important;border-color:var(--lime)!important;
  box-shadow:0 0 0 3px rgba(189,245,34,.12)!important;
}
.woocommerce input::placeholder,.woocommerce textarea::placeholder{color:var(--ink-faint)!important;}
.woocommerce label{color:var(--ink-soft)!important;font-size:.83rem!important;font-weight:500!important;font-family:'DM Sans',sans-serif!important;}

/* Select2 */
.select2-container--default .select2-selection--single{
  background:rgba(255,255,255,.05)!important;border:1px solid var(--line-s)!important;
  border-radius:var(--r-sm)!important;height:auto!important;padding:11px 14px!important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink)!important;line-height:1.5!important;padding:0!important;}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%!important;}
.select2-dropdown{background:var(--surface)!important;border:1px solid var(--line-s)!important;border-radius:var(--r-md)!important;}
.select2-container--default .select2-results__option{font-family:'DM Sans',sans-serif!important;color:var(--ink-soft)!important;}
.select2-container--default .select2-results__option--highlighted{background:var(--surface-2)!important;color:var(--ink)!important;}
.select2-search--dropdown .select2-search__field{background:var(--surface-2)!important;border:1px solid var(--line-s)!important;color:var(--ink)!important;border-radius:6px!important;}

/* ── CARRITO ── */
.woocommerce-cart .woocommerce{padding-top:20px;}
table.shop_table{
  border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;
  border-collapse:separate!important;border-spacing:0!important;
  background:var(--surface)!important;overflow:hidden!important;
  font-family:'DM Sans',sans-serif!important;
}
table.shop_table th{
  background:var(--surface-2)!important;color:var(--ink-muted)!important;
  font-size:.72rem!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;
  border-bottom:1px solid var(--line)!important;padding:14px 16px!important;border-top:none!important;
}
table.shop_table td{
  background:transparent!important;color:var(--ink-soft)!important;
  border-bottom:1px solid var(--line)!important;padding:16px!important;
  font-family:'DM Sans',sans-serif!important;
}
table.shop_table tr:last-child td{border-bottom:none!important;}
.woocommerce-cart-form .product-thumbnail img{border-radius:8px!important;}
.cart-subtotal,.order-total{font-family:'DM Sans',sans-serif!important;}
.order-total .amount{font-family:'Boldonse',sans-serif!important;color:var(--lime)!important;font-size:1.4rem!important;}
.cart_totals{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;padding:24px!important;}
.cart_totals h2{font-family:'DM Sans',sans-serif!important;font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.16em!important;color:var(--ink-muted)!important;margin-bottom:16px!important;}
.woocommerce-shipping-totals td{color:var(--ink-soft)!important;}

/* Qty input */
.woocommerce .quantity .qty{
  background:var(--surface)!important;border:1px solid var(--line-s)!important;
  color:var(--ink)!important;border-radius:8px!important;font-family:'DM Sans',sans-serif!important;
  font-size:.95rem!important;padding:8px 12px!important;width:80px!important;text-align:center!important;
}

/* ── CHECKOUT ── */
.woocommerce-checkout{font-family:'DM Sans',sans-serif!important;}
#customer_details .woocommerce-billing-fields h3,
#order_review_heading,.woocommerce-checkout h3{
  font-family:'DM Sans',sans-serif!important;font-size:.72rem!important;text-transform:uppercase!important;
  letter-spacing:.18em!important;color:var(--ink-muted)!important;
  border-bottom:1px solid var(--line)!important;padding-bottom:12px!important;margin-bottom:20px!important;
  font-weight:700!important;
}
#order_review{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;padding:24px!important;}
#payment{background:var(--surface-2)!important;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;padding:0!important;overflow:hidden!important;}
#payment ul.payment_methods{margin:0!important;padding:0!important;}
#payment ul.payment_methods li{padding:16px 20px!important;border-bottom:1px solid var(--line)!important;}
#payment ul.payment_methods li:last-child{border-bottom:none!important;}
#payment ul.payment_methods li label{color:var(--ink-soft)!important;font-weight:600!important;font-size:.9rem!important;}
#payment ul.payment_methods li input[type="radio"]{accent-color:var(--lime);}
#payment div.payment_box{background:var(--bg-2)!important;border-radius:8px!important;padding:14px!important;margin:8px 0 0 28px!important;color:var(--ink-muted)!important;font-size:.83rem!important;}
#place_order{margin-top:20px!important;width:100%!important;font-size:.88rem!important;padding:16px!important;}

/* Stripe Elements dentro de WC */
#payment .StripeElement{
  background:rgba(255,255,255,.05)!important;border:1px solid var(--line-s)!important;
  border-radius:var(--r-sm)!important;padding:14px!important;
}

/* Resumen del pedido en checkout */
.woocommerce-checkout-review-order-table td.product-name{color:var(--ink-soft)!important;}
.woocommerce-checkout-review-order-table .order-total .amount{color:var(--lime)!important;font-family:'Boldonse',sans-serif!important;font-size:1.3rem!important;}

/* Fee de Stripe en el resumen */
.fee td{color:var(--red)!important;}

/* ── PÁGINA DE CONFIRMACIÓN ── */
.woocommerce-order{background:var(--bg)!important;}
.woocommerce-order .woocommerce-thankyou-order-received{
  font-family:'Boldonse',sans-serif!important;font-size:1.6rem!important;
  text-transform:uppercase!important;color:var(--lime)!important;margin-bottom:16px!important;
}
.woocommerce-order-details,.woocommerce-customer-details{
  background:var(--surface)!important;border:1px solid var(--line)!important;
  border-radius:var(--r-lg)!important;padding:24px!important;margin-bottom:20px!important;
}
.woocommerce-order-details h2,.woocommerce-customer-details h2{
  font-family:'DM Sans',sans-serif!important;font-size:.72rem!important;
  text-transform:uppercase!important;letter-spacing:.16em!important;color:var(--ink-muted)!important;margin-bottom:16px!important;
}
.woocommerce-table--order-details.shop_table th{background:var(--surface-2)!important;}

/* ── BLOQUE DE META DE PRODUCTO (short description) ── */
.jec-meta-block{display:flex;flex-wrap:wrap;gap:6px 20px;font-family:'DM Sans',sans-serif;font-size:.85rem;color:var(--ink-muted);margin:10px 0;}
.jec-meta-block span{display:flex;gap:4px;}
.jec-meta-block strong{color:var(--ink);}

/* Barra de envío gratis — aparece en el carrito */
.jec-free-shipping-bar{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  padding:14px 16px;margin-bottom:16px;
}
.jec-free-shipping-bar__label{font-size:.83rem;color:var(--ink-muted);margin-bottom:8px;line-height:1.5;}
.jec-free-shipping-bar__label strong{color:var(--lime);}
.jec-free-shipping-bar__track{height:3px;background:var(--line-s);border-radius:999px;overflow:hidden;}
.jec-free-shipping-bar__fill{height:100%;background:var(--lime);border-radius:999px;transition:width .5s var(--ease);}

/* ── MODAL DE PRODUCTO ── */
.product-modal-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(0,0,0,.85);backdrop-filter:blur(8px);
  opacity:0;pointer-events:none;
  transition:opacity .3s var(--ease);
  overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;
}
.product-modal-overlay.is-open{opacity:1;pointer-events:auto;}
.product-modal{
  background:var(--surface);border:1px solid var(--line-s);border-radius:var(--r-lg);
  width:100%;max-width:920px;position:relative;
  transform:translateY(20px) scale(.98);transition:transform .35s var(--ease-s);overflow:hidden;
}
.product-modal-overlay.is-open .product-modal{transform:none;}
.product-modal__close{
  position:absolute;top:14px;right:14px;z-index:2;
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.08);border:1px solid var(--line-s);
  display:flex;align-items:center;justify-content:center;color:var(--ink-soft);cursor:pointer;
  transition:background .2s;
}
.product-modal__close:hover{background:rgba(255,255,255,.15);color:var(--ink);}
.product-modal__close svg{width:15px;height:15px;}
.product-modal__grid{display:grid;grid-template-columns:1fr 1fr;}
@media(max-width:680px){.product-modal__grid{grid-template-columns:1fr;}}
.product-modal__gallery{background:var(--bg-2);}
.product-modal__main-img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block;transition:opacity .15s;}
.product-modal__thumbs{
  display:flex;gap:6px;padding:10px 12px;overflow-x:auto;scrollbar-width:none;background:rgba(0,0,0,.3);
}
.product-modal__thumbs::-webkit-scrollbar{display:none;}
.product-modal__thumb{
  width:50px;height:50px;border-radius:7px;overflow:hidden;flex-shrink:0;
  border:2px solid transparent;cursor:pointer;transition:border-color .2s;
}
.product-modal__thumb.is-active{border-color:var(--lime);}
.product-modal__thumb img{width:100%;height:100%;object-fit:cover;}
.product-modal__info{padding:28px 24px;display:flex;flex-direction:column;gap:0;overflow-y:auto;max-height:600px;}
.product-modal__eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:8px;}
.product-modal__title{font-family:'Boldonse',sans-serif;font-size:clamp(1.3rem,2.5vw,2rem);text-transform:uppercase;letter-spacing:-.02em;margin-bottom:8px;line-height:1.1;}
.product-modal__tagline{font-size:.88rem;color:var(--ink-muted);line-height:1.6;margin-bottom:16px;}
.product-modal__desc{font-size:.85rem;color:var(--ink-soft);line-height:1.75;margin-bottom:14px;}
.product-modal__highlights{display:flex;flex-direction:column;gap:5px;margin-bottom:16px;}
.product-modal__highlight{
  display:flex;align-items:flex-start;gap:8px;font-size:.82rem;color:var(--ink-soft);line-height:1.5;
  padding:7px 10px;background:rgba(255,255,255,.03);border-radius:8px;border:1px solid var(--line);
}
.product-modal__highlight::before{content:"→";color:var(--lime);flex-shrink:0;font-weight:700;}
.product-modal__price-block{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;margin-bottom:14px;}
.product-modal__price-label{font-size:10px;color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px;}
.product-modal__price{font-family:'Boldonse',sans-serif;font-size:1.7rem;color:var(--lime);letter-spacing:-.02em;}
.product-modal__price-min{font-size:11px;color:var(--ink-muted);margin-top:2px;}
.product-modal__actions{display:flex;flex-direction:column;gap:7px;margin-top:auto;padding-top:6px;}

/* Toast */
.toast-container{position:fixed;bottom:24px;right:24px;z-index:400;display:flex;flex-direction:column;gap:8px;pointer-events:none;}
.toast{
  display:flex;align-items:center;gap:10px;
  background:var(--surface-2);border:1px solid var(--line-s);border-radius:var(--r-md);
  padding:12px 16px;box-shadow:0 12px 40px rgba(0,0,0,.5);
  font-size:.85rem;color:var(--ink-soft);pointer-events:auto;min-width:240px;max-width:320px;
  transform:translateY(12px);opacity:0;animation:toastIn .3s var(--ease-s) forwards;
}
.toast.leaving{animation:toastOut .2s var(--ease) forwards;}
@keyframes toastIn{to{transform:translateY(0);opacity:1;}}
@keyframes toastOut{to{transform:translateY(8px);opacity:0;}}
.toast--success{border-left:3px solid var(--green);}
.toast--error{border-left:3px solid var(--red);}
.toast svg{width:15px;height:15px;flex-shrink:0;}
.toast--success svg{color:var(--green);}
.toast--error svg{color:var(--red);}

/* Footer */
.site-footer{padding:48px 0 28px;border-top:1px solid var(--line);background:var(--bg-2);}
.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:start;}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr;gap:24px;}}
.footer-logo{font-family:'Boldonse',sans-serif;font-size:1.3rem;text-transform:uppercase;color:var(--lime);letter-spacing:-.02em;margin-bottom:6px;}
.footer-desc{font-size:.8rem;color:var(--ink-muted);line-height:1.6;max-width:280px;}
.footer-col-title{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);font-weight:700;margin-bottom:10px;}
.footer-links{display:flex;flex-direction:column;gap:7px;}
.footer-links a{font-size:.83rem;color:var(--ink-soft);transition:color .2s;}
.footer-links a:hover{color:var(--lime);}
.footer-bottom{margin-top:28px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-copy{font-size:.75rem;color:var(--ink-faint);}

/* Responsive general */
@media(max-width:640px){
  .catalog-page{padding-top:calc(var(--nav-h) + 28px);}
  .product-modal__info{max-height:none;}
  .nav__cart span.nav__cart-label{display:none;}
}
