/*
Theme Name: Padel-Info
Template: generatepress
Author: InnovationICT
Description: Child-theme voor padel-info.nl — design-systeem + custom templates (CPT product, merk/type-archieven). Content-first, snel, zonder page-builder-lock-in.
Version: 1.3
*/

/* ===== Design tokens ===== */
:root{
  --pi-ink:#0f172a; --pi-ink-soft:#5a6a7e; --pi-line:#e6eaf0;
  --pi-surface:#ffffff; --pi-surface-2:#f4f7fa;
  --pi-accent:#0b7285; --pi-accent-ink:#095c6b; --pi-accent-wash:#e2f2f5;
  --pi-cta:#12b76a; --pi-cta-ink:#0d8f52;
  --pi-radius:16px; --pi-radius-s:10px;
  --pi-shadow:0 1px 2px rgba(15,23,42,.05), 0 12px 34px rgba(15,23,42,.07);
  --pi-maxw:1280px;
}

body{ color:var(--pi-ink); background:var(--pi-surface); }
a{ color:var(--pi-accent-ink); }
/* width:100% is nodig omdat GeneratePress' #content een flex-container is; zonder dit krimpt .pi-wrap tot z'n inhoud. */
.pi-wrap{ width:100%; max-width:var(--pi-maxw); margin-inline:auto; padding-inline:22px; }
#content.site-content{ display:block; } /* geen flex-row nodig: onze templates regelen hun eigen layout */

