:root{--bg:#101411;--surface:#181e1a;--paper:#f3f1e9;--ink:#121511;--orange:#f26a21;--muted:#aab0a8;--line:#303831;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#f7f5ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}.topbar{height:76px;display:flex;align-items:center;gap:34px;padding:0 max(24px,5vw);position:absolute;z-index:3;width:100%;border-bottom:1px solid #ffffff24}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;font-weight:900;letter-spacing:.08em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--orange);border-radius:50%;font-size:12px;letter-spacing:0}.topbar nav{display:flex;gap:28px;margin-left:auto}.topbar nav a{color:#e9ece8;text-decoration:none;font-weight:650;font-size:.9rem}.cart-button,.add,.primary{border:0;font:inherit;font-weight:800;cursor:pointer}.cart-button{padding:10px 14px;border-radius:999px;background:#f7f5ef;color:#151914}.cart-button span{display:inline-grid;place-items:center;background:var(--orange);color:white;border-radius:50%;width:22px;height:22px;margin-left:5px;font-size:.75rem}.hero{min-height:720px;padding:160px max(24px,8vw) 70px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(5,9,6,.95) 0%,rgba(5,9,6,.76) 40%,rgba(5,9,6,.08) 75%),url('assets/huntmod-hero.png') center/cover}.hero-content{max-width:650px;position:relative;z-index:1}.eyebrow{margin:0 0 14px;color:var(--orange);font-size:.78rem;font-weight:900;letter-spacing:.18em}.hero h1{font-size:clamp(3.7rem,8vw,7.4rem);line-height:.88;letter-spacing:-.055em;margin:0 0 28px;max-width:900px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--orange)}.hero-content>p:not(.eyebrow){max-width:580px;color:#d8ddd8;font-size:1.1rem;margin:0 0 34px}.primary{display:inline-flex;justify-content:center;background:var(--orange);color:white;text-decoration:none;padding:15px 22px;border-radius:8px}.hero-note{position:absolute;right:max(24px,5vw);bottom:36px;background:#101411d9;backdrop-filter:blur(8px);padding:11px 16px;border:1px solid #ffffff21;border-radius:999px;font-size:.85rem}.hero-note span{color:var(--orange)}.products{background:var(--paper);color:var(--ink);padding:88px max(24px,6vw)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:36px}.section-heading h2,.about h2,dialog h2{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1;margin:0;letter-spacing:-.045em}.deal{font-weight:900;text-align:right;font-size:1.15rem}.deal span{display:block;color:#6c716b;font-size:.9rem}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product-card{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 50px #1f2d2112}.product-visual{height:270px;display:grid;place-items:center;background:#1b211c;position:relative;overflow:hidden}.product-visual:before{content:"";display:block;width:72px;height:164px;border-radius:32px;background:linear-gradient(90deg,#171a18,#4b514c 45%,#171a18);box-shadow:0 18px 25px #0008;transform:rotate(22deg)}.product-visual:after{content:"";position:absolute;width:70%;height:55%;background:radial-gradient(ellipse,#f26a213d,transparent 68%);filter:blur(10px)}.product-visual span{position:absolute;right:16px;bottom:13px;color:#ffffff75;font-size:.7rem;font-weight:900;letter-spacing:.18em}.spiral:before{background:repeating-linear-gradient(145deg,#1b1e1c 0 7px,#4b514c 8px 12px)}.diamond:before{background:repeating-linear-gradient(45deg,#202421 0 5px,#515752 6px 8px)}.round:before{height:96px;width:96px;border-radius:50%}.product-info{padding:22px}.meta{color:#777d76;font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin:0}.product-info h3{font-size:1.55rem;margin:4px 0}.product-info>p:not(.meta){color:#5e645d;min-height:52px}.buy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.buy-row strong{font-size:1.3rem}.add{background:var(--ink);color:white;border-radius:8px;padding:11px 14px}.add:hover,.add:focus-visible{background:var(--orange)}.color-note{text-align:center;color:#666b65;margin:28px 0 0}.dot{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:4px;vertical-align:-1px}.dot.black{background:#181b19}.dot.orange{background:var(--orange);margin-left:3px}.about{padding:96px max(24px,8vw);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.about>div:last-child{color:#c7cdc7;font-size:1.08rem;max-width:620px}.features{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.features span{border:1px solid var(--line);padding:9px 13px;border-radius:999px;color:#fff;font-size:.84rem}footer{padding:36px max(24px,6vw);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;color:#9ca39c;font-size:.85rem}dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:18px;padding:26px;background:#f7f5ef;color:var(--ink);box-shadow:0 30px 90px #0008}dialog::backdrop{background:#050805b8;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{font-size:2.8rem}.dialog-head button{border:0;background:transparent;font-size:2.2rem;cursor:pointer}.cart-items{display:grid;gap:10px;margin:26px 0;max-height:300px;overflow:auto}.cart-item{display:flex;justify-content:space-between;align-items:center;background:white;border-radius:10px;padding:12px}.cart-item button{border:0;background:#eeeae1;border-radius:6px;width:30px;height:30px;cursor:pointer}.empty{text-align:center;color:#747a73;padding:30px}.cart-summary{border-top:1px solid #d4d2ca;padding:18px 0}.cart-summary div{display:flex;justify-content:space-between;font-size:1.25rem}.cart-summary small{color:#737871}.full{width:100%}.order-help{text-align:center;color:#6b716a;font-size:.8rem}.toast{position:fixed;z-index:10;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:#f7f5ef;color:#111;padding:12px 18px;border-radius:999px;box-shadow:0 10px 30px #0005;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:800px){.topbar{height:68px;padding:0 18px}.topbar nav{display:none}.cart-button{margin-left:auto}.hero{min-height:650px;padding:135px 22px 70px;background:linear-gradient(90deg,rgba(5,9,6,.94),rgba(5,9,6,.48)),url('assets/huntmod-hero.png') 62% center/cover}.hero h1{font-size:3.7rem}.hero-note{right:18px;bottom:20px}.section-heading{align-items:start;flex-direction:column}.deal{text-align:left}.product-grid{grid-template-columns:1fr}.product-visual{height:220px}.about{grid-template-columns:1fr;padding-block:72px}footer{flex-direction:column;align-items:flex-start}.products{padding-block:68px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.floating-cart{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(92px,calc(env(safe-area-inset-bottom) + 84px));z-index:9;width:62px;height:62px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--orange);color:#fff;box-shadow:0 12px 34px #0007;cursor:pointer;-webkit-tap-highlight-color:transparent}.floating-cart svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.floating-cart span{position:absolute;top:-4px;right:-4px;min-width:24px;height:24px;padding:0 6px;display:grid;place-items:center;border:2px solid #fff;border-radius:999px;background:#121511;color:#fff;font-size:.75rem;font-weight:900;line-height:1}.floating-cart:active{transform:scale(.96)}.floating-cart:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:800px){.floating-cart{right:max(16px,env(safe-area-inset-right));bottom:max(86px,calc(env(safe-area-inset-bottom) + 78px));width:58px;height:58px}.floating-cart svg{width:26px;height:26px}}


/* v16: grouped cart quantities */
.cart-item-qty{gap:16px}
.cart-item-name{flex:1;min-width:0}
.qty-control{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.qty-control button{width:38px;height:38px;border:0;border-radius:10px;background:#eeeae1;color:#121511;font-size:1.35rem;font-weight:800;line-height:1;cursor:pointer}
.qty-control button:active{transform:scale(.96)}
.qty-number{min-width:26px;text-align:center;font-size:1.05rem}
@media(max-width:520px){
  .cart-item-qty{align-items:center;padding:14px 12px}
  .cart-item-name{font-size:.98rem;line-height:1.25}
  .qty-control{gap:6px}
  .qty-control button{width:36px;height:36px}
}


.product-details{
  border:0;
  background:transparent;
  color:var(--orange);
  font:inherit;
  font-weight:850;
  padding:0;
  margin:2px 0 2px;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.product-dialog{width:min(760px,calc(100% - 28px));max-height:88vh;overflow:auto}
.product-dialog-head{align-items:flex-start}
.product-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:start;margin-top:18px}
.product-detail-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:#1b211c}
.product-detail-description{margin-top:0;color:#555c55;font-size:1rem}
.product-specs{margin:18px 0 0;border-top:1px solid #d7d4cb}
.product-specs>div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid #e1ded6}
.product-specs dt{font-weight:850;color:#303630}
.product-specs dd{margin:0;color:#5e645d}
.product-note{font-size:.82rem;color:#777d76;margin:14px 0 0}
@media(max-width:650px){
  .product-detail-layout{grid-template-columns:1fr}
  .product-dialog h2{font-size:2.2rem}
  .product-specs>div{grid-template-columns:105px 1fr}
}

/* Product cards: open details from main image or product name */
.product-main.clickable-product,.product-title-link{cursor:pointer}
.product-title-link{display:inline-block}
.product-title-link:hover,.product-title-link:focus-visible{color:var(--orange)}
.product-title-link:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:4px}
.product-main.clickable-product{transition:transform .18s ease}
.product-main.clickable-product:hover{transform:scale(1.01)}


/* v22 menu header */
.topbar{justify-content:space-between}
.topbar-left{display:flex;align-items:center;gap:16px}
.brand-text-only{gap:0}
.brand-text-only .brand-mark{display:none}
.menu-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:0 11px;border:0;border-radius:12px;background:#f7f5ef;color:#151914;cursor:pointer;box-shadow:0 8px 20px #00000020}
.menu-toggle span{display:block;height:3px;border-radius:999px;background:currentColor}
.menu-toggle:active{transform:scale(.97)}
.menu-toggle:focus-visible,.side-menu-close:focus-visible,.side-menu-nav a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.menu-backdrop{position:fixed;inset:0;background:#05080570;backdrop-filter:blur(3px);z-index:20}
.side-menu{position:fixed;left:0;top:0;bottom:0;width:min(320px,86vw);background:#f7f5ef;color:var(--ink);z-index:21;transform:translateX(-100%);transition:transform .24s ease;box-shadow:24px 0 50px #00000025;padding:24px 20px 30px;display:flex;flex-direction:column;gap:18px}
.side-menu.open{transform:translateX(0)}
.side-menu-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #ddd7cb}
.side-menu-head strong{font-size:1.5rem;letter-spacing:-.02em}
.side-menu-close{border:0;background:transparent;color:var(--ink);font-size:2rem;line-height:1;cursor:pointer}
.side-menu-nav{display:grid;gap:8px}
.side-menu-nav a{display:block;padding:12px 0;color:var(--ink);text-decoration:none;font-size:1.08rem;font-weight:800;border-bottom:1px solid #e7e0d2}
body.menu-open{overflow:hidden}
.contact{background:#121713;color:#f2f1eb;padding:76px max(24px,8vw);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start;border-top:1px solid var(--line)}
.contact-info p{color:#cfd4cf;max-width:620px}
.contact-list{display:grid;gap:10px;margin-top:18px}
.contact-list a{color:#fff;text-decoration:none;font-weight:700}
.contact-list a:hover{color:var(--orange)}
@media(max-width:800px){
  .topbar{gap:14px;padding:0 16px}
  .topbar-left{gap:12px}
  .brand-text-only{font-size:1rem;letter-spacing:.06em}
  .menu-toggle{width:44px;height:44px}
  .contact{grid-template-columns:1fr;padding-block:64px}
}


/* v24 hamburger icon fix */
.menu-toggle{appearance:none;-webkit-appearance:none;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:46px!important;height:46px!important;padding:0 11px!important;border:0!important;border-radius:12px!important;background:#f7f5ef!important;color:#151914!important;cursor:pointer!important;box-shadow:0 8px 20px #00000020!important}
.menu-toggle span{display:block!important;width:100%!important;height:3px!important;min-height:3px!important;border-radius:999px!important;background:#151914!important;opacity:1!important;visibility:visible!important;position:static!important;transform:none!important}
.menu-toggle span+span{margin-top:0!important}
@media(max-width:800px){.menu-toggle{display:flex!important;width:44px!important;height:44px!important;padding:0 10px!important}.menu-toggle span{height:3px!important;min-height:3px!important}}

.footer-link{color:inherit;text-decoration:underline;text-underline-offset:3px}.footer-link:hover{color:var(--orange)}

.stock-status{margin:9px 0 0!important;min-height:24px!important;font-size:.88rem;font-weight:850;color:#4f574f!important;display:flex;align-items:center;gap:8px}
.stock-status::before{content:"";display:inline-block;width:9px;height:9px;min-width:9px;border-radius:50%;background:#8a918a}
.stock-status[data-state="in_stock"]::before{background:#2f8a49}
.stock-status[data-state="low_stock"]::before{background:#d97706}
.stock-status[data-state="out_of_stock"]::before{background:#c62828}
.stock-status[data-state="error"]::before{background:#8a918a}.add:disabled{opacity:.45;cursor:not-allowed;background:#767b76}.add:disabled:hover{background:#767b76}

/* v29 produkt-undermeny */
.side-menu-nav .menu-group{border-bottom:1px solid #e7e0d2}
.side-menu-nav .menu-parent{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1.08rem;font-weight:800;text-align:left;cursor:pointer}
.side-menu-nav .menu-parent:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.side-menu-nav .menu-chevron{font-size:1.25rem;transition:transform .18s ease;line-height:1}
.side-menu-nav .menu-parent[aria-expanded="true"] .menu-chevron{transform:rotate(180deg)}
.side-menu-nav .submenu{padding:0 0 8px 16px}
.side-menu-nav .submenu[hidden]{display:none}
.side-menu-nav .submenu a{font-size:.98rem;font-weight:700;padding:9px 0 9px 12px;border-bottom:0;color:#4f574f;position:relative}
.side-menu-nav .submenu a::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:var(--orange);transform:translateY(-50%)}

/* v30 – köp & returvillkor i modal */
.terms-dialog{width:min(920px,calc(100vw - 28px));max-height:min(88vh,900px);border:0;border-radius:22px;padding:0;background:#f3f1e9;color:#121511;box-shadow:0 24px 80px #0005}
.terms-dialog::backdrop{background:#0b0f0cc7;backdrop-filter:blur(3px)}
.terms-dialog-head{position:sticky;top:0;z-index:2;background:#101411;color:#fff;padding:20px 24px;border-bottom:1px solid #ffffff18}
.terms-dialog-head h2{margin:2px 0 0;color:#fff;font-size:clamp(1.7rem,4vw,2.6rem)}
.terms-dialog-head .eyebrow{margin:0;color:#f26a21}
.terms-dialog-head button{color:#fff}
.terms-dialog-body{padding:26px;overflow:auto}
.terms-dialog .terms-intro{font-size:1.05rem;color:#515851;margin:0 0 22px;line-height:1.65}
.terms-dialog .terms-card{background:#fff;border-radius:16px;padding:20px;margin:14px 0;box-shadow:0 10px 28px #1f2d210d}
.terms-dialog .terms-card h3{margin:0 0 8px;font-size:1.25rem}
.terms-dialog .terms-card p{margin:0;color:#555d55;line-height:1.6}
.terms-dialog .terms-highlight{border-left:5px solid #f26a21;background:#fff8f3}
.terms-dialog .terms-contact{margin-top:24px;padding-top:20px;border-top:1px solid #d5d2c9;color:#505750;line-height:1.6}
.terms-dialog .terms-contact a{color:#121511;font-weight:850}
.terms-dialog .terms-note{font-size:.86rem;color:#777d76;margin:20px 0 0;line-height:1.5}
@media (max-width:600px){.terms-dialog-body{padding:18px}.terms-dialog-head{padding:16px 18px}.terms-dialog{max-height:92vh}}

/* v33 – förstorad färgbild och tydligare lagerkontroll */
.image-lightbox{width:min(1100px,calc(100vw - 24px));max-width:none;padding:0;background:#0d110e;border-radius:18px;overflow:hidden;color:#fff}
.image-lightbox img{display:block;width:100%;max-height:80vh;object-fit:contain;background:#0d110e}
.image-lightbox-close{position:absolute;top:12px;right:14px;z-index:2;width:44px;height:44px;border:0;border-radius:999px;background:#111a;color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.image-lightbox p{margin:0;padding:12px 18px 16px;color:#d9ddd8;text-align:center;font-size:.9rem}
.product-inset{cursor:zoom-in}
.stock-error{margin:14px 0;padding:13px 15px;border-radius:10px;background:#fff0e8;border:1px solid #efb08c;color:#7a2e08;font-weight:750;line-height:1.45}
@media(max-width:600px){.image-lightbox{width:calc(100vw - 14px)}.image-lightbox img{max-height:74vh}}


/* v43 – Suppressor Dock */
.accessory-products{padding-top:0}
.single-product{grid-template-columns:minmax(280px,420px)}
@media(max-width:800px){.single-product{grid-template-columns:1fr}.accessory-products{padding-top:0}}

/* v45 – Hundburstillbehör */
#hundburstillbehor .product-main{object-fit:cover}
#hundburstillbehor .color-picker+.color-picker{margin-top:10px}


.swish-qr-wrap{
  display:grid;
  justify-items:center;
  gap:9px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #d6dbd2;
  text-align:center;
}
.swish-qr-wrap[hidden]{display:none}
.swish-qr{
  width:min(220px,70vw);
  aspect-ratio:1;
  display:block;
  background:#fff;
  border-radius:10px;
  padding:8px;
}
.swish-qr-wrap small{max-width:300px;color:#535a52;line-height:1.4}


/* v48 – tydlig fraktinfo */
.shipping-banner{position:absolute;top:76px;left:0;right:0;z-index:3;padding:9px 16px;background:#f26a21;color:#fff;text-align:center;font-size:.88rem;font-weight:900;letter-spacing:.02em;box-shadow:0 4px 16px #0002}
@media(max-width:800px){.shipping-banner{font-size:.82rem;padding:8px 12px}.hero{padding-top:185px}}


/* v52 – renare kategorivy och relaterade produkter */
[data-category-section][hidden]{display:none!important}
.related-products{background:#ece9df;color:var(--ink);padding:42px max(24px,6vw) 70px}
.related-products[hidden]{display:none!important}
.related-inner{max-width:1180px;margin:0 auto}
.related-inner h2{font-size:clamp(1.8rem,3.5vw,3rem);margin:0 0 22px;letter-spacing:-.035em}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.related-card{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:14px;background:#fff;color:var(--ink);text-decoration:none;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px #1f2d2110;transition:transform .18s ease,box-shadow .18s ease}
.related-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px #1f2d211c}
.related-card img{width:110px;height:88px;object-fit:cover;display:block}
.related-card span{display:grid;gap:2px;padding-right:14px}
.related-card strong{font-size:1rem}
.related-card small{color:#6b716a}
.related-card[hidden]{display:none!important}
@media(max-width:800px){.related-grid{grid-template-columns:1fr}.related-card{grid-template-columns:96px 1fr}.related-card img{width:96px;height:78px}.related-products{padding-block:34px 52px}}


.payment-complete-note{margin-top:14px;background:#eef4eb;border:1px solid #cddac8;color:#1f2a1e;padding:12px 14px;border-radius:10px;font-size:.95rem;line-height:1.5}

.order-registered-banner{margin:10px 0 16px;padding:15px 16px;border-radius:12px;background:#eaf5e7;border:1px solid #bfd5b9;color:#1b2c1a;display:grid;gap:5px;line-height:1.45}
.order-registered-banner strong{font-size:1.08rem}
.order-registered-banner span{font-size:.94rem}

[hidden]{display:none!important}
#paymentStep[hidden],#swishDetails[hidden],#swishQrWrap[hidden]{display:none!important}
