/* SleepLab, Lovable-stijl voor alle subpagina's. Gebruik: <body class="lv-theme"> */
body.lv-theme{background:#0B1F17;color:#F3ECDF;
  --ink:#F3ECDF;--ink-soft:rgba(243,236,223,.75);--line:rgba(232,218,192,.16);}
body.lv-theme main{background:transparent;}

/* achtergrond: raster + zwevende Z's in beige */
body.lv-theme .lab-bg{position:fixed;}
body.lv-theme .lab-bg .blob{display:none;}
body.lv-theme .lab-bg .grid{background-image:linear-gradient(rgba(232,218,192,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(232,218,192,.055) 1px,transparent 1px);opacity:1;}
body.lv-theme .lab-bg .zzz{color:var(--sand-200);animation-name:lvRise;}
@keyframes lvRise{0%{transform:translate3d(0,10vh,0) rotate(-8deg);opacity:0;}15%{opacity:.16;}55%{transform:translate3d(1.2vw,-4vh,0) rotate(6deg);}85%{opacity:.1;}100%{transform:translate3d(2.2vw,-18vh,0) rotate(-4deg);opacity:0;}}

/* sticky menubalk met korte transparante onderrand */
body.lv-theme .site-header{position:sticky !important;top:0;z-index:150 !important;border-bottom:0 !important;box-shadow:none !important;padding-bottom:5px;background:rgba(251,248,243,.94) !important;
  -webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 8px),rgba(0,0,0,0) 100%);mask-image:linear-gradient(180deg,#000 calc(100% - 8px),rgba(0,0,0,0) 100%);}
body.lv-theme .site-header, body.lv-theme .site-header a, body.lv-theme .site-header button{--ink:#1C2420;--ink-soft:#4A544E;--line:#E4DCCB;}
body.lv-theme .site-header .main-nav a{color:#1C2420;}

/* typografie */
body.lv-theme h1,body.lv-theme h2,body.lv-theme h3,body.lv-theme h4{color:#FBF8F3;font-weight:400;}
body.lv-theme h1{font-size:clamp(2.6rem,5.6vw,4.6rem);line-height:1.02;letter-spacing:-.025em;text-wrap:balance;}
body.lv-theme h2{font-size:clamp(2rem,3.8vw,3.1rem);line-height:1.08;letter-spacing:-.02em;text-wrap:balance;}
body.lv-theme h3{font-size:1.35rem;}
body.lv-theme p,body.lv-theme li{color:rgba(243,236,223,.78);}
body.lv-theme main a:not(.btn){color:var(--sand-400);}
body.lv-theme main a:not(.btn):hover{color:var(--sand-200);}
body.lv-theme strong,body.lv-theme b{color:#FBF8F3;}
body.lv-theme .eyebrow{display:inline-flex;align-items:center;gap:14px;background:none;padding:0;border-radius:0;font-size:.72rem;letter-spacing:.22em;color:var(--sand-400);margin-bottom:22px;}
body.lv-theme .eyebrow::before{content:"";width:34px;height:1px;background:var(--sand-400);}

/* pagina-hero */
body.lv-theme .page-hero{background:transparent !important;padding:96px 0 64px;}
body.lv-theme .breadcrumb-trail{color:rgba(243,236,223,.55);}
body.lv-theme .breadcrumb-trail a{color:rgba(243,236,223,.75);}
body.lv-theme .sep{color:var(--sand-400);}

/* secties, met zachte overgangen */
body.lv-theme .section{background:transparent;}
body.lv-theme .section-alt{background:linear-gradient(180deg,rgba(27,74,54,0) 0,rgba(27,74,54,.28) 140px,rgba(27,74,54,.28) calc(100% - 140px),rgba(27,74,54,0) 100%) !important;}
body.lv-theme .section-dark{background:radial-gradient(ellipse 60% 55% at 50% 45%,rgba(201,168,115,.12),transparent 70%) !important;}
body.lv-theme .hero{background:transparent !important;}
body.lv-theme .curve-divider path{stroke:rgba(201,168,115,.45);}

/* knoppen */
body.lv-theme .btn{border-radius:100px;}
body.lv-theme .btn-primary{background:var(--sand-400) !important;color:#0B1F17 !important;border-color:transparent !important;box-shadow:0 10px 30px -12px rgba(201,168,115,.55);}
body.lv-theme .btn-primary:hover{background:#D6B884 !important;}
body.lv-theme .btn-secondary{background:transparent;color:#FBF8F3;border:1px solid rgba(243,236,223,.35);}
body.lv-theme .btn-secondary:hover{background:rgba(243,236,223,.1);color:#FBF8F3;}
body.lv-theme main .btn-ghost{color:#F3ECDF;text-decoration:none;border:1px solid rgba(243,236,223,.3);padding:13px 24px;}
body.lv-theme main .btn-ghost:hover{background:rgba(243,236,223,.08);}

/* kaarten en vlakken */
body.lv-theme .card,body.lv-theme .founder-card,body.lv-theme .shop-card,body.lv-theme .quote-card,body.lv-theme .promise-card,body.lv-theme .contact-info-card,body.lv-theme .advice-box,body.lv-theme .size-note,body.lv-theme .headfit-wizard,body.lv-theme .hole-opt,body.lv-theme .faq-cta{
  background:rgba(15,42,30,.85) !important;border:1px solid rgba(232,218,192,.14) !important;border-radius:20px;color:#F3ECDF;box-shadow:none;}
body.lv-theme .card-icon,body.lv-theme .promise-icon{background:rgba(201,168,115,.14);color:var(--sand-400);}
body.lv-theme .founder-role{color:var(--sand-400);}
body.lv-theme .shop-media,body.lv-theme .product-media,body.lv-theme .hero-visual,body.lv-theme .product-gallery-main,body.lv-theme .content-img{background:#0F2A1E !important;border-color:rgba(232,218,192,.14) !important;border-radius:18px;}
body.lv-theme .layer{background:rgba(15,42,30,.85) !important;border-color:rgba(232,218,192,.14) !important;}
body.lv-theme .layer-num{color:var(--sand-400);}
body.lv-theme .feature-list li{color:#F3ECDF;font-weight:500;}
body.lv-theme .feature-list svg{color:var(--sand-400);}
body.lv-theme .gift-badge{background:var(--sand-400);color:#0B1F17;}
body.lv-theme .hole-opt[aria-pressed="true"],body.lv-theme .hole-opt.active,body.lv-theme .hole-opt[aria-checked="true"]{border-color:var(--sand-400) !important;}

body.lv-theme .hole-opt-t{color:#FBF8F3 !important;}
body.lv-theme .hole-opt-s{color:rgba(243,236,223,.7) !important;}
/* prijs en maten */
body.lv-theme .price{font-weight:400;color:#FBF8F3;letter-spacing:-.02em;}
body.lv-theme .price-was{color:rgba(243,236,223,.5);}
body.lv-theme .price-from{color:rgba(243,236,223,.6);}
body.lv-theme .size-btn,body.lv-theme .qty-btn{background:transparent !important;color:#F3ECDF;border:1px solid rgba(232,218,192,.25);border-radius:100px;}
body.lv-theme .size-btn[aria-pressed="true"]{background:#F3ECDF !important;color:#0B1F17;border-color:#F3ECDF;}
body.lv-theme .pay-row span{background:rgba(27,74,54,.3);color:#F3ECDF;border:1px solid rgba(232,218,192,.14);}

/* formulieren */
body.lv-theme .form-field label{color:rgba(243,236,223,.85);}
body.lv-theme .form-field .hint{color:rgba(243,236,223,.55);}
body.lv-theme main input:not([type=checkbox]):not([type=radio]),body.lv-theme main textarea,body.lv-theme main select{background:rgba(11,31,23,.6) !important;color:#FBF8F3 !important;border:1px solid rgba(232,218,192,.25) !important;border-radius:14px;}
body.lv-theme main input::placeholder,body.lv-theme main textarea::placeholder{color:rgba(243,236,223,.45);}
body.lv-theme .form-success{background:rgba(201,168,115,.14);border-color:rgba(201,168,115,.4);color:#F3ECDF;}
body.lv-theme .lang-switch{background:rgba(251,248,243,.92);}

/* FAQ */
body.lv-theme .faq-item{background:rgba(15,42,30,.85) !important;border:1px solid rgba(232,218,192,.14);border-radius:16px;}
body.lv-theme .faq-item summary{color:#FBF8F3;font-family:var(--font-display);font-weight:400;font-size:1.12rem;}
body.lv-theme .faq-item summary .chev{color:var(--sand-400);}
body.lv-theme .faq-answer{color:rgba(243,236,223,.75);}
body.lv-theme .faq-cat{color:var(--sand-400);}
body.lv-theme .faq-jump a{background:rgba(27,74,54,.3);border:1px solid rgba(232,218,192,.16);color:#F3ECDF;}

/* bronnen en juridisch */
body.lv-theme .ref a{color:var(--sand-400);}
body.lv-theme .sources li{color:rgba(243,236,223,.75);}
body.lv-theme .sources li::before{background:rgba(201,168,115,.16);color:var(--sand-400);}
body.lv-theme .legal ol,body.lv-theme .legal ul{color:rgba(243,236,223,.75);}

/* lichte inline-vlakken omzetten naar donker */
body.lv-theme main [style*="background:#F"],body.lv-theme main [style*="background: #F"],body.lv-theme main [style*="background:var(--sand-100)"],body.lv-theme main [style*="background:var(--cream)"],body.lv-theme main [style*="background:var(--white)"],body.lv-theme main [style*="background:#fff"]{background:rgba(27,74,54,.25) !important;border-color:rgba(232,218,192,.14) !important;color:#F3ECDF;}
body.lv-theme main [style*="color:var(--ink-soft)"]{color:rgba(243,236,223,.75) !important;}
body.lv-theme main [style*="color:var(--green-950)"],body.lv-theme main [style*="color:var(--green-800)"],body.lv-theme main [style*="color:#0F2F22"],body.lv-theme main [style*="color:#0f2f22"],body.lv-theme main [style*="color:#1B4A36"],body.lv-theme main [style*="color:#1C2420"],body.lv-theme main [style*="color:var(--ink)"]{color:#F3ECDF !important;}
body.lv-theme main [style*="border:1px solid #E"],body.lv-theme main [style*="border:1px solid var(--line)"]{border-color:rgba(232,218,192,.14) !important;}

/* footer zacht laten aansluiten */
body.lv-theme .site-footer{background:linear-gradient(180deg,rgba(15,47,34,0) 0,#0F2F22 120px) !important;}
@media (prefers-reduced-motion:reduce){body.lv-theme .lab-bg .zzz{animation:none;opacity:.1;}}