/* ===== Product-single ===== */
.pi-product{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:44px; padding:40px 0 8px; }
@media (max-width:840px){ .pi-product{ grid-template-columns:1fr; gap:26px; } }
.pi-product__media{ position:sticky; top:24px; background:var(--pi-surface-2); border:1px solid var(--pi-line); border-radius:var(--pi-radius); overflow:hidden; aspect-ratio:1/1; display:grid; place-items:center; }
.pi-product__media img{ width:100%; height:100%; object-fit:contain; padding:8%; }
@media (max-width:840px){ .pi-product__media{ position:static; } }
.pi-eyebrow{ font-size:.78rem; letter-spacing:.11em; text-transform:uppercase; font-weight:800; color:var(--pi-accent-ink); text-decoration:none; }
.pi-product h1{ font-size:clamp(1.75rem,1.3rem+1.7vw,2.4rem); line-height:1.1; margin:.22em 0 .35em; letter-spacing:-.022em; text-wrap:balance; }
.pi-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:2px 0 20px; }
.pi-chip{ font-size:.78rem; font-weight:650; padding:5px 12px; border-radius:999px; background:var(--pi-accent-wash); color:var(--pi-accent-ink); text-decoration:none; transition:background .15s; }
.pi-chip:hover{ background:#d2e9ee; }

/* Koop-box */
.pi-buybox{ background:var(--pi-surface); border:1px solid var(--pi-line); border-radius:var(--pi-radius); padding:20px; box-shadow:var(--pi-shadow); }
.pi-buybox__top{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.pi-price{ font-size:1.9rem; font-weight:850; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.pi-price small{ font-size:.85rem; font-weight:600; color:var(--pi-ink-soft); margin-right:2px; }
.pi-stock{ font-size:.78rem; font-weight:700; padding:5px 11px; border-radius:999px; }
.pi-stock--in{ background:#e6f7ee; color:#0d8f52; }
.pi-stock--low{ background:#fff3e0; color:#b25a00; }
.pi-stock--out{ background:#fdeaea; color:#c02626; }
.pi-cta{ display:flex; align-items:center; justify-content:center; gap:9px; width:100%; margin:16px 0 4px; padding:15px 22px; border-radius:12px;
  background:var(--pi-cta); color:#fff; font-weight:750; font-size:1.02rem; text-decoration:none; transition:background .15s, transform .12s; }
.pi-cta:hover{ background:var(--pi-cta-ink); color:#fff; transform:translateY(-1px); }
.pi-buybox__meta{ display:flex; flex-direction:column; gap:4px; margin-top:10px; font-size:.83rem; color:var(--pi-ink-soft); }
.pi-buybox__meta strong{ color:var(--pi-ink); }
/* Prijsvergelijking (meerdere winkels) */
.pi-buybox__count{ font-size:.8rem; font-weight:600; color:var(--pi-ink-soft); margin-left:6px; }
.pi-offers{ display:flex; flex-direction:column; gap:8px; margin:16px 0 4px; }
.pi-offer{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px solid var(--pi-line); border-radius:12px; text-decoration:none; color:var(--pi-ink); transition:.14s; }
.pi-offer:hover{ border-color:var(--pi-accent); background:var(--pi-surface-2); }
.pi-offer--best{ border-color:var(--pi-cta); background:#f0fbf5; }
.pi-offer__shop{ font-weight:700; display:flex; align-items:center; gap:8px; }
.pi-offer__tag{ font-size:.64rem; text-transform:uppercase; letter-spacing:.04em; font-weight:800; color:#fff; background:var(--pi-cta); padding:2px 7px; border-radius:999px; }
.pi-offer__end{ display:flex; align-items:center; gap:12px; }
.pi-offer__price{ font-weight:850; font-variant-numeric:tabular-nums; font-size:1.05rem; }
.pi-offer__go{ display:inline-flex; align-items:center; gap:5px; font-weight:700; font-size:.86rem; color:var(--pi-cta-ink); white-space:nowrap; }
.pi-disclosure{ margin-top:12px; border-top:1px solid var(--pi-line); padding-top:10px; }
.pi-disclosure summary, .pi-faq__item summary{ cursor:pointer; font-weight:650; font-size:.9rem; list-style:none; display:flex; align-items:center; gap:8px; }
.pi-disclosure summary::before, .pi-faq__item summary::before{ content:"+"; display:inline-grid; place-items:center; width:20px; height:20px; border-radius:6px; background:var(--pi-surface-2); color:var(--pi-accent-ink); font-weight:800; }
.pi-disclosure[open] summary::before, .pi-faq__item[open] summary::before{ content:"−"; }
.pi-disclosure p{ margin:10px 0 2px; font-size:.86rem; color:var(--pi-ink-soft); line-height:1.6; }

/* ===== Secties ===== */
.pi-section{ padding:30px 0; border-top:1px solid var(--pi-line); }
.pi-section:first-of-type{ margin-top:26px; }
.pi-section h2{ font-size:1.45rem; letter-spacing:-.015em; margin:0 0 16px; position:relative; padding-left:14px; }
.pi-section h2::before{ content:""; position:absolute; left:0; top:.18em; bottom:.18em; width:4px; border-radius:3px; background:var(--pi-accent); }
.pi-body{ max-width:70ch; line-height:1.72; }
.pi-body h2{ font-size:1.3rem; padding-left:0; } .pi-body h2::before{ display:none; }

/* Specs */
.pi-specs{ width:100%; border-collapse:collapse; font-size:.95rem; max-width:640px; }
.pi-specs th, .pi-specs td{ text-align:left; padding:12px 6px; border-bottom:1px solid var(--pi-line); }
.pi-specs tr:nth-child(even) th, .pi-specs tr:nth-child(even) td{ background:var(--pi-surface-2); }
.pi-specs th{ color:var(--pi-ink-soft); font-weight:600; width:44%; }
.pi-specs td{ font-weight:650; }

/* FAQ */
.pi-faq__item{ border:1px solid var(--pi-line); border-radius:var(--pi-radius-s); padding:14px 16px; margin-bottom:10px; background:var(--pi-surface); }
.pi-faq__item summary{ font-size:1rem; }
.pi-faq__item > div{ margin-top:10px; color:var(--pi-ink-soft); line-height:1.65; font-size:.94rem; }

/* ===== Archieven & kaarten ===== */
.pi-archive-head{ padding:44px 0 6px; }
.pi-archive-head h1{ font-size:clamp(1.85rem,1.3rem+1.9vw,2.6rem); margin:.1em 0 .35em; letter-spacing:-.022em; }
.pi-archive-head .pi-intro{ max-width:65ch; color:var(--pi-ink-soft); font-size:1.06rem; line-height:1.6; }
.pi-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:22px; padding:22px 0 8px; }
.pi-card{ background:var(--pi-surface); border:1px solid var(--pi-line); border-radius:var(--pi-radius); overflow:hidden; box-shadow:var(--pi-shadow); display:flex; flex-direction:column; transition:transform .18s, box-shadow .18s; }
.pi-card:hover{ transform:translateY(-3px); box-shadow:0 6px 14px rgba(15,23,42,.09),0 20px 44px rgba(15,23,42,.12); }
.pi-card__img{ aspect-ratio:1/1; background:var(--pi-surface-2); display:grid; place-items:center; border-bottom:1px solid var(--pi-line); }
.pi-card__img img{ width:100%; height:100%; object-fit:contain; padding:10%; }
.pi-card__b{ padding:14px 15px 16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.pi-card__merk{ font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; font-weight:800; color:var(--pi-accent-ink); }
.pi-card__t{ font-size:1rem; font-weight:650; line-height:1.25; margin:0; }
.pi-card__t a{ color:var(--pi-ink); text-decoration:none; }
.pi-card__t a:hover{ color:var(--pi-accent-ink); }
.pi-card__price{ margin-top:auto; font-weight:800; font-variant-numeric:tabular-nums; }

/* Paginatie / leeg */
.pi-pagination{ padding:14px 0 48px; }
.pi-pagination .page-numbers{ display:inline-grid; place-items:center; min-width:40px; height:40px; padding:0 10px; margin:0 3px; border:1px solid var(--pi-line); border-radius:10px; text-decoration:none; font-weight:650; color:var(--pi-ink); }
.pi-pagination .page-numbers.current{ background:var(--pi-accent); color:#fff; border-color:var(--pi-accent); }
.pi-pagination .page-numbers:hover:not(.current){ border-color:var(--pi-accent); color:var(--pi-accent-ink); }
.pi-empty{ padding:30px 0 60px; color:var(--pi-ink-soft); }

/* ===== Shop-layout (filter-sidebar + resultaten) ===== */
.pi-shop{ display:grid; grid-template-columns:248px minmax(0,1fr); gap:36px; align-items:start; padding:18px 0 0; }
.pi-facets{ position:sticky; top:20px; display:flex; flex-direction:column; gap:18px; }
.pi-facets__head{ display:flex; align-items:baseline; justify-content:space-between; }
.pi-facets__title{ font-size:1.1rem; font-weight:800; letter-spacing:-.01em; }
.pi-facet{ border-top:1px solid var(--pi-line); padding-top:16px; }
.pi-facet:first-of-type{ border-top:0; padding-top:0; }
.pi-facet__h{ font-size:.94rem; font-weight:750; margin:0 0 9px; }
.pi-facet__search{ width:100%; padding:8px 11px; margin-bottom:8px; border:1px solid var(--pi-line); border-radius:9px; background:var(--pi-surface); color:var(--pi-ink); font-size:.85rem; }
.pi-facet__search:focus{ outline:2px solid var(--pi-accent); outline-offset:-1px; border-color:var(--pi-accent); }
.pi-facet__list{ display:flex; flex-direction:column; gap:1px; }
.pi-facet__select{ width:100%; padding:9px 12px; border:1px solid var(--pi-line); border-radius:9px; background:var(--pi-surface); color:var(--pi-ink); font-size:.88rem; font-weight:600; }
.pi-facet__range{ display:flex; align-items:center; gap:8px; }
.pi-facet__range .pi-facet__select{ flex:1; min-width:0; padding:9px 8px; }
.pi-facet__range-sep{ font-size:.82rem; color:var(--pi-ink-soft); flex:none; }
.pi-facet__more{ margin-top:7px; align-self:flex-start; background:none; border:0; padding:2px 0; color:var(--pi-accent-ink); font-weight:700; font-size:.83rem; cursor:pointer; }
.pi-facet__more:hover{ text-decoration:underline; }

.pi-check{ display:flex; align-items:center; gap:9px; padding:6px 8px; margin:0 -8px; border-radius:8px; font-size:.9rem; cursor:pointer; transition:background .12s; }
.pi-check:hover{ background:var(--pi-surface-2); }
.pi-check input{ accent-color:var(--pi-accent); width:16px; height:16px; flex:none; margin:0; }
.pi-check__t{ flex:1; line-height:1.3; }
.pi-check.is-on{ font-weight:750; color:var(--pi-accent-ink); }
.pi-check.is-hidden{ display:none; }
.pi-count{ font-size:.82em; font-weight:600; color:var(--pi-ink-soft); font-variant-numeric:tabular-nums; }
.pi-check.is-zero{ opacity:.4; }

.pi-filters__reset{ font-size:.82rem; font-weight:600; color:var(--pi-ink-soft); text-decoration:none; }
.pi-filters__reset:hover{ color:var(--pi-accent-ink); }
.pi-filters__btn{ margin-top:4px; width:100%; padding:12px 18px; border:0; border-radius:10px; background:var(--pi-accent); color:#fff; font-weight:750; font-size:.92rem; cursor:pointer; transition:background .12s; }
.pi-filters__btn:hover{ background:var(--pi-accent-ink); }
@media (min-width:861px){ .pi-shop.is-js .pi-filters__btn{ display:none; } } /* met JS filtert het live; knop enkel als no-JS-fallback */

/* Resultaten-kolom */
.pi-results{ min-width:0; }
.pi-results__bar{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding-bottom:14px; border-bottom:1px solid var(--pi-line); }
.pi-filters__total{ font-size:.92rem; font-weight:750; color:var(--pi-ink); font-variant-numeric:tabular-nums; }
.pi-sort{ display:inline-flex; align-items:center; gap:8px; font-size:.84rem; color:var(--pi-ink-soft); font-weight:600; white-space:nowrap; }
.pi-sort select{ padding:8px 12px; border:1px solid var(--pi-line); border-radius:10px; background:var(--pi-surface); color:var(--pi-ink); font-weight:650; font-size:.85rem; cursor:pointer; }
.pi-grid.is-loading{ opacity:.5; transition:opacity .15s; pointer-events:none; }

/* Mobiele filter-drawer */
.pi-facets-toggle{ display:none; }
@media (max-width:860px){
  .pi-shop{ grid-template-columns:1fr; gap:0; padding-top:12px; }
  .pi-facets-toggle{ display:inline-flex; align-items:center; gap:8px; margin-bottom:14px; padding:11px 18px; border:1px solid var(--pi-line); border-radius:10px; background:var(--pi-surface); color:var(--pi-ink); font-weight:750; font-size:.92rem; cursor:pointer; box-shadow:var(--pi-shadow); }
  .pi-facets{ position:static; display:none; margin-bottom:20px; padding:18px; border:1px solid var(--pi-line); border-radius:var(--pi-radius); background:var(--pi-surface); box-shadow:var(--pi-shadow); }
  .pi-shop.is-open .pi-facets{ display:flex; }
  .pi-results__bar{ flex-wrap:wrap; }
}

@media (prefers-color-scheme:dark){
  :root{ --pi-ink:#e8edf4; --pi-ink-soft:#9aa7b8; --pi-line:#26303d; --pi-surface:#0f151c; --pi-surface-2:#161e27;
    --pi-accent:#38bdd0; --pi-accent-ink:#7fdcea; --pi-accent-wash:#123039;
    --pi-shadow:0 1px 2px rgba(0,0,0,.4),0 14px 38px rgba(0,0,0,.45); }
  .pi-chip:hover{ background:#173e48; }
  .pi-stock--in{ background:#123222; color:#4ade80; } .pi-stock--low{ background:#3a2a12; color:#f0a24e; } .pi-stock--out{ background:#3a1717; color:#f87171; }
  .pi-hero{ background:linear-gradient(160deg,#0f151c,#123039 70%); }
  .pi-offer--best{ background:#0f2a1c; }
}

/* ===== Homepage ===== */
.pi-hero{ background:linear-gradient(160deg,#eef6f8,#dff0f3 70%); border-bottom:1px solid var(--pi-line); }
.pi-hero__in{ padding:64px 22px 60px; text-align:center; }
.pi-hero h1{ font-size:clamp(2rem,1.3rem+2.6vw,3.2rem); line-height:1.06; letter-spacing:-.025em; margin:.15em auto .3em; max-width:16ch; text-wrap:balance; }
.pi-hero__sub{ max-width:58ch; margin:0 auto; color:var(--pi-ink-soft); font-size:1.1rem; line-height:1.6; }
.pi-hero__cta{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:26px; }
.pi-btn{ display:inline-flex; align-items:center; padding:13px 24px; border-radius:12px; font-weight:750; font-size:1rem; text-decoration:none; transition:.15s; }
.pi-btn--primary{ background:var(--pi-cta); color:#fff; } .pi-btn--primary:hover{ background:var(--pi-cta-ink); color:#fff; transform:translateY(-1px); }
.pi-btn--ghost{ background:var(--pi-surface); color:var(--pi-accent-ink); border:1px solid var(--pi-line); } .pi-btn--ghost:hover{ border-color:var(--pi-accent); }

.pi-home-sec{ padding:40px 0; }
.pi-home-sec > h2, .pi-home-sec__head h2{ font-size:1.55rem; letter-spacing:-.015em; margin:0 0 18px; }
.pi-home-sec__head{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:18px; }
.pi-home-sec__head h2{ margin:0; }
.pi-seeall{ font-weight:700; font-size:.9rem; color:var(--pi-accent-ink); text-decoration:none; white-space:nowrap; }
.pi-seeall:hover{ text-decoration:underline; }

.pi-cats{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
.pi-cat{ display:flex; flex-direction:column; gap:4px; padding:20px 20px 18px; border:1px solid var(--pi-line); border-radius:var(--pi-radius); background:var(--pi-surface); box-shadow:var(--pi-shadow); text-decoration:none; position:relative; transition:.18s; }
.pi-cat:hover{ transform:translateY(-3px); border-color:var(--pi-accent); }
.pi-cat::before{ content:""; position:absolute; left:0; top:16px; bottom:16px; width:3px; border-radius:3px; background:var(--pi-accent); opacity:.8; }
.pi-cat__name{ font-weight:750; font-size:1.08rem; color:var(--pi-ink); letter-spacing:-.01em; }
.pi-cat__meta{ font-size:.84rem; color:var(--pi-ink-soft); }
.pi-cat__arrow{ position:absolute; right:18px; top:18px; color:var(--pi-accent-ink); font-weight:800; opacity:0; transition:.18s; }
.pi-cat:hover .pi-cat__arrow{ opacity:1; }

.pi-brandstrip{ display:flex; flex-wrap:wrap; gap:10px; }
.pi-brand{ padding:10px 18px; border:1px solid var(--pi-line); border-radius:999px; background:var(--pi-surface); font-weight:700; font-size:.92rem; color:var(--pi-ink); text-decoration:none; transition:.15s; }
.pi-brand:hover{ border-color:var(--pi-accent); color:var(--pi-accent-ink); }

.pi-audience{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px; }
.pi-aud{ display:flex; flex-direction:column; gap:3px; padding:22px; border-radius:var(--pi-radius); background:var(--pi-accent-wash); text-decoration:none; transition:.18s; }
.pi-aud:hover{ transform:translateY(-3px); }
.pi-aud__name{ font-weight:800; font-size:1.15rem; color:var(--pi-accent-ink); }
.pi-aud__sub{ font-size:.85rem; color:var(--pi-ink-soft); }

.pi-usps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; padding:34px 0 50px; border-top:1px solid var(--pi-line); margin-top:10px; }
.pi-usp{ display:flex; flex-direction:column; gap:4px; }
.pi-usp strong{ font-size:1rem; } .pi-usp span{ font-size:.9rem; color:var(--pi-ink-soft); line-height:1.5; }

/* Merken-overzicht */
.pi-brandgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; padding:22px 0 50px; }
.pi-brandcard{ display:flex; flex-direction:column; gap:3px; padding:20px; border:1px solid var(--pi-line); border-radius:var(--pi-radius); background:var(--pi-surface); box-shadow:var(--pi-shadow); text-decoration:none; transition:.18s; }
.pi-brandcard:hover{ transform:translateY(-3px); border-color:var(--pi-accent); }
.pi-brandcard__name{ font-weight:750; font-size:1.05rem; color:var(--pi-ink); }
.pi-brandcard__meta{ font-size:.82rem; color:var(--pi-ink-soft); }

/* Merk-chips op categoriepagina */
.pi-brandchips{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:2px 0 4px; }
.pi-brandchips__label{ font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--pi-ink-soft); margin-right:4px; }

/* ===== Header / wordmark ===== */
.site-header{ background:var(--pi-surface); border-bottom:1px solid var(--pi-line); }
.pi-logo, .main-title a{ font-weight:850; letter-spacing:-.022em; color:var(--pi-ink); text-decoration:none; }
.main-title{ font-size:1.5rem; line-height:1; }
.main-title a{ display:inline-flex; align-items:center; }
.main-title a::before, .pi-logo::before{ content:""; display:inline-block; width:11px; height:11px; border-radius:50%; background:var(--pi-cta); margin-right:9px; flex:none; }
.main-navigation{ background:var(--pi-surface); border-bottom:1px solid var(--pi-line); }
.main-navigation .main-nav ul li a{ font-weight:650; font-size:.95rem; }
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-parent > a{ color:var(--pi-accent-ink); }
.main-navigation .menu-toggle{ font-weight:700; }
/* Dropdowns */
.main-navigation .main-nav ul ul{ background:var(--pi-surface); border:1px solid var(--pi-line); border-radius:12px; box-shadow:var(--pi-shadow); padding:6px; min-width:210px; overflow:hidden; }
.main-navigation .main-nav ul ul li a{ padding:9px 14px; border-radius:8px; font-size:.9rem; }
.main-navigation .main-nav ul ul li a:hover{ background:var(--pi-surface-2); color:var(--pi-accent-ink); }
.main-navigation .main-nav ul li.menu-item-has-children > a .dropdown-menu-toggle{ padding-left:4px; }

/* ===== Footer ===== */
.pi-footer{ background:var(--pi-surface-2); border-top:1px solid var(--pi-line); margin-top:48px; }
.pi-footer__in{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:34px; padding:48px 22px 42px; }
.pi-logo--footer{ font-size:1.25rem; display:inline-flex; align-items:center; margin-bottom:12px; }
.pi-footer__brand p{ color:var(--pi-ink-soft); font-size:.92rem; line-height:1.65; max-width:34ch; margin:0; }
.pi-footer__col h4{ font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--pi-ink-soft); margin:0 0 13px; }
.pi-footer__col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:9px; }
.pi-footer__col a{ color:var(--pi-ink); text-decoration:none; font-size:.93rem; }
.pi-footer__col a:hover{ color:var(--pi-accent-ink); }
.pi-footer__note{ color:var(--pi-ink-soft); font-size:.86rem; line-height:1.6; margin:0; }
@media (max-width:768px){ .pi-footer__in{ grid-template-columns:1fr 1fr; gap:26px; } }
@media (max-width:480px){ .pi-footer__in{ grid-template-columns:1fr; } }

.site-info{ background:var(--pi-surface); border-top:1px solid var(--pi-line); color:var(--pi-ink-soft); font-size:.85rem; }
.site-info .inside-site-info, .site-info .copyright-bar{ padding:16px 22px; max-width:var(--pi-maxw); margin-inline:auto; }
.pi-copy{ margin:0; }

/* ===== Content / gidsen ===== */
.entry-content .pi-body{ margin-top:6px; }
.pi-body h2{ margin-top:1.6em; }
.pi-body h3{ margin-top:1.3em; font-size:1.08rem; }
.pi-body ul{ padding-left:1.2em; }
.pi-body li{ margin:.4em 0; }
.pi-body table.pi-specs{ margin:.6em 0 1em; }
.pi-lead{ font-size:1.16rem; line-height:1.6; color:var(--pi-ink); font-weight:500; margin:0 0 1.2em; }
.pi-body .pi-faq__item{ margin-bottom:8px; }
.pi-affil-note{ margin-top:30px; padding-top:16px; border-top:1px solid var(--pi-line); font-size:.85rem; color:var(--pi-ink-soft); line-height:1.6; }

/* ===== Racketfinder-wizard ===== */
.pi-archive-head--center{ text-align:center; }
.pi-archive-head--center .pi-intro{ margin-inline:auto; }
.pi-wiz{ max-width:620px; margin:8px auto 60px; background:var(--pi-surface); border:1px solid var(--pi-line); border-radius:var(--pi-radius); box-shadow:var(--pi-shadow); padding:32px 30px 30px; }
.pi-wiz__prog{ display:flex; gap:8px; margin-bottom:22px; }
.pi-wiz__dot{ height:5px; flex:1; border-radius:3px; background:var(--pi-line); transition:background .2s; }
.pi-wiz__dot.is-on{ background:var(--pi-accent); }
.pi-wiz__count{ font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; font-weight:800; color:var(--pi-ink-soft); margin:0 0 6px; }
.pi-wiz__q{ font-size:1.4rem; letter-spacing:-.015em; margin:0 0 20px; padding:0; }
.pi-wiz__q::before{ display:none; }
.pi-wiz__opts{ display:flex; flex-direction:column; gap:10px; }
.pi-wiz__opt{ display:flex; flex-direction:column; gap:2px; text-align:left; padding:15px 18px; border:1px solid var(--pi-line); border-radius:12px; background:var(--pi-surface); cursor:pointer; transition:.14s; }
.pi-wiz__opt:hover{ border-color:var(--pi-accent); background:var(--pi-surface-2); }
.pi-wiz__opt.is-sel{ border-color:var(--pi-accent); background:var(--pi-accent-wash); }
.pi-wiz__opt-l{ font-weight:750; font-size:1.02rem; color:var(--pi-ink); }
.pi-wiz__opt-s{ font-size:.86rem; color:var(--pi-ink-soft); }
.pi-wiz__back{ margin-top:18px; background:none; border:0; padding:6px 2px; color:var(--pi-ink-soft); font-weight:650; font-size:.9rem; cursor:pointer; }
.pi-wiz__back:hover{ color:var(--pi-accent-ink); }
.pi-wiz__sum{ font-size:1.15rem; line-height:1.55; color:var(--pi-ink); margin:0 0 22px; }
.pi-wiz__cta{ width:100%; justify-content:center; }

/* ===== Sale / aanbiedingen ===== */
.pi-card__img{position:relative}
.pi-badge-sale{position:absolute;top:10px;left:10px;z-index:2;background:#e11d48;color:#fff;font-weight:700;font-size:.8rem;line-height:1;padding:6px 9px;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.pi-card__old{color:#8a8f98;font-weight:500;font-size:.85em;text-decoration:line-through;margin-left:.35em}
.pi-price__sale{display:flex;align-items:center;gap:.5rem;margin-top:.4rem}
.pi-price__old{color:#8a8f98;text-decoration:line-through;font-size:1rem}
.pi-price__save{background:#e11d48;color:#fff;font-weight:700;font-size:.8rem;padding:3px 8px;border-radius:999px}
.pi-sale-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.2rem;flex-wrap:wrap}
.pi-sale-sort{margin:0}

/* ===== Prijsverloop-grafiek + AI-lead ===== */
.pi-lead{font-size:1.05rem;line-height:1.6;color:#3a3f47;margin:.2rem 0 1.1rem}
.pi-pricechart{border:1px solid #e6e8ec;border-radius:12px;padding:14px 16px;margin-top:1rem;background:#fff}
.pi-pricechart__head{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;color:#3a3f47;margin-bottom:6px}
.pi-pricechart__range{color:#8a8f98;font-weight:500}
.pi-pricechart__svg{width:100%;height:120px;display:block}
.pi-pc-area{fill:rgba(37,99,235,.10);stroke:none}
.pi-pc-line{stroke:#2563eb;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.pi-pc-dot{fill:#2563eb}
.pi-pricechart__foot{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;color:#6b7280;margin-top:6px}
.pi-pricechart__foot strong{color:#111}
