/* ===========================================================================
   StuffDust · base.css

   Delade CSS-regler utbrutna ur de 43 sidorna. Urvalet ar medvetet snavt:
   en regel flyttas hit BARA om dess selektor
     · har exakt en variant i hela sajten,
     · ar definierad exakt en gang per sida, och
     · finns pa alla 43 sidor.

   Da kan ingen kvarlamnad regel overrida den, och den kan inte borja galla
   nagonstans den inte redan gallde. Verifierat genom att jamfora varje
   element pa varje sida vid fem fonsterbredder, fore och efter.

   Selektorer med flera definitioner - t.ex. .gallery-arrow och .nav-logo,
   dar ett tidigare svep lagt overskrivande regler sist - ar KVAR i sidorna.
   =========================================================================== */

/* Fargskala, typsnitt och ovriga variabler. Startsidan hade en variabel
   extra, --ease, som ingen annan sida anvander - hela uppsattningen
   ligger har. Detta ar filens egentliga poang: byt en farg en gang,
   inte 43 ganger. */
:root{ --green:#29DB70;--green-soft:rgba(41,219,112,0.12); --black:#111;--cream:#FAF8F3;--warm:#F2EDE3; --wood:#C4936A;--wood-light:#E8D5BF; --text:#2A2420;--muted:#8A7F75;--border:#E2D9CF; --graphite:#4A4440; --serif:'Fraunces',serif;--mono:'Space Mono',monospace;--body:'Manrope',sans-serif; --ease:cubic-bezier(0.16,1,0.3,1); }

*{margin:0;padding:0;box-sizing:border-box;}
.nav-logo em{font-style:normal;color:var(--green);}
.nav-links a:hover{text-shadow:0.35px 0 0 currentColor,-0.35px 0 0 currentColor;}
.nav-book{font-size:0.78rem;font-weight:600;padding:0.55rem 1.25rem; border:1.5px solid var(--text);text-decoration:none;color:var(--text); transition:all 0.2s;border-radius:100px;}
.nav-book:hover{background:var(--text);color:var(--cream);}
.footer-brand em{font-style:normal;color:var(--green);}
.footer-links a{font-size:0.75rem;color:rgba(250,248,243,0.4);text-decoration:none; letter-spacing:0.06em;transition:color 0.2s;}
.footer-links a:hover{color:var(--cream);}
footer p{font-size:0.72rem;color:rgba(250,248,243,0.3);}
.brand-logo{height:42px;width:auto;display:block;fill:var(--text);}
.arw{display:block;height:auto;}
.arw path{fill:var(--text);}
.gallery-arrow.prev .arw,.lb-arrow.prev .arw{transform:translateX(-16%);}
.gallery-arrow .arw{width:12px;}
.gallery-arrow.next .arw{transform:scaleX(-1) translateX(-16%);}
.lb-arrow .arw{width:16px;}
.lb-arrow.next .arw{transform:scaleX(-1) translateX(-16%);}
.footer-brand .brand-logo{height:36px;fill:var(--cream);}
.nav-toggle-bar{display:block;width:22px;height:1.5px;background:var(--graphite); transition:transform .25s ease,opacity .2s ease;}

@media(max-width:900px){
  nav.menu-open .nav-links{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;}
  .nav-links li:last-child{border-bottom:0;}
  nav.menu-open .nav-toggle-bar:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  nav.menu-open .nav-toggle-bar:nth-child(2){opacity:0;}
  nav.menu-open .nav-toggle-bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
}


/* === Utbrutna delade regler (rena: alla sidor eniga; >=10 sidor). Fore sidans <style>. === */
.nav-links a{font-size:0.78rem;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;text-decoration:none;color:var(--graphite);transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--green);font-weight:600;}
.page-header small{font-family:var(--mono);font-size:0.65rem;color:var(--green);letter-spacing:0.2em;text-transform:uppercase;display:block;margin-bottom:0.6rem;}
.page-header h1 em{font-style:italic;font-weight:300;color:var(--wood);}
.footer-brand{font-family:var(--serif);font-size:1.2rem;font-weight:700;color:var(--cream);display:inline-flex;align-items:center;}
.nav-toggle{display:none;background:none;border:0;padding:0;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;}
.breadcrumb a{color:var(--muted);text-decoration:none;}
.breadcrumb a:hover{color:var(--text);}
.breadcrumb span{color:var(--border);}
.lb-arrow.prev{left:1.5rem;}
.lb-arrow.next{right:1.5rem;}
.antal-btn:hover{background:var(--green-soft);}
.antal-btn:disabled{opacity:0.35;cursor:not-allowed;background:var(--cream);}
.rabatt-row.show{display:block;}
.rabatt-row strong{color:#0a7a38;}
.btn-order:hover{background:var(--green);color:var(--text);}
.conf-divider{border:none;border-top:1px solid var(--border);margin:1.25rem 0;}
.length-bar.over{background:#cc2222;}
.length-status.ok{color:#0a7a38;}
.length-status.warn{color:#b86a00;}
.length-status.over{color:#cc2222;}
.lb-thumb:hover{opacity:0.8;}
.product-layout>*,.prod-layout>*{min-width:0;} /* fix 260903: köksidorna använder kortformen .prod-layout och missade annars min-width:0-skyddet → grid-blowout/sido-overflow på mobil */
.gallery-nav{display:flex;align-items:center;gap:0.5rem;margin-top:0.6rem;}
.gallery-thumbs{min-width:0;} /* fix 260903: låt miniatyrremsan krympa så overflow-x:auto biter (annars sido-overflow på mobil, mest kök) */
.thumb{width:66px;height:50px;border-radius:2px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color 0.2s;flex-shrink:0;}
.thumb:hover{border-color:var(--wood);}
.thumb.active{border-color:var(--text);}
.thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.conf-header small{font-family:var(--mono);font-size:0.62rem;color:var(--green);letter-spacing:0.2em;text-transform:uppercase;}
.conf-header h1 em{font-style:italic;font-weight:300;color:var(--wood);}
.conf-header p{font-size:0.85rem;color:var(--muted);margin-top:0.5rem;line-height:1.6;}
.cdot:hover{transform:scale(1.15);}
.cdot.selected{border-color:var(--text) !important;box-shadow:0 0 0 2px white inset;}
.cdot:hover::after{opacity:1;}
.cdot.white{background:#ffffff;border-color:#ccc !important;}
.cdot.grey{background:#888888;}
.cdot.black{background:#1a1a1a;}
.cdot.red{background:#cc2222;}
.cdot.orange{background:#e86820;}
.cdot.yellow{background:#e8c820;}
.cdot.green{background:#2a8a3a;}
.cdot.blue{background:#2244cc;}
.color-preview-name{font-weight:600;color:var(--text);}
.color-preview-note{font-size:0.78rem;color:var(--muted);margin-top:0.2rem;}
.price-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.25rem;}
.price-note{font-size:0.78rem;color:var(--muted);}
.info-box{background:var(--warm);border:1px solid var(--border);border-radius:4px;padding:1rem 1.25rem;margin-top:1rem;}
.info-row{display:flex;gap:0.75rem;margin-bottom:0.5rem;font-size:0.82rem;}
.info-row:last-child{margin-bottom:0;}
.info-label{color:var(--muted);min-width:85px;flex-shrink:0;}
.info-value{color:var(--text);font-weight:500;}
.promo-box{margin-top:1.5rem;padding:1.25rem;background:var(--green-soft);border:1px solid var(--green);border-radius:4px;}
.promo-box p{font-size:0.82rem;color:var(--text);line-height:1.6;}
.promo-box a{color:var(--text);font-weight:600;}
.antal-input::-webkit-outer-spin-button,.antal-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
@media(max-width:900px){
  .nav-toggle{display:flex;}
  .nav-links li{border-bottom:1px solid var(--border);}
  .nav-links a{display:block;padding:1rem 0;font-size:0.9rem;}
}
@media(max-width:1024px){
  .lb-arrow.prev{left:1.5rem;}
  .lb-arrow.next{right:1.5rem;}
}


/* =====================================================================
   StuffDust · 360-formvy (turntable) – DELAD (injiceras av sd-turntable.js)
   ===================================================================== */
.sd-tt{position:relative;width:100%;margin:0}
.sd-tt--overlay{position:absolute;inset:0;z-index:5}
.sd-tt__stage{position:relative;width:100%;height:100%;display:grid;place-items:center;background:var(--warm);border-radius:4px;overflow:hidden}
.sd-tt__canvas{width:100%;height:100%;display:block;cursor:grab;outline:none;touch-action:pan-y}
.sd-tt.is-grabbing .sd-tt__canvas,.sd-tt__canvas:active{cursor:grabbing}
.sd-tt__canvas:focus-visible{box-shadow:0 0 0 3px var(--green-soft,rgba(41,219,112,.18)),0 0 0 1px var(--green)}
.sd-tt__hint{position:absolute;bottom:0.75rem;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:0.58rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(42,36,32,0.6);padding:5px 11px;border-radius:999px;display:flex;align-items:center;gap:6px;pointer-events:none;transition:opacity .3s}
.sd-tt.is-grabbing .sd-tt__hint{opacity:0}
.sd-tt__hint svg{width:12px;height:12px}
.sd-tt__loading{position:absolute;inset:0;display:grid;place-items:center;background:var(--warm);gap:10px;grid-auto-flow:row;transition:opacity .4s}
.sd-tt__loading.is-hidden{opacity:0;pointer-events:none}
.sd-tt__bar{width:110px;height:3px;border-radius:2px;background:rgba(42,36,32,.14);overflow:hidden}
.sd-tt__bar span{display:block;height:100%;width:0;background:var(--green);transition:width .15s}
.sd-tt__loading small{font-family:var(--mono);font-size:0.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.thumb-360{flex-shrink:0;align-self:stretch;aspect-ratio:1;min-width:46px;border-radius:3px;border:1px solid var(--green);background:#fff;cursor:pointer;display:grid;place-items:center;gap:1px;padding:0;transition:box-shadow .15s,border-color .15s}
.thumb-360 svg{width:20px;height:20px;color:var(--graphite)}
.thumb-360 span{font-family:var(--mono);font-size:8px;letter-spacing:.05em;color:var(--muted)}
.thumb-360:hover{border-color:#22c463}
.thumb-360.is-active{border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft,rgba(41,219,112,.18))}
/* Lightbox-360 */
.sd-tt--lb{position:relative;width:min(86vw,74vh);height:min(86vw,74vh);margin:0 auto}
.sd-tt--lb .sd-tt__stage{border-radius:4px}
.thumb-360--lb{width:56px;height:42px;min-width:56px;aspect-ratio:auto;align-self:auto}
.lightbox.lb360-on #lbImg,.lightbox.lb360-on .lb-arrow,.lightbox.lb360-on #lbCounter{display:none}
/* Bredskärms-cap: nav capas till bildens renderade maxbredd (4/3 x max-height 640 = 853px),
   scoopat till vas-sidor (minibackar/kök har egna galleristrukturer). */
.vas .gallery-nav{max-width:calc(640px * 4 / 3)}
