/*
Theme Name: premium-kreatinpulvertest
Template: twentytwentyfive
Version: 1.0.0
Description: Dunne wrapper-theme (css_load_model=inline) voor kreatinpulvertest.de. Header/nav + data-project="kreatinpulvertest"-scope + footer. Blokken dragen hun eigen inline <style> in post_content. Eigen 'kp'-namespace (geen .block-*/__*-replica van de zustersites). Merk-hue ~356 deg via --t-* tokens.
*/

/* Reset */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
body{font-family:'IBM Plex Sans',system-ui,-apple-system,sans-serif}

/* Merk-tokens — kreatinpulvertest (magenta) */
:root{
  --t-primary:#1a1012;
  --t-secondary:#362126;
  --t-accent:#f2495b;
  --t-accent-hover:#ed8b95;
  --t-accent-deep:#f22137;
  --t-bg:#ffffff;
  --t-surface:#f9f5f6;
  --t-text:#272021;
  --t-text-light:#ffffff;
  --t-heading:#1a1012;
  --t-muted:#756667;
  --t-border:#eae1e2;
  --t-dark-bg:#1a1012;
  --t-dark-surface:#362126;
  --t-gradient-start:#1a1012;
  --t-gradient-end:#460b0f;
  --t-heading-font:'Archivo', system-ui, -apple-system, sans-serif;
  --t-body-font:'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --t-mono-font:ui-monospace,'SFMono-Regular',Menlo,monospace;
  --t-radius-sm:8px;
  --t-radius-md:14px;
  --t-radius-lg:18px;
  --t-shadow-sm:0 1px 3px rgba(0,0,0,0.07);
  --t-shadow-md:0 6px 16px rgba(0,0,0,0.09);
  --t-shadow-lg:0 16px 40px rgba(0,0,0,0.12);
}

