/* Shared public website theme. Loaded after page styles; never used by CRM or print brochures. */
body.site-premium {
  --bg-0: #0f0f10;
  --bg-1: #171718;
  --bg-2: #222223;
  --ink: #f4f1eb;
  --ink-soft: #c5c0bb;
  --ink-faint: #b5b0ab;
  --line: rgba(240, 235, 225, .14);
  --line-strong: rgba(240, 235, 225, .28);
  --accent: #edb96a;
  --accent-2: #c5c0bb;
  --accent-3: #edb96a;
  --volt: #edb96a;
  --volt-soft: #edb96a;
  --grad: linear-gradient(120deg, #fad399, #edb96a);
  --r-lg: 16px;
  --r-xl: 22px;
  background: var(--bg-0);
  color: var(--ink);
  color-scheme: dark;
}
.site-premium ::selection { background: #edb96a; color: #1d1d1e; }
.site-premium .aurora, .site-premium .grid-overlay, .site-premium .noise { display: none; }
.site-premium .container { width: min(1320px, calc(100% - 80px)); }
.site-premium :where(a) { color: var(--accent); text-underline-offset: 4px; }
.site-premium :where(h1,h2,h3,h4) { color: var(--ink); }
.site-premium :where(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.site-premium :where(input,select,textarea) { accent-color: #edb96a; }
.site-premium .nav { background: #0f0f10f2; border-color: var(--line); backdrop-filter: blur(20px); }
.site-premium .nav-row { min-height: 84px; }
.site-premium .brand { color: var(--ink); }
.site-premium .brand-text span { color: var(--ink-faint); }
.site-premium .nav-links a { color: var(--ink-soft); }
.site-premium .nav-links a[aria-current=page] { color: var(--accent); background: #edb96a0d; }
.site-premium .nav .nav-cta { background: #edb96a !important; color: #1d1d1e !important; }
.site-premium .nav .nav-cta:hover { background: #fad399 !important; }
.site-premium .nav-spoed { animation: none; }
.site-premium .nav-dropdown-panel { background: #1b1b1c; border-color: var(--line-strong); }
.site-premium .nav-dropdown-col a.nav-dropdown-heading { color: var(--accent) !important; }
.site-premium .nav-dropdown-heading { opacity: 1; }
.site-premium .btn { min-height: 48px; border-radius: 8px; }
.site-premium .btn-primary { background: #edb96a; color: #1d1d1e; box-shadow: 0 10px 26px #0002; }
.site-premium .btn-primary:hover { background: #fad399; box-shadow: 0 14px 32px #0003; }
.site-premium .btn-ghost { color: var(--ink); background: #edb96a07; border-color: var(--line-strong); }
.site-premium .btn-whatsapp { color: #fad399; background: #2f2f30; }
.site-premium .page-hero, .site-premium .blog-hero { padding: 64px 0 56px; background: radial-gradient(ellipse at 85% 25%, #3a3a3b48, transparent 65%); border-bottom: 1px solid var(--line); }
.site-premium .page-title { font-size: clamp(38px, 4.8vw, 68px); line-height: 1.06; letter-spacing: -.055em; }
.site-premium .section-title { letter-spacing: -.04em; line-height: 1.12; }
.site-premium .page-sub, .site-premium .section-sub { color: var(--ink-soft); line-height: 1.75; }
.site-premium .hero-tag { color: var(--accent); background: #edb96a08; border-color: var(--line-strong); }
.site-premium .section { padding-top: 76px; padding-bottom: 76px; }
.site-premium .eyebrow { color: var(--accent); }
.site-premium .eyebrow::before { background: var(--accent); }
.site-premium .battery-grad { background: var(--grad); background-clip: text; -webkit-background-clip: text; color: transparent; }
.site-premium .solar-grad { background: var(--grad); background-clip: text; -webkit-background-clip: text; color: transparent; }
.site-premium.brand-accent, .site-premium .brand-accent { --merk: #edb96a; --merk-soft: rgba(237,185,106,.1); --merk-line: rgba(237,185,106,.4); }
.site-premium .reco-eyebrow { color: var(--accent); }
.site-premium .btn-offerte { background: #edb96a; color: #1d1d1e; border-radius: 8px; min-height: 44px; }
.site-premium .btn-offerte:hover { background: #fad399; }
.site-premium .btn-spoed { color: #fff; background: #c92121; }
.site-premium .testi-google { background: #2864c7; color: #fff; }
.site-premium .step-shot figcaption { color: var(--ink-soft); background: #1e1e1f; }
.site-premium .service-card, .site-premium .route-card, .site-premium .usp-card,
.site-premium .product-card, .site-premium .merk-card, .site-premium .review-card,
.site-premium .step-card, .site-premium .link-card, .site-premium .blog-card,
.site-premium .compare-card, .site-premium .proj-card, .site-premium .contact-card {
  background: linear-gradient(145deg, #212122, #171718);
  color: var(--ink);
  border-color: var(--line);
  border-radius: 16px;
  box-shadow: 0 18px 42px #0002;
}
.site-premium :is(.service-card,.route-card,.product-card,.merk-card,.blog-card,.link-card):hover { border-color: #b7b2ad70; box-shadow: 0 22px 45px #0004; }
.site-premium .service-thumb { height: 240px; }
.site-premium .service-thumb img { filter: none; }
.site-premium :is(.step-icon,.service-icon,.usp-icon) { color: var(--accent); background: #edb96a0d; border-color: var(--line-strong); }
.site-premium .trust-proof { background: #171718; color: var(--ink); border-color: var(--line); padding: 56px 0; }
.site-premium .trust-proof .eyebrow { color: var(--accent); }
.site-premium .trust-proof .eyebrow::before { background: var(--accent); }
.site-premium .trust-proof-copy h2 { color: var(--ink); letter-spacing: -.035em; }
.site-premium .trust-proof-copy p, .site-premium .trust-proof-item p { color: var(--ink-soft); }
.site-premium .trust-proof-item { background: #242425; border-color: var(--line-strong); border-radius: 12px; box-shadow: 0 14px 28px #0002; padding: 20px 16px; }
.site-premium .trust-proof-item strong { color: #fad399; }
.site-premium .trust-proof-kicker { color: #c1bcb7; }
.site-premium .calc-wrap, .site-premium .wizard-card, .site-premium .form-card { background: #181819; border-color: var(--line-strong); border-radius: 18px; box-shadow: 0 24px 60px #0003; }
.site-premium .calc-result, .site-premium .price-cta-card { background: linear-gradient(135deg, #2f2f30, #1c1c1d); color: var(--ink); border-color: var(--line-strong); }
.site-premium .calc-radio-content, .site-premium .wiz-row { background: #1e1e1f; border-color: var(--line-strong); }
.site-premium .calc-radio input:checked + .calc-radio-content, .site-premium .wiz-row.is-selected { border-color: var(--accent); background: #2f2f30; }
.site-premium .form-field :is(input,select,textarea), .site-premium .wiz-input { background: #131314; color: var(--ink); border-color: #6a6a6b; }
.site-premium .form-field :is(input,select,textarea)::placeholder { color: #aaa5a0; opacity: 1; }
.site-premium select option { background: #1b1b1c; color: var(--ink); }
.site-premium .form-field :is(input,select,textarea):focus { background: #1b1b1c; border-color: var(--accent); }
.site-premium .stat-strip, .site-premium .usp-strip { background: #1e1e1f; border-color: var(--line-strong); }
.site-premium .cost-table, .site-premium .price-table { border-color: var(--line-strong); }
.site-premium .cost-table-row.head { background: #252526; }
.site-premium .faq-item { border-color: var(--line-strong); }
.site-premium .faq-question { color: var(--ink); }
.site-premium .brand-tile, .site-premium .cert-logo-tile { --accent: #3c3c3d; --ink: #1d1d1e; --ink-soft: #49494a; background: #e8e4dc; border-color: #c1bcb7; }
.site-premium .photo-band { padding: 100px 0; }
.site-premium .photo-band::before { background: linear-gradient(90deg, #0d0d0eeb, #0d0d0e65); }
.site-premium .photo-band :is(h2,h3) { color: #f4f1eb; }
.site-premium .photo-band p { color: #e8e4dc; }
.site-premium .cta-section { background: radial-gradient(ellipse at 50% 80%, #3b3b3c, #171718 70%); border-color: var(--line); }
.site-premium .foot, .site-premium footer { background: #0c0c0d; border-color: var(--line); }
.site-premium .foot a { color: var(--ink-soft); }
.site-premium .foot a:hover { color: var(--accent); }
.site-premium .scroll-progress { background: #edb96a; box-shadow: none; }
.site-premium .reveal, .site-premium .reveal-up, .site-premium .reveal-left, .site-premium .reveal-right, .site-premium .reveal-scale { opacity: 1; transform: none; }
/* Light editorial panel owns its text tokens; it cannot inherit pale text from a dark section. */
.site-premium .energy-collection { --ink: #1d1d1e; --ink-soft: #49494a; --ink-faint: #575758; --accent: #3c3c3d; color-scheme: light; }
.site-premium .energy-card { --ink: #f4f1eb; --ink-soft: #e8e4dc; color: #f4f1eb; }
.site-premium #am-cookie-panel { background: #1d1d1e; color: #e8e4dc; border-color: #7b7671; box-shadow: 0 15px 50px #0005; font: 12px/1.6 'Inter',sans-serif; max-width: 430px; padding: 18px; }
.site-premium #am-cookie-panel strong { font-size: 13px; }
.site-premium #am-cookie-panel button { background: #2c2c2d; color: #f4f1eb; border-color: #87827d; font-size: 11px; padding: 10px; min-height: 44px; }
.site-premium #am-cookie-panel a { color: #edb96a; font-size: 11px; }
.site-premium #am-cookie-settings { background: #1d1d1e; border: 1px solid #7b7671; color: #e8e4dc; border-radius: 8px; }
.site-premium .am-chat-fab, .site-premium .am-chat-window { background: #19191a; border-color: #8f8a85; }
.site-premium .am-chat-fab svg { stroke: #edb96a; }
.site-premium .am-chat-fab-badge { background: #edb96a; border-color: #19191a; }
.site-premium .am-chat-header, .site-premium .am-chat-footer { background: #232324; border-color: var(--line-strong); }
.site-premium .am-chat-avatar, .site-premium .am-chat-send { background: #edb96a; color: #1d1d1e; }
.site-premium .am-chat-header-status, .site-premium .am-chat-quick-btn { color: #edb96a; }
.site-premium .am-chat-quick-btn { background: #2d2d2e; border-color: #77726d; }
.site-premium .am-chat-msg.bot, .site-premium .am-chat-typing { background: #252526; color: #f4f1eb; }
.site-premium .am-chat-msg.user { background: #383839; color: #f4f1eb; border-color: #77726d; }
.site-premium .am-chat-input { background: #161617; color: #f4f1eb; border-color: #77726d; }
.site-premium .am-chat-input::placeholder { color: #b5b0ab; }
.site-premium .am-mobile-cta { background: #19191af5; border-color: #77726d; }
.site-premium .am-mobile-cta a:first-child { background: #edb96a; color: #1d1d1e; }
.site-premium .am-mobile-cta a:last-child { background: #2d2d2e; border-color: #77726d; color: #f4f1eb; }
/* Photographic service and product introductions. The stats keep their full row below. */
.site-premium .wiz-panel { background: #141415; border: 1px solid #39393b; box-shadow: 0 20px 50px #0002; }
.site-premium .wiz-row { background: #212122; border-color: #454547; }
.site-premium .wiz-row:hover { background: #29292a; border-color: #aa8a5d; }
.site-premium .wiz-row.selected, .site-premium .wiz-row.wiz-row-multi.selected { background: #30291f; border-color: #edb96a; box-shadow: 0 0 0 1px #edb96a30; }
.site-premium .wiz-row-icon { background: #2d2923; border-color: #7d6544; color: #edb96a; }
.site-premium .wiz-row.selected .wiz-row-icon, .site-premium .wiz-row.wiz-row-multi.selected .wiz-row-icon { background: #483823; border-color: #edb96a; color: #f9d7a4; }
.site-premium .wiz-arr-a { color: #bcb8b1; }
.site-premium .wiz-row-grid .wiz-row { margin-bottom: 0; }
.site-premium .wiz-bar-fill { background: #edb96a; }
.site-premium .btn-whatsapp { color: #cef5d7; background: #19452a; }
.site-premium .premium-page-hero > .container { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 38px 54px; align-items: center; }
.premium-hero-copy { min-width: 0; }
.site-premium .premium-page-hero .page-title { font-size: clamp(38px,4.35vw,62px); }
.site-premium .premium-page-hero .page-sub { font-size: 16px; max-width: 54ch; }
.premium-hero-visual { position: relative; margin: 0; min-width: 0; perspective: 1200px; }
.premium-hero-frame { position: relative; border-radius: 20px; border: 1px solid #e8e4dc40; box-shadow: 0 30px 60px #0006; transform: perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,-3deg)); transition: transform .35s ease; overflow: hidden; background: #2a2a2b; }
.premium-hero-frame > img { display: block; width: 100%; height: 470px; object-fit: cover; }
.premium-product-frame > img { object-fit: contain; padding: 28px 28px 96px; background: radial-gradient(ellipse at 50% 35%, #474748, #1e1e1f 70%); }
.premium-hero-frame::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 45%,#0f0f10d9); pointer-events: none; }
.premium-hero-frame figcaption { position: absolute; bottom: 26px; left: 28px; right: 28px; z-index: 1; color: #f4f1eb; }
.premium-hero-frame figcaption span { display: block; font: 10px 'JetBrains Mono',monospace; letter-spacing: .12em; color: #edb96a; margin-bottom: 9px; text-transform: uppercase; }
.premium-hero-frame figcaption strong { display: block; max-width: 25ch; font: 500 26px/1.2 'Space Grotesk',sans-serif; letter-spacing: -.025em; }
.premium-hero-visual::before { content: ''; position: absolute; inset: 28px -12px -12px 24px; border: 1px solid #edb96a28; border-radius: 22px; pointer-events: none; }
.site-premium .premium-page-hero > .container > :is(.stat-strip,.usp-strip) { grid-column: 1/-1; margin-top: 0; }
@media(min-width:981px) { .site-premium .nav-has-dropdown:focus-within .nav-dropdown-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); } }
@media(max-width:1100px) { .site-premium .container { width: calc(100% - 48px); } .site-premium .premium-page-hero > .container { gap: 30px; } .premium-hero-frame > img { height: 440px; } .site-premium .trust-proof-inner { grid-template-columns: 1fr; } }
@media(max-width:980px) { .site-premium .nav-row { min-height: 76px; } .site-premium .nav-links { background: #171718; max-height: calc(100dvh - 90px); overflow-y: auto; } .site-premium .nav-dropdown-panel { background: transparent; } .site-premium .premium-page-hero > .container { grid-template-columns: 1fr; } .premium-hero-visual { width: 100%; max-width: 700px; justify-self: center; } .premium-hero-frame { transform: none; } .premium-hero-frame > img { height: 420px; } }
@media(max-width:600px) { .site-premium .container { width: calc(100% - 40px); } .site-premium .page-hero, .site-premium .blog-hero { padding: 40px 0; } .site-premium .section { padding-top: 52px; padding-bottom: 52px; } .site-premium .page-title { font-size: 39px; overflow-wrap: anywhere; } .site-premium .premium-page-hero .page-title { font-size: 39px; } .site-premium .trust-proof { padding: 40px 0; } .site-premium .trust-proof-grid { grid-template-columns: 1fr 1fr; } .site-premium .trust-proof-item { padding: 17px 14px; min-width: 0; } .site-premium .trust-proof-item strong { font-size: 20px; } .site-premium .trust-proof-item p { font-size: 13px; } .premium-hero-frame > img { height: 330px; } .premium-hero-frame figcaption { left: 22px; bottom: 23px; } .premium-hero-frame figcaption strong { font-size: 23px; } .premium-hero-visual::before { inset: 18px -7px -9px 20px; } .site-premium .breadcrumb { flex-wrap: wrap; } }
@media(prefers-reduced-motion:reduce) { .site-premium *, .site-premium *::before, .site-premium *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } .premium-hero-frame { transform: none !important; } }
@media(max-width:600px) { .site-premium .process { grid-template-columns: minmax(0,1fr); } .site-premium .step { min-width: 0; } }

/* Ankersprongen: de nav is sticky (85px desktop, 76px mobiel). Zonder deze regel
   verdwijnt het kopje van de aangesprongen sectie achter de balk. */
html { scroll-padding-top: 100px; }
@media(max-width:980px) { html { scroll-padding-top: 92px; } }

/* Three energy specialisms in the shared menu. */
@media(min-width:981px){.site-premium .nav-dropdown-panel{grid-template-columns:repeat(3,minmax(0,1fr));}}
