:root{color-scheme:dark;font-family:'DM Sans',Arial,sans-serif;background:#080808;color:#f4f4f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:Manrope,Arial,sans-serif}.metal{color:#bababa}.wrap{width:min(calc(100% - 40px),1320px);margin:auto}.header{height:84px;border-bottom:1px solid #303030;background:#070707;position:relative;z-index:5}.navrow{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:14px;line-height:1.05;font-weight:800}.mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #aaa;font-size:20px;letter-spacing:-2px}.mark span{color:#bcbcbc}.desktop-nav{display:flex;gap:42px;color:#aaa;font-size:14px}.desktop-nav a:hover,.footer a:hover{color:#fff}.nav-cta{border:1px solid #414141;padding:13px 20px;font-size:11px;font-weight:700;letter-spacing:.08em}.nav-cta:hover,.button-primary:hover{background:#bbb;color:#070707}.menu-button{display:none;cursor:pointer;color:white;background:none;border:0;font-size:25px}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:#090909;border-bottom:1px solid #404040;padding:12px 20px}.mobile-nav[hidden]{display:none}.mobile-nav a{display:block;padding:15px 4px;border-bottom:1px solid #252525}.mobile-nav a:last-child{border:0}.hero{min-height:650px;position:relative;display:flex;align-items:end;overflow:hidden;background:#111}.hero-image{position:absolute;inset:0;background-image:linear-gradient(0deg,rgba(0,0,0,.95),rgba(0,0,0,.3) 52%,rgba(0,0,0,.1)),url('/assets/hero.png');background-position:center;background-size:cover}.hero-inner{position:relative;z-index:1;padding-top:175px;padding-bottom:28px}.hero-inner>div:first-child{max-width:730px}.hero-logo{position:absolute;z-index:2;top:45px;left:50%;transform:translateX(-50%);padding:18px 22px;background:rgba(8,8,8,.8);border:1px solid #555;white-space:nowrap}.hero-logo .mark{width:48px;height:48px;font-size:23px}.eyebrow{color:#b9b9b9;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero h1{font-size:clamp(38px,4.2vw,72px);line-height:1.09;letter-spacing:-.035em;margin:28px 0 30px;font-weight:700}.hero-lead{max-width:530px;font-size:18px;line-height:1.6}.actions{display:flex;align-items:center;gap:24px;margin:34px 0;font-size:14px;font-weight:700;flex-wrap:wrap}.button-primary{background:#ededed;color:#111;padding:16px 24px;display:inline-block}.hero-bottom{margin-top:28px;padding-top:18px;border-top:1px solid #777;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em;font-weight:700}.section{padding-top:95px;padding-bottom:95px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:43px}.section-head h2,.promise h2{font-size:clamp(30px,3vw,48px);line-height:1.15;font-weight:600;letter-spacing:-.025em;margin:16px 0}.section-head p:not(.eyebrow){color:#aaa;font-size:15px;max-width:610px;line-height:1.6}.text-link{border-bottom:1px solid #aaa;padding-bottom:8px;white-space:nowrap;font-size:14px;font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.product-card{min-width:0}.product-image{aspect-ratio:1.18;position:relative;overflow:hidden;background:#191919}.product-image img,.article-image img{width:100%;height:100%;object-fit:cover}.sample-image{height:100%;width:100%;background-image:linear-gradient(0deg,rgba(0,0,0,.25),transparent),url('/assets/hero.png');background-repeat:no-repeat;background-size:auto 170%;background-position:50% 50%}.sample-image.drill{background-position:79% 56%}.sample-image.kettle{background-position:95% 49%}.sample-image.headphones{background-position:2% 50%}.sample-image.generic{background-size:cover}.badge{position:absolute;top:16px;left:16px;padding:8px 10px;color:#fff;background:rgba(10,10,10,.86);border:1px solid #777;font-size:10px;font-weight:700;letter-spacing:.12em}.card-body{display:flex;justify-content:space-between;gap:10px;padding-top:18px}.card-body h3{font-size:21px;line-height:1.3;margin:9px 0}.card-body p:not(.eyebrow){color:#aaa;font-size:14px;line-height:1.6}.card-body>.metal,.category-bottom>.metal{font-size:22px}.categories-section{background:#191919;border-block:1px solid #333}.category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;border:1px solid #393939;background:#393939}.category-card{grid-column:span 2;min-height:190px;background:#191919;padding:30px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.category-card:hover{background:#292929}.category-card:nth-last-child(2){grid-column:span 3}.category-card:last-child{grid-column:span 3}.category-bottom{display:flex;align-items:end;justify-content:space-between;gap:10px}.category-bottom h3{font-size:22px;line-height:1.2;margin:0 0 8px}.category-bottom p{font-size:13px;color:#aaa;line-height:1.5;margin:0}.promise{display:grid;grid-template-columns:1fr 1fr;gap:80px}.promise>div:last-child{align-self:center}.promise>div:last-child p{color:#aaa;font-size:18px;line-height:1.65}.latest{border-top:1px solid #333}.latest h2{font-size:30px}.latest p:not(.eyebrow){color:#aaa}.footer{border-top:1px solid #333;padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer strong{font-family:Manrope,Arial,sans-serif;font-size:18px}.footer p{max-width:330px;color:#aaa;font-size:14px;line-height:1.6;margin-top:16px}.footer small{color:#aaa;font-size:11px;letter-spacing:.15em;display:block;margin-bottom:18px}.footer a{display:block;font-size:14px;margin:12px 0}.copyright{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #333;padding-top:22px;margin-top:60px;color:#888;font-size:12px}.page-heading{background:#151515;border-bottom:1px solid #333;padding:100px 0 70px}.page-heading h1{font-size:clamp(38px,5vw,64px);line-height:1.13;letter-spacing:-.04em}.page-heading p:not(.eyebrow){color:#aaa;font-size:17px}.topics{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px}.topics span{border:1px solid #444;padding:11px 15px;font-size:14px}.empty{border:1px solid #444;padding:25px;color:#aaa;line-height:1.6}.back-link{display:inline-block;color:#bbb;font-size:14px;margin-top:46px}.back-link:hover{color:#fff}.prose{max-width:820px;margin-left:max(20px,calc((100vw - 1320px)/2));margin-right:20px}.prose h2,.article-copy h2{font-size:26px;margin:38px 0 15px}.prose p,.article-copy p,.article-copy li{color:#bbb;line-height:1.75;font-size:17px}.article{max-width:850px;padding:40px 0 100px}.article>.back-link{margin:0 0 45px}.article h1{font-size:clamp(36px,5vw,60px);line-height:1.14}.article-lead{color:#bbb;line-height:1.6;font-size:20px}.article-image{width:100%;aspect-ratio:1.75;overflow:hidden;background:#1b1b1b;margin:35px 0}.article-image .sample-image{background-size:cover}.demo-note{border:1px solid #777;background:#1b1b1b;padding:20px;color:#eee;font-size:14px;line-height:1.6}.article-copy{max-width:700px}.article-copy section{border-top:1px solid #333;margin-top:35px}.article-copy .intro{font-size:20px;color:#eee}.retailer-links a{display:inline-block;border:1px solid #aaa;padding:12px 18px;margin:8px 10px 0 0}.ad-note{font-size:14px!important}@media(max-width:900px){.desktop-nav,.nav-cta{display:none}.menu-button{display:block}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-card,.category-card:nth-last-child(2),.category-card:last-child{grid-column:span 1}.category-card:last-child:nth-child(odd){grid-column:span 2}.promise{gap:35px}.hero{min-height:640px}}@media(max-width:640px){.header{height:72px}.hero{min-height:660px}.hero-image{background-position:47% center}.hero-inner{padding-top:205px}.hero-logo{top:34px;padding:12px 15px}.hero-logo .mark{width:40px;height:40px}.hero h1{font-size:clamp(37px,10vw,52px)}.hero-lead{font-size:15px}.hero-bottom{font-size:9px}.section{padding-top:70px;padding-bottom:70px}.section-head{align-items:start;flex-direction:column;gap:5px}.product-grid{grid-template-columns:1fr;gap:40px}.category-grid{grid-template-columns:1fr}.category-card,.category-card:nth-last-child(2),.category-card:last-child,.category-card:last-child:nth-child(odd){grid-column:span 1;min-height:155px;padding:22px}.promise,.footer-grid{grid-template-columns:1fr;gap:25px}.copyright{flex-direction:column}.page-heading{padding:70px 0 45px}.article-image{aspect-ratio:1.2}.article-copy p,.article-copy li{font-size:16px}.prose{margin-left:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The supplied brand collage leads the page; its lettering stays unobstructed. */
.hero{display:block;min-height:0;background:#0b0b0b}
.hero-image{display:block;position:static;width:min(calc(100% - 40px),1320px);height:auto;max-height:none;object-fit:contain;object-position:center;background:none;margin-inline:auto}
.hero-inner{padding-top:36px;padding-bottom:28px}
.hero h1{max-width:800px;margin:18px 0 22px}
.hero-bottom{border-color:#333}
@media(max-width:900px){.hero{min-height:0}}
@media(max-width:640px){.hero{min-height:0}.hero-image{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}.hero-inner{padding-top:30px}.hero h1{font-size:clamp(32px,9vw,46px)}}

/* Category photography shares one warm, dark visual language. */
.category-card.has-image{position:relative;isolation:isolate;overflow:hidden;min-height:235px;background:#171717}
.category-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s ease}
.category-card.has-image::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.89) 0%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.12) 100%)}
.category-card.has-image:hover .category-card-image{transform:scale(1.035)}
.category-card.has-image .category-bottom p{color:#dedede}
.category-card.has-image .eyebrow{color:#eee}
.category-feature{height:clamp(250px,34vw,430px);overflow:hidden;background:#171717}
.category-feature img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:640px){.category-card.has-image,.category-card.has-image:nth-last-child(2),.category-card.has-image:last-child,.category-card.has-image:last-child:nth-child(odd){min-height:205px}.category-feature{height:260px}}
@media(prefers-reduced-motion:reduce){.category-card-image{transition:none}}

.member-intro{background:#141414;border-block:1px solid #393939;padding:clamp(60px,8vw,110px) 0}.member-intro-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,7vw,110px);align-items:center}.member-intro h2{font-size:clamp(32px,4vw,58px);line-height:1.12;letter-spacing:-.035em;max-width:680px}.member-intro p:not(.eyebrow){font-size:clamp(16px,1.5vw,19px);line-height:1.65;color:#c7c7c7}.member-intro p:last-child{color:#999;font-size:15px}@media(max-width:760px){.member-intro-inner{grid-template-columns:1fr;gap:12px}}

.friend-share{border-top:1px solid #3b3b3b;background:#101010;padding:clamp(54px,7vw,88px) 0}.friend-share-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);align-items:center;gap:clamp(28px,7vw,100px)}.friend-share h2{font-size:clamp(28px,3.6vw,47px);line-height:1.2;letter-spacing:-.03em;margin:12px 0 15px}.friend-share h2 span{font-weight:400;color:#c9c9c9}.friend-share p:not(.eyebrow){max-width:700px;color:#bababa;font-size:clamp(16px,1.6vw,19px);line-height:1.6;margin-bottom:0}.friend-share-action{min-width:0}.friend-share-action button{border:0;cursor:pointer;min-height:52px;font-weight:700;font-size:15px}.friend-share-action button:focus-visible,.friend-share-link:focus-visible{outline:3px solid #b8dfff;outline-offset:3px}.friend-share-action #friend-share-feedback{font-size:15px;min-height:1.5em;margin-top:15px}.friend-share-link{width:100%;padding:12px;background:#1a1a1a;color:white;border:1px solid #888;border-radius:2px;margin-top:12px}.friend-share-link[hidden]{display:none}@media(max-width:720px){.friend-share-inner{grid-template-columns:1fr;gap:28px}.friend-share-action button{width:100%}}

/* Desktop first-view: keep the full brand collage visible without cropping. */
@media(min-width:901px){
  .hero-image{width:100%;height:auto;max-height:calc(100vh - 84px);object-fit:contain;object-position:center top;background:#0b0b0b}
}

/* Desktop category wall: nine categories in a clean 3 x 3 grid. */
@media(min-width:901px){
  .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .category-card,.category-card:nth-last-child(2),.category-card:last-child{grid-column:span 1}
  .category-card.has-image{min-height:235px}
}


/* Category pages: compact intro so photography and content enter the first view sooner. */
body:has(.category-feature) .page-heading{padding:48px 0 34px}
body:has(.category-feature) .page-heading h1{margin:10px 0 12px}
body:has(.category-feature) .page-heading p:not(.eyebrow){margin-bottom:0}
body:has(.category-feature) .category-feature{height:clamp(250px,31vw,390px)}
@media(max-width:640px){body:has(.category-feature) .page-heading{padding:36px 0 26px}body:has(.category-feature) .category-feature{height:240px}}

/* Category hero framing: keep the complete main subject comfortably inside the crop. */
body:has(.category-feature) .category-feature img{object-fit:cover;object-position:center 42%}
body:has(.category-feature) .category-feature{background:#101010}


/* Category pages: photography starts directly below navigation, with title over the image. */
.category-hero{position:relative;height:clamp(430px,56vw,700px);overflow:hidden;background:#101010;isolation:isolate}
.category-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2}
.category-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.28) 44%,rgba(0,0,0,.04) 72%),linear-gradient(0deg,rgba(0,0,0,.48) 0%,transparent 48%)}
.category-hero-copy{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(42px,6vw,78px)}
.category-hero-copy h1{font-size:clamp(46px,6vw,78px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 12px}
.category-hero-copy>p:not(.eyebrow){font-size:clamp(16px,1.5vw,20px);font-weight:600;margin:0;text-shadow:0 2px 18px #000}
.category-hero-copy .eyebrow{color:#eee;margin:0}
@media(max-width:640px){.category-hero{height:500px}.category-hero>img{object-position:center}.category-hero::after{background:linear-gradient(0deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.12) 62%)}.category-hero-copy{padding-bottom:38px}.category-hero-copy h1{font-size:44px}}

/* Align the homepage collage with the same content rails as the copy below. */
@media(min-width:901px){.hero-image{width:min(calc(100% - 40px),1320px);margin-inline:auto}}
@media(max-width:900px){.hero-image{width:100%;margin-inline:0}}

/* Category hero V2: show the full subject and keep all category copy top-left over the image. */
.category-hero{height:clamp(520px,62vw,820px);background:#0b0b0b}
.category-hero>img{object-fit:contain;object-position:center center}
.category-hero::after{background:linear-gradient(135deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.38) 28%,rgba(0,0,0,.08) 58%,rgba(0,0,0,.02) 100%)}
.category-hero-copy{justify-content:flex-start;align-items:flex-start;padding-top:clamp(34px,4vw,58px);padding-bottom:0}
.category-hero-copy h1{margin:10px 0 10px}
.category-hero-copy>p:not(.eyebrow){max-width:520px}
@media(max-width:640px){
 .category-hero{height:clamp(430px,120vw,620px)}
 .category-hero>img{object-fit:contain;object-position:center center}
 .category-hero-copy{padding-top:28px}
}

/* Homepage alignment: collage and copy use exactly the same left/right content rails. */
@media(min-width:901px){
  .hero-image{
    width:calc(100% - 80px) !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .hero-copy{
    width:calc(100% - 80px) !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* One desktop rail everywhere: category heroes match the homepage/category wall width exactly. */
@media(min-width:901px){
  .category-hero{
    width:calc(100% - 80px) !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .category-hero-copy{
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}


/* Homepage desktop: align collage exactly with the header/content rail. */
@media(min-width:901px){
  .hero-image{
    width:min(calc(100% - 40px),1320px) !important;
    max-width:1320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .hero-copy{
    width:min(calc(100% - 40px),1320px) !important;
    max-width:1320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* Category desktop: image rail follows the same D-logo/content rail as the header.
   Keep category copy in its current position over the image. */
@media(min-width:901px){
  .category-hero{
    width:min(calc(100% - 40px),1320px) !important;
    max-width:1320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* Category desktop rail correction:
   expand only the hero image/container to the header D rail;
   restore the overlay copy to the original inner rail. */
@media(min-width:901px){
  .category-hero{
    width:min(calc(100% - 40px),1320px) !important;
    max-width:1320px !important;
    margin-inline:auto !important;
  }
  .category-hero-copy{
    width:calc(100% - 40px) !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* 2026-10-01: category hero images must hit the exact same desktop rail as the header D/logo and homepage collage. */
@media(min-width:901px){
  .category-hero{
    width:min(calc(100% - 40px),1320px) !important;
    max-width:1320px !important;
    margin-inline:auto !important;
  }
  .category-hero>img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
}

/* Keep the two long category titles clear of their main subjects. */
@media(min-width:901px){
  .category-hero--mode-skonhet>img,
  .category-hero--garage-verktyg>img{
    object-position:42% center !important;
  }
  .category-hero--mode-skonhet .category-hero-copy h1,
  .category-hero--garage-verktyg .category-hero-copy h1{
    max-width:560px;
  }
}


/* 2026-10-02: premium friend-share CTA — compact, frosted and quiet. */
.friend-share-action{display:flex;flex-direction:column;align-items:flex-start}
.friend-share-action #friend-share-button{
  width:auto;
  min-width:190px;
  min-height:46px;
  padding:12px 18px 12px 20px;
  border:1px solid rgba(205,211,219,.42);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(38,40,44,.88),rgba(22,23,26,.88));
  color:#f4f6f8;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 28px rgba(0,0,0,.22);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  font-size:14px;
  font-weight:700;
  letter-spacing:.01em;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.friend-share-action #friend-share-button:hover{
  background:linear-gradient(180deg,rgba(43,46,51,.96),rgba(24,26,30,.96));
  color:#fff;
  border-color:rgba(104,174,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(71,146,236,.10),0 10px 30px rgba(0,0,0,.28);
  transform:translateY(-1px);
}
.friend-share-action #friend-share-button:active{transform:translateY(0)}
@media(max-width:720px){
  .friend-share-action #friend-share-button{
    width:auto;
    min-width:0;
    padding-inline:18px;
  }
}
@media(prefers-reduced-motion:reduce){
  .friend-share-action #friend-share-button{transition:none}
}


/* 2026-10-02: premium primary CTA — same compact dark/frosted language as friend share. */
.hero .button-primary{
  width:auto;
  min-height:46px;
  padding:12px 18px 12px 20px;
  border:1px solid rgba(205,211,219,.42);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(38,40,44,.88),rgba(22,23,26,.88));
  color:#f4f6f8;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 28px rgba(0,0,0,.22);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  font-size:14px;
  font-weight:700;
  letter-spacing:.01em;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.hero .button-primary:hover{
  background:linear-gradient(180deg,rgba(43,46,51,.96),rgba(24,26,30,.96));
  color:#fff;
  border-color:rgba(104,174,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(71,146,236,.10),0 10px 30px rgba(0,0,0,.28);
  transform:translateY(-1px);
}
.hero .button-primary:active{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.hero .button-primary{transition:none}}


/* 2026-10-02: premium category arrows — replace emoji-like blue tiles with restrained glass controls. */
.category-bottom>.metal{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  border:1px solid rgba(210,216,224,.38);
  border-radius:50%;
  background:linear-gradient(180deg,rgba(34,37,42,.72),rgba(15,17,20,.78));
  color:#dce3ea;
  font-size:0;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 7px 22px rgba(0,0,0,.24);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease;
}
.category-bottom>.metal::before{
  content:"↗";
  font-family:Arial,sans-serif;
  font-size:18px;
  font-weight:400;
  transform:translate(-.5px,.5px);
}
.category-card:hover .category-bottom>.metal{
  color:#fff;
  border-color:rgba(101,169,248,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 0 0 1px rgba(76,148,235,.10),0 9px 25px rgba(0,0,0,.30);
  transform:translateY(-1px);
}
@media(max-width:640px){
  .category-bottom>.metal{width:36px;height:36px}
  .category-bottom>.metal::before{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.category-bottom>.metal{transition:none}}

/* deploy-trigger 2026-10-02: publish verified premium CTA and arrow refinements */

/* 2026-10-02: iOS-safe outbound arrows. Never let U+2197 fall back to Apple emoji. */
.category-bottom>.metal::before{
  content:"";
  width:15px;
  height:15px;
  background:center/15px 15px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e6ebf0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");
  transform:none;
}


/* Premium product gallery — reusable for every tested product */
.article-image:has(.product-gallery){aspect-ratio:auto;overflow:visible;background:transparent}
.product-gallery{display:grid;gap:12px}
.product-gallery-hero{aspect-ratio:1.52;overflow:hidden;background:#151515;border:1px solid #2d2d2d}
.product-gallery-hero-image{width:100%;height:100%;object-fit:cover;display:block}
.product-gallery-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.product-gallery-thumb{appearance:none;border:1px solid #303030;background:#151515;padding:0;aspect-ratio:1.28;overflow:hidden;cursor:pointer;opacity:.66;transition:opacity .18s ease,border-color .18s ease,transform .18s ease}
.product-gallery-thumb:hover{opacity:1}
.product-gallery-thumb.is-active{opacity:1;border-color:#d9d9d9}
.product-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:640px){
 .article-image:has(.product-gallery){margin-inline:calc(50% - 50vw);width:100vw}
 .product-gallery{gap:8px}
 .product-gallery-hero{aspect-ratio:1.18;border-inline:0}
 .product-gallery-thumbs{display:flex;overflow-x:auto;gap:8px;padding:0 20px 4px;scroll-snap-type:x mandatory;scrollbar-width:none}
 .product-gallery-thumbs::-webkit-scrollbar{display:none}
 .product-gallery-thumb{flex:0 0 28%;scroll-snap-align:start}
}

.review-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 24px;padding:13px 16px;border:1px solid #2d2d2d;background:linear-gradient(180deg,#151515,#101010);font-size:13px}
.review-status-kicker{font-size:10px;letter-spacing:.14em;color:#9b9b9b}
.review-status strong{font-size:13px;color:#f2f2f2}
.review-status-date{margin-left:auto;color:#858585}
.review-chapter-head{display:grid;grid-template-columns:1fr auto;gap:3px 16px;align-items:end;margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid #292929}
.review-chapter-head span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#aaa}
.review-chapter-head strong{font-size:14px;color:#f0f0f0}
.review-chapter-head time{grid-column:1/-1;font-size:11px;color:#777}
@media(max-width:640px){.review-status{gap:7px 10px}.review-status-date{width:100%;margin-left:0}.review-chapter-head{grid-template-columns:1fr auto}}


/* 2026-10-03: one premium frosted-pill language for homepage directional links. */
.premium-pill,.section-head .text-link,.promise .text-link{
  display:inline-flex;align-items:center;justify-content:center;gap:18px;
  min-height:46px;padding:11px 17px 11px 20px;border:1px solid rgba(205,211,219,.34);
  border-radius:999px;background:linear-gradient(180deg,rgba(38,40,44,.82),rgba(22,23,26,.86));
  color:#f4f6f8;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 28px rgba(0,0,0,.20);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-size:14px;font-weight:700;
  white-space:nowrap;border-bottom:1px solid rgba(205,211,219,.34);
}
.pill-arrow{font-size:22px;font-weight:400;line-height:1;transform:translateY(-1px)}
.premium-pill:hover,.section-head .text-link:hover,.promise .text-link:hover{border-color:rgba(220,225,232,.58);background:linear-gradient(180deg,rgba(45,48,53,.94),rgba(25,27,31,.94))}
.nav-cta,.hero .button-primary,.friend-share-action #friend-share-button{border-radius:999px}
.nav-cta,.hero .button-primary,.friend-share-action #friend-share-button{display:inline-flex;align-items:center;gap:16px}
@media(max-width:640px){.premium-pill,.section-head .text-link,.promise .text-link{min-height:44px;padding:10px 16px 10px 18px;gap:15px}}


/* 2026-10-03: iOS-safe arrows everywhere. Text arrows must never fall back to emoji. */
.pill-arrow{font-size:0;width:18px;height:18px;flex:0 0 18px;background:center/18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4f6f8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");transform:none}
.product-card .card-body>.metal{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border:1px solid rgba(210,216,224,.38);border-radius:50%;background:linear-gradient(180deg,rgba(34,37,42,.72),rgba(15,17,20,.78));font-size:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 7px 22px rgba(0,0,0,.24)}
.product-card .card-body>.metal::before{content:"";width:15px;height:15px;background:center/15px 15px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e6ebf0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E")}

.product-image--placeholder{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 30%,#24282d,#101113 68%);min-height:260px}
.product-placeholder{font-size:clamp(22px,3vw,38px);font-weight:800;letter-spacing:.08em;color:#eef1f4}

/* Product photos may define a truthful crop/focal point; never alter the product itself. */
@media(max-width:640px){.product-gallery-hero{background:#000}.article-image .product-gallery-hero-image{object-fit:contain;object-position:var(--product-focus,50% 50%)}}


/* Price watch: useful now, activation only when backend is real. */
.price-watch{margin:34px 0;padding:24px;border:1px solid rgba(210,216,224,.18);border-radius:24px;background:linear-gradient(145deg,rgba(32,35,40,.82),rgba(13,14,16,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 50px rgba(0,0,0,.25);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.price-watch h2{margin:4px 0 12px;font-size:clamp(24px,3vw,34px)}
.price-watch p{margin:8px 0;max-width:620px}
.price-watch-note{font-size:13px;opacity:.62}
.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.price-row strong{font-size:20px}
.watch-button{min-width:190px;border:1px solid rgba(220,225,232,.28);border-radius:999px;padding:13px 18px;background:rgba(255,255,255,.07);color:#f5f6f7;font:inherit;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}
.watch-button small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.55}
.watch-button[disabled]{cursor:default;opacity:.8}
@media(max-width:640px){.price-watch{grid-template-columns:1fr;padding:20px}.watch-button{width:100%}}


/* 2026-10-03 final CTA language: concept #2 — one frosted pill, one clean chevron. */
.nav-cta,.hero .button-primary,.premium-pill,.section-head .text-link,.promise .text-link,.friend-share-action #friend-share-button{
  border:1px solid rgba(210,216,224,.34)!important;border-radius:999px!important;
  background:linear-gradient(180deg,rgba(36,39,44,.88),rgba(20,22,25,.9))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 26px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.pill-arrow{display:inline-block!important;font-size:0!important;width:16px!important;height:16px!important;flex:0 0 16px!important;background:none!important;position:relative}
.pill-arrow::before{content:""!important;position:absolute;left:2px;top:7px;width:11px;height:1.6px;background:#f2f4f6;border-radius:2px}
.pill-arrow::after{content:""!important;position:absolute;right:2px;top:4px;width:6px;height:6px;border-top:1.6px solid #f2f4f6;border-right:1.6px solid #f2f4f6;transform:rotate(45deg)}

/* Mobile product cards: larger title and summary for readability */
@media(max-width:640px){.product-card .card-body h3{font-size:24px;line-height:1.22}.product-card .card-body p:not(.eyebrow){font-size:18px;line-height:1.62}}

/* Mobile typography system: keep the same premium hierarchy across the public site. */
@media(max-width:640px){
  .hero h1,.page-heading h1,.category-hero-copy h1{font-size:clamp(40px,10.8vw,50px);line-height:1.08;letter-spacing:-.04em}
  .hero-lead,.page-heading p:not(.eyebrow),.category-hero-copy>p:not(.eyebrow){font-size:19px;line-height:1.65}
  .section-head h2,.promise h2,.member-intro h2,.latest h2{font-size:30px;line-height:1.15;letter-spacing:-.025em}
  .section-head p:not(.eyebrow),.promise>div:last-child p,.member-intro p:not(.eyebrow),.latest p:not(.eyebrow){font-size:18px;line-height:1.65}
  .product-card .card-body h3{font-size:24px;line-height:1.22}
  .product-card .card-body p:not(.eyebrow){font-size:18px;line-height:1.62}
  .article h1{font-size:44px;line-height:1.1;letter-spacing:-.035em}
  .article-lead,.article-copy .intro{font-size:20px;line-height:1.65}
  .article-copy h2,.prose h2{font-size:25px;line-height:1.2}
  .article-copy p,.article-copy li,.prose p{font-size:18px;line-height:1.7}
}

/* Mobile secondary copy: two-step increase, consistently across homepage and public sections. */
@media(max-width:640px){
  .hero-lead,.section-head p:not(.eyebrow),.page-heading p:not(.eyebrow),.category-hero-copy>p:not(.eyebrow),.promise>div:last-child p,.member-intro p:not(.eyebrow),.latest p:not(.eyebrow),.friend-share p:not(.eyebrow){font-size:21px;line-height:1.62}
}

/* 2026-10-03: mobile readable-copy standard. Compact readable body copy across all public sections. */
@media(max-width:640px){
  .hero-lead,
  .section-head p:not(.eyebrow),
  .page-heading p:not(.eyebrow),
  .category-hero-copy>p:not(.eyebrow),
  .promise>div:last-child p,
  .member-intro p:not(.eyebrow),
  .latest p:not(.eyebrow),
  .friend-share p:not(.eyebrow),
  .product-card .card-body p:not(.eyebrow),
  .article-lead,
  .article-copy .intro,
  .article-copy p,
  .article-copy li,
  .prose p,
  .category-bottom p,
  .footer p{font-size:20px!important;line-height:1.58!important}
}


/* Mobile category heroes: compact copy keeps the product photography visible. Desktop is unchanged. */
@media(max-width:640px){
  .category-hero-copy h1{font-size:36px!important;line-height:1.05!important;letter-spacing:-.035em!important;margin:8px 0 10px!important}
  .category-hero-copy>p:not(.eyebrow){font-size:20px!important;line-height:1.35!important;max-width:92%;margin:0!important}
  .category-hero--garage-verktyg .category-hero-copy h1,
  .category-hero--mode-skonhet .category-hero-copy h1{white-space:nowrap}
}


/* Category hero copy: desktop keeps original wording; mobile uses compact copy to preserve photography. */
.mobile-category-copy{display:none}
@media(max-width:640px){
  .category-hero-copy .desktop-category-copy{display:none}
  .category-hero-copy .mobile-category-copy{display:inline}
  .category-hero--garage-verktyg .category-hero-copy h1,
  .category-hero--mode-skonhet .category-hero-copy h1{font-size:33px!important;white-space:nowrap}
  .category-hero--garage-verktyg .category-hero-copy>p:not(.eyebrow){white-space:nowrap;max-width:none}
  .category-hero--mode-skonhet .category-hero-copy>p:not(.eyebrow){font-size:20px!important;line-height:1.38!important;max-width:100%}
}

/* Product lifecycle, verified used market and our own test exemplar */
.resale-panel,.demo-sale{margin:34px 0;padding:24px;border:1px solid #2b2b2b;border-radius:22px;background:linear-gradient(145deg,#111,#090909)}
.resale-panel h2,.demo-sale h2{margin:6px 0 14px}.used-market{margin-top:18px;padding-top:18px;border-top:1px solid #292929;display:grid;gap:8px}.used-market small{display:block;opacity:.58;margin-top:4px}.used-market a,.resale-successor a{color:inherit;text-decoration:underline;text-underline-offset:4px}.demo-sale-price{font-size:clamp(30px,6vw,48px);font-weight:750;letter-spacing:-.04em;margin:8px 0 18px}.demo-sale .button-primary{display:inline-flex;margin-top:10px}.demo-sale--sold{opacity:.76}
@media(max-width:640px){.resale-panel,.demo-sale{margin:26px 0;padding:20px;border-radius:18px}.demo-sale .button-primary{width:100%;justify-content:center}}

/* Mobile hero headline: reduced two steps after visual QA */
@media(max-width:640px){.hero h1{font-size:clamp(33px,9vw,42px)!important;line-height:1.08}}

/* Mobile product titles: adapt to title length so short names stay compact and avoid orphan lines. */
@media(max-width:640px){
 .article h1{font-size:clamp(31px,9.5vw,40px)!important;line-height:1.04!important;letter-spacing:-.045em!important;text-wrap:balance}
 .article h1[data-title-size="compact"]{font-size:clamp(28px,8.3vw,36px)!important}
 .article h1[data-title-size="tight"]{font-size:clamp(26px,7.2vw,33px)!important}
}

/* Short product names must stay on one line on mobile. */
@media(max-width:640px){.article h1[data-title-size="normal"]{font-size:clamp(25px,7.3vw,33px)!important;white-space:nowrap!important;text-wrap:nowrap!important;letter-spacing:-.05em!important}}

/* Desktop/card typography rule: cards shown side by side must use one shared title scale. */
@media(min-width:641px){
 .product-grid .product-card .card-body h3{font-size:clamp(20px,1.65vw,27px)!important;line-height:1.16!important;letter-spacing:-.025em!important;text-wrap:balance;min-height:2.32em}
 .product-grid .product-card .card-body p:not(.eyebrow){font-size:clamp(16px,1.12vw,18px)!important;line-height:1.58!important}
}

/* Product gallery: horizontal swipe is reserved for image navigation; vertical page scroll stays natural. */
.product-gallery-hero{touch-action:pan-y;overscroll-behavior-x:contain}

/* Apple/Tesla-style product gallery motion: soft image transition, no vertical jump while paging. */
.product-gallery-hero{position:relative;isolation:isolate;touch-action:pan-y;overscroll-behavior-x:contain}
.product-gallery-hero-image{transform:translate3d(0,0,0) scale(1);opacity:1;transition:opacity .18s cubic-bezier(.22,.61,.36,1),transform .28s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.product-gallery-hero-image.is-changing{opacity:.38;transform:translate3d(0,0,0) scale(.992)}
@media(prefers-reduced-motion:reduce){.product-gallery-hero-image{transition:none}}

/* Member price watch — one compact frosted flow, no account/password ceremony. */
.watch-button:not([disabled]){cursor:pointer;transition:transform .2s cubic-bezier(.22,.61,.36,1),border-color .2s ease,background .2s ease}
.watch-button:not([disabled]):active{transform:scale(.985)}.watch-button.is-watching{border-color:rgba(104,174,255,.7);background:rgba(72,137,214,.12)}
.member-modal[hidden]{display:none}.member-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}.member-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.64);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:memberFade .2s ease both}.member-sheet{position:relative;width:min(100%,480px);padding:30px;border:1px solid rgba(210,216,224,.24);border-radius:28px;background:linear-gradient(160deg,rgba(31,34,39,.96),rgba(12,13,15,.98));box-shadow:0 30px 90px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.07);animation:memberIn .28s cubic-bezier(.22,.61,.36,1) both}.member-sheet h2{margin:6px 40px 12px 0;font-size:34px;line-height:1.08}.member-copy{color:#b7b9bd;line-height:1.55}.member-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.06);color:#eee;font-size:25px;line-height:1;cursor:pointer}.member-form{display:grid;gap:14px;margin-top:22px}.member-form[hidden]{display:none}.member-form label{display:grid;gap:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9fa3a8}.member-form input{width:100%;box-sizing:border-box;border:1px solid rgba(220,225,232,.22);border-radius:16px;background:#0d0f11;color:#fff;padding:15px 16px;font:inherit;font-size:17px;outline:none}.member-form input:focus{border-color:rgba(104,174,255,.75);box-shadow:0 0 0 3px rgba(72,137,214,.12)}.member-form .button-primary{border:1px solid rgba(210,216,224,.34);border-radius:999px;background:linear-gradient(180deg,rgba(36,39,44,.95),rgba(20,22,25,.96));color:#fff;min-height:50px;padding:12px 20px;font:inherit;font-weight:700;display:flex;align-items:center;justify-content:center;gap:14px}.member-form button:disabled{opacity:.55}.member-status{min-height:24px;margin:14px 0 0;color:#bfc4ca;font-size:14px;line-height:1.45}.member-modal-open{overflow:hidden}@keyframes memberFade{from{opacity:0}to{opacity:1}}@keyframes memberIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:640px){.member-modal{align-items:end;padding:10px}.member-sheet{padding:26px 22px 24px;border-radius:26px}.member-sheet h2{font-size:30px}.member-copy{font-size:17px!important}.member-form input{font-size:16px}}@media(prefers-reduced-motion:reduce){.member-modal-backdrop,.member-sheet{animation:none}}



/* 2026-10-04: imported immutable review copy may contain long unbroken tokens/URLs.
   Keep every product page inside the viewport without changing approved article text. */
.article,.article-copy,.article-copy section,.article-lead,.article-copy p,.article-copy li{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:normal;
}
.article-copy img,.article-copy video,.article-copy iframe,.article-copy table{
  max-width:100%;
}
@media(max-width:640px){
  .article h1,.article h1[data-title-size="normal"]{white-space:normal!important;text-wrap:balance!important;overflow-wrap:anywhere}
}


/* 2026-10-04: iOS product-page viewport containment.
   The gallery intentionally goes full-bleed; every other article element stays on the viewport rail. */
@media(max-width:640px){
  html,body{max-width:100%;overflow-x:clip}
  .article{width:min(calc(100% - 40px),850px);max-width:calc(100% - 40px);margin-inline:auto;padding-inline:0}
  .article>*:not(.article-image){max-width:100%;min-width:0}
  .article-image{max-width:100%}
  .article-image:has(.product-gallery){
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
  }
  .product-gallery,.product-gallery-hero,.product-gallery-thumbs{max-width:100vw;min-width:0}
  .review-status,.review-chapter-head,.price-watch,.resale-panel,.demo-sale,.retailer-links{max-width:100%;min-width:0}
  .retailer-links a{max-width:100%;overflow-wrap:anywhere}
}


/* 2026-10-04: product listing photos are evidence, not decorative crops.
   Show the complete original frame on every card. */
.product-image{
  aspect-ratio:auto;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0a0a0a;
}
.product-image img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  display:block;
}
@media(max-width:640px){
  .product-image{width:100%}
  .product-image img{width:100%;height:auto;object-fit:contain}
}


/* V1 evidence images: show every original in full on phone, tablet and desktop. */
.article-image .product-gallery-hero-image{object-fit:contain;object-position:50% 50%}

/* Compact Apple-inspired site-wide product search */
.nav-cta.search-trigger{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;background:linear-gradient(180deg,#28292d,#151619);color:#fff;cursor:pointer;font:inherit;font-size:11px;font-weight:750;letter-spacing:.08em;min-height:52px;white-space:nowrap;box-shadow:inset 0 1px rgba(255,255,255,.12)}
.nav-cta.search-trigger:hover{background:linear-gradient(180deg,#3c3e43,#222328);color:#fff;border-color:#777}
.search-trigger svg{flex-shrink:0}
.product-search-dialog[hidden]{display:none!important}
.product-search-dialog{position:fixed;inset:0;z-index:9999;display:grid;place-items:start center;padding:clamp(65px,12vh,130px) 16px 20px;background:rgba(0,0,0,.68);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.product-search-panel{width:min(100%,610px);max-height:min(75vh,740px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:25px;background:rgba(28,30,34,.94);box-shadow:0 30px 100px rgba(0,0,0,.65);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}
.product-search-top{display:flex;align-items:center;gap:12px;padding:18px 18px 12px}.product-search-top svg{flex-shrink:0;color:#bbb}.product-search-input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:18px}.product-search-input::placeholder{color:#a5a7ab}.product-search-close{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:50%;width:34px;height:34px;font-size:24px;cursor:pointer}.product-search-results{overflow:auto;padding:4px 12px 14px}.product-search-result{display:block;padding:14px;border-radius:15px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.07)}.product-search-result:hover,.product-search-result:focus-visible{background:rgba(255,255,255,.1)}.product-search-result strong{display:block;font-size:15px}.product-search-result small{display:block;margin-top:5px;color:#b5b8bd;font-size:12px}.product-search-hint{padding:14px;color:#b5b8bd;font-size:14px}.product-search-open{overflow:hidden}
@media(max-width:640px){.nav-cta.search-trigger{gap:8px;padding:10px 13px;min-height:46px;font-size:10px;letter-spacing:.025em}.nav-cta.search-trigger svg{width:17px;height:17px}.product-search-dialog{padding-top:80px}.product-search-panel{border-radius:23px}}

/* Title-first editorial cards, original photos and compact teasers. */
.product-card{display:flex;flex-direction:column;min-width:0;text-decoration:none}
.product-card-heading{padding:0 0 15px;min-width:0}
.product-card-heading .eyebrow{margin:0 0 10px}
.product-card-heading h3{font-size:clamp(19px,2vw,25px);line-height:1.2;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere;color:#f7f7f7}
.product-card .product-image{width:100%;flex-shrink:0}
.product-card .card-body{align-items:start;padding-top:14px}
.product-card .card-body p{font-size:15px!important;line-height:1.45!important;color:#c3c3c3!important;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-card .card-body>.metal{flex-shrink:0}
.product-card:hover .product-card-heading h3{text-decoration:underline;text-decoration-color:#777;text-underline-offset:4px}
@media(max-width:640px){.product-card-heading h3{font-size:22px}.product-card .card-body p{font-size:15px!important}}

/* Swipeable discovery shelf: one deliberate card per gesture; mobile shows one complete card. */
.discovery-controls{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;gap:12px}.discovery-swipe-hint{font-size:11px;letter-spacing:.12em;color:#a7a7aa;font-weight:700}.discovery-arrows{display:flex;gap:8px}.discovery-arrows button{width:40px;height:40px;border-radius:50%;border:1px solid #555;background:linear-gradient(180deg,#303136,#18191b);color:#fff;font-size:21px;cursor:pointer}.discovery-arrows button:disabled{opacity:.3;cursor:default}.discovery-track{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-snap-stop:always;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y;padding:4px 15% 14px 1px;-webkit-overflow-scrolling:touch}.discovery-track::-webkit-scrollbar{display:none}.discovery-track .product-card{flex:0 0 min(80%,360px);scroll-snap-align:start;scroll-snap-stop:always;transition:transform .28s ease,opacity .28s ease;opacity:.7;transform:scale(.97)}.discovery-track .product-card.is-current{opacity:1;transform:scale(1)}.discovery-track .product-image{height:clamp(190px,30vw,260px);overflow:hidden;border-radius:13px;background:#101010}.discovery-track .product-image img{width:100%;height:100%;object-fit:contain}.discovery-track .product-card-heading{min-height:83px}.discovery-track .card-body{min-height:78px}.discovery-progress{display:flex;align-items:center;justify-content:space-between;color:#aaa;font-size:11px;font-weight:700;letter-spacing:.12em;margin-top:8px}.discovery-track:focus-visible{outline:2px solid #ddd;outline-offset:4px}@media(max-width:640px){.discovery-track{gap:12px;padding-right:15%}.discovery-track .product-card{flex-basis:82%}.discovery-track .product-image{height:230px}.discovery-track .product-card-heading{min-height:88px}.discovery-arrows{display:none}}
@media(prefers-reduced-motion:reduce){.discovery-track .product-card{transition:none}}

/* Discovery gallery: fixed identical frame for every original, regardless of portrait/landscape. No image cropping. */
.discovery-track .product-image{height:auto!important;aspect-ratio:4/3!important;display:grid!important;place-items:center;overflow:hidden;border-radius:14px;background:#111215}
.discovery-track .product-image img{display:block!important;width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}
.discovery-track .product-card{align-self:stretch}
@media(max-width:640px){.discovery-track .product-image{height:auto!important;aspect-ratio:4/3!important}}


/* Stable equal-size frames and enough trailing rail to align the final card. */
.discovery-track{touch-action:pan-y;padding-right:calc(100% - min(80%,360px));scroll-behavior:auto}
.discovery-track .product-card,.discovery-track .product-card.is-current{transform:none}
.discovery-track .product-image{position:relative}
.discovery-track .product-image img{position:absolute;inset:0}
@media(max-width:640px){.discovery-track{padding-right:18%}}

.discovery-track{padding-right:0}
.discovery-track::after{content:"";flex:0 0 calc(100% - min(80%,360px) - 16px)}
@media(max-width:640px){.discovery-track{padding-right:0}.discovery-track::after{flex-basis:calc(18% - 12px)}}

/* Mobile: swipe hint provides navigation; neighbouring cards stay outside the viewport. */
@media(max-width:640px){.discovery-track{padding-left:0}.discovery-track .product-card{flex-basis:100%}.discovery-track::after{display:none}}

.review-addition-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.review-addition-photos figure{margin:0;aspect-ratio:4/3;background:#101214;border-radius:16px;overflow:hidden}.review-addition-photos img{width:100%;height:100%;object-fit:contain}@media(max-width:600px){.review-addition-photos{grid-template-columns:1fr}}

/* 2026-10-09: keep the whole object. Crop only individually inspected originals.
   Equal 4:3 frames preserve alignment; full originals remain intact. */
.product-card .product-image{aspect-ratio:4/3;position:relative;overflow:hidden}
.product-card .product-image img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-height:none;object-fit:contain!important;object-position:center}
.product-card[data-image-fit="cover"] .product-image img{object-fit:cover!important}
/* Member controls remain absent while the public release gate is closed. */
.member-dashboard{max-width:760px;margin:0 auto}.member-watch-list{display:grid;gap:24px;margin-top:28px}.member-watch-card{padding:24px;border:1px solid #45474a;border-radius:24px;background:#101214}.member-watch-card h2{font-size:24px;line-height:1.3;overflow-wrap:anywhere}.member-watch-card a{color:inherit}.member-form select{width:100%;padding:14px;border:1px solid #555;border-radius:14px;background:#151719;color:#eee;font:inherit}.member-watch-card button{margin-top:12px}.member-dashboard .text-link{background:none;border:0;cursor:pointer}.member-dashboard [role=status]{min-height:1.6em}

.member-preferences fieldset{border:1px solid #42464b;border-radius:16px;padding:16px}.member-preferences legend{padding:0 8px}.member-category-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.member-preferences label{display:flex;align-items:center;gap:12px}.member-preferences input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:#dce1e6}.member-preferences [data-member-close-confirm]{margin-top:20px}.member-preferences [data-member-close-confirm] button{margin:8px 12px 8px 0}@media(max-width:580px){.member-category-options{grid-template-columns:1fr}}

/* Category photo cards: titles only, anchored low without covering the image. */
.category-card.has-image .category-bottom{margin-top:auto;align-items:end}
.category-card.has-image .category-bottom h3{margin:0;line-height:1.12;text-wrap:balance}
.category-card.has-image .category-bottom>div{min-width:0;flex:1}
/* Dator: flera kort syns samtidigt, så alla visas lika ljust. Mobilen behåller markeringen av aktuellt kort. */
@media(min-width:760px){.discovery-track .product-card{opacity:1;transform:none}}