/* ══ Header / navigatie — kp-namespace ══ */
.kp-nav{
  position:fixed;inset:0 0 auto 0;z-index:1000;height:70px;
  display:flex;align-items:center;
  font-family:var(--t-body-font);
  background:rgba(21,10,26,0.72);
  backdrop-filter:blur(16px) saturate(180%);
  -webkit-backdrop-filter:blur(16px) saturate(180%);
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition:height .3s cubic-bezier(.16,1,.3,1),background .3s ease;
}
.kp-nav.is-stuck{height:58px;background:rgba(21,10,26,0.94);box-shadow:0 6px 28px rgba(0,0,0,0.35)}
.kp-nav__bar{width:100%;max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:24px}
.kp-nav__brand{margin-right:auto;font-family:var(--t-heading-font);font-weight:700;font-size:1.1rem;letter-spacing:-.02em;color:#fff;text-decoration:none}
/* fg-polariteit (netwerk-breed, Marco 2026-07-08): merk/kop op donker = WIT. Het accent leeft in
   knoppen/underlines, niet in de wordmark op de donkere nav/footer. */
.kp-nav__brand b{color:#fff;font-weight:700}
.kp-nav__menu{display:flex;align-items:center;gap:14px;list-style:none}
.kp-nav__item{position:relative;flex-shrink:0}
/* legibility (pixel-gate, MIN_TEXT_LUM 0.55 op donker): 0.72 gaf effectief rgb(~188) → lum ~0.49 =
   grijs-op-donker ROOD. 0.90 → effectief rgb(~231) → lum ~0.80, ruim boven de drempel; hover = #fff. */
/* ═══ FP-MENU fix 2026-07-24 (menu-audit-20260724, root-cause + recept identiek aan kreatin-vergeleich):
   9 items zonder white-space:nowrap + zonder flex-shrink:0 op de li's → de flex-items kregen ruimte
   toegewezen die kleiner was dan hun natuurlijke tekstbreedte, dus 5/9 items wrapten naar 2 regels
   (Monohydrat-Test/Reinheit-Labor/Kapseln vs. Pulver/Über uns/Günstiges Kreatin) = ongelijke gaten +
   halve verticale uitlijning. Fix: nowrap (nooit meer wrap) + text-align:center als multi-regel-vangnet
   + flex-shrink:0 op de li's. Gap 28px→14px: 9 items pasten met de oorspronkelijke gap NERGENS binnen de
   1180px-gecapte bar (gemeten: al bij 1440px 144px te breed) — dit is dus geen smalle-viewport-kwestie
   maar een basiswaarde-fix. Extra: 2 langste labels ingekort via de WP-menu-items zelf (db_id 45/56,
   "Günstiges Kreatin"→"Günstig", "Kapseln vs. Pulver"→"Kapseln/Pulver" — "Kreatin" is overal op deze site
   impliciet, zelfde patroon als de vergeleich-fix) zodat de gap niet oncomfortabel klein hoeft. Zie ook
   de 1024-1179-kneepband hieronder + de opgeschoven hamburger-breakpoint (1023, was 840). */
.kp-nav__link{display:inline-block;padding:8px 2px;font-size:.85rem;font-weight:500;color:rgba(255,255,255,0.9);text-decoration:none;transition:color .2s ease;white-space:nowrap;text-align:center}
.kp-nav__link::before{content:"";position:absolute;left:0;bottom:2px;width:0;height:2px;background:var(--t-accent);transition:width .3s cubic-bezier(.16,1,.3,1)}
.kp-nav__link:hover{color:#fff}
.kp-nav__link:hover::before{width:100%}
.kp-nav__cta{flex-shrink:0;font-family:var(--t-mono-font);font-size:.82rem;font-weight:600;letter-spacing:.03em;color:#fff;background:var(--t-accent);padding:9px 18px;border-radius:var(--t-radius-sm);text-decoration:none;transition:transform .15s ease,box-shadow .25s ease}
.kp-nav__cta:hover{transform:translateY(-2px);box-shadow:0 0 20px rgba(162,28,175,0.45),0 6px 16px rgba(162,28,175,0.28)}
.kp-nav__burger{display:none;flex-direction:column;gap:5px;width:38px;height:38px;padding:8px;background:none;border:0;cursor:pointer}
.kp-nav__burger span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .25s ease}
.kp-nav.is-open .kp-nav__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.kp-nav.is-open .kp-nav__burger span:nth-child(2){opacity:0}
.kp-nav.is-open .kp-nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* FP-MENU fix 2026-07-24: was rgba(21,10,26,0.97) — ogenschijnlijk bijna dekkend, maar mechanisch
   bevestigd (getComputedStyle backgroundColor-alpha 0.97, gate-check drawerBgAlpha<1) dat de 3%
   restdoorschijnendheid + backdrop-filter samen de heldere hero-kop/CTA erachter zichtbaar liet
   "bloeden" (menu-audit-20260724 screenshot). Dekkende achtergrond = solide --t-dark-bg (site-eigen
   bg_dark uit design-profile.json, #1a1012), geen alpha meer. backdrop-filter blijft staan (onschadelijk
   nu de achtergrond zelf 100% dekt, geen visueel effect meer maar geen reden om 'm te verwijderen). */
.kp-nav__drawer{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;gap:2px;padding:14px 24px 22px;background:var(--t-dark-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,0.08)}
.kp-nav.is-open .kp-nav__drawer{display:flex}
.kp-nav__drawer a{padding:12px 6px;font-size:.95rem;color:rgba(255,255,255,0.85);text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.06);transition:padding-left .2s ease,color .2s ease}
.kp-nav__drawer a:hover{padding-left:14px;color:#fff}
.kp-nav :focus-visible{outline:2px solid var(--t-accent);outline-offset:2px}
.kp-nav__spacer{height:70px}
/* FP-MENU fix 2026-07-24: kneepband voor de desktop-nav-breedtes waar de bar NIET meer op 1180px
   gecapt is (1024-1179px) — kleinere gap+font zodat de 9 items (met de 2 ingekorte labels) nog steeds
   NOOIT wrappen (nooit terug naar wrap, altijd verder verkleinen). Gemeten: fit met >=24px marge op
   1024/1100/1180; ruimschoots fit op 1280/1440 met de basiswaarden hierboven. */
@media (min-width:1024px) and (max-width:1179px){
  .kp-nav__menu{gap:9px}
  .kp-nav__link{font-size:.8rem}
}
/* FP-MENU fix 2026-07-24: breakpoint 840→1023. 9 items (zelfs ingekort) passen niet meer comfortabel
   onder ~1000px zonder de tekst onleesbaar klein te maken (zou opnieuw "onverzorgd" ogen) — de mobiele
   drawer neemt het daarom eerder over. Boven 1024px blijft de volledige desktop-nav zichtbaar. */
@media (max-width:1023px){
  .kp-nav__menu,.kp-nav__cta{display:none}
  .kp-nav__burger{display:flex}
}
@media (prefers-reduced-motion:reduce){.kp-nav,.kp-nav *{transition-duration:.01ms!important}}

/* ══ Footer — kp-namespace ══ */
.kp-foot{background:var(--t-dark-bg);color:rgba(255,255,255,0.6);font-family:var(--t-body-font);padding:clamp(52px,6vw,84px) 24px clamp(24px,3vw,40px)}
.kp-foot__wrap{max-width:1180px;margin:0 auto}
.kp-foot__grid{display:grid;grid-template-columns:2fr 3fr;gap:44px;padding-bottom:44px}
.kp-foot__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.kp-foot__brand{max-width:300px}
.kp-foot__mark{display:block;font-family:var(--t-heading-font);font-size:1.2rem;font-weight:700;color:#fff;letter-spacing:-.02em;margin-bottom:12px}
/* fg-polariteit: footer-wordmark op donker = WIT (1.2rem/700 = styled-kop, tript P1 als accent-rood). */
.kp-foot__mark b{color:#fff}
.kp-foot__note{font-size:.86rem;line-height:1.65;color:rgba(255,255,255,0.46)}
.kp-foot__title{font-family:var(--t-mono-font);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,0.82);margin-bottom:14px}
.kp-foot__list{list-style:none}
.kp-foot__link{position:relative;display:inline-block;padding:5px 0;font-size:.88rem;color:rgba(255,255,255,0.52);text-decoration:none;transition:color .2s ease}
.kp-foot__link::after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--t-accent);transition:width .3s cubic-bezier(.16,1,.3,1)}
.kp-foot__link:hover{color:#fff}
.kp-foot__link:hover::after{width:100%}
.kp-foot__base{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,0.08);padding-top:22px;font-size:.8rem;color:rgba(255,255,255,0.38)}
.kp-foot__legal{display:flex;gap:20px}
.kp-foot__legal a{color:rgba(255,255,255,0.38);text-decoration:none;transition:color .2s ease}
.kp-foot__legal a:hover{color:rgba(255,255,255,0.7)}
.kp-foot :focus-visible{outline:2px solid var(--t-accent);outline-offset:2px}
@media (max-width:768px){.kp-foot__grid{grid-template-columns:1fr;gap:32px}.kp-foot__cols{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.kp-foot__grid{grid-template-columns:1fr}.kp-foot__cols{grid-template-columns:1fr}.kp-foot__base{flex-direction:column;text-align:center}}

/* ══ WordPress-body-scope (data-project=kreatinpulvertest) ══ */
[data-project="kreatinpulvertest"]{background:var(--t-dark-bg);color:var(--t-text-light)}
body[data-project="kreatinpulvertest"]{font-family:var(--t-body-font)!important;background:var(--t-dark-bg)!important;color:var(--t-text-light)!important}
[data-project="kreatinpulvertest"] h1,[data-project="kreatinpulvertest"] h2,[data-project="kreatinpulvertest"] h3,[data-project="kreatinpulvertest"] h4,[data-project="kreatinpulvertest"] h5,[data-project="kreatinpulvertest"] h6{font-family:var(--t-heading-font)!important;font-weight:700!important;letter-spacing:-.02em!important}
[data-project="kreatinpulvertest"] a{text-decoration:none}
.wp-site-blocks,.has-global-padding{padding:0!important;max-width:none!important}
.is-layout-constrained > :not(.alignfull){max-width:none!important}
main{max-width:none!important;padding:0!important;margin:0!important}
