
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@600;700;800&display=swap');
:root{--red:#C8102E;--black:#111;--ink:#2d2d2d;--muted:#666;--soft:#f5f5f5;--line:#e4e4e4;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}
a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}.nav{min-height:78px;display:flex;align-items:center;gap:28px}.logo{width:52px;height:52px;display:block}
.brand-link{display:flex;align-items:center;gap:12px}.brand-text{font:800 18px Montserrat;letter-spacing:.5px;color:var(--ink)}
.navlinks{display:flex;gap:23px;align-items:center}.navlinks a{font:700 12px Montserrat;text-transform:uppercase;letter-spacing:.4px}.navlinks a:hover{color:var(--red)}
.mobile-menu{display:none;margin-left:auto;border:0;background:none;padding:6px;cursor:pointer;color:var(--ink)}
.mobile-menu svg{width:24px;height:24px;display:block}
.hero{min-height:650px;background:#111;color:#fff;display:flex;align-items:center;position:relative;overflow:hidden}.hero-art{position:absolute;inset:0 0 0 48%;background:linear-gradient(145deg,#252525,#090909 60%,#65091d)}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:top center;opacity:.55;mix-blend-mode:luminosity}
.hero-art:after{content:"BODYBUILDING  •  SCIENCE  •  DISCIPLINE";position:absolute;right:30px;bottom:35px;color:#777;font:800 11px Montserrat;letter-spacing:2px;transform:rotate(-90deg);transform-origin:right bottom}
.hero-content{position:relative;z-index:2;padding:95px 0;max-width:710px}.eyebrow{color:var(--red);font:800 11px Montserrat;letter-spacing:2px;text-transform:uppercase}
.hero h1{font:800 clamp(48px,7vw,82px)/.98 Montserrat;margin:15px 0;letter-spacing:-2px}.hero h1 span{color:var(--red)}.hero p{max-width:600px;color:#bbb;font-size:18px;line-height:1.7}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 28px;border-radius:3px;font:700 12.5px Montserrat;letter-spacing:.6px;text-transform:uppercase;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}
.btn-red{background:var(--red);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.btn-red:hover{background:#a80d26;box-shadow:0 6px 16px rgba(200,16,46,.28);transform:translateY(-1px)}
.btn-black{background:#111;color:#fff}
.btn-black:hover{background:#000;transform:translateY(-1px)}
.btn-green{background:#25D366;color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.btn-green:hover{background:#1fa853;box-shadow:0 6px 16px rgba(37,211,102,.28);transform:translateY(-1px)}
.btn-outline{border-color:#c9c9c9;color:var(--ink);background:transparent}
.btn-outline:hover{border-color:var(--ink);background:#fafafa}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.btn:active{transform:translateY(0)}
.hero .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.section{padding:82px 0}.gray{background:var(--soft)}.black{background:#111;color:#fff}.two{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
h2{font:800 clamp(32px,4vw,50px)/1.06 Montserrat;color:#111;margin:10px 0 16px}.black h2{color:#fff}.lead{max-width:700px;color:#666;line-height:1.75}.black .lead{color:#aaa}
.visual{min-height:410px;background:linear-gradient(145deg,#262626,#080808 55%,#68091d);display:flex;align-items:end;padding:25px;color:#ddd;font:800 11px Montserrat;letter-spacing:1px;overflow:hidden;position:relative}
.visual img{width:100%;height:100%;min-height:410px;object-fit:cover;display:block;position:absolute;inset:0}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:32px}.card{background:#fff;border:1px solid var(--line);padding:24px;min-height:180px}.card h3{font:700 18px Montserrat;margin:8px 0}.card p{font-size:14px;line-height:1.6;color:#666}.num{color:var(--red);font:800 24px Montserrat}
.category{min-height:230px;background:#111;color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden;background-size:cover;background-position:center;transition:transform .25s ease}
.category:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(6,6,6,.88) 100%)}
.category:hover{transform:translateY(-3px)}
.category>*{position:relative;z-index:1}
.category small{color:var(--red);font:800 11px Montserrat;letter-spacing:1px}
.category h3{font:800 22px Montserrat;margin:8px 0 4px;letter-spacing:.2px}
.category span{color:#ccc;font-size:12px;font-weight:600}
.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px}.product{border:1px solid var(--line);background:#fff;overflow:hidden}.product-info{padding:18px}.product-info h3{font:700 16px Montserrat;margin:0 0 7px}.product-info p{font-size:13px;line-height:1.55;color:#666}.price{font-weight:800;color:var(--red);margin-top:8px}.product .btn{width:100%;margin-top:13px}
.pagehero{background:#111;color:#fff;padding:70px 0;background-size:cover;background-position:center;position:relative}.pagehero.has-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#111 25%,rgba(17,17,17,.55) 65%,rgba(17,17,17,.35))}.pagehero .container{position:relative;z-index:1}.pagehero h1{font:800 clamp(42px,5vw,65px) Montserrat;margin:10px 0}.pagehero p{max-width:700px;color:#aaa;line-height:1.7}
.form{max-width:760px}.form label{display:block;font:800 12px Montserrat;margin-bottom:7px}.form input,.form textarea,.form select{width:100%;padding:13px;border:1px solid #ccc;border-radius:4px;margin-bottom:18px}.form textarea{min-height:140px}
.footer{background:#111;color:#fff;padding:58px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}.footer img{width:64px;height:64px}.footer h4{font:700 12px Montserrat;text-transform:uppercase}.footer a{display:block;color:#aaa;margin:9px 0;font-size:13px}.footer a:hover{color:#fff}.bottom{border-top:1px solid #333;margin-top:32px;padding-top:16px;color:#777;font-size:12px}
@media(max-width:850px){.navlinks{display:none}.mobile-menu{display:block}.two{grid-template-columns:1fr}.grid,.catalog-grid,.footer-grid{grid-template-columns:1fr 1fr}.hero-art{inset:0;opacity:.35}.brand-section .visual{order:2}}
@media(max-width:560px){.container{width:min(var(--max),calc(100% - 28px))}.section{padding:58px 0}.grid,.catalog-grid,.footer-grid{grid-template-columns:1fr}.hero{min-height:680px}.hero h1{font-size:46px}
.nav{gap:10px}.logo{width:38px;height:38px}.brand-text{font-size:12.5px;line-height:1.15}
.nav-right{gap:8px}.header-actions{gap:6px}
.currency-icon-link{height:36px;padding:0 7px;gap:3px}.currency-icon-link svg{width:16px;height:16px}.currency-code-label{font-size:10px}
.cart-icon-link{width:36px;height:36px}.cart-icon-link svg{width:17px;height:17px}
.mobile-menu svg{width:20px;height:20px}}

.product-image-link{display:block;background:#f1f1f1;aspect-ratio:1/1;overflow:hidden}.product-image{width:100%;height:100%;object-fit:cover;display:block}
.product-category{font:800 10px Montserrat;letter-spacing:1.5px;color:#C8102E;margin-bottom:7px}
.detail-image-wrap{background:#f1f1f1;border:1px solid #e4e4e4;aspect-ratio:1/1;overflow:hidden}.detail-image{width:100%;height:100%;object-fit:cover;display:block}
.detail-layout{gap:70px}
.detail-info>.eyebrow{margin-bottom:10px}
.detail-info h2{margin:0 0 14px}
.detail-info .lead{margin-bottom:22px}
.detail-price{font:800 25px Montserrat;color:#C8102E;margin:0 0 16px}
.detail-stock-row{margin-bottom:24px}
.detail-description{color:#666;line-height:1.8;margin-bottom:28px}
.detail-block{border-top:1px solid #e4e4e4;padding:17px 0}.variant-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.variant-list span{border:1px solid #ccc;padding:8px 11px;font-size:12px}.detail-block ul{padding-left:20px;color:#666;line-height:1.7}
.navlinks.mobile-open{display:flex;position:absolute;left:0;right:0;top:78px;background:#fff;padding:20px;flex-direction:column;border-bottom:1px solid #ddd}

.category-index{grid-template-columns:repeat(3,1fr)}
.category-index .category{min-height:190px}
@media(max-width:850px){.category-index{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.category-index{grid-template-columns:1fr}}

/* ---------- Cart badge ---------- */

/* ---------- Stock badges ---------- */
.stock-text{display:inline-block;font:700 13px Montserrat;letter-spacing:.3px}
.stock-text.in-stock{color:#1f7a34}
.stock-text.out-of-stock{color:#8a8a8a;text-decoration:line-through}

/* ---------- Product card actions / Add to Cart ---------- */
.card-actions{display:flex;gap:10px;margin-top:15px}
.card-actions .btn{width:auto;flex:1;margin-top:0;padding:13px 12px;font-size:11px;letter-spacing:.4px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- Detail page qty + actions ---------- */
.qty-row{display:flex;align-items:center;gap:10px;margin:0 0 28px}
.qty-row label{font:800 11px Montserrat;text-transform:uppercase}
.qty-input{width:80px;padding:10px;border:1px solid #ccc;border-radius:4px}
.qty-stepper{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:4px;overflow:hidden;width:fit-content}
.qty-stepper .qty-input{width:52px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;text-align:center;padding:10px 4px;-moz-appearance:textfield}
.qty-stepper .qty-input::-webkit-outer-spin-button,.qty-stepper .qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-btn{background:#fff;border:none;width:38px;font:700 16px Montserrat;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center}
.qty-btn:hover:not(:disabled){background:var(--soft)}
.qty-btn:disabled{color:#ccc;cursor:not-allowed}
.qty-stepper-sm .qty-input{width:38px;padding:6px 2px;font-size:13px}
.qty-stepper-sm .qty-btn{width:28px;font-size:14px}
.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}

/* ---------- Cart / checkout page ---------- */
.checkout-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start}
@media(max-width:850px){.checkout-grid{grid-template-columns:1fr}}
.cart-row{display:grid;grid-template-columns:56px 1fr auto auto auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-row:last-child{border-bottom:none}
.cart-row-img{width:56px;height:56px;object-fit:cover;background:#f1f1f1;border:1px solid var(--line)}
.cart-row-name{font:700 14px Montserrat}
.cart-row-unit{font-size:12px;color:var(--muted);margin-top:3px}
.cart-row-total{font:800 14px Montserrat;color:var(--red);min-width:70px;text-align:right}
.cart-remove{border:none;background:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:4px 8px}
.cart-remove:hover{color:var(--red)}
.cart-qty-input{width:56px}
@media(max-width:560px){.cart-row{grid-template-columns:44px 1fr;column-gap:18px;row-gap:6px;grid-template-areas:"img info" "img qty" "img total" "img remove"}.cart-row-img{grid-area:img}.cart-row-info{grid-area:info;padding-left:2px}.qty-stepper-sm{grid-area:qty;justify-self:start}.cart-row-total{grid-area:total;text-align:left}.cart-remove{grid-area:remove;justify-self:start;padding-left:0}}
.cart-summary{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.cart-summary-row{display:flex;justify-content:space-between;font:800 17px Montserrat}
.min-order-note{background:rgba(200,16,46,.06);border:1px solid rgba(200,16,46,.3);border-left:4px solid #C8102E;color:#111;font-size:13.5px;line-height:1.5;padding:12px 14px;border-radius:4px;margin-top:12px}
.min-order-note strong{color:#C8102E}
.checkout-btn:disabled{opacity:.45;cursor:not-allowed}
.cart-tbd-note{font-size:12px;color:var(--muted);margin-top:8px}
.empty-cart{text-align:center;padding:20px 0}
.order-success{text-align:center}
.checkout-msg{margin-top:14px;padding:12px 14px;border-radius:4px;font-size:13px}
.checkout-msg.error{background:rgba(200,16,46,.08);color:var(--red)}
.checkout-msg.success{background:rgba(31,122,52,.1);color:#1f7a34}

/* ---------- Cart row variant label (size/color on the cart page) ---------- */
.cart-row-variant{font-size:12px;color:var(--red);margin-top:5px;font-weight:600}

/* ---------- Merch detail: gallery, color/size option groups ---------- */
.merch-gallery{display:flex;flex-direction:column;gap:14px}
.detail-image-wrap{position:relative}
.gallery-slide{position:absolute;inset:0;opacity:0;transition:opacity .25s ease;width:100%;height:100%;object-fit:cover}
.gallery-slide.active{position:relative;opacity:1}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:none;background:rgba(17,17,17,.55);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.gallery-arrow-prev{left:12px}
.gallery-arrow-next{right:12px}
.gallery-arrow:hover{background:rgba(17,17,17,.8)}
.gallery-dots{display:flex;gap:8px;justify-content:center}
.gallery-dot{width:9px;height:9px;border-radius:50%;border:none;background:#ddd;cursor:pointer;padding:0}
.gallery-dot.active{background:var(--red)}

.option-group{margin:0 0 28px}
.option-label{font:800 11px Montserrat;text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.option-selected{font:700 12px Inter;text-transform:none;letter-spacing:0;color:var(--ink);background:var(--soft);padding:3px 9px;border-radius:3px}
.swatch-row{display:flex;flex-wrap:wrap;gap:10px}
.color-swatch,.size-swatch{font:700 12px Montserrat;padding:10px 16px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;border-radius:3px}
.color-swatch:hover,.size-swatch:hover{border-color:var(--ink)}
.color-swatch.active,.size-swatch.active{border-color:var(--red);color:var(--red);background:rgba(200,16,46,.05)}
.color-swatch-custom,.size-swatch-custom{border-style:dashed;color:#888}
.color-swatch-custom.active,.size-swatch-custom.active{border-color:var(--red);color:var(--red);border-style:dashed}
.custom-request-field{margin-top:12px;padding:14px;background:var(--soft);border:1px solid var(--line);border-radius:4px}
.custom-request-field label{display:block;font:700 11px Montserrat;text-transform:uppercase;letter-spacing:.4px;color:#888;margin-bottom:8px}
.custom-request-field input{width:100%;padding:10px 12px;border:1px solid var(--line);font-size:14px;font-family:Inter}

/* ---------- Cart nav icon (replaces "Cart" text) ---------- */
.cart-icon-link{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--red);border-radius:4px;width:42px;height:42px}
.cart-icon-link svg{width:20px;height:20px;stroke:#fff}
.cart-badge{position:absolute;top:-6px;right:-6px;background:#fff;color:var(--red);font:800 10px Montserrat;border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;border:1.5px solid var(--red)}
.cart-badge[hidden]{display:none}

/* ---------- Category banner art (purpose-built category graphics) ---------- */
.category-banner{width:100%;line-height:0}
.category-banner img{width:100%;height:auto;display:block;max-height:420px;object-fit:cover}

/* ---------- Legal / info page long-form content ---------- */
.legal-content{max-width:760px}
.legal-content .legal-meta{color:#888;font-size:13px;margin-bottom:34px}
.legal-content .legal-intro{color:#555;line-height:1.8;margin-bottom:40px;font-size:15px}
.legal-content section{margin-bottom:40px}
.legal-content section:last-child{margin-bottom:0}
.legal-content h2{font:800 18px Montserrat;margin:0 0 18px;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.legal-content h3{font:700 14px Montserrat;margin:22px 0 8px}
.legal-content p{color:#555;line-height:1.8;margin:0 0 14px;font-size:14px}
.legal-content ul{margin:0 0 14px;padding-left:20px}
.legal-content li{color:#555;line-height:1.8;margin-bottom:10px;font-size:14px}
.legal-content li strong{color:var(--ink)}
.legal-content .legal-contact-card{background:var(--soft);border:1px solid var(--line);padding:26px 28px;margin-top:6px}
.legal-content .legal-contact-card p{margin-bottom:8px}
.legal-content .legal-contact-card p:last-child{margin-bottom:0}

/* ---------- Cart price breakdown, promo code, payment method ---------- */
.price-breakdown{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.price-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#555}
.price-row[hidden]{display:none}
.price-row.strike span:last-child{text-decoration:line-through;color:#999}
.price-row.discount{color:#1f7a34;font-weight:700}
.price-row.total{font:800 19px Montserrat;color:var(--ink);padding-top:10px;border-top:1px solid var(--line);margin-top:2px}
.price-row.gift span:last-child{color:#1f7a34;font-weight:700}
.price-row.shipping span:last-child{font-weight:700}
.promo-nudge{background:rgba(31,122,52,.07);border:1px solid rgba(31,122,52,.25);color:#1f7a34;font-size:12.5px;font-weight:600;padding:10px 14px;border-radius:4px;margin-top:4px}
.promo-field-row{display:flex;gap:8px;margin:16px 0}
.promo-field-row input{flex:1;padding:12px 14px;border:1px solid var(--line);font-size:14px;font-family:Inter}
.promo-field-row button{white-space:nowrap;padding:12px 18px;font-size:11px}
.promo-status{font-size:12.5px;margin-top:-8px;margin-bottom:16px;font-weight:600}
.promo-status.valid{color:#1f7a34}
.promo-status.invalid{color:var(--red)}
.payment-method-select{width:100%;padding:13px 14px;border:1px solid var(--line);font:inherit;font-size:14px;background:#fff;margin-bottom:4px}
.cart-row.gift-row{opacity:.9}
.cart-row.gift-row .cart-row-total{color:#1f7a34;font-weight:700}
.gift-tag{display:inline-block;font:800 9.5px Montserrat;letter-spacing:.5px;text-transform:uppercase;color:#1f7a34;background:rgba(31,122,52,.1);padding:2px 7px;border-radius:3px;margin-left:6px}

/* ---------- Age gate ---------- */
.age-gate-overlay{position:fixed;inset:0;z-index:9999;background:#0a0a0a;display:flex;align-items:center;justify-content:center;padding:24px}
.age-gate-box{max-width:420px;width:100%;text-align:center;color:#fff}
.age-gate-logo{width:64px;height:64px;margin:0 auto 24px}
.age-gate-box h2{font:800 26px Montserrat;margin:0 0 14px;letter-spacing:.2px;color:#fff}
.age-gate-box p{color:#aaa;line-height:1.7;font-size:14px;margin:0 0 8px}
.age-gate-question{color:#fff!important;font-weight:700;font-size:15px;margin-top:18px!important;margin-bottom:22px!important}
.age-gate-actions{display:flex;flex-direction:column;gap:10px}
.age-gate-actions .btn{width:100%}

/* ---------- Welcome / email-signup popup ---------- */
.welcome-popup-overlay{position:fixed;inset:0;z-index:9998;background:rgba(8,8,8,.72);display:flex;align-items:center;justify-content:center;padding:20px}
.welcome-popup-box{max-width:420px;width:100%;background:#fff;position:relative;padding:40px 32px;text-align:center}
.welcome-popup-close{position:absolute;top:14px;right:14px;border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:#999;padding:6px}
.welcome-popup-close:hover{color:var(--ink)}
.welcome-popup-box h2{font:800 22px Montserrat;margin:8px 0 10px}
.welcome-popup-box p{color:#666;line-height:1.6;font-size:14px;margin:0 0 22px}
.welcome-popup-form{display:flex;flex-direction:column;gap:12px}
.welcome-popup-form input{padding:13px 14px;border:1px solid var(--line);font-size:14px;font-family:Inter}
.welcome-popup-msg{font-size:13px;font-weight:600;margin-top:12px}
.welcome-popup-msg.success{color:#1f7a34}
.welcome-popup-msg.error{color:var(--red)}

/* ---------- Product detail: batch/purity meta tags, verbatim spec sections ---------- */
.detail-meta-row{display:flex;gap:8px;margin-bottom:16px}
.detail-meta-tag{display:inline-block;font:800 10.5px Montserrat;letter-spacing:.5px;text-transform:uppercase;color:#1f7a34;background:rgba(31,122,52,.08);border:1px solid rgba(31,122,52,.25);padding:5px 10px;border-radius:3px}
.detail-verbatim{max-width:900px;display:flex;flex-direction:column;gap:36px}
.detail-verbatim-block h3{font:800 16px Montserrat;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.spec-table{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff}
.spec-row{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13.5px}
.spec-row:last-child{border-bottom:none}
.spec-label{color:#888;font-weight:600}
.spec-value{color:var(--ink);font-weight:700;text-align:right}
.qc-status-passed{color:#1f7a34}
.qc-intro{color:#666;line-height:1.7;font-size:14px;margin:0 0 16px}
.feature-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px}
.feature-list li{color:#555;line-height:1.6;font-size:14px}

/* ---------- Free gift color/size pickers (in the cart, on unlock) ---------- */
.gift-picker{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap}
.gift-picker-label{font:800 10px Montserrat;text-transform:uppercase;letter-spacing:.4px;color:#888;min-width:34px}
.gift-swatch-row{display:flex;gap:6px;flex-wrap:wrap}
.gift-swatch{font:700 10.5px Montserrat;padding:5px 10px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;border-radius:3px}
.gift-swatch:hover{border-color:var(--ink)}
.gift-swatch.active{border-color:#1f7a34;color:#1f7a34;background:rgba(31,122,52,.06)}

/* ---------- Header restructure: cart + currency always visible ---------- */
.nav-right{margin-left:auto;display:flex;align-items:center;gap:22px}
.header-actions{display:flex;align-items:center;gap:8px}

/* ---------- Currency selector ---------- */
.currency-select-wrap{position:relative}
.currency-icon-link{display:inline-flex;align-items:center;gap:5px;background:var(--red);border:none;border-radius:4px;height:42px;padding:0 10px;cursor:pointer;color:#fff}
.currency-icon-link svg{width:19px;height:19px;stroke:#fff;flex-shrink:0}
.currency-code-label{font:800 11px Montserrat;letter-spacing:.3px}
.currency-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.14);min-width:190px;max-height:320px;overflow-y:auto;z-index:200;padding:6px}
.currency-option{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:9px 12px;border:none;background:none;cursor:pointer;font:700 12.5px Montserrat;border-radius:3px;color:var(--ink)}
.currency-option:hover{background:var(--soft)}
.currency-option.active{color:var(--red)}
.currency-option-name{font:500 11px Inter;color:#888;text-transform:none;letter-spacing:0}

/* ---------- Search ---------- */
.search-wrap{position:relative;max-width:420px;margin:0 auto 32px}
.search-input-row{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:4px;padding:0 14px;background:#fff}
.search-input-row svg{width:18px;height:18px;stroke:#888;flex-shrink:0}
.search-input-row input{flex:1;border:none;padding:13px 10px;font-size:14px;font-family:Inter;outline:none}
.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 12px 32px rgba(0,0,0,.14);max-height:360px;overflow-y:auto;z-index:150}
.search-result-row{display:flex;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--soft)}
.search-result-row:last-child{border-bottom:none}
.search-result-row:hover{background:var(--soft)}
.search-result-img{width:40px;height:40px;object-fit:cover;border-radius:3px;flex-shrink:0;background:var(--soft)}
.search-result-name{font:700 13px Montserrat}
.search-result-meta{font-size:11px;color:#888}
.search-empty{padding:16px 14px;color:#888;font-size:13px;text-align:center}
@media(max-width:850px){.search-wrap{max-width:none}}

/* ---------- Contextual back link ---------- */
.back-link{display:inline-flex;align-items:center;gap:6px;font:700 12px Montserrat;text-transform:uppercase;letter-spacing:.4px;color:#666;margin-bottom:18px}
.back-link:hover{color:var(--red)}
.back-link svg{width:14px;height:14px}

/* ---------- Scroll-in animation ---------- */
.reveal-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none;transition:none}}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line)}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;background:none;border:none;text-align:left;cursor:pointer;font:700 15px Montserrat;color:var(--ink)}
.faq-question .faq-icon{flex-shrink:0;width:20px;height:20px;position:relative}
.faq-question .faq-icon:before,.faq-question .faq-icon:after{content:"";position:absolute;background:var(--ink);border-radius:2px;transition:transform .2s ease}
.faq-question .faq-icon:before{left:0;top:9px;width:20px;height:2px}
.faq-question .faq-icon:after{left:9px;top:0;width:2px;height:20px}
.faq-item.open .faq-icon:after{transform:rotate(90deg);opacity:0}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-answer p{color:#666;line-height:1.75;padding:0 0 20px;margin:0;font-size:14px}

/* ---------- Contact page info cards ---------- */
.contact-info-grid{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}
.contact-info-item{display:flex;align-items:center;gap:16px;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:16px 18px}
.contact-info-icon{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center}
.contact-info-icon svg{width:20px;height:20px;stroke:#fff}
.contact-info-label{font:800 10.5px Montserrat;text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:3px}
.contact-info-value{font:700 14.5px Montserrat;color:var(--ink);text-decoration:none;display:block}
a.contact-info-value:hover{color:var(--red)}

/* ---------- Toast notifications ---------- */
.toast-container{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:9997;display:flex;flex-direction:column;gap:10px;align-items:center;width:100%;padding:0 16px;pointer-events:none}
.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;background:#fff;border-radius:6px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:14px 18px;max-width:400px;width:100%;opacity:0;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease;border-left:4px solid var(--red)}
.toast.toast-in{opacity:1;transform:translateY(0)}
.toast-success{border-left-color:#1f7a34}
.toast-success .toast-icon{color:#1f7a34}
.toast-error{border-left-color:var(--red)}
.toast-error .toast-icon{color:var(--red)}
.toast-icon{flex-shrink:0;display:flex}
.toast-icon svg{width:22px;height:22px}
.toast-message{font:600 13.5px Inter;color:var(--ink);line-height:1.4}

/* ---------- Top promo banner (auto-rotating, non-dismissible) ---------- */
.promo-banner{background:#111;color:#fff;overflow:hidden}
.promo-banner-track{position:relative;height:38px;display:flex;align-items:center;justify-content:center;padding:0 44px}
.promo-banner-msg{position:absolute;left:44px;right:44px;text-align:center;opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;font:700 12px Montserrat;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.promo-banner-msg:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--red);margin-right:8px;vertical-align:middle}
.promo-banner-msg.active{opacity:1;transform:translateY(0)}
@media(max-width:560px){.promo-banner-track{padding:0 12px}.promo-banner-msg{left:12px;right:12px;font-size:10.5px}}

/* ---------- Promo teaser (product/merch detail pages) ---------- */
.promo-teaser{display:flex;align-items:flex-start;gap:12px;margin-top:24px;padding:14px 16px;background:rgba(200,16,46,.05);border:1px solid rgba(200,16,46,.18);border-radius:6px}
.promo-teaser svg{width:18px;height:18px;color:var(--red);flex-shrink:0;margin-top:1px}
.promo-teaser span{font-size:12.5px;line-height:1.6;color:#555}

/* ---------- WhatsApp floating chat button ---------- */

/* ---------- Footer social links ---------- */
.footer-social{display:flex;gap:12px;margin-top:16px}
.footer-social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#fff;transition:background .15s ease}
.footer-social a:hover{background:var(--red)}
.footer-social svg{width:16px;height:16px}

/* ---------- Sale price + badges ---------- */
.product-image-link,.detail-image-wrap{position:relative}
.product-badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--red);color:#fff;font:800 10px Montserrat;letter-spacing:1.2px;text-transform:uppercase;padding:6px 10px;border-radius:2px;pointer-events:none}
.price-was{color:#999;font-weight:600;text-decoration:line-through;margin-right:8px;font-size:.85em}
.price-now{color:var(--red)}
.faq-render-note{display:none}
.payment-instructions{margin:-2px 0 14px;padding:12px 14px;border-left:3px solid var(--red);background:#fafafa;font-size:13px;line-height:1.6;color:var(--ink);white-space:pre-line}
.payment-instructions strong{display:block;font:800 11px Montserrat;text-transform:uppercase;letter-spacing:.4px;color:#888;margin-bottom:4px}
.order-instructions{margin:18px 0 0;padding:16px 18px;border:1px solid var(--line);border-left:4px solid var(--red);background:#fff;line-height:1.7;white-space:pre-line}
.order-instructions strong{display:block;margin-bottom:4px}
.featured-section .catalog-grid{margin-top:28px}

/* Mobile header: cart sits right beside the hamburger menu */
@media(max-width:850px){.mobile-menu{margin-left:0}}

/* Checkout: both order buttons share one size; only the color differs */
.checkout-btn{display:flex;width:100%;min-height:52px;margin:0;padding:15px 20px;white-space:normal;text-align:center;box-sizing:border-box}
.checkout-btn + .checkout-btn{margin-top:10px}
/* Contact preference field + confirmation tick */
.contact-field{margin-bottom:18px}
.contact-field label{margin-bottom:3px}
.contact-field .field-hint{font-size:12px;color:#888;margin:0 0 7px}
.contact-field select{margin-bottom:0}
.contact-ok{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:12.5px;color:#1f7a34;line-height:1.4}
.contact-ok svg{flex:0 0 auto;width:15px;height:15px;padding:2px;border-radius:50%;background:#25D366;color:#fff;box-sizing:border-box}
.contact-ok[hidden]{display:none}

/* Promo code + payment method now live inside the checkout form */
.checkout-field{margin-bottom:18px}
.checkout-field > label{display:block;font:800 12px Montserrat;margin-bottom:7px}
.checkout-field select{margin-bottom:0}
.form .promo-field-row{margin:0}
.form .promo-field-row input{margin-bottom:0;width:auto}
.form .promo-status{margin:8px 0 0}
.form .payment-instructions{margin-top:10px}
