
/* ===== Refleksvesten.dk — Header (Designmanual v1.1) ===== */

/* Top bar spacing fix for separators */
#top-bar .utility-sep{ margin:0 10px; opacity:.5; }
#top-bar .utility-item{ white-space:nowrap; }
#top-bar, #top-bar a{ color:#fff; }

/* Header main: force readable nav text on dark bg */
#header, #header .header-main, #header-main{ background-color:#0A0B0C; }
#header .nav > li > a,
#header .nav-icon,
#header .nav-icon i,
#header .html-block,
#header .header-nav-main .nav > li > a{
  color:rgba(255,255,255,.8) !important;
  font-size:14px;
  font-weight:600;
  opacity:1;
  transition:color 180ms ease;
}
#header .nav > li > a{ position:relative; }
#header .nav > li > a::after{
  content:"";
  position:absolute;
  left:0; bottom:6px;
  width:0; height:2px;
  background:#E7FF19;
  transition:width 180ms ease;
}
#header .nav > li:hover > a,
#header .nav > li.current > a,
#header .nav > li.current-menu-item > a{
  color:#fff !important;
}
#header .nav > li:hover > a::after{ width:100%; }
#header .nav > li.current > a::after,
#header .nav > li.current-menu-item > a::after{ width:100%; }

/* Account / cart icons visible on dark bg */
#header .header-icon,
#header .cart-icon,
#header .account-icon{ color:#fff !important; }
#header .cart-icon .cart-count,
#header .cart-count{
  background:#E7FF19 !important;
  color:#0A0B0C !important;
  animation:none !important;
}

/* Header CTA button — "Design din vest" style */
#header .btn-header-cta{
  border:1px solid #E7FF19;
  color:#fff;
  background:transparent;
  border-radius:6px;
  padding:10px 20px;
  font-weight:700;
  font-size:14px;
  transition:background 200ms ease, color 200ms ease;
}
#header .btn-header-cta:hover{
  background:#E7FF19;
  color:#0A0B0C;
}

/* Sticky header behavior */
#header.stuck #top-bar,
#header.is-sticky #top-bar{ display:none; }
#header.stuck .header-main,
#header.is-sticky .header-main{
  min-height:70px;
  background-color:rgba(10,11,12,.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

@media (prefers-reduced-motion: reduce){
  #header .nav > li > a::after,
  #header .btn-header-cta{ transition:none !important; }
}


/* Header CTA — Design din vest button (gul outline per Designmanual) */
#header .button.primary.is-outline{
  color:#fff !important;
  border-color:#E7FF19 !important;
  background:transparent !important;
  transition:background 200ms ease, color 200ms ease;
}
#header .button.primary.is-outline:hover{
  background:#E7FF19 !important;
  color:#0A0B0C !important;
  border-color:#E7FF19 !important;
}


/* Hero CTA buttons */
#main .hero-cta-primary.button{
  background:#E7FF19 !important;
  border-color:#E7FF19 !important;
  color:#0A0B0C !important;
}
#main .hero-cta-primary.button:hover{
  background:#fff !important;
  border-color:#fff !important;
  color:#0A0B0C !important;
}
#main .hero-cta-secondary.button{
  background:transparent !important;
  border-color:#fff !important;
  color:#fff !important;
}
#main .hero-cta-secondary.button:hover{
  background:#fff !important;
  color:#0A0B0C !important;
}


/* ===== Hero cinematic (Designmanual North Star) ===== */
#main .hero-cinematic{ position:relative; }
#main .hero-cinematic::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(10,11,12,.97) 0%, rgba(10,11,12,.85) 40%, rgba(10,11,12,.55) 65%, rgba(10,11,12,.25) 100%);
  pointer-events:none;
  z-index:-1;
}

#main .hero-cinematic h2{ font-size:56px; line-height:1.05; margin-bottom:20px; }
#main .hero-cinematic p{ font-size:18px; color:rgba(255,255,255,.85); max-width:480px; }

/* CTA buttons side by side on desktop */
#main .hero-cinematic .text-box .ux_buttons, #main .hero-cinematic .button{ margin-top:0; }
#main .hero-cinematic .hero-cta-primary.button,
#main .hero-cinematic .hero-cta-secondary.button{ margin-right:12px; margin-bottom:12px; }

/* Micro trust row */
#main .hero-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  list-style:none;
  margin:32px 0 0;
  padding:0;
}
#main .hero-trust-row li{
  position:relative;
  padding-left:22px;
  font-size:13px;
  font-weight:600;
  color:rgba(255,255,255,.85);
  letter-spacing:.02em;
}
#main .hero-trust-row li::before{
  content:"\2713";
  position:absolute;
  left:0;
  top:0;
  color:#E7FF19;
  font-weight:700;
}
@media (max-width: 849px){
  #main .hero-cinematic .text-box{ width:100% !important; }
  #main .hero-cinematic h2{ font-size:36px; }
  #main .hero-trust-row{ gap:14px 20px; }
}





/* ===== Fit 6-item nav in header (Task #52 header expansion) ===== */
#header .header-nav-main.nav-left > li{ margin-left:2px !important; margin-right:2px !important; }
#header .header-nav-main.nav-left > li > a{ font-size:12.5px !important; letter-spacing:0 !important; }
#header .account-item .header-account-title{ font-size:0; }
#header .account-item .header-account-title::before{ content:"Konto"; font-size:13px; }
#header .cart-item .header-cart-title{ display:none; }
#header .header-button-1{ padding-left:12px !important; padding-right:12px !important; }
#header .account-item > a.account-link{ padding-left:8px !important; padding-right:8px !important; }
@media (max-width:1400px){
  #header .header-nav-main.nav-left > li{ margin-left:3px !important; margin-right:3px !important; }
}


/* ===== Wide/full-width utility (Task #52 followup - new sections) ===== */
.wide-container{ max-width:1440px; margin:0 auto; padding:0 40px; box-sizing:border-box; }
.section-eyebrow{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#0A0B0C; background:#E7FF19; padding:4px 12px; border-radius:2px; margin-bottom:16px; }
.section-eyebrow-dark{ color:#0A0B0C; }

/* ===== Section 1: Design din vest på 60 sekunder (light) ===== */
.section-designer-demo{ background:#F4F4F2; padding:96px 0; }
.section-designer-demo .demo-grid{ display:grid; grid-template-columns: 0.9fr 1fr 1.1fr; gap:56px; align-items:start; }
.section-designer-demo .demo-intro h2{ font-size:32px; line-height:1.15; margin:0 0 16px; color:#0A0B0C; text-transform:uppercase; font-weight:700; }
.section-designer-demo .demo-intro p{ font-size:16px; color:rgba(10,11,12,.7); max-width:360px; margin:0 0 28px; }
.section-designer-demo .demo-cta{ display:inline-block; }
.section-designer-demo .demo-steps{ display:flex; flex-direction:column; gap:0; }
.section-designer-demo .demo-step{ display:flex; gap:16px; align-items:flex-start; padding:0 0 28px; margin-bottom:28px; border-bottom:1px solid rgba(10,11,12,.1); }
.section-designer-demo .demo-step:last-child{ border-bottom:none; padding-bottom:0; margin-bottom:0; }
.section-designer-demo .demo-step-num{ font-size:13px; font-weight:700; color:#0A0B0C; background:transparent; border:1.5px solid #0A0B0C; width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.section-designer-demo .demo-step h3{ font-size:16px; margin:2px 0 4px; color:#0A0B0C; font-weight:700; }
.section-designer-demo .demo-step p{ font-size:14px; color:rgba(10,11,12,.6); margin:0; }
.section-designer-demo .demo-mockup{ background:#0A0B0C; border-radius:12px; overflow:hidden; box-shadow:0 24px 48px rgba(0,0,0,.18); }
.section-designer-demo .demo-mockup-bar{ display:flex; align-items:center; gap:6px; padding:12px 14px; background:#17181A; }
.section-designer-demo .demo-mockup-bar span{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.2); }
.section-designer-demo .demo-mockup-url{ margin-left:10px; font-size:12px; color:rgba(255,255,255,.5); background:rgba(255,255,255,.06); padding:4px 10px; border-radius:4px; }
.section-designer-demo .demo-mockup-body{ position:relative; padding:32px; display:flex; align-items:center; justify-content:center; min-height:320px; }
.section-designer-demo .demo-vest{ width:170px; height:auto; }
.section-designer-demo .demo-logo-slot{ position:absolute; top:126px; left:50%; transform:translateX(-38px); width:56px; height:44px; border:1.5px dashed #E7FF19; border-radius:4px; display:flex; align-items:center; justify-content:center; }
.section-designer-demo .demo-logo-slot span{ font-size:9px; color:#E7FF19; text-align:center; line-height:1.2; font-weight:600; }
.section-designer-demo .demo-badge{ position:absolute; bottom:20px; right:20px; background:#E7FF19; color:#0A0B0C; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:6px 12px; border-radius:20px; }

/* ===== Section 2: Alle 14 farver (dark) ===== */
.section-colors{ background:#0A0B0C; padding:96px 0; }
.section-colors .colors-head{ text-align:left; margin-bottom:48px; }
.section-colors .colors-head h2{ color:#fff; font-size:32px; text-transform:uppercase; margin:0 0 12px; font-weight:700; }
.section-colors .colors-head p{ color:rgba(255,255,255,.7); font-size:16px; max-width:520px; margin:0; }
.colors-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:20px; }
.color-card{ display:block; position:relative; border-radius:8px; overflow:hidden; background:#151617; text-decoration:none; aspect-ratio:3/4; }
.color-card-media{ position:absolute; inset:0; }
.color-card-media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.color-card-info{ position:absolute; left:0; right:0; bottom:0; padding:14px 12px; background:linear-gradient(to top, rgba(0,0,0,.85), rgba(0,0,0,0)); display:flex; flex-direction:column; gap:4px; }
.color-card-name{ color:#fff; font-size:13px; font-weight:700; letter-spacing:.02em; }
.color-card-cta{ color:#E7FF19; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; opacity:0; transform:translateY(6px); transition:all .25s ease; }
.color-card:hover .color-card-cta{ opacity:1; transform:translateY(0); }
.color-card:hover .color-card-media img{ transform:scale(1.06); }
.color-card:hover{ box-shadow:0 0 0 2px #E7FF19 inset; }

@media (max-width: 1100px){
  .section-designer-demo .demo-grid{ grid-template-columns: 1fr 1fr; }
  .section-designer-demo .demo-visual{ grid-column: 1 / -1; max-width:480px; }
  .colors-grid{ grid-template-columns:repeat(4,1fr); }
}
@media (max-width: 849px){
  .wide-container{ padding:0 24px; }
  .section-designer-demo, .section-colors{ padding:64px 0; }
  .section-designer-demo .demo-grid{ grid-template-columns: 1fr; gap:40px; }
  .section-designer-demo .demo-visual{ max-width:360px; }
  .colors-grid{ grid-template-columns:repeat(3,1fr); gap:14px; }
}
@media (max-width: 600px){
  .colors-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .section-designer-demo .demo-intro h2, .section-colors .colors-head h2{ font-size:26px; }
}

