/*
Theme Name: Giva Sparewheels
Theme URI: https://givasparetyres.com
Author: Giva Wheels B.V.
Author URI: https://givasparetyres.com
Description: Lichtgewicht, SEO/GEO-gericht maatwerkthema voor de Giva reservewielen/thuiskomers-webshop (WooCommerce, levering in de hele EU). Ingebouwde schema.org JSON-LD (Organization, WebSite, Breadcrumb, Product- en FAQ-helpers), Open Graph, canonicals en een snelle, schone head voor sterke Core Web Vitals.
Version: 0.9.114
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: givasparetyres
Tags: woocommerce, e-commerce, seo, custom-logo, custom-menu, translation-ready, threaded-comments
*/

/* ============================================================
   Ontwerptokens, pas hier de huisstijl aan
   ============================================================ */
:root{
  --giva-max: 1240px;
  --giva-gap: clamp(1rem, 3vw, 2rem);
  --c-bg: #e9e3e0;
  --c-surface: #f5f7fa;
  --c-text: #111827;
  --c-muted: #55607a;
  --c-border: #e3e8ef;
  --c-primary: #2f2f2e;      /* antraciet, Spare Tyres huisstijl (koppen, donkere UI) */
  --c-primary-dark: #1e1e1d; /* hover op donkere elementen */
  --c-accent: #4f7a5d;       /* groen, Spare Tyres accent (CTA's, links, pijlen); WCAG AA: wit erop = 4.9:1 */
  --c-accent-dark: #456b53;  /* hover op het accent (6.0:1 met wit) */
  --c-accent-ink: #ffffff;
  --radius: 10px;
  --shadow: 0 1px 2px rgba(16,24,40,.06), 0 8px 24px rgba(16,24,40,.06);
  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-head: "acumin-pro", "Inter", system-ui, sans-serif;
}

*,*::before,*::after{ box-sizing: border-box; }

/* Phosphor-iconen, basisuitlijning; kleuren mee met currentColor */
.ph{ display:inline-block; line-height:1; vertical-align:-.125em; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scrollbar-gutter:stable; overflow-x:clip; }
/* Scrollbalken in de huisstijl (subtiel, accent op hover). */
*{ scrollbar-width:thin; scrollbar-color:rgba(47,47,46,.32) transparent; }
::-webkit-scrollbar{ width:12px; height:12px; }
::-webkit-scrollbar-track{ background:transparent; }
::-webkit-scrollbar-thumb{ background:rgba(47,47,46,.28); border-radius:999px; border:3px solid transparent; background-clip:content-box; }
::-webkit-scrollbar-thumb:hover{ background:var(--c-accent); background-clip:content-box; }
body{
  margin:0; font-family:var(--font); color:var(--c-text); background:#fff;
  line-height:1.6; font-size:clamp(16px,1vw + 14px,18px);
}
/* WP global-styles zet op virtuele pagina's body-font op system; forceer de thema-font (Inter) overal. */
html body{ font-family:var(--font); }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--c-primary); text-underline-offset:2px; }
a:hover{ color:var(--c-accent); }
h1,h2,h3{ font-family:var(--font-head); line-height:1.2; color:var(--c-primary); margin:0 0 .5em; }
h1,h2{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); }
h1{ font-size:clamp(1.8rem,3.5vw,2.6rem); }
h2{ font-size:clamp(1.4rem,2.5vw,1.9rem); }

.container{ width:100%; max-width:var(--giva-max); margin-inline:auto; padding-inline:var(--giva-gap); }
/* Sitebreedte: de content (hero + secties) is maximaal 1920px breed, gecentreerd.
   De servicebalk, topnav en footer staan buiten .site-main en houden hun volle
   100%-breedte achtergrond (kan dus breder dan 1920px); hun content blijft 1200px
   via .container. */
.site-main{ display:block; max-width:1920px; margin-inline:auto; }
section{ padding-block: 0.5rem; }

/* Toegankelijkheid */
.screen-reader-text{ position:absolute!important; width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap; }
.skip-link{ position:absolute; left:-9999px; top:0; background:var(--c-primary); color:#fff; padding:.6rem 1rem; z-index:1000; }
.skip-link:focus{ left:.5rem; top:.5rem; }
:focus-visible{ outline:3px solid var(--c-accent); outline-offset:2px; }

/* Knoppen */
.btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.8rem 1.4rem; border-radius:var(--radius);
  background:var(--c-primary); color:#fff; text-decoration:none; font-weight:600; border:0; cursor:pointer; }
.btn:hover{ background:var(--c-primary-dark); color:#fff; }
.btn--accent{ background:var(--c-accent); color:var(--c-accent-ink); }
.btn--accent:hover{ background:var(--c-accent-dark); color:#fff; }

/* Header */
.cart-link{ text-decoration:none; font-weight:700; color:var(--c-primary); display:inline-flex; align-items:center; gap:.15rem; }
.cart-link .ph{ font-size:1.4rem; }
.cart-count{ display:inline-block; min-width:1.4em; text-align:center; background:var(--c-accent); color:#fff; border-radius:999px; padding:0 .35em; font-size:.8rem; margin-left:.15rem; }

/* Breadcrumb */
.breadcrumb{ padding-block:.75rem; font-size:.9rem; color:var(--c-muted); }
.breadcrumb ol{ list-style:none; display:flex; flex-wrap:wrap; gap:.4rem; margin:0; padding:0; }
.breadcrumb li+li::before{ content:"›"; margin-right:.4rem; color:var(--c-border); }
.breadcrumb a{ text-decoration:none; color:var(--c-muted); }
.breadcrumb [aria-current="page"]{ color:var(--c-text); }
/* Kruimelpad-balk: slank, direct onder de header (subpagina's). */
.giva-crumbbar{ background:#fff; border-bottom:1px solid var(--c-border); }
.giva-crumbbar .breadcrumb{ padding-block:.55rem; }
.giva-backbar .giva-back{ margin-block:.55rem; }

/* Kaarten / grid */
.grid{ display:grid; gap:var(--giva-gap); grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
.card{ background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); padding:1.25rem; box-shadow:var(--shadow); }
.card h3{ margin-top:0; }

/* Content */
.entry-content{ max-width:72ch; }
.entry-content > *+*{ margin-top:1rem; }
.entry-content h2,.entry-content h3{ margin-top:1.6em; }

/* FAQ: tweekoloms wit blok (1480px), accordeon met roterende chevron, vierkante hoeken */
.faq-section{ background:#fff; padding-block:0; }
.giva-faq{ padding-block:clamp(1.75rem,4vw,3rem); display:grid; grid-template-columns:minmax(260px,340px) 1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:start; }
.giva-faq__arrow{ display:inline-flex; margin-bottom:.5rem; }
.giva-faq__arrow .giva-brand-arrow{ width:2rem; height:2rem; fill:var(--c-accent); transform:rotate(90deg); margin-left:-2rem; }
.giva-faq__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-size:clamp(1.9rem,3.4vw,2.8rem); font-weight:700; line-height:.9; text-transform:uppercase; margin:0 0 .9rem; }
.giva-faq__lead{ color:var(--c-muted); margin:0 0 1rem; }
.giva-faq__contact{ font-weight:700; color:var(--c-accent); text-decoration:none; display:inline-flex; align-items:center; gap:.4rem; }
.giva-faq__contact:hover{ color:var(--c-accent-dark); }
.faq details{ border:0; border-top:1px solid var(--c-border); border-radius:0; background:transparent; padding:0; }
.faq details:last-child{ border-bottom:1px solid var(--c-border); }
.faq details+details{ margin-top:0; }
.faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.1rem .1rem; font-weight:700; font-size:1.05rem; color:var(--c-primary); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ color:var(--c-accent); }
.faq details[open] summary{ color:var(--c-accent); }
.faq__chev{ color:var(--c-accent); font-size:1.25rem; flex:0 0 auto; transition:transform .2s ease; }
.faq details[open] .faq__chev{ transform:rotate(180deg); }
.faq details > p{ margin:0 0 1.1rem; color:var(--c-muted); font-size:.95rem; line-height:1.6; max-width:72ch; }
@media(max-width:820px){ .giva-faq{ grid-template-columns:1fr; } }

/* ============================================================
   Footer / sitemap
   ============================================================ */
.site-footer{ position:relative; background:var(--c-surface); }
.giva-footer{ padding-block:clamp(2rem,4vw,3.5rem); }
.giva-footer__brands{ display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem 2.25rem; padding-bottom:1.5rem; margin-bottom:1.75rem; border-bottom:1px solid var(--c-border); }
.giva-footer__brand img{ height:2rem; width:auto; opacity:.5; transition:opacity .2s ease; }
.giva-footer__brand:hover img{ opacity:1; }
.giva-footer__brand--self img{ opacity:1; }
.giva-footer__cols{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1.1fr; gap:2rem 2.5rem; }
@media(max-width:900px){ .giva-footer__cols{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .giva-footer__cols{ grid-template-columns:1fr; } }
.giva-footer__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-size:1.5rem; font-weight:700; line-height:1; text-transform:uppercase; letter-spacing:.01em; color:var(--c-primary); margin:0 0 .85rem; }
.giva-footer__col > .giva-footer__title ~ .giva-footer__title{ margin-top:1.75rem; padding-top:1.4rem; border-top:1px solid var(--c-border); }
.giva-footer__addr{ font-style:normal; color:var(--c-muted); line-height:1.6; margin:0 0 .8rem; }
.giva-footer__contact{ list-style:none; margin:0 0 .9rem; padding:0; display:flex; flex-direction:column; gap:.35rem; }
.giva-footer__contact li{ display:flex; align-items:center; gap:.5rem; }
.giva-footer__contact .ph{ color:var(--c-accent); font-size:1.1rem; flex:0 0 auto; }
.giva-footer__contact a{ color:var(--c-text); text-decoration:none; }
.giva-footer__contact a:hover{ color:var(--c-accent); }
.giva-footer__social{ display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; }
.giva-footer__social a{ display:inline-flex; align-items:center; gap:.4rem; color:var(--c-text); text-decoration:none; font-size:.9rem; }
.giva-footer__social a:hover{ color:var(--c-accent); }
.giva-footer__social .ph{ font-size:1.15rem; color:var(--c-accent); }
.giva-footer__text{ color:var(--c-muted); margin:0 0 .9rem; line-height:1.6; }
.giva-footer__text a{ color:var(--c-accent); }
.giva-footer__links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.giva-footer__links a{ display:inline-block; color:var(--c-text); text-decoration:none; transition:color .15s ease, transform .15s ease; }
.giva-footer__links a:hover{ color:var(--c-accent); transform:translateX(3px); }
.giva-newsletter{ display:flex; flex-direction:column; gap:.6rem; }
.giva-newsletter input{ padding:.7rem .9rem; border:1px solid var(--c-border); border-radius:8px; font:inherit; background:#fff; }
.giva-newsletter .btn{ align-self:flex-start; }
.giva-footer__pay{ margin-top:1.75rem; padding-top:1.5rem; border-top:1px solid var(--c-border); }
.giva-footer__pay img{ max-height:2rem; width:auto; }
.giva-footer__pay--methods{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.giva-footer__pay--methods .giva-pay-ico{ display:inline-flex; align-items:center; justify-content:center; height:2rem; padding:.25rem .4rem; background:#fff; border:1px solid var(--c-border); border-radius:6px; box-sizing:border-box; }
.giva-footer__pay--methods .giva-pay-ico img{ height:100%; max-height:1.4rem; width:auto; display:block; }
.giva-footer__bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1.5rem; margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--c-border); }
.footer-menu{ list-style:none; display:flex; flex-wrap:wrap; gap:1rem 1.25rem; margin:0; padding:0; }
.footer-menu a{ text-decoration:none; color:var(--c-muted); font-size:.9rem; }
.footer-menu a:hover{ color:var(--c-accent); }
.site-info{ color:var(--c-muted); font-size:.9rem; margin:0; }
.giva-footer__legal{ list-style:none; display:flex; flex-wrap:wrap; gap:1rem 1.25rem; margin:0; padding:0; }
.giva-footer__legal a{ text-decoration:none; color:var(--c-muted); font-size:.9rem; }
.giva-footer__legal a:hover{ color:var(--c-accent); }
/* "Reservewiel per ..."-lijsten onderaan de footer: pill-links, huisstijl (groen accent). */
.giva-footer__brandlist{ display:grid; grid-template-columns:1fr; gap:1.75rem 2.5rem; margin-top:2rem; padding-top:1.75rem; border-top:1px solid var(--c-border); }
@media(min-width:720px){
  .giva-footer__brandlist{ grid-template-columns:1fr 1fr; }
  .giva-footer-brands:first-child{ grid-column:1 / -1; } /* merkenlijst volle breedte */
}
.giva-footer-brands h3{ font-family:var(--font-head); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--c-primary); margin:0 0 .85rem; }
.giva-footer-brands ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.45rem; }
.giva-footer-brands li a{ display:inline-block; padding:.32rem .75rem; border:1px solid var(--c-border); border-radius:999px; background:#fff; color:var(--c-muted); text-decoration:none; font-size:.82rem; line-height:1.2; transition:color .15s, background .15s, border-color .15s; }
.giva-footer-brands li a:hover{ color:#fff; background:var(--c-accent); border-color:var(--c-accent); }
.giva-footer-brands__all{ display:inline-flex; align-items:center; gap:.3rem; margin-top:1rem; font-weight:700; font-size:.85rem; color:var(--c-primary); text-decoration:none; }
.giva-footer-brands__all::after{ content:"→"; font-size:1em; line-height:1; }
.giva-footer-brands__all:hover{ color:var(--c-accent); }

/* ============================================================
   Servicebalk (donkere balk boven de header)
   ============================================================ */
/* Servicebalk + topnav blijven samen bovenaan plakken. */
.giva-topbar{ position:sticky; top:0; z-index:50; }
.giva-servicenav{ background:#fff; color:var(--c-primary); font-size:.82rem; line-height:1; border-bottom:1px solid var(--c-border); }
.giva-servicenav a{ color:var(--c-primary); text-decoration:none; }
.giva-servicenav a:hover{ color:var(--c-accent); }
.giva-servicenav__inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:40px; }
.giva-servicenav__left,
.giva-servicenav__right{ display:flex; align-items:center; gap:1.05rem; }
/* Alle items als inline-flex, gecentreerd, zodat icoon + tekst netjes uitlijnen */
.giva-servicenav a,
.giva-servicenav .giva-vat__btn,
.giva-servicenav .giva-hamburger{ display:inline-flex; align-items:center; gap:.35rem; line-height:1; }
.giva-servicenav .ph{ vertical-align:middle; line-height:1; }
.giva-reviews strong{ color:var(--c-primary); }
.giva-reviews__count{ color:var(--c-muted); }
/* Gevulde sterren: 5x ★ met een gradient die tot --giva-pct amber vult, rest grijs */
.giva-reviews__stars{ font-size:1rem; letter-spacing:0; line-height:1; }
.giva-reviews__stars::before{
	content:"\2605\2605\2605\2605\2605";
	background:linear-gradient(90deg, #f4b740 var(--giva-pct,100%), #6f6f6d var(--giva-pct,100%));
	-webkit-background-clip:text; background-clip:text;
	-webkit-text-fill-color:transparent; color:transparent;
}
.giva-sn-phone{ font-weight:600; }
.giva-sn-wa{ font-size:1.3rem; color:#25d366; }
.giva-sn-wa:hover{ color:#1ebe5d; }
/* Land/taal-selector (NL + vlag) */
.giva-lang{ position:relative; display:inline-flex; align-items:center; color:var(--c-primary); font-weight:600; gap:.35rem; }
.giva-lang__btn{ display:inline-flex; align-items:center; gap:.35rem; background:transparent; border:0; padding:0; cursor:pointer; color:inherit; font:inherit; font-weight:600; font-size:.82rem; }
.giva-lang__btn:hover{ color:var(--c-accent); }
.giva-lang__code{ line-height:1; }
.giva-lang__menu{ position:absolute; top:calc(100% + .55rem); right:0; z-index:60; min-width:9.5rem; background:#fff; border:1px solid var(--c-border); border-radius:10px; box-shadow:var(--shadow); padding:.35rem; display:flex; flex-direction:column; gap:.1rem; }
.giva-lang__menu[hidden]{ display:none; }
.giva-lang__item{ display:flex; align-items:center; gap:.55rem; padding:.5rem .55rem; border-radius:6px; text-decoration:none; color:var(--c-primary); font-size:.85rem; font-weight:600; }
.giva-lang__item:hover{ background:var(--c-surface); color:var(--c-accent); }
.giva-flag{ display:inline-block; width:1.15rem; height:.8rem; border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,.1); overflow:hidden; vertical-align:middle; }
/* Consument/Zakelijk-schuif (btw incl/excl). Scoped op .giva-servicenav zodat de
   basis-.giva-vat (pil in het menu) deze niet overschrijft. */
.giva-servicenav .giva-vat--switch{ display:inline-flex; align-items:center; gap:.5rem; background:transparent; padding:0; }
.giva-vat__side{ font-size:.8rem; font-weight:600; color:var(--c-muted); }
.giva-vat--switch:not(.is-business) .giva-vat__side--consumer{ color:var(--c-primary); }
.giva-vat--switch.is-business .giva-vat__side--business{ color:var(--c-primary); }
.giva-vat__switch{ position:relative; width:2.4rem; height:1.3rem; flex:0 0 auto; border:0; border-radius:999px; background:#cdd2cd; padding:0; cursor:pointer; transition:background .15s; }
.giva-vat--switch.is-business .giva-vat__switch{ background:var(--c-accent); }
.giva-vat__knob{ position:absolute; top:2px; left:2px; width:calc(1.3rem - 4px); height:calc(1.3rem - 4px); border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.3); transition:transform .15s; }
.giva-vat--switch.is-business .giva-vat__knob{ transform:translateX(1.1rem); }
.giva-vat{ display:inline-flex; background:rgba(255,255,255,.12); border-radius:999px; padding:2px; }
.giva-vat__btn{ border:0; background:transparent; color:#dcdcda; font:inherit; font-size:.78rem; font-weight:600; padding:.2rem .7rem; border-radius:999px; cursor:pointer; }
.giva-vat__btn.is-active{ background:var(--c-accent); color:#fff; }
.giva-hamburger{ border:0; background:transparent; color:var(--c-primary); font-size:1.35rem; line-height:1; cursor:pointer; padding:.1rem .2rem; display:inline-flex; }
.giva-hamburger:hover{ color:var(--c-accent); }
@media(max-width:840px){
  /* Servicenav mobiel: alleen reviews + Contact + taalwisselaar + hamburger.
     Onder .giva-servicenav gescoped zodat deze de basisregel (.giva-servicenav a) verslaan. */
  .giva-servicenav .giva-open-group,
  .giva-servicenav .giva-sn-phone,
  .giva-servicenav .giva-sn-wa,
  .giva-servicenav .giva-vat--switch,
  .giva-reviews__count{ display:none; }
  .giva-servicenav__right{ gap:.85rem; }
}

/* ============================================================
   Topnav (donkere merkbalk: wit logo, zoekbalk, acties)
   ============================================================ */
.giva-topnav{ background:var(--c-primary); color:#fff; border-top:1px solid rgba(255,255,255,.08); }
.giva-topnav__inner{ display:flex; align-items:center; gap:.85rem; min-height:84px; padding-block:.6rem; }
.giva-topnav__logo{ flex:0 0 auto; display:inline-flex; align-items:center; }
.giva-topnav__logo img{ height:58px; width:auto; }
/* Nav-items (Uw auto, Uw garage, Reservewielen, Accessoires) */
.giva-topnav__nav{ display:flex; align-items:center; gap:.15rem; flex:0 0 auto; }
.giva-topnav__link{ display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .75rem; color:#fff; text-decoration:none; font-weight:600; font-size:.9rem; line-height:1; white-space:nowrap; background:transparent; border:0; border-radius:8px; cursor:pointer; font-family:inherit; }
.giva-topnav__link:hover{ color:#fff; background:rgba(255,255,255,.12); }
.giva-topnav__link .ph{ font-size:1.2rem; color:#fff; }
/* Zoekbalk: ronde witte pil met groene vergrootglas-knop */
.giva-search{ flex:0 1 340px; margin-left:auto; display:flex; align-items:center; gap:.35rem; background:#fff; border-radius:999px; padding:.28rem; padding-left:1.1rem; box-shadow:0 1px 2px rgba(0,0,0,.12); }
.giva-search__input{ flex:1 1 auto; min-width:0; border:0; outline:0; background:transparent; padding:.5rem .2rem; font:inherit; font-size:.92rem; color:var(--c-text); }
.giva-search__input::placeholder{ color:var(--c-muted); }
.giva-search__btn{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:2.4rem; height:2.4rem; border:0; cursor:pointer; background:var(--c-accent); color:#fff; border-radius:50%; }
.giva-search__btn:hover{ background:var(--c-accent-dark); }
.giva-search__btn .ph{ font-size:1.2rem; }
/* Live voertuig-zoeker: dropdown met suggesties onder het zoekveld */
.giva-search--live{ position:relative; }
.giva-vsuggest{ position:absolute; z-index:200; top:calc(100% + .4rem); left:0; right:0; background:#fff; border:1px solid var(--c-border); border-radius:12px; box-shadow:0 12px 34px rgba(16,24,40,.16); overflow:hidden auto; max-height:min(62vh,440px); }
.giva-vsuggest__item{ display:flex; align-items:flex-start; gap:.7rem; padding:.55rem .9rem; text-decoration:none; color:var(--c-primary); border-bottom:1px solid var(--c-border); }
.giva-vsuggest__item:last-child{ border-bottom:0; }
.giva-vsuggest__item .ph{ flex:0 0 auto; }
.giva-vsuggest__ico{ color:var(--c-accent); font-size:1.15rem; width:1.9rem; text-align:center; margin-top:.1rem; }
.giva-vsuggest__logo{ width:1.9rem; height:1.5rem; object-fit:contain; flex:0 0 auto; margin-top:.1rem; }
.giva-vsuggest__bodyicon{ width:2.4rem; height:1.6rem; object-fit:contain; flex:0 0 auto; margin-top:.1rem; }
.giva-vsuggest__body{ display:flex; flex-direction:column; min-width:0; flex:1 1 auto; }
.giva-vsuggest__label{ font-size:.9rem; font-weight:600; line-height:1.2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.giva-vsuggest__sub{ font-size:.76rem; color:var(--c-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.giva-vsuggest__types{ font-size:.72rem; color:#8a8f99; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.giva-vsuggest__arrow{ align-self:center; color:var(--c-accent); font-size:1rem; flex:0 0 auto; }
.giva-vsuggest__item.is-active, .giva-vsuggest__item:hover{ background:var(--c-bg); color:var(--c-primary); }
.giva-vsuggest__empty{ padding:.75rem .9rem; color:var(--c-muted); font-size:.9rem; }
/* Rechter icoonknoppen (favoriet, account, winkelmandje) */
.giva-topnav__icons{ display:flex; align-items:center; gap:.1rem; flex:0 0 auto; }
.giva-icon-btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; width:2.6rem; height:2.6rem; border-radius:10px; color:#fff; text-decoration:none; }
.giva-icon-btn:hover{ background:rgba(255,255,255,.12); color:#fff; }
.giva-icon-btn .ph{ font-size:1.5rem; }
.giva-topnav__icons .cart-count{ position:absolute; top:.35rem; right:.3rem; min-width:1.15em; padding:0 .25em; font-size:.62rem; line-height:1.15em; background:var(--c-accent); color:#fff; border-radius:999px; text-align:center; font-weight:700; margin:0; }
.giva-search-toggle{ display:none; background:transparent; border:0; cursor:pointer; color:#fff; } /* alleen mobiel: zoek-icoon dat het veld uitklapt */
@media(max-width:980px){
  /* Alleen "Uw auto" blijft in de topnav; de overige nav-items zitten in het hamburgermenu. */
  .giva-topnav__nav .giva-topnav__link:not(.giva-open-uwauto){ display:none; }
}
@media(max-width:820px){
  /* Logo links; "Uw auto" + de icoonknoppen rechts uitgelijnd (ook bij afbreken naar 2 regels). */
  .giva-topnav__inner{ flex-wrap:wrap; gap:.6rem 1rem; min-height:0; justify-content:flex-end; }
  .giva-topnav__logo{ margin-right:auto; }
  .giva-topnav__logo img{ height:48px; }
  .giva-search-toggle{ display:inline-flex; }
  .giva-search{ display:none; order:3; flex-basis:100%; margin-left:0; }
  .giva-topnav.giva-search-open .giva-search{ display:flex; }
}

/* ============================================================
   Homepage-hero (foto + kop links, groen finder-paneel rechts)
   ============================================================ */
.giva-hero{ display:grid; grid-template-columns:1fr minmax(300px,24.5rem); background:var(--c-primary) var(--giva-hero-img) 100% 50%/cover no-repeat; color:#fff; padding-block:0; }
.giva-hero__media{ position:relative; display:flex; align-items:flex-start; }
.giva-hero__media::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,20,19,.82), rgba(20,20,19,.45) 55%, rgba(20,20,19,.12)); }
.giva-hero__intro{ position:relative; z-index:1; padding:2rem clamp(1.25rem,5vw,3.5rem) 4.5rem; max-width:760px; }
.giva-hero__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); text-transform:uppercase; line-height:.92; margin:0 0 1rem; color:#fff; font-weight:700; }
.giva-hero__title span{ display:block; font-size:clamp(2.6rem,6vw,4.6rem); }
.giva-hero__title-accent{ color:#fff; }
.giva-hero__lead{ font-size:1.1rem; color:#fff; max-width:44ch; margin:0 0 1.1rem; }
.giva-hero__usps{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; color:#fff; font-weight:600; font-size:.92rem; }
.giva-hero__usps li{ display:inline-flex; align-items:center; gap:.4rem; }
.giva-hero__usps .ph{ color:#fff; font-size:1.2rem; }
.giva-hero__keuzehulp{ margin-top:1.4rem; }
/* Decoratieve branded pijlen linksonder in de header (eerste wit, rest halftransparant). */
.giva-hero__arrows{ position:absolute; left:clamp(1.25rem,5vw,3.5rem); bottom:1.5rem; z-index:1; display:flex; gap:.5rem; }
.giva-hero__arrows .giva-brand-arrow{ width:1.5rem; height:1.5rem; fill:#fff; opacity:.5; }
.giva-hero__arrows .giva-brand-arrow:first-child{ opacity:1; }
.giva-hero__arrows .giva-brand-arrow:nth-child(1){ transform:rotate(0deg); }
.giva-hero__arrows .giva-brand-arrow:nth-child(2){ transform:rotate(90deg); }
.giva-hero__arrows .giva-brand-arrow:nth-child(3){ transform:rotate(270deg); }
.giva-hero__arrows .giva-brand-arrow:nth-child(4){ transform:rotate(180deg); }
/* Rechter finder-paneel (wit, afgerond, met lichtgrijze methode-rijen) */
.giva-hero__finder, .giva-hero__cta{ background:#fff; color:var(--c-primary); padding:1.6rem 1.5rem; margin:2rem 2rem 2rem 0; align-self:start; border-radius:20px; box-shadow:0 18px 50px rgba(0,0,0,.22); display:flex; flex-direction:column; max-width:22.5rem; }
.giva-hero__cta{ justify-content:center; gap:.6rem; }
.giva-hero__cta-title{ margin:0; font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); text-transform:uppercase; letter-spacing:.01em; font-size:clamp(1.7rem,2.4vw,2.2rem); line-height:1.05; color:var(--c-primary); }
.giva-hero__cta-text{ margin:0; color:var(--c-muted); font-size:.95rem; line-height:1.45; }
.giva-hero__cta-btn{ margin-top:.5rem; align-self:flex-start; }
.giva-hero__finder-eyebrow,
.giva-hero__finder-title{ margin:0; font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-size:clamp(1.7rem,2.4vw,2.2rem); font-weight:700; line-height:.92; text-transform:uppercase; color:var(--c-primary); }
.giva-hero__finder-sub{ margin:.5rem 0 1rem; color:var(--c-muted); font-size:.9rem; }
.giva-hero__methods{ display:flex; flex-direction:column; gap:.55rem; }
.giva-hero-method{ display:grid; grid-template-columns:3rem 1fr auto; align-items:stretch; gap:0; background:#f4f3f1; border:1px solid transparent; border-radius:14px; overflow:hidden; text-decoration:none; color:var(--c-text); transition:background .15s, border-color .15s; }
.giva-hero-method:hover{ background:#eeece9; border-color:var(--c-border); color:var(--c-text); }
.giva-hero-method__ico{ display:grid; place-items:center; align-self:stretch; width:3rem; border-radius:0; background:var(--c-primary); color:#fff; font-size:1.35rem; }
.giva-hero-method__txt{ display:flex; flex-direction:column; justify-content:center; line-height:1.2; min-width:0; padding:.55rem .5rem .55rem .85rem; }
.giva-hero-method__txt strong{ font-size:.95rem; color:var(--c-primary); }
.giva-hero-method__txt small{ color:var(--c-muted); font-size:.78rem; }
svg.giva-hero-method__arr{ width:1.5rem; height:1.5rem; align-self:center; justify-self:end; margin-right:.5rem; }
/* NL-kenteken-rij: donkere tegel met de kenteken-afbeelding, rechts + verticaal gecentreerd. */
.giva-hero-method__ico--plate{ background-image:url(assets/brand/nl-kenteken.webp); background-repeat:no-repeat; background-position:0.5rem center; background-size:contain; }
/* Laatst gekozen auto */
.giva-hero__recent{ margin-top:.9rem; }
.giva-hero__recent-label{ margin:0 0 .35rem; color:var(--c-muted); font-size:.8rem; }
.giva-hero__recent-car{ display:grid; grid-template-columns:2.4rem 1fr auto; align-items:center; gap:.7rem; background:transparent; border:1px solid var(--c-border); border-radius:12px; padding:.55rem .8rem; text-decoration:none; color:var(--c-primary); }
.giva-hero__recent-car:hover{ border-color:var(--c-muted); color:var(--c-primary); }
.giva-hero__recent-ico{ display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius:8px; background:#fff; color:var(--c-primary); font-size:1.25rem; overflow:hidden; }
.giva-hero__recent-ico img{ max-width:100%; max-height:100%; padding:.15rem; object-fit:contain; }
.giva-hero__recent-txt{ display:flex; flex-direction:column; min-width:0; }
.giva-hero__recent-name{ font-weight:600; font-size:.9rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.giva-hero__recent-sub{ color:var(--c-muted); font-size:.75rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.giva-hero__recent-sub:empty{ display:none; }
.giva-hero__recent-car .ph-arrow-right{ color:var(--c-accent); }
@media(max-width:900px){
  /* Gestapeld: intro + afbeelding boven, finder daaronder in eigen ruimte (niet op de foto). */
  .giva-hero{ grid-template-columns:1fr; background-image:none; }
  .giva-hero__media{ background:var(--c-primary) var(--giva-hero-img) 50% 50%/cover no-repeat; }
  .giva-hero__finder, .giva-hero__cta{ margin:0; max-width:none; border-radius:0; box-shadow:none; }
}

/* ============================================================
   Homepage "Waarom Giva" (donker tekstblok) + "Zo werkt het"
   ============================================================ */
/* Statistiekenbalk (wit blok onder de hero) */
.giva-stats{ background:#fff; }
@media(max-width:900px){ .giva-stats{ background:var(--c-bg); } } /* mobiel: beige */
.giva-stats__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem 1rem; text-align:center; }
@media(min-width:720px){ .giva-stats__grid{ grid-template-columns:repeat(4,1fr); } }
.giva-stat{ display:flex; flex-direction:column; gap:.25rem; padding:.25rem .5rem; }
@media(min-width:720px){ .giva-stat + .giva-stat{ border-left:1px solid var(--c-border); } }
.giva-stat__value{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-size:clamp(2rem,4vw,2.9rem); font-weight:700; line-height:1; color:var(--c-accent); }
.giva-stat__count{ display:inline-block; will-change:transform; }
.giva-stat__label{ font-size:.85rem; text-transform:uppercase; letter-spacing:.04em; color:var(--c-muted); }

/* Donkere achtergrond op het 1200px-blok; sluit vlak aan boven/onder (geen buitenruimte, geen ronde hoeken). */
.giva-why{ position:relative; background:var(--c-primary); color:#fff; padding-block:0; }
.giva-why__grid{ padding-block:clamp(1.75rem,4vw,3rem); display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.giva-why__arrow{ display:inline-flex; margin-bottom:.5rem; }
.giva-why__arrow .giva-brand-arrow{ width:2rem; height:2rem; fill:#fff; transform:rotate(90deg); margin-left:-2rem; }
.giva-why__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); text-transform:uppercase; line-height:.9; margin:0 0 1rem; color:#fff; font-weight:700; }
.giva-why__title span{ display:block; font-size:clamp(2rem,4.5vw,3.4rem); }
.giva-why__title-main{ color:var(--c-accent); }
.giva-why__text{ color:#dcdcdb; font-size:1.05rem; max-width:56ch; margin:0 0 1.4rem; }
.giva-why__cta{ display:inline-flex; align-items:center; gap:.5rem; }
.giva-why__points{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:1rem; }
.giva-why__points li{ display:grid; grid-template-columns:auto 1fr; gap:.9rem; align-items:start; }
.giva-why__ico{ display:grid; place-items:center; width:3rem; height:3rem; flex:0 0 auto; background:rgba(255,255,255,.08); border-radius:10px; color:var(--c-accent); font-size:1.6rem; }
.giva-why__pt{ display:flex; flex-direction:column; }
.giva-why__pt strong{ font-size:1.05rem; color:#fff; }
.giva-why__pt small{ color:#bdbdbc; font-size:.9rem; line-height:1.45; }
@media(max-width:820px){ .giva-why__grid{ grid-template-columns:1fr; } }
/* "Zo werkt het" op /reservewiel/: zelfde giva-why-blok, full-bleed binnen de content-container. */
.giva-lp-why{ width:100vw; margin-inline:calc(50% - 50vw); }
/* /reservewiel/-secties als volle-breedte banden (net als de homepage): "Kies uw automerk" op --c-bg, FAQ wit. */
.giva-lp-brands{ position:relative; width:100vw; margin-inline:calc(50% - 50vw); background:var(--c-bg); }
.giva-lp-faq{ width:100vw; margin-inline:calc(50% - 50vw); }

/* Homepage "Vind uw reservewiel": interne-link/SEO-kaarten (voertuig + /wheels* landingspagina's).
   Eerste kaart = voertuigselectie (het doel), subtiel met accent gemarkeerd. */
.giva-cats{ background:#fff; }
.giva-cats > .container{ padding-block:clamp(2rem,4vw,3.25rem); }
.giva-cats__head{ max-width:64ch; margin:0 0 clamp(1.25rem,3vw,2rem); }
.giva-cats__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-size:clamp(1.9rem,3.4vw,2.8rem); font-weight:700; line-height:.9; text-transform:uppercase; margin:0 0 .6rem; }
.giva-cats__lead{ color:var(--c-muted); margin:0; font-size:1.02rem; }
.giva-cats__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
@media(max-width:960px){ .giva-cats__grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .giva-cats__grid{ grid-template-columns:1fr; } }
.giva-cat{ display:flex; }
.giva-cat__link{ display:flex; flex-direction:column; gap:.55rem; width:100%; padding:1.4rem 1.25rem; background:#f4f3f1; border:1px solid transparent; border-radius:14px; text-decoration:none; color:var(--c-text); transition:background .15s, border-color .15s, transform .15s; }
.giva-cat__link:hover{ background:#eeece9; border-color:var(--c-border); transform:translateY(-2px); color:var(--c-text); }
.giva-cat__ico{ display:grid; place-items:center; width:3rem; height:3rem; background:var(--c-primary); color:#fff; border-radius:12px; font-size:1.5rem; }
.giva-cat__title{ font-size:1.08rem; font-weight:600; color:var(--c-primary); }
.giva-cat__text{ color:var(--c-muted); font-size:.9rem; line-height:1.45; flex:1 1 auto; }
.giva-cat__cta{ display:inline-flex; align-items:center; gap:.4rem; color:var(--c-accent); font-weight:600; font-size:.92rem; margin-top:.2rem; }
.giva-cat__cta i{ transition:transform .15s; }
.giva-cat__link:hover .giva-cat__cta i{ transform:translateX(3px); }
/* De voertuigselectie-kaart (eerste) subtiel uitlichten als de aanbevolen route. */
.giva-cats__grid > .giva-cat:first-child .giva-cat__ico{ background:var(--c-accent); }
.giva-cats__grid > .giva-cat:first-child .giva-cat__link{ border-color:var(--c-accent); }

/* "Wat onze klanten zeggen" (Kiyoh). Full-bleed, ook binnen de /configurator/-content-container. */
.giva-reviews-block{ position:relative; width:100vw; margin-inline:calc(50% - 50vw); background:var(--c-bg); color:var(--c-text); padding-block:clamp(2rem,4vw,3.25rem); }
.giva-reviews-block__grid{ display:grid; grid-template-columns:minmax(230px,300px) 1fr; gap:clamp(1.5rem,3vw,2.75rem); align-items:start; }
.giva-reviews-block__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-size:clamp(1.9rem,3.4vw,2.8rem); font-weight:700; line-height:.9; text-transform:uppercase; color:var(--c-primary); margin:0 0 1.1rem; }
.giva-reviews-block__title span{ display:block; }
.giva-reviews-block__rating{ display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.4rem; }
.giva-reviews-block__rating .giva-reviews__stars{ font-size:1.15rem; }
.giva-reviews-block__score{ font-size:.9rem; color:var(--c-muted); }
.giva-reviews-block__score strong{ color:var(--c-primary); }
.giva-reviews-block__cta{ align-self:flex-start; }
.giva-why__cta{ background:#507aa0; color:#fff; }
.giva-why__cta:hover{ background:#456a8c; color:#fff; }
/* Paginering (01/06 + pijlen) in de linkerkolom */
.giva-reviews-pager{ display:flex; align-items:center; gap:1rem; margin-top:2rem; }
.giva-reviews-pager__count{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-size:1.4rem; color:var(--c-muted); font-weight:700; letter-spacing:.04em; }
.giva-reviews-pager__count b{ color:var(--c-primary); }
.giva-reviews-pager__btn{ background:transparent; border:0; padding:.35rem; color:var(--c-primary); cursor:pointer; display:grid; place-items:center; transition:color .15s; }
.giva-reviews-pager__btn:hover{ color:var(--c-accent); }
.giva-reviews-pager__btn:disabled{ opacity:.3; cursor:default; }
.giva-reviews-pager__btn:disabled:hover{ color:var(--c-primary); }
svg.giva-reviews-pager__arr{ width:1.05rem; height:1.05rem; fill:currentColor; }
.giva-reviews-pager__btn--prev svg.giva-reviews-pager__arr{ transform:rotate(180deg); }
/* Carrousel + kaarten */
.giva-reviews-carousel{ position:relative; min-width:0; }
.giva-reviews-cards{ display:flex; gap:1.25rem; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding-top:1.25rem; scrollbar-width:none; min-width:0; }
.giva-reviews-cards::-webkit-scrollbar{ display:none; }
.giva-review-card{ position:relative; flex:0 0 calc((100% - 2.5rem) / 3); scroll-snap-align:start; background:#fff; color:var(--c-text); border-radius:14px; box-shadow:0 10px 30px rgba(16,24,40,.08); padding:1.85rem 1.4rem 1.3rem; display:flex; flex-direction:column; gap:.55rem; }
.giva-review-card__badge{ position:absolute; top:-16px; right:16px; width:2.3rem; height:2.3rem; border-radius:50% 50% 50% 4px; background:var(--c-accent); color:#fff; display:grid; place-items:center; font-weight:800; font-size:.95rem; line-height:1; box-shadow:0 6px 14px rgba(0,0,0,.18); }
.giva-review-card__title{ margin:.15rem 0 .1rem; font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-size:1.4rem; font-weight:700; line-height:1.05; text-transform:uppercase; color:var(--c-primary); }
.giva-review-card__title::before{ content:"“"; }
.giva-review-card__title::after{ content:"”"; }
.giva-review-card__title::before, .giva-review-card__title::after{ font-family:var(--font); font-weight:800; }
.giva-review-card__msg{ margin:0; color:var(--c-muted); font-size:.88rem; line-height:1.5; }
.giva-review-card__foot{ margin-top:auto; padding-top:1rem; display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.giva-review-card__author{ margin:0; font-size:.85rem; line-height:1.3; }
.giva-review-card__author strong{ display:block; color:var(--c-primary); }
.giva-review-card__author span{ color:var(--c-muted); }
.giva-review-card__logo{ height:1.7rem; width:auto; flex:0 0 auto; }
@media(max-width:900px){
  .giva-reviews-block__grid{ grid-template-columns:1fr; }
  .giva-review-card{ flex-basis:calc((100% - 1.25rem) / 2); }
}
@media(max-width:600px){
  .giva-review-card{ flex-basis:84%; }
}

/* ============================================================
   Sidebars, gedeelde stijl (menu + Giva Group + voertuigselectie)
   Een basisklasse .giva-sidebar; alleen de inhoud (lijst/kaarten)
   verschilt per sidebar.
   ============================================================ */
.giva-sidebar-overlay{ position:fixed; inset:0; background:rgba(20,20,19,.5); z-index:1000; }
.giva-sidebar-overlay[hidden]{ display:none; }
.giva-sidebar{ position:fixed; top:0; right:0; height:100vh; height:100dvh; width:min(390px,94vw); background:#fff; z-index:1001; box-shadow:-2px 0 30px rgba(0,0,0,.22); transform:translateX(100%); transition:transform .28s ease; overflow-y:auto; display:flex; flex-direction:column; }
.giva-sidebar.is-open{ transform:translateX(0); }
.giva-sidebar__head{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; padding:1.5rem 1.25rem 1rem; }
.giva-sidebar__close{ position:absolute; top:.75rem; right:.9rem; border:0; background:transparent; font-size:1.6rem; cursor:pointer; color:var(--c-primary); line-height:1; }
.giva-sidebar__foot{ padding:1.25rem; }
.giva-menu-arrow{ display:inline-flex; }
.giva-brand-arrow{ width:2.6rem; height:2.6rem; fill:var(--c-accent); transform:rotate(90deg); }
/* Sidebar-titels: zelfde als de voertuigselectie (acumin-pro-extra-condensed, 3rem, 700) */
.giva-sidebar__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-size:3rem; font-weight:700; line-height:.9; text-transform:uppercase; color:var(--c-primary); }
/* Consument/Zakelijk-toggle in het menu (lichte achtergrond) */
.giva-vat--menu{ background:rgba(0,0,0,.07); }
.giva-vat--menu .giva-vat__btn{ color:var(--c-primary); }
.giva-vat--menu .giva-vat__btn.is-active{ background:var(--c-accent); color:#fff; }
.giva-sidebar__body{ flex:1 0 auto; min-height:0; }
.giva-sidebar--menu .giva-sidebar__body{ padding:1rem; }
.giva-menu-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
/* Blokken zoals de voertuigselectie: wit paneel, icoon-tegel, label, groene pijl */
.giva-menu-list a{ display:grid; grid-template-columns:1.9rem 1fr auto; align-items:center; gap:.75rem; min-height:4rem; background:#f4f3f1; border-radius:12px; padding:.7rem .9rem; text-decoration:none; color:var(--c-text); font-size:.875rem; font-weight:700; line-height:1.1; }
.giva-menu-list a:hover{ background:#eeece9; color:var(--c-accent); }
.giva-menu-list__ico{ display:inline-flex; align-items:center; justify-content:center; color:var(--c-primary); font-size:1.35rem; }
.giva-menu-list__ico--img{ width:1.5rem; height:1.5rem; object-fit:contain; justify-self:center; }
svg.giva-menu-list__arr{ width:2rem; height:2rem; justify-self:end; margin-right:.35rem; }

/* Branded "onze pijl" (zoals in de voertuigselectie), groen */
.giva-arrow{ width:.8em; height:.8em; fill:var(--c-accent); flex:0 0 auto; }

/* Giva Group-sidebar: eigen inhoud (kaarten). Shell, kop, sluitknop en titel
   komen uit de gedeelde .giva-sidebar-klassen hierboven. */
.giva-sidebar--group .giva-sidebar__body{ padding:0 1rem 1rem; display:flex; flex-direction:column; gap:.5rem; }
/* Kaarten zoals het Figma-template: logo boven, omschrijving eronder, pijl rechts */
.giva-group-item{ display:grid; grid-template-columns:1fr auto; align-items:center; gap:.75rem; padding:1.1rem 1.15rem; background:#f4f3f1; border-radius:12px; text-decoration:none; color:var(--c-text); transition:background .15s; }
.giva-group-item:hover{ background:#eeece9; }
.giva-group-item__main{ display:flex; flex-direction:column; align-items:flex-start; gap:.55rem; }
.giva-group-item__logo{ display:inline-flex; height:2.1rem; }
.giva-group-item__logo img{ height:100%; width:auto; max-width:160px; object-fit:contain; object-position:left; }
.giva-group-item__name{ font-family:var(--font-head); font-size:1.4rem; font-weight:800; color:var(--c-primary); }
.giva-group-item__desc{ color:var(--c-muted); font-size:.82rem; line-height:1.4; }
.giva-group-item__arr{ width:2rem; height:2rem; margin-left:auto; }
.giva-group-more{ margin:.4rem .1rem 0; font-size:.9rem; font-weight:700; color:var(--c-primary); line-height:1.5; }
.giva-group-more a{ font-weight:600; color:var(--c-accent); }
.giva-group-more a:hover{ color:var(--c-accent-dark); }
/* Tweeregelige sidebar-titel (bovenregel donker, onderregel accent) */
.giva-title-top{ display:block; color:var(--c-primary); }
.giva-title-accent{ display:block; color:var(--c-accent); }
/* Contactblok (bedrijfsnaam, adres, tel/whatsapp/e-mail + foto), onderaan de sidebars */
/* Contactpagina-template (page-contact.php), gebaseerd op het Contact-ontwerp (huisstijl groen/antraciet). */
.giva-eyebrow{ text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; font-weight:700; color:var(--c-accent); margin:0 0 .4rem; }

/* Hero: donkere band met tekst + foto */
.giva-contact-hero{ width:100vw; margin-inline:calc(50% - 50vw); background:var(--c-primary); color:#fff; border-top:0 !important; padding-block:0 !important; overflow:hidden; }
.giva-contact-hero__grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:stretch; }
.giva-contact-hero h1{ color:#fff; margin:0 0 .5rem; }
.giva-contact-hero .lead{ color:rgba(255,255,255,.85); max-width:52ch; margin:0; }
.giva-contact-hero .giva-eyebrow{ color:var(--c-accent); opacity:1; }
.giva-contact-hero__text{ align-self:center; padding-block:clamp(1.75rem,4vw,3rem); }
/* Foto sluit strak aan op boven- en onderkant van de band; geen afronding. */
.giva-contact-hero__media{ position:relative; align-self:stretch; overflow:hidden; }
.giva-contact-hero__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:768px){ .giva-contact-hero__grid{ grid-template-columns:1fr; } .giva-contact-hero__media{ order:-1; aspect-ratio:16/9; } }

/* Twee-koloms secties: direct contact | bezoeken, en bereikbaarheid | facturatie */
.giva-contact-cols__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:start; }
.giva-contact-cols--alt{ background:#fff; width:100vw; margin-inline:calc(50% - 50vw); }
.giva-contact-col > h2{ margin:0 0 .3rem; }
.giva-contact-col .lead{ color:var(--c-muted); margin:0 0 1.1rem; max-width:46ch; }
@media (max-width:768px){ .giva-contact-cols__grid{ grid-template-columns:1fr; } }

/* Directe-contactkaarten (icoon + label + pijl) */
.giva-contact-methods{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.giva-contact-methods a{ display:flex; align-items:center; gap:.9rem; padding:.85rem 1rem; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); text-decoration:none; color:var(--c-primary); box-shadow:var(--shadow); transition:border-color .15s, transform .15s; }
.giva-contact-methods a:hover{ border-color:var(--c-accent); transform:translateX(2px); }
.giva-contact-methods__ico{ flex:0 0 auto; width:2.6rem; height:2.6rem; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; background:var(--c-bg); color:var(--c-primary); font-size:1.25rem; }
.giva-contact-methods__txt{ display:flex; flex-direction:column; line-height:1.25; min-width:0; }
.giva-contact-methods__txt strong{ font-size:.82rem; color:var(--c-muted); font-weight:600; }
.giva-contact-methods__txt small{ font-size:1rem; color:var(--c-primary); font-weight:700; word-break:break-word; }
.giva-contact-methods__arrow{ margin-left:auto; color:var(--c-accent); font-size:1.1rem; flex:0 0 auto; }

/* Kaart + adres + Google Maps-knop */
.giva-contact-map{ border-radius:var(--radius); overflow:hidden; border:1px solid var(--c-border); aspect-ratio:16/10; background:var(--c-bg); }
.giva-contact-map iframe{ width:100%; height:100%; border:0; display:block; }
.giva-contact-visit__foot{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; }
.giva-contact-addr{ font-style:normal; color:var(--c-primary); line-height:1.5; }
.giva-contact-mapsbtn{ white-space:nowrap; }

/* Definitielijst (openingstijden / facturatie) */
.giva-contact-dl{ margin:0; border-top:1px solid var(--c-border); }
.giva-contact-dl > div{ display:flex; justify-content:space-between; gap:1rem; padding:.6rem 0; border-bottom:1px solid var(--c-border); }
.giva-contact-dl dt{ margin:0; color:var(--c-muted); }
.giva-contact-dl dd{ margin:0; color:var(--c-primary); font-weight:600; text-align:right; }

/* Formulier-sectie (blokeditor-inhoud van de pagina) */
.giva-contact-form-sec .entry-content{ max-width:62ch; }
.giva-contact-block{ display:flex; gap:1rem; align-items:flex-start; }
.giva-contact-block__info{ flex:1 1 auto; min-width:0; }
.giva-contact-block__company{ display:block; font-weight:800; color:var(--c-primary); }
.giva-contact-block__addr{ margin:.35rem 0; color:var(--c-primary); font-size:.85rem; line-height:1.45; }
.giva-contact-block__lines{ list-style:none; margin:.35rem 0 0; padding:0; font-size:.85rem; line-height:1.6; }
/* Labels donker, klikbare gegevens (tel/whatsapp/e-mail) blauw */
.giva-contact-block__lines span{ color:var(--c-primary); }
.giva-contact-block__lines a{ color:#1d6fd6; text-decoration:none; }
.giva-contact-block__lines a:hover{ color:#1552a8; text-decoration:underline; }
.giva-contact-block__photo{ flex:0 0 auto; width:6.5rem; }
.giva-contact-block__photo img{ width:100%; height:auto; border-radius:8px; display:block; }

/* ============================================================
   /reservewiel/, landingspagina
   ============================================================ */
.giva-lp > section{ padding-block: clamp(1.75rem, 4vw, 3rem); border-top:1px solid var(--c-border); }
.giva-lp > section:first-child{ border-top:0; padding-top:1rem; }
.giva-lp h2{ margin-bottom:.4rem; }
/* Steekmaat/maat-samenvatting als donkere full-bleed band (onder de uitvoeringen). */
.giva-lp-specs{ position:relative; width:100vw; margin-inline:calc(50% - 50vw); background:var(--c-primary); color:#fff; border-top:0 !important; }
.giva-lp-specs h2, .giva-lp-specs .giva-h2--logo span{ color:#fff; }
.giva-lp-specs .lead{ color:rgba(255,255,255,.85); }
.giva-lp-specs .giva-h2-logo{ background:#fff; border-radius:6px; padding:.25rem .45rem; box-sizing:content-box; }
.giva-lp-specs .giva-spec-chip{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.28); color:#fff; }
.giva-lp-specs .giva-spec-chip small{ color:rgba(255,255,255,.6); }
.giva-lp-specs .giva-spec-chip:hover{ border-color:#fff; color:#fff; }
.giva-lp-specs .giva-spec-chip:hover small{ color:#fff; }
.giva-lp-hero .lead{ max-width:60ch; }
/* Instapkaarten (kenteken/merk, openen de zijbalk): op de LP en de voertuigpagina's */
.giva-finder-cta{ max-width:560px; margin-top:1.25rem; }
.giva-lp-usps{ margin-top:1.25rem; }

/* Zo werkt het */
.giva-steps{ display:grid; gap:var(--giva-gap); grid-template-columns:1fr; margin-top:1.25rem; }
@media(min-width:720px){ .giva-steps{ grid-template-columns:repeat(3,1fr); } }
.giva-step{ background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); box-shadow:var(--shadow); padding:1.25rem; }
.giva-step__ico{ display:grid; place-items:center; width:3rem; height:3rem; border-radius:12px; background:var(--c-surface); color:var(--c-primary); font-size:1.6rem; }
.giva-step__n{ display:inline-block; margin-top:.8rem; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--c-accent); }
.giva-step h3{ margin:.15rem 0 .3rem; }
.giva-step p{ margin:0; color:var(--c-muted); }

/* Merkengrid */
.giva-brandgrid{ display:grid; gap:.75rem; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); margin-top:1.25rem; }
.giva-brandcard{ display:flex; flex-direction:column; align-items:center; gap:.6rem; padding:1rem .6rem; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); text-decoration:none; color:var(--c-text); transition:border-color .15s, transform .15s, box-shadow .15s; }
.giva-brandcard:hover{ border-color:var(--c-accent); transform:translateY(-2px); box-shadow:var(--shadow); color:var(--c-accent); }
.giva-brandcard__logo{ display:grid; place-items:center; width:100%; height:56px; }
.giva-brandcard__logo img{ max-width:100%; max-height:56px; width:auto; height:auto; object-fit:contain; }
.giva-brandcard__mono{ font-size:1.8rem; font-weight:800; color:var(--c-primary); background:var(--c-surface); border-radius:10px; width:56px; height:56px; }
.giva-brandcard__name{ font-weight:700; font-size:.92rem; text-align:center; line-height:1.2; }

/* Content + FAQ */
.giva-lp-content{ max-width:72ch; }
.giva-lp-content h3{ margin-top:1.4em; }

/* "Wat is een thuiskomer of reservewiel?": definitie-blok in de band-stijl (SEO/GEO). */
.giva-lp-def{ width:100vw; margin-inline:calc(50% - 50vw); background:#fff; }
.giva-def__grid{ display:grid; grid-template-columns:minmax(260px,360px) 1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:start; padding-block:clamp(1.75rem,4vw,3rem); }
.giva-def__arrow{ display:inline-flex; margin-bottom:.5rem; }
.giva-def__arrow .giva-brand-arrow{ width:2rem; height:2rem; fill:var(--c-accent); transform:rotate(90deg); margin-left:-2rem; }
.giva-def__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; line-height:.9; text-transform:uppercase; margin:0 0 1rem; }
.giva-def__title span{ display:block; font-size:clamp(1.9rem,3.6vw,3rem); }
.giva-def__lead{ color:var(--c-text); font-size:1.02rem; line-height:1.6; margin:0; max-width:52ch; }
.giva-def__lead strong{ color:var(--c-primary); }
.giva-def__topics{ display:grid; gap:1rem; }
.giva-def__card{ display:grid; grid-template-columns:auto 1fr; gap:1.1rem; align-items:start; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); padding:1.2rem 1.4rem; }
.giva-def__ico{ display:grid; place-items:center; width:3rem; height:3rem; flex:0 0 auto; background:var(--c-primary); color:#fff; border-radius:10px; font-size:1.55rem; }
.giva-def__body h3{ margin:.15rem 0 .45rem; color:var(--c-primary); font-size:1.15rem; }
.giva-def__body p{ margin:0; color:var(--c-text); line-height:1.55; }
.giva-def__body em{ font-style:normal; font-weight:600; color:var(--c-primary); }
@media(max-width:820px){ .giva-def__grid{ grid-template-columns:1fr; } }

/* ============================================================
   Landingspagina's (merk/model/serie): lander-hero, terug-knop, uitvoeringen-grid
   ============================================================ */
/* De lander-hero (hero + stats + why) is alleen voor externe bezoekers; interne bezoekers
   (same-origin referer, class op <html> gezet vóór paint) kennen 'm al van homepage/configurator. */
html.giva-internal .giva-lander-hero{ display:none; }
/* Hero zichtbaar (externe bezoeker) -> geen breadcrumbs; interne klik (hero weg) -> breadcrumbs terug. */
.giva-crumbbar--under-hero{ display:none; }
html.giva-internal .giva-crumbbar--under-hero{ display:block; }

/* H2-kop die begint met het merklogo (herkenbaarheid op de merk-/modelpagina's). */
.giva-h2--logo{ display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.giva-h2-logo{ height:2.4rem; width:auto; max-width:130px; object-fit:contain; flex:0 0 auto; }

/* Terug-knop in de container (vervangt de zichtbare breadcrumb-balk op de landingspagina's). */
.giva-back{ display:inline-flex; align-items:center; gap:.45rem; margin:1rem 0 1rem; font-weight:600; font-size:.92rem; line-height:1; color:var(--c-muted); text-decoration:none; }
.giva-back:hover{ color:var(--c-accent); }
.giva-back i{ font-size:1.05rem; line-height:1; transition:transform .15s; }
.giva-back:hover i{ transform:translateX(-3px); }

/* Uitvoeringen/generaties (chassis) op de modelpagina: overzichtelijk grid, serie-stap overgeslagen. */
.giva-chassis-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1rem; margin-top:1.25rem; }
.giva-chassis-card{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; background:#fff; border:1px solid var(--c-border); border-radius:12px; text-decoration:none; color:var(--c-text); transition:border-color .15s, transform .15s, box-shadow .15s; }
.giva-chassis-card:hover{ border-color:var(--c-accent); transform:translateY(-2px); box-shadow:var(--shadow); }
.giva-chassis-card__b{ display:flex; flex-direction:column; gap:.15rem; flex:1 1 auto; }
.giva-chassis-card__ico{ display:grid; place-items:center; width:2.75rem; height:2.75rem; flex:0 0 auto; }
.giva-chassis-card__ico img{ max-width:100%; max-height:2.75rem; width:auto; height:auto; object-fit:contain; }
.giva-chassis-card__name{ font-weight:700; color:var(--c-primary); line-height:1.25; }
.giva-chassis-card__gen{ font-size:.8rem; font-weight:600; color:var(--c-muted); }
.giva-chassis-card__reg{ color:var(--c-accent); }
.giva-chassis-card__yr{ font-size:.88rem; color:var(--c-muted); flex:0 0 auto; text-align:right; white-space:nowrap; }
.giva-chassis-card__arr{ color:var(--c-accent); font-size:1.2rem; flex:0 0 auto; }
/* Uitvoeringen gegroepeerd per serie (serienaam als titel, PIM/API-volgorde). */
.giva-chassis-group + .giva-chassis-group{ margin-top:1.75rem; }
.giva-chassis-serie{ display:flex; align-items:center; gap:.6rem; font-size:1.15rem; color:var(--c-primary); margin:0 0 .5rem; }
.giva-chassis-serie__ico{ display:inline-grid; place-items:center; height:2rem; }
.giva-chassis-serie__ico img{ max-height:2rem; width:auto; }
/* Uitvoeringen per PIM-seriegroep: geneste, crawlbare accordeon (details/summary),
   afgestemd op de huisstijl (radius/schaduw/antraciet-groen, FAQ-accordeonritme). */
.giva-vtree{ margin-top:1.25rem; display:flex; flex-direction:column; gap:.85rem; }
.giva-vgroup{ border:1px solid var(--c-border); border-radius:var(--radius); background:#fff; overflow:hidden; transition:box-shadow .2s ease, border-color .2s ease; }
.giva-vgroup[open]{ box-shadow:var(--shadow); border-color:#d7dee8; }
.giva-vgroup__sum{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:.85rem; padding:1rem 1.15rem; }
.giva-vgroup__sum::-webkit-details-marker{ display:none; }
.giva-vgroup__sum:focus-visible{ outline:3px solid var(--c-accent); outline-offset:-3px; }
.giva-vgroup__ico{ display:inline-grid; place-items:center; width:3.5rem; height:3.5rem; flex:0 0 auto; background:var(--c-surface); border-radius:10px; }
.giva-vgroup__ico img{ max-height:2.7rem; max-width:3rem; width:auto; }
.giva-vgroup__name{ margin:0; font-size:1.18rem; line-height:1.2; color:var(--c-primary); flex:1 1 auto; }
.giva-vgroup__yr{ font-size:.82rem; font-weight:600; color:var(--c-muted); background:var(--c-surface); border-radius:999px; padding:.2rem .6rem; flex:0 0 auto; white-space:nowrap; }
.giva-vgroup__chev{ color:var(--c-accent); font-size:1.25rem; flex:0 0 auto; transition:transform .2s ease; }
.giva-vgroup[open] > .giva-vgroup__sum .giva-vgroup__chev{ transform:rotate(180deg); }
.giva-vgroup__sum:hover .giva-vgroup__name{ color:var(--c-accent); }
.giva-vgroup__body{ padding:0 1.15rem .35rem; border-top:1px solid var(--c-border); }
/* Serie-niveau (tweede stap) binnen een seriegroep. */
.giva-vserie{ border-top:1px solid var(--c-border); }
.giva-vserie:first-child{ border-top:0; }
.giva-vserie__sum{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:.6rem; padding:.85rem .15rem; }
.giva-vserie__sum::-webkit-details-marker{ display:none; }
.giva-vserie__sum:focus-visible{ outline:3px solid var(--c-accent); outline-offset:-3px; }
.giva-vserie__name{ margin:0; font-size:1rem; line-height:1.25; color:var(--c-primary); font-weight:700; flex:1 1 auto; }
.giva-vserie__yr{ font-size:.82rem; color:var(--c-muted); flex:0 0 auto; white-space:nowrap; }
.giva-vserie__chev{ color:var(--c-accent); font-size:1.05rem; flex:0 0 auto; transition:transform .2s ease; }
.giva-vserie[open] > .giva-vserie__sum .giva-vserie__chev{ transform:rotate(180deg); }
.giva-vserie__sum:hover .giva-vserie__name{ color:var(--c-accent); }
.giva-vserie > .giva-chassis-grid{ margin:0 0 .9rem; padding:0; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
@media (max-width:520px){
	.giva-vgroup__sum{ flex-wrap:wrap; }
	.giva-vgroup__name{ flex:1 1 60%; }
}
/* Keuzehulp-knop onder de grid-intro. */
.giva-keuzehulp-cta{ margin:2rem 0 1.25rem; }
/* Modelpagina: kenmerken-blok (steekmaat/inchmaat) met chips die naar de facetpagina's linken. */
.giva-spec-chips{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.giva-spec-chip{ display:inline-flex; align-items:baseline; gap:.4rem; padding:.5rem .9rem; border:1px solid var(--c-border); border-radius:999px; background:#fff; text-decoration:none; color:var(--c-primary); font-weight:700; transition:border-color .15s, color .15s; }
.giva-spec-chip small{ font-weight:600; font-size:.75rem; text-transform:uppercase; letter-spacing:.03em; color:var(--c-muted); }
.giva-spec-chip:hover{ border-color:var(--c-accent); color:var(--c-accent); }
.giva-spec-chip:hover small{ color:var(--c-accent); }

/* WooCommerce lichte afstemming */
.woocommerce-message,.woocommerce-info,.woocommerce-error{ border-top:3px solid var(--c-primary); }
.woocommerce span.onsale{ background:var(--c-accent); }
.woocommerce ul.products li.product .price{ color:var(--c-primary); font-weight:700; }

/* "Uw garage", dropdown met laatst bekeken voertuigen */
.giva-sidebar--garage .giva-sidebar__body{ padding:1rem; display:flex; flex-direction:column; }
.giva-garage-heading{ margin:.1rem 0 .5rem; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--c-muted); }
.giva-garage-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.giva-garage-list a{ display:flex; align-items:center; gap:.6rem; padding:.7rem .8rem; border-radius:12px; background:transparent; border:1px solid var(--c-border); text-decoration:none; color:var(--c-text); font-weight:600; }
.giva-garage-list a:hover{ border-color:var(--c-muted); color:var(--c-accent); }
.giva-garage-ico{ display:grid; place-items:center; width:2.4rem; height:2.4rem; flex:0 0 auto; background:#fff; border-radius:8px; color:var(--c-primary); font-size:1.25rem; overflow:hidden; }
.giva-garage-ico img{ max-width:100%; max-height:100%; padding:.15rem; object-fit:contain; }
.giva-garage-actions{ margin-top:auto; padding-top:1rem; display:flex; flex-direction:column; gap:.55rem; }
.giva-garage-txt{ display:flex; flex-direction:column; min-width:0; }
.giva-garage-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.giva-garage-sub{ color:var(--c-muted); font-size:.78rem; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.giva-garage-empty{ margin:.25rem .25rem .1rem; color:var(--c-muted); font-size:.9rem; }

/* Homepage entry-kaarten (openen de "Uw auto"-sidebar) */
.giva-entry{ background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); box-shadow:var(--shadow); padding:1.1rem; }
.giva-entry__eyebrow{ margin:.2rem 0 .8rem; font-weight:700; color:var(--c-muted); text-transform:uppercase; letter-spacing:.04em; font-size:.85rem; }
.giva-entry__card{ display:flex; align-items:center; gap:.9rem; padding:.85rem 1rem; border:1px solid var(--c-border); border-radius:10px; text-decoration:none; color:var(--c-text); margin-bottom:.6rem; transition:border-color .15s, transform .15s; }
.giva-entry__card:last-child{ margin-bottom:0; }
.giva-entry__card:hover{ border-color:var(--c-accent); transform:translateX(2px); }
.giva-entry__ico{ font-size:1.4rem; width:2.4rem; height:2.4rem; display:grid; place-items:center; background:var(--c-surface); border-radius:8px; flex:0 0 auto; }
.giva-entry__txt{ display:flex; flex-direction:column; line-height:1.25; }
.giva-entry__txt strong{ color:var(--c-primary); }
.giva-entry__txt small{ color:var(--c-muted); font-size:.85rem; }
.giva-entry__arr{ margin-left:auto; color:var(--c-accent); font-weight:800; font-size:1.2rem; }

/* "Uw auto", uitschuif-sidebar (links) met de voertuigzoeker */
/* Voertuigselectie ("Uw auto"): zelfde .giva-sidebar-basis, maar links uitschuivend
   en iets breder. De inhoud is de configurator-module (eigen beige paneel + kop). */
.giva-sidebar--left{ left:0; right:auto; width:min(460px,94vw); background:#fff; box-shadow:2px 0 30px rgba(0,0,0,.25); transform:translateX(-100%); overscroll-behavior:contain; }
.giva-sidebar--vehicle .giva-sidebar__body{ display:flex; }
.giva-sidebar--vehicle .giva-sidebar__body > .gwc_configurator{ flex:1 1 auto; }
/* Vaste voet van de voertuig-sidebar: laatst gekozen auto + ondersteuning. */
.giva-sidebar--vehicle .giva-sidebar__foot{ border-top:1px solid var(--c-border); background:#fff; display:flex; flex-direction:column; gap:1rem; }
.giva-sidebar--vehicle .giva-sidebar__foot .giva-hero__recent{ margin:0; }
.giva-support{ text-align:center; background:#f4f3f1; border-radius:12px; padding:1rem 1rem 1.1rem; }
.giva-support__title{ font-weight:700; color:var(--c-primary); margin:0 0 .85rem; font-size:.95rem; }
.giva-support__row{ display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:.5rem 1.1rem; }
.giva-support__row a{ color:var(--c-primary); display:inline-flex; align-items:center; text-decoration:none; }
.giva-support__row a:hover{ color:var(--c-accent); }
.giva-support__link{ font-size:.85rem; font-weight:600; }
.giva-support__row .ph{ font-size:1.4rem; }


/* ============================================================
   Uitvoering-/productoverzicht: reservewiel per exact voertuig.
   Kenmerken-blok, productkaarten (linken naar de productpagina) en
   een geisoleerde FAQ (niet de homepage-.giva-faq grid).
   ============================================================ */
.giva-fitspecs{ margin-top:1.5rem; }
.giva-fitspecs > h2{ margin:0 0 .5rem; }
.giva-fitspecs__list{ display:grid; gap:.4rem; margin:.4rem 0 0; }
.giva-fitspecs__row{ display:flex; gap:.75rem; align-items:baseline; border-bottom:1px solid var(--c-border); padding-bottom:.4rem; }
.giva-fitspecs__row dt{ flex:0 0 9rem; font-weight:700; margin:0; }
.giva-fitspecs__row dd{ margin:0; color:var(--c-muted); }

.giva-prod{ display:flex; flex-direction:column; gap:.5rem; color:inherit; text-decoration:none; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); padding:.7rem; transition:box-shadow .15s, transform .15s; }
a.giva-prod:hover{ box-shadow:0 8px 22px rgba(0,0,0,.1); transform:translateY(-2px); }
.giva-prod__img{ display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg,#f7f8f7,#ecefec); border-radius:calc(var(--radius) - 4px); padding:1rem; margin:-.7rem -.7rem .5rem; min-height:180px; }
.giva-prod__img img{ max-height:190px; width:auto; max-width:100%; object-fit:contain; mix-blend-mode:multiply; }
.giva-prod h3{ margin:0; font-size:1.05rem; line-height:1.25; min-height:2.5em; } /* 2 regels reserveren zodat de specs uitlijnen */
.giva-prod .specs{ list-style:none; margin:.25rem 0 0; padding:0; display:grid; grid-template-columns:max-content 1fr; gap:.15rem .6rem; font-size:.85rem; align-items:baseline; }
.giva-prod .specs li{ display:contents; }
.giva-prod .specs__k{ color:var(--c-text,#111); font-weight:600; }
.giva-prod .specs__v{ color:var(--c-muted); }
.giva-prod__price{ font-size:1.15rem; font-weight:700; color:var(--c-accent-dark); margin:auto 0 0; }
.giva-prod__vat{ font-size:.72rem; font-weight:500; color:var(--c-muted); }
/* Van/voor-prijs: doorgestreepte adviesprijs (rood) + accent-verkoopprijs. */
.giva-prod__was{ text-decoration:line-through; color:#c92a2a; font-weight:600; font-size:.82em; }
.giva-prod__now{ color:var(--c-accent-dark); }
/* Overzichtskaart: "van" (rood) op een eigen regel bóven de "voor". */
.giva-prod__price .giva-prod__was{ display:block; margin:0 0 -.15em; }
.giva-pdp__price .giva-prod__was{ font-size:.55em; vertical-align:middle; margin-right:.35em; }
.giva-prod__meta{ color:var(--c-muted); font-size:.8rem; margin:0; }
.giva-prod__btn{ display:block; width:100%; margin-top:.5rem; text-align:center; background:var(--c-accent); color:var(--c-accent-ink,#fff); border:0; padding:.55rem 1rem; border-radius:8px; font-weight:500; font-size:.9rem; }
a.giva-prod:hover .giva-prod__btn{ background:var(--c-accent-dark); color:#fff; }
/* Productdetailpagina (PDP): titel + ribbons + beeld links, info-paneel rechts. */
.giva-pdp{ padding-block:.5rem 0; }
.giva-pdp__back{ display:inline-flex; align-items:center; gap:.4rem; margin:.25rem 0 1.1rem; padding:.45rem .9rem .45rem .75rem; border:1px solid var(--c-border); border-radius:999px; background:#fff; color:var(--c-primary); font-weight:600; font-size:.88rem; text-decoration:none; }
.giva-pdp__back:hover{ border-color:var(--c-accent); color:var(--c-accent-dark); }
.giva-pdp__back i{ font-size:1.05rem; transition:transform .15s; }
.giva-pdp__back:hover i{ transform:translateX(-3px); }
.giva-pdp__overlay .giva-pdp__back{ margin:0 0 .1rem; pointer-events:auto; }
.giva-pdp__top{ display:grid; grid-template-columns:1fr minmax(320px,380px); gap:2rem 2.5rem; align-items:stretch; margin-bottom:1rem; }
.giva-pdp__main{ position:relative; min-width:0; display:flex; flex-direction:column; }
.giva-pdp__main > .giva-incl:last-child{ margin-bottom:0; }
.giva-pdp__ribbons{ display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; }
.giva-pdp__eyebrow{ margin:0; text-transform:uppercase; letter-spacing:.05em; font-size:.72rem; font-weight:700; color:var(--c-muted); }
.giva-pdp__title{ margin:0; font-size:clamp(1.3rem,2.4vw,1.7rem); }
.giva-pdp__fits{ display:flex; align-items:center; gap:.55rem; color:var(--c-accent-dark); font-weight:600; font-size:.9rem; line-height:1.3; margin:1rem 0 0; padding:.6rem .8rem; background:rgba(79,122,93,.1); border:1px solid rgba(79,122,93,.25); border-radius:calc(var(--radius) - 4px); }
.giva-pdp__fits .ph{ font-size:1.2rem; flex:0 0 auto; color:var(--c-accent); }
.giva-pdp__media{ position:relative; margin:1rem 0 1.25rem; background:#fff; border:0; border-radius:var(--radius); padding:0; display:flex; align-items:center; justify-content:center; align-self:center; max-width:480px; min-height:17rem; }
/* Kop/ribbons in de normale flow (niet absoluut over de foto): voorkomt dat foto's die tot
   bovenaan gevuld zijn (los reservewiel) door de titel heen lopen. */
.giva-pdp__overlay{ display:flex; flex-direction:column; align-items:flex-start; gap:.4rem; margin-bottom:.25rem; }
/* Set-variant (met montageset): de foto heeft bovenaan witruimte, dus de kop mag over de foto
   zweven en de foto komt hoger te staan. Bij het losse reservewiel blijft de kop in de flow. */
.giva-pdp--set .giva-pdp__overlay{ position:absolute; top:.8rem; left:0; right:0; z-index:3; margin-bottom:0; pointer-events:none; }
.giva-pdp--set .giva-pdp__overlay .giva-pdp__back{ pointer-events:auto; }
.giva-pdp--set .giva-pdp__media{ margin-top:2.5rem; }
.giva-pdp__imgwrap{ display:flex; align-items:center; justify-content:center; padding:1.5rem; }
.giva-pdp__media img{ max-width:420px; max-height:420px; object-fit:contain; mix-blend-mode:multiply; }
.giva-pdp__panel{ display:flex; flex-direction:column; background:#e5e5e5; border:0; border-radius:var(--radius); padding:1.5rem 1.6rem; }
.giva-pdp__vehicle{ display:flex; align-items:center; gap:.65rem; padding-bottom:.9rem; margin-bottom:1rem; border-bottom:1px solid var(--c-border); }
.giva-pdp__vehicle-logo{ flex:0 0 auto; width:40px; height:40px; display:flex; align-items:center; justify-content:center; }
.giva-pdp__vehicle-logo img{ max-width:100%; max-height:100%; object-fit:contain; }
.giva-pdp__vehicle-name{ color:var(--c-primary); font-size:.95rem; line-height:1.35; }
.giva-pdp__vehicle-bm{ font-weight:700; font-size:1.05rem; }
.giva-pdp__vehicle-sc,.giva-pdp__vehicle-yr,.giva-pdp__vehicle-bm{ display:block; }
.giva-pdp__vehicle-sc{ font-weight:600; }
.giva-pdp__vehicle-yr{ color:var(--c-muted); font-size:.85rem; font-weight:500; }
.giva-pdp__price{ font-size:clamp(1.5rem,3vw,1.9rem); font-weight:700; color:var(--c-primary); margin:0; }
.giva-pdp__dl{ display:grid; grid-template-columns:max-content 1fr; gap:.35rem 1.25rem; margin:1.1rem 0 1.3rem; padding:1.1rem 1.1rem; background:#f2f2f2; border-radius:calc(var(--radius) - 4px); font-size:.92rem; }
.giva-pdp__dl dt{ color:var(--c-muted); }
.giva-pdp__dl dd{ margin:0; font-weight:600; color:var(--c-primary); }
.giva-pdp__cart{ margin:0; }
.giva-pdp__btn{ display:flex; flex-direction:column; align-items:center; gap:.1rem; width:100%; margin-top:1rem; padding:.75rem 1rem; font-size:1.05rem; line-height:1.2; }
.giva-pdp__btn small{ font-weight:400; font-size:.78rem; opacity:.85; }
.giva-pdp__btn-main{ display:inline-flex; align-items:baseline; justify-content:center; gap:.55rem; flex-wrap:wrap; }
.giva-pdp__btn-price{ font-weight:700; }
.giva-pdp__btn-price::before{ content:'•'; margin-right:.55rem; opacity:.6; }
.giva-pdp__trust{ list-style:none; margin:auto 0 0; padding:1.5rem 0 0; border-top:1px solid var(--c-border); display:grid; gap:.5rem; font-size:.9rem; color:var(--c-muted); }
.giva-pdp__trust li{ display:flex; align-items:center; gap:.55rem; }
.giva-pdp__trust .ph{ color:var(--c-accent); font-size:1.15rem; }
.giva-filters .giva-support{ margin-top:1rem; }
.giva-pdp__panel .giva-support{ margin-top:1rem; }
.giva-pdp-seo{ padding-block:clamp(1.25rem,3vw,2rem) clamp(1.5rem,4vw,2.5rem); }
.giva-pdp-seo h2{ margin:0 0 .6rem; }
.giva-pdp-seo p{ max-width:72ch; margin:0 0 .8rem; }
@media(max-width:820px){ .giva-pdp__top{ grid-template-columns:1fr; } .giva-pdp__media{ max-width:none; } }
.giva-pdp__alts-btn{ display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); color:var(--c-primary); font-weight:600; padding:.7rem 1rem; margin:1rem 0 .6rem; transition:background .15s, border-color .15s, color .15s; }
.giva-pdp__alts-btn:hover{ background:var(--c-surface,#f7f8f7); border-color:var(--c-accent); color:var(--c-accent-dark); }
.giva-pdp__alts-btn .ph{ font-size:1.15rem; }
.giva-pdp__pasgarantie{ width:100%; justify-content:center; gap:.45rem; background:#c0342a; color:#fff; font-weight:600; font-size:.85rem; padding:.55rem .9rem; margin-bottom:.6rem; }
.giva-pdp__pasgarantie:hover{ background:#a52c23; color:#fff; }
.giva-pdp__pasgarantie .ph{ font-size:1.05rem; }
.giva-altdrawer-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:1000; }
.giva-altdrawer{ position:fixed; top:0; right:0; bottom:0; width:min(92vw,430px); background:#fff; z-index:1001; transform:translateX(100%); transition:transform .25s ease; display:flex; flex-direction:column; box-shadow:-12px 0 44px rgba(0,0,0,.22); }
.giva-altdrawer.is-open{ transform:translateX(0); }
.giva-altdrawer__head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.25rem; border-bottom:1px solid var(--c-border); }
.giva-altdrawer__head strong{ font-size:1.05rem; }
.giva-altdrawer__close{ background:none; border:0; cursor:pointer; font-size:1.4rem; line-height:1; color:var(--c-primary); flex:0 0 auto; }
.giva-altdrawer__list{ overflow-y:auto; -webkit-overflow-scrolling:touch; padding:1.25rem; display:grid; gap:1.25rem; }

.giva-vehicle-faq{ margin-top:2rem; }
.giva-vehicle-faq > h2{ margin:0 0 .75rem; }
.giva-vehicle-faq .giva-faq__list{ display:grid; gap:.5rem; }
.giva-vehicle-faq .giva-faq__q{ border:1px solid var(--c-border); border-radius:var(--radius); background:#fff; padding:.85rem 1rem; }
.giva-vehicle-faq .giva-faq__q summary{ cursor:pointer; font-weight:600; }
.giva-vehicle-faq .giva-faq__a{ margin-top:.5rem; color:var(--c-muted); }


/* ---- Standaard meegeleverd (toebehoren, 1x; identiek voor staal/aluminium) ---- */
.giva-incl{ margin:1.75rem 0 1rem; background:var(--c-surface,#f7f8f7); border:1px solid var(--c-border); border-radius:var(--radius); padding:1.25rem 1.35rem; }
.giva-incl__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; line-height:.92; text-transform:uppercase; letter-spacing:.01em; margin:0 0 .35rem; font-size:clamp(1.7rem,3.2vw,2.2rem); }
.giva-incl__intro{ margin:0 0 1rem; color:var(--c-muted); }
.giva-incl__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.giva-incl__item{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:.5rem; }
.giva-incl__desc{ display:none; } /* omschrijving niet tonen bij "Standaard meegeleverd" */
.giva-incl__img{ display:flex; align-items:center; justify-content:center; width:100%; max-width:110px; margin-inline:auto; aspect-ratio:1/1; background:#fff; border:1px solid var(--c-border); border-radius:calc(var(--radius) - 4px); padding:.65rem; }
.giva-incl__img img{ max-width:100%; max-height:100%; object-fit:contain; mix-blend-mode:multiply; }
.giva-incl__grid{ align-items:start; }
.giva-incl__label{ font-weight:600; font-size:.85rem; }
.giva-incl__desc{ color:var(--c-muted); font-size:.78rem; line-height:1.35; }
@media(max-width:420px){ .giva-incl__grid{ gap:.6rem; } }
/* Voertuigpagina: "Past altijd" + "Standaard meegeleverd" naast elkaar op grotere schermen. */
.giva-vehicle-extras{ display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:1.5rem; margin:1.75rem 0 1rem; align-items:stretch; }
.giva-vehicle-extras > .giva-fitnote,
.giva-vehicle-extras > .giva-incl,
.giva-vehicle-extras > .giva-trunkviz{ margin:0; height:100%; }

/* Kofferbakmaat-visualisatie (op schaal, door JS getekend). */
.giva-trunkviz{ margin:1.75rem 0 1rem; background:var(--c-surface,#f7f8f7); border:1px solid var(--c-border); border-radius:var(--radius); padding:1.5rem 1.6rem; }
.giva-trunkviz__title{ display:flex; align-items:center; gap:.4rem; margin:0 0 .2rem; font-size:1.05rem; }
.giva-trunkviz__title i{ color:var(--c-accent); }
.giva-trunkviz__sub{ margin:0 0 .6rem; color:var(--c-muted); font-size:.85rem; }
.giva-trunkviz__canvas .giva-tv__svg{ width:100%; height:auto; max-width:520px; display:block; }
.giva-tv__tire{ fill:#eef1f5; stroke:#c2cad6; stroke-width:2; }
.giva-tv__rim{ fill:#f7f9fb; stroke:#c2cad6; stroke-width:1.5; }
.giva-tv__hub{ fill:#dfe5ee; stroke:#c2cad6; stroke-width:1.5; }
.giva-tv__bolt{ fill:#c2cad6; }
.giva-tv__disc{ fill:#eef1f5; stroke:#c2cad6; stroke-width:2; }
.giva-tv__disctop{ fill:#e7ecf3; stroke:#c2cad6; stroke-width:2; }
.giva-tv__guide{ stroke:#c2cad6; stroke-width:1; stroke-dasharray:3 3; }
.giva-tv__dim{ stroke:#2f6fd6; stroke-width:2; }
.giva-tv__dim-fill{ fill:#2f6fd6; }
.giva-tv__label rect{ fill:#fff; stroke:#dbe1ea; stroke-width:1; }
.giva-tv__label text{ fill:#1f2a3a; font-size:13px; font-weight:700; text-anchor:middle; dominant-baseline:central; }
.giva-tv__cap{ fill:#8a93a3; font-size:11px; text-anchor:middle; }
.giva-trunkviz__weight{ display:flex; align-items:center; gap:.6rem; margin:1.1rem 0 0; padding:.8rem 1.05rem; background:#fff; border:1px solid var(--c-border); border-radius:calc(var(--radius) - 4px); }
.giva-trunkviz__weight i{ color:var(--c-accent); font-size:1.25rem; flex:0 0 auto; }
.giva-trunkviz__weight span{ color:var(--c-muted); font-size:.92rem; }
.giva-trunkviz__weight strong{ margin-left:auto; font-size:1.08rem; font-weight:700; color:var(--c-text); }

/* Juridische/info-pagina's (prose) */
.giva-legal{ max-width:none; margin:0; }
/* Informatiepagina's: wat lucht boven de content-container */
.giva-vehicle--info{ margin-top:2rem; }
.giva-legal__intro{ font-size:1.05rem; color:var(--c-text); margin:0 0 1.5rem; line-height:1.65; }
.giva-legal__h{ font-family:var(--font-head); font-size:1.25rem; margin:1.9rem 0 .5rem; color:var(--c-text); }
.giva-legal p{ line-height:1.7; color:var(--c-text); margin:0 0 .8rem; }
.giva-legal__list{ margin:.2rem 0 1rem 1.2rem; padding:0; }
.giva-legal__list li{ line-height:1.6; margin:.25rem 0; }
.giva-legal a{ color:var(--c-accent); }
/* Complianz-cookieverklaring binnen onze legal-styling */
.giva-legal--cmplz h1{ display:none; } /* de hero levert al de H1 "Cookiebeleid" */
.cmplz-fmail-domain{ display:none !important; } /* Complianz anti-spam lokdomein verbergen (hun eigen CSS laadt niet op onze virtuele pagina) */
.giva-legal--cmplz table{ width:100%; border-collapse:collapse; margin:0 0 1.25rem; font-size:.95rem; }
.giva-legal--cmplz th, .giva-legal--cmplz td{ text-align:left; padding:.55rem .7rem; border-bottom:1px solid var(--c-border); vertical-align:top; }
/* Complianz: in-/uitklapbare service-items (details) als accordeon-kaarten */
.giva-legal--cmplz .cmplz-manage-consent-container,
.giva-legal--cmplz .cmplz-categories{ display:grid; gap:.6rem; margin:1rem 0 1.75rem; }
.giva-legal--cmplz .cmplz-dropdown{ background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); margin:0 0 .6rem; overflow:hidden; }
.giva-legal--cmplz .cmplz-dropdown > summary,
.giva-legal--cmplz .cmplz-service-header{ cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1.1rem; font-weight:600; color:var(--c-primary); }
.giva-legal--cmplz .cmplz-dropdown > summary::-webkit-details-marker{ display:none; }
.giva-legal--cmplz .cmplz-dropdown > summary::after{ content:""; flex:0 0 auto; width:.5rem; height:.5rem; border-right:2px solid var(--c-muted); border-bottom:2px solid var(--c-muted); transform:rotate(45deg); transition:transform .18s; }
.giva-legal--cmplz .cmplz-dropdown[open] > summary::after{ transform:rotate(-135deg); }
.giva-legal--cmplz .cmplz-service-desc,
.giva-legal--cmplz .cmplz-service-description{ padding:.2rem 1.1rem 1rem; color:var(--c-muted); line-height:1.65; }
/* Complianz: toestemming per categorie */
.giva-legal--cmplz .cmplz-category{ background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); padding:.85rem 1.1rem; }
.giva-legal--cmplz .cmplz-category-header{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.giva-legal--cmplz .cmplz-category-title{ font-weight:600; color:var(--c-primary); }
.giva-legal--cmplz .cmplz-always-active{ color:var(--c-accent); font-size:.85rem; font-weight:600; }
.giva-legal--cmplz .cmplz-description{ margin-top:.5rem; color:var(--c-muted); line-height:1.6; font-size:.92rem; }
.giva-legal--cmplz .cmplz-consent-checkbox,
.giva-legal--cmplz .cmplz-banner-checkbox{ width:1.15rem; height:1.15rem; accent-color:var(--c-accent); cursor:pointer; }
.giva-legal--cmplz .cmplz-links{ margin-top:1rem; display:flex; flex-wrap:wrap; gap:.75rem; }
.cmplz-hidden{ display:none; }
.giva-legal__manage{ margin-top:1.75rem; }
/* Vergelijkingstabellen (GEO) */
.giva-cmp-wrap{ overflow-x:auto; margin:1.25rem 0 1.75rem; }
.giva-cmp{ width:100%; border-collapse:collapse; font-size:.95rem; min-width:520px; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); overflow:hidden; }
.giva-cmp th, .giva-cmp td{ padding:.7rem .95rem; text-align:left; border-bottom:1px solid var(--c-border); }
.giva-cmp thead th{ background:var(--c-surface,#f7f8f7); font-weight:700; color:var(--c-primary); }
.giva-cmp tbody th[scope="row"]{ font-weight:600; color:var(--c-primary); }
.giva-cmp tbody tr:last-child th, .giva-cmp tbody tr:last-child td{ border-bottom:0; }
.giva-cmp td{ color:var(--c-text); }
/* Interne-links-rij onder info-pagina's */
.giva-links-row{ margin:1.25rem 0 0; color:var(--c-muted); font-size:.92rem; }
.giva-links-row a{ color:var(--c-accent); text-decoration:none; }
.giva-links-row a:hover{ text-decoration:underline; }

/* Landkeuze-modal bij het eerste bezoek */
html.giva-country-open{ overflow:hidden; }
.giva-country{ position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:1.25rem; background:rgba(20,22,28,.55); }
.giva-country__box{ background:#fff; border-radius:14px; box-shadow:0 20px 60px rgba(0,0,0,.28); padding:1.75rem 1.75rem 1.6rem; max-width:420px; width:100%; text-align:center; }
.giva-country__title{ font-family:var(--font-head); font-size:1.5rem; margin:0 0 .4rem; color:var(--c-text); }
.giva-country__lead{ color:var(--c-muted); margin:0 0 1.1rem; line-height:1.55; }
.giva-country__select{ width:100%; padding:.7rem .85rem; border:1px solid var(--c-border); border-radius:10px; font-size:1rem; background:#fff; margin:0 0 1rem; }
.giva-country__confirm{ width:100%; justify-content:center; }

/* Hulpcentrum: categorie-kaarten (à la help-center) */
.giva-helphub{ padding-block:clamp(1.5rem,4vw,2.5rem); }
.giva-helphub .giva-support{ margin-top:2rem; }
.giva-helphub__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
@media(max-width:860px){ .giva-helphub__grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .giva-helphub__grid{ grid-template-columns:1fr; } }
.giva-faqhub__cattitle.giva-faqhub__othertitle{ margin-top:2rem; }
.giva-faq__qico{ color:var(--c-accent); margin-right:.5rem; font-size:1.15em; line-height:1; vertical-align:-.1em; flex:0 0 auto; }
.giva-faqhub__q{ display:inline-flex; align-items:center; min-width:0; }
.giva-helpcard{ display:flex; gap:1rem; align-items:flex-start; height:100%; background:#fff; border:1px solid var(--c-border); border-radius:14px; box-shadow:var(--shadow); padding:1.25rem; color:inherit; text-decoration:none; transition:box-shadow .18s ease, transform .18s ease; }
.giva-helpcard:hover{ box-shadow:0 10px 26px rgba(0,0,0,.10); transform:translateY(-2px); }
.giva-helpcard__ico{ flex:0 0 auto; width:3rem; height:3rem; display:flex; align-items:center; justify-content:center; background:var(--c-surface,#f4f3f1); border-radius:12px; }
.giva-helpcard__ico i{ font-size:1.5rem; color:var(--c-accent); }
.giva-helpcard__body{ display:flex; flex-direction:column; gap:.25rem; }
.giva-helpcard__title{ font-weight:600; font-size:1.05rem; color:var(--c-text); }
.giva-helpcard__desc{ color:var(--c-muted); font-size:.9rem; line-height:1.4; }
.giva-helpcard__meta{ margin-top:.35rem; color:var(--c-accent); font-size:.85rem; font-weight:600; display:inline-flex; align-items:center; gap:.35rem; }
.giva-helphub__lead{ color:var(--c-muted); font-size:1.05rem; margin:0 auto 1.25rem; max-width:640px; text-align:center; }
.giva-helphub__search{ position:relative; max-width:560px; margin:0 auto 1.75rem; }
.giva-helphub__search > i{ position:absolute; left:1rem; top:50%; transform:translateY(-50%); color:var(--c-muted); font-size:1.2rem; pointer-events:none; }
.giva-helphub__input{ width:100%; padding:.85rem 1rem .85rem 2.75rem; border:1px solid var(--c-border); border-radius:999px; font-size:1rem; background:#fff; box-shadow:var(--shadow); }
.giva-helphub__input:focus{ outline:none; border-color:var(--c-accent); box-shadow:0 0 0 3px rgba(79,122,93,.18); }
.giva-helphub__results{ max-width:640px; margin:0 auto 1.75rem; }
.giva-helphub__hits{ list-style:none; margin:0; padding:0; border:1px solid var(--c-border); border-radius:12px; overflow:hidden; background:#fff; box-shadow:var(--shadow); }
.giva-helphub__hits li + li{ border-top:1px solid var(--c-border); }
.giva-helphub__hits a{ display:flex; flex-direction:column; gap:.15rem; padding:.8rem 1.1rem; text-decoration:none; color:var(--c-text); }
.giva-helphub__hits a:hover{ background:var(--c-surface,#f7f8f7); }
.giva-helphub__hitq{ font-weight:600; }
.giva-helphub__hitc{ font-size:.82rem; color:var(--c-accent); }
.giva-helphub__none{ text-align:center; color:var(--c-muted); padding:1rem; }


/* ---- "Past altijd, ongeacht uw huidige wielen" (fitment-geruststelling) ---- */
.giva-fitnote{ margin:1.75rem 0 1rem; background:var(--c-surface,#f7f8f7); border:1px solid var(--c-border); border-radius:var(--radius); padding:1.5rem 1.6rem; }
.giva-fitnote p{ color:var(--c-text); line-height:1.6; margin:0; }
.giva-fitnote__title{ display:flex; align-items:center; gap:.85rem; font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; line-height:.92; text-transform:uppercase; letter-spacing:.01em; margin:0 0 .7rem; font-size:clamp(1.7rem,3.2vw,2.2rem); }
.giva-fitnote__ico{ flex:0 0 auto; font-size:2.8rem; line-height:1; color:var(--c-accent); }
.giva-fitnote__chips{ list-style:none; margin:.75rem 0; padding:0; display:flex; flex-wrap:wrap; gap:.5rem; }
.giva-fitnote__chips li{ background:#fff; border:1px solid var(--c-border); color:var(--c-accent-dark); font-weight:600; font-size:.82rem; padding:.4rem .8rem; border-radius:999px; }
.giva-fitnote p.giva-fitnote__note{ display:flex; align-items:flex-start; gap:.65rem; color:var(--c-muted); font-size:.88rem; line-height:1.55; margin:1rem 0 0; padding:.9rem 1.05rem; background:#fff; border:1px solid var(--c-border); border-radius:calc(var(--radius) - 4px); }
.giva-fitnote__note-ico{ flex:0 0 auto; font-size:1.3rem; line-height:1.3; color:var(--c-accent); }


/* ---- Keuzehulp-band met dezelfde hero-achtergrond als de header ---- */
.giva-finder-band{ position:relative; margin-top:2rem; border-radius:var(--radius); overflow:hidden; background:var(--c-primary,#141413); }
.giva-finder-band::before{ content:""; position:absolute; inset:0; background:var(--giva-finder-img) 100% 50%/cover no-repeat; }
.giva-finder-band::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,20,19,.88), rgba(20,20,19,.55) 60%, rgba(20,20,19,.3)); }
.giva-finder-band__inner{ position:relative; z-index:1; padding:clamp(1.5rem,4vw,2.5rem); }
.giva-finder-band__title{ margin:0 0 .4rem; color:#fff; font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); text-transform:uppercase; font-size:clamp(1.6rem,3vw,2.2rem); line-height:.95; font-weight:700; }
.giva-finder-band__intro{ margin:0 0 1.15rem; color:rgba(255,255,255,.85); max-width:52ch; }
.giva-finder-band .giva-finder-cta{ margin-top:0; }


/* ============================================================
   Reservewiel-overzicht in category-stijl (naar Figma "Velg overzicht"):
   voertuig-header + filters links + productgrid rechts (alle artikelen).
   ============================================================ */
.giva-vhero{ position:relative; overflow:hidden; background:var(--c-primary,#141413); }
.giva-vhero .container{ position:relative; z-index:1; }
.giva-vhero::before{ content:""; position:absolute; inset:0; background:var(--giva-vhero-img) 100% 50%/cover no-repeat; }
.giva-vhero::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,20,19,.9), rgba(20,20,19,.55) 60%, rgba(20,20,19,.3)); }
.giva-vhero__inner{ position:relative; z-index:1; padding-block:clamp(1.5rem,4vw,2.75rem); max-width:640px; }
.giva-vhero__logo{ display:inline-flex; background:#fff; border-radius:8px; padding:.4rem .6rem; margin-bottom:.9rem; }
.giva-vhero__logo img{ height:1.9rem; width:auto; max-width:8rem; object-fit:contain; }
.giva-vhero__title{ margin:0 0 .5rem; color:#fff; font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); text-transform:uppercase; font-weight:700; line-height:.92; font-size:clamp(1.9rem,4vw,3rem); }
.giva-vhero__intro{ margin:0 0 1.15rem; color:rgba(255,255,255,.85); max-width:48ch; }
.giva-vhero__change{ background:#fff; color:var(--c-primary); }
.giva-vhero__change:hover{ background:var(--c-accent); color:#fff; }

/* Resultaatpagina's (giva-vehicle--bg via 'body_bg'): container op --c-bg. Content blijft op
   max-width (1200); geen radius, geen marge (strak tegen buren erboven/eronder). */
/* Achtergrond full-width (net als de hero erboven), content blijft gecentreerd op --giva-max (1200).
   Geen 100vw (voorkomt horizontale scrollbar): de container vult .site-main en padt de content terug. */
.giva-vehicle--bg{ background:var(--c-bg); max-width:none; padding-block:1.5rem; padding-inline:max(var(--giva-gap), calc(50% - var(--giva-max) / 2 + var(--giva-gap))); }
/* In-flow secties met eigen .container niet dubbel inspringen -> zelfde kolom als de rest. */
.giva-vehicle--bg .giva-lp-links > .container{ max-width:none; padding-inline:0; }
.giva-shop{ display:grid; grid-template-columns:360px 1fr; gap:1.5rem; align-items:start; margin-bottom:1rem; }
/* Interne zoekpaden-blok (facet-hubs + configurator) op de catalogus. */
.giva-lp-links{ padding-block:clamp(1.75rem,4vw,3rem); }
.giva-lp-links > .container > h2{ margin:0 0 .35rem; }
.giva-lp-links .lead{ margin:0 0 1.1rem; color:var(--c-muted); max-width:60ch; }
.giva-linkcards{ list-style:none; margin:0; padding:0; display:grid; gap:1rem; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); }
.giva-linkcards a{ display:flex; flex-direction:column; gap:.25rem; height:100%; padding:1rem 1.1rem; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); text-decoration:none; color:var(--c-text); transition:box-shadow .15s, transform .15s; }
.giva-linkcards a:hover{ box-shadow:0 8px 22px rgba(0,0,0,.1); transform:translateY(-2px); }
.giva-linkcards strong{ color:var(--c-primary); }
.giva-linkcards span{ color:var(--c-muted); font-size:.9rem; }
/* Hub: maat-keuze (facet-grid met witte kaarten op de tint, zoals de productkaarten). */
.giva-hub{ padding-block:clamp(1.75rem,4vw,3rem); }
.giva-facet-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:1rem; margin-top:1rem; }
.giva-facet-card{ display:flex; flex-direction:column; gap:.15rem; padding:1rem 1.1rem; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); text-decoration:none; color:var(--c-text); transition:box-shadow .15s, transform .15s; }
.giva-facet-card:hover{ box-shadow:0 8px 22px rgba(0,0,0,.1); transform:translateY(-2px); }
.giva-facet-card__v{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; color:var(--c-primary); font-size:1.35rem; line-height:1.1; }
.giva-facet-card__c{ color:var(--c-muted); font-size:.85rem; }
.giva-shop--nofilter{ grid-template-columns:1fr; }
.giva-shop__main{ min-width:0; }
.giva-shop__h2{ margin:1rem 0 .25rem; font-size:2rem; }
.giva-shop__count{ color:var(--c-muted); font-size:.9rem; margin:.15rem 0 1rem; }

.giva-filters{ position:static; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); padding:1rem 1.1rem; }
.giva-filters__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.4rem; font-weight:700; font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-size:2rem; }
.giva-filters__clear{ background:none; border:0; color:var(--c-accent-dark); font-weight:600; font-size:.82rem; cursor:pointer; padding:0; }
.giva-filters__group{ padding:.7rem 0; border-top:1px solid var(--c-border); }
.giva-filters__group:first-of-type{ border-top:0; padding-top:.2rem; }
.giva-filters__title{ margin:0 0 .55rem; font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-size:1.5rem; font-weight:700; line-height:1; letter-spacing:.02em; text-transform:uppercase; color:var(--c-primary,#141413); }
.giva-filters__group > summary.giva-filters__title{ margin:0; cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.giva-filters__group[open] > summary.giva-filters__title{ margin-bottom:.55rem; }
.giva-filters__group > summary.giva-filters__title::-webkit-details-marker{ display:none; }
.giva-filters__group > summary.giva-filters__title::after{ content:""; flex:0 0 auto; width:.5rem; height:.5rem; margin:-.15rem .15rem 0 .5rem; border-right:2px solid var(--c-muted); border-bottom:2px solid var(--c-muted); transform:rotate(45deg); transition:transform .15s; }
.giva-filters__group[open] > summary.giva-filters__title::after{ transform:rotate(-135deg); margin:.1rem .15rem 0 .5rem; }
.giva-filters__opt{ display:flex; align-items:center; gap:.5rem; padding:.26rem 0; cursor:pointer; font-size:.9rem; }
/* Custom checkbox in de huisstijl. */
.giva-filters__opt input{ appearance:none; -webkit-appearance:none; flex:0 0 auto; width:1.15rem; height:1.15rem; margin:0; border:1.5px solid var(--c-border); border-radius:6px; background:#fff; cursor:pointer; position:relative; transition:background .12s, border-color .12s; }
.giva-filters__opt input:hover{ border-color:var(--c-accent); }
.giva-filters__opt input:checked{ background:var(--c-accent); border-color:var(--c-accent); }
.giva-filters__opt input:checked::after{ content:""; position:absolute; left:50%; top:46%; width:.32rem; height:.6rem; border:solid #fff; border-width:0 2px 2px 0; transform:translate(-50%,-55%) rotate(45deg); }
.giva-filters__opt input:focus-visible{ outline:3px solid var(--c-accent); outline-offset:2px; }
.giva-filters__opt input:checked + span{ font-weight:600; color:var(--c-primary); }
.giva-filters__list{ display:flex; flex-direction:column; gap:.05rem; margin:-.1rem -.2rem; padding:.1rem .2rem; }

.giva-filters__chips{ display:flex; flex-wrap:wrap; gap:.5rem; }
.giva-chip{ cursor:pointer; line-height:0; }
.giva-chip input{ position:absolute; opacity:0; width:0; height:0; }
.giva-chip__c{ display:inline-flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; border-radius:50%; border:1.5px solid var(--c-border); font-weight:500; font-size:.8rem; line-height:1; color:var(--c-primary,#141413); transition:background .12s, border-color .12s, color .12s; }
.giva-chip:hover .giva-chip__c{ border-color:var(--c-accent); }
.giva-chip input:checked + .giva-chip__c{ background:var(--c-accent); border-color:var(--c-accent); color:#fff; }
.giva-chip input:focus-visible + .giva-chip__c{ outline:3px solid var(--c-accent); outline-offset:2px; }

/* mobiel/tablet: filters als slide-in drawer via de Filter-knop */
.giva-filters-toggle{ display:none; align-items:center; gap:.45rem; font:inherit; font-weight:600; padding:.45rem .8rem; border:1px solid var(--c-border); border-radius:8px; background:#fff; color:var(--c-text,#111); cursor:pointer; }
.giva-filters__close{ display:none; background:none; border:0; cursor:pointer; font-size:1.25rem; line-height:1; color:var(--c-muted); padding:0 .2rem; }
.giva-filters-backdrop{ display:none; }
@media(max-width:820px){
	.giva-shop{ grid-template-columns:1fr; }
	.giva-filters-toggle{ display:inline-flex; }
	.giva-filters__close{ display:inline-flex; }
	.giva-filters{ position:fixed; top:0; left:0; bottom:0; width:min(86vw,340px); max-height:none; z-index:1001; transform:translateX(-100%); transition:transform .25s ease; border-radius:0; box-shadow:2px 0 24px rgba(0,0,0,.25); overflow-y:auto; }
	.giva-shop.is-filters-open .giva-filters{ transform:translateX(0); }
	.giva-filters-backdrop{ display:block; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:1000; opacity:0; visibility:hidden; transition:opacity .2s; }
	.giva-shop.is-filters-open .giva-filters-backdrop{ opacity:1; visibility:visible; }
}

.giva-price, .giva-range{ margin-top:.35rem; }
.giva-range--max .giva-price__range--lo{ display:none; }
.giva-range__cap{ font-weight:600; color:var(--c-muted); }
.giva-price__vals{ display:flex; justify-content:space-between; font-size:.85rem; font-weight:700; color:var(--c-primary,#141413); margin-top:.6rem; }
.giva-price__track{ position:relative; height:1.5rem; }
.giva-price__track::before{ content:""; position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); height:4px; border-radius:2px; background:var(--c-border); }
.giva-price__fill{ position:absolute; top:50%; transform:translateY(-50%); height:4px; border-radius:2px; background:var(--c-accent); left:0; right:0; }
.giva-price__range{ position:absolute; left:0; top:0; width:100%; height:1.5rem; margin:0; background:none; pointer-events:none; -webkit-appearance:none; appearance:none; }
.giva-price__range::-webkit-slider-thumb{ pointer-events:auto; -webkit-appearance:none; appearance:none; width:1.15rem; height:1.15rem; border-radius:50%; background:var(--c-accent); border:2px solid var(--c-accent); cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.giva-price__range::-moz-range-thumb{ pointer-events:auto; width:1.15rem; height:1.15rem; border-radius:50%; background:var(--c-accent); border:2px solid var(--c-accent); cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.giva-price__range::-webkit-slider-runnable-track{ background:none; border:none; }
.giva-price__range::-moz-range-track{ background:none; border:none; }
.giva-price__range:focus-visible::-webkit-slider-thumb{ outline:3px solid var(--c-accent); outline-offset:2px; }


/* ---- Reservewielen gegroepeerd per materiaal (foto 1x per groep) ---- */
.giva-prod-groups{ display:flex; flex-direction:column; gap:2.25rem; }
.giva-prod-group__head{ display:flex; align-items:baseline; gap:.6rem; margin-bottom:1rem; padding-bottom:.6rem; border-bottom:2px solid var(--c-border); }
.giva-prod-group__img{ display:flex; align-items:center; justify-content:center; width:5rem; height:5rem; flex:0 0 auto; background:linear-gradient(180deg,#f7f8f7,#ecefec); border-radius:var(--radius); padding:.5rem; }
.giva-prod-group__img img{ max-width:100%; max-height:100%; object-fit:contain; mix-blend-mode:multiply; }
.giva-prod-group__title{ margin:0; font-size:1.2rem; }
.giva-prod-group__count{ margin:0; color:var(--c-muted); font-size:.9rem; }


/* ---- Sorteerbalk boven het overzicht ---- */
.giva-shop__bar{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin:.15rem 0 1rem; }
.giva-shop__bar .giva-shop__count{ margin:0; }
.giva-shop__sort{ display:inline-flex; align-items:center; gap:.5rem; font-size:.9rem; color:var(--c-muted); white-space:nowrap; }
.giva-shop__sort select{ font:inherit; padding:.4rem 2rem .4rem .6rem; border:1px solid var(--c-border); border-radius:8px; background:#fff; color:var(--c-text,#111); cursor:pointer; }

/* ---- Hoek-linten op de productfoto: blauw = steekmaat (PCD), rood = inchmaat ---- */
.giva-prod__img{ position:relative; }
.giva-prod__ribbons{ position:absolute; top:.7rem; left:0; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; pointer-events:none; }
/* Merklogo van het geselecteerde voertuig, rechtsonder over de productfoto (vierkant). */
.giva-prod__vehlogo{ position:absolute; right:.55rem; bottom:.55rem; z-index:2; width:2.5rem; height:2.5rem; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--c-border); border-radius:8px; box-shadow:0 1px 5px rgba(0,0,0,.14); padding:.28rem; }
.giva-prod__vehlogo img{ max-width:100%; max-height:100%; width:auto; object-fit:contain; }
/* Klein groen checkmark op het autologo: dit reservewiel past op het gekozen voertuig. */
.giva-prod__vehcheck{ position:absolute; top:-0.4rem; right:-0.4rem; width:1.15rem; height:1.15rem; display:flex; align-items:center; justify-content:center; background:var(--c-accent,#4f7a5d); color:#fff; border-radius:50%; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.22); }
.giva-prod__vehcheck::before{ font-size:.62rem; line-height:1; } /* Phosphor-glyph exact centreren */
.giva-ribbon{ color:#fff; font-weight:700; font-size:.72rem; letter-spacing:.02em; padding:.32rem 1rem .32rem .7rem; line-height:1; white-space:nowrap; box-shadow:2px 3px 6px rgba(0,0,0,.18); clip-path:polygon(0 0, 100% 0, calc(100% - .55rem) 100%, 0 100%); }
.giva-ribbon--pcd{ background:#1c3d5a; }
.giva-ribbon--inch{ background:#c0342a; }
.giva-ribbon--montage{ background:var(--c-accent,#4f7a5d); } /* bundel: los wiel + montageset */
/* "inclusief Goed voorbereide montageset" onder de titel: normaal font, groen. */
.giva-prod__montage{ margin:0; font-weight:400; font-size:.8rem; line-height:1.3; min-height:1.3em; color:var(--c-accent,#4f7a5d); } /* set: groen; regel altijd gereserveerd voor uitlijning */
.giva-pdp__montage{ margin:.35rem 0 0; font-weight:400; font-size:1.02rem; line-height:1.3; color:var(--c-accent,#4f7a5d); }


/* ---- Paginering ---- */
.giva-pager{ display:flex; flex-wrap:wrap; justify-content:center; gap:.35rem; margin-top:2rem; }
.giva-pager[hidden]{ display:none; }
.giva-pager__btn{ min-width:2.4rem; height:2.4rem; padding:0 .5rem; border:1px solid var(--c-border); background:#fff; color:var(--c-text,#111); border-radius:8px; font:inherit; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.giva-pager__btn:hover:not(:disabled){ border-color:var(--c-accent); }
.giva-pager__btn.is-active{ background:var(--c-accent); border-color:var(--c-accent); color:#fff; }
.giva-pager__btn:disabled{ opacity:.4; cursor:default; }
.giva-pager__gap{ display:inline-flex; align-items:flex-end; padding:0 .2rem; color:var(--c-muted); }


/* ---- Voertuig-selectiebanner in het rooster (na het 7e resultaat, max 2 kolommen) ---- */
.giva-shop-cta{ grid-column:span 2; position:relative; overflow:hidden; display:flex; align-items:center; min-height:11rem; border-radius:var(--radius); background:var(--c-primary,#141413); color:#fff; text-decoration:none; }
.giva-shop-cta[hidden]{ display:none; }
.giva-shop-cta::before{ content:""; position:absolute; inset:0; background:var(--giva-cta-img) right center/cover no-repeat; }
.giva-shop-cta::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,20,19,.92), rgba(20,20,19,.55) 55%, rgba(20,20,19,.12)); }
.giva-shop-cta__body{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:.45rem; padding:clamp(1.1rem,3vw,1.6rem); max-width:72%; }
.giva-shop-cta__title{ font-size:clamp(1.15rem,2.2vw,1.45rem); font-weight:700; line-height:1.1; color:#fff; }
.giva-shop-cta__text{ color:rgba(255,255,255,.85); font-size:.92rem; }
.giva-shop-cta__btn{ margin-top:.4rem; background:var(--c-accent); color:#fff; }
.giva-shop-cta__btn:hover{ background:var(--c-accent-dark); color:#fff; }
.giva-shop-cta--full{ margin:.25rem 0 1.5rem; background:var(--c-primary,#141413); }
.giva-shop-cta--full::before, .giva-shop-cta--full::after{ display:none; }
@media(max-width:560px){ .giva-shop-cta{ grid-column:1 / -1; } .giva-shop-cta__body{ max-width:100%; } }

/* Montagehandleiding. */
.giva-montage{ padding-block:clamp(1.5rem,4vw,2.5rem); }
.giva-montage__lead{ font-size:1.05rem; line-height:1.65; max-width:70ch; margin:0 0 1.25rem; }
.giva-montage__h2{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; line-height:.92; text-transform:uppercase; letter-spacing:.01em; margin:2rem 0 1rem; font-size:clamp(1.8rem,3.4vw,2.4rem); }
.giva-steps{ list-style:none; margin:0; padding:0; display:grid; gap:1rem; counter-reset:gstep; }
.giva-steps__item{ display:grid; grid-template-columns:auto 1fr; gap:1.2rem; align-items:start; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); padding:1.25rem 1.4rem; counter-increment:gstep; }
.giva-steps__num{ position:relative; flex:0 0 auto; width:3rem; height:3rem; border-radius:50%; background:var(--c-accent); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.5rem; }
.giva-steps__num::after{ content:counter(gstep); position:absolute; top:-.35rem; right:-.35rem; width:1.5rem; height:1.5rem; border-radius:50%; background:var(--c-primary); color:#fff; font-size:.8rem; font-weight:700; display:flex; align-items:center; justify-content:center; border:2px solid #fff; }
.giva-steps__body h3{ margin:0 0 .3rem; font-size:1.15rem; }
.giva-steps__body p{ margin:0; color:var(--c-muted); line-height:1.55; }
.giva-callout{ display:flex; align-items:flex-start; gap:.8rem; padding:1rem 1.15rem; border-radius:var(--radius); margin:1.5rem 0; }
.giva-callout .ph{ font-size:1.5rem; flex:0 0 auto; line-height:1.4; }
.giva-callout p{ margin:0; line-height:1.55; }
.giva-callout--info{ background:var(--c-surface,#f7f8f7); border:1px solid var(--c-border); color:var(--c-text); }
.giva-callout--info .ph{ color:var(--c-accent); }
.giva-callout--warn{ background:rgba(192,52,42,.07); border:1px solid rgba(192,52,42,.3); color:#8a241c; font-weight:600; }
.giva-callout--warn .ph{ color:#c0342a; }
@media(max-width:520px){ .giva-steps__item{ grid-template-columns:1fr; } }
.giva-video{ position:relative; aspect-ratio:16/9; margin:1rem 0 1.75rem; max-width:900px; border-radius:var(--radius); overflow:hidden; background:#000; }
.giva-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
/* ==== Over ons-pagina (naar het Figma-ontwerp) ==== */
.giva-ph{ background:#d9d9d9; border-radius:var(--radius); }
.giva-ab-hero{ background:#f4f3f1; padding-block:0; }
.giva-ab-hero__inner{ display:grid; grid-template-columns:1fr auto; align-items:end; gap:2rem; padding-bottom:clamp(1.5rem,4vw,2.5rem); }
.giva-ab-hero__eyebrow{ color:var(--c-accent); font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; text-transform:uppercase; letter-spacing:.03em; font-size:1.15rem; margin:0 0 .4rem; }
.giva-ab-hero__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; text-transform:uppercase; line-height:.9; margin:0 0 1rem; font-size:clamp(2.6rem,6vw,4.5rem); color:var(--c-primary); }
.giva-ab-hero__lead{ color:var(--c-text); font-size:1.02rem; line-height:1.6; max-width:62ch; margin:0; }
.giva-ab-hero__arrows{ display:flex; gap:.35rem; flex:0 0 auto; align-items:center; }
.giva-ab-hero__arrows .giva-brand-arrow{ width:clamp(1.8rem,3.5vw,3rem); height:auto; fill:var(--c-accent); margin:0; }
.giva-ab-hero__arrows .giva-brand-arrow:nth-child(1){ transform:rotate(0deg); }
.giva-ab-hero__arrows .giva-brand-arrow:nth-child(2){ transform:rotate(90deg); }
.giva-ab-hero__arrows .giva-brand-arrow:nth-child(3){ transform:rotate(270deg); }
.giva-ab-hero__arrows .giva-brand-arrow:nth-child(4){ transform:rotate(180deg); }
.giva-ab-hero__img{ width:100%; aspect-ratio:21/5; margin-bottom:0; background-size:cover; background-position:center; }

.giva-ab-dark{ background:#1a1a1a; color:#fff; padding-block:clamp(2rem,5vw,3.75rem); }
.giva-ab-dark__grid{ display:grid; grid-template-columns:minmax(0,.85fr) 1.3fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.giva-ab-dark__img{ width:100%; aspect-ratio:4/5; background:#333; background-size:cover; background-position:center; }
.giva-ab-dark__text p{ margin:0 0 1.1rem; line-height:1.7; color:#d8d8d6; }
.giva-ab-dark__text p:last-child{ margin-bottom:0; }

.giva-ab-bigimg{ width:100vw; margin-inline:calc(50% - 50vw); height:clamp(260px,42vw,600px); border-radius:0; }

.giva-ab-cols{ padding-block:clamp(2rem,5vw,3.5rem); }
.giva-ab-cols__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.5rem,3vw,2.75rem); }
.giva-ab-col__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; text-transform:uppercase; line-height:.9; font-size:clamp(1.7rem,3vw,2.3rem); margin:0 0 .75rem; color:var(--c-primary); }
.giva-ab-col p{ margin:0; color:var(--c-muted); line-height:1.65; }

.giva-ab-jobs{ padding-block:clamp(1.5rem,4vw,2.5rem); }
.giva-ab-jobs__grid{ display:grid; grid-template-columns:1fr 1.1fr; background:#c0342a; border-radius:var(--radius); overflow:hidden; align-items:stretch; }
.giva-ab-jobs__body{ padding:clamp(1.75rem,4vw,3rem); color:#fff; display:flex; flex-direction:column; justify-content:center; }
.giva-ab-jobs__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; text-transform:uppercase; line-height:.92; font-size:clamp(1.9rem,4vw,3rem); margin:0 0 1rem; color:#fff; }
.giva-ab-jobs__body p{ margin:0 0 1.5rem; line-height:1.6; color:rgba(255,255,255,.92); max-width:46ch; }
.giva-ab-jobs__btn{ align-self:flex-start; background:var(--c-primary); color:#fff; }
.giva-ab-jobs__btn:hover{ background:#000; color:#fff; }
.giva-ab-jobs__img{ min-height:16rem; background:#a02b22; border-radius:0; }

.giva-ab-timeline{ padding-block:clamp(2rem,5vw,3.5rem); }
.giva-ab-timeline__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; text-transform:uppercase; line-height:.9; font-size:clamp(1.9rem,3.4vw,2.7rem); margin:0 0 .25rem; text-align:center; }
.giva-timeline{ position:relative; list-style:none; margin:2rem auto 0; padding:0; max-width:60rem; }
.giva-timeline::before{ content:""; position:absolute; left:50%; top:.5rem; bottom:.5rem; width:2px; background:var(--c-border); transform:translateX(-50%); }
.giva-timeline__item{ position:relative; width:calc(50% - 2rem); margin-bottom:1.1rem; }
.giva-timeline__item:nth-child(even){ margin-left:auto; }
.giva-timeline__item::before{ content:""; position:absolute; top:50%; width:.85rem; height:.85rem; border-radius:50%; background:#c0342a; border:2px solid #fff; transform:translateY(-50%); box-shadow:0 0 0 1px var(--c-border); }
.giva-timeline__item:nth-child(odd)::before{ right:-2.42rem; }
.giva-timeline__item:nth-child(even)::before{ left:-2.42rem; }
.giva-timeline__card{ display:flex; align-items:center; gap:1rem; background:#f4f3f1; border:1px solid var(--c-border); border-radius:var(--radius); padding:1rem 1.25rem; }
.giva-timeline__item:nth-child(even) .giva-timeline__card{ flex-direction:row-reverse; }
.giva-timeline__ico{ flex:0 0 auto; display:inline-flex; }
.giva-timeline__ico .ph{ font-size:2rem; color:var(--c-primary); }
.giva-timeline__text{ margin:0; flex:1; font-size:.88rem; line-height:1.45; color:var(--c-text); }
.giva-timeline__year{ flex:0 0 auto; font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; font-size:clamp(1.5rem,2.4vw,2rem); color:#c0342a; line-height:1; }

@media(max-width:820px){
  .giva-ab-hero__inner{ grid-template-columns:1fr; } .giva-ab-hero__arrows{ display:none; }
  .giva-ab-dark__grid{ grid-template-columns:1fr; }
  .giva-ab-cols__grid{ grid-template-columns:1fr; }
  .giva-ab-jobs__grid{ grid-template-columns:1fr; } .giva-ab-jobs__img{ min-height:12rem; order:-1; }
  .giva-timeline{ max-width:none; } .giva-timeline::before{ left:1rem; }
  .giva-timeline__item{ width:100%; padding-left:2.75rem; margin-bottom:.85rem; }
  .giva-timeline__item:nth-child(even){ margin-left:0; }
  .giva-timeline__item::before{ left:.58rem !important; right:auto !important; }
  .giva-timeline__item:nth-child(even) .giva-timeline__card{ flex-direction:row; }
}

/* Veelgestelde-vragen-hub. */
.giva-faqhub{ padding-block:clamp(1.5rem,4vw,2.5rem); }
.giva-faqhub__nav{ display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 2rem; }
.giva-faqhub__nav a{ display:inline-flex; align-items:center; padding:.45rem .9rem; border:1px solid var(--c-border); border-radius:999px; background:#fff; color:var(--c-primary); font-weight:600; font-size:.9rem; text-decoration:none; transition:border-color .12s, color .12s, background .12s; }
.giva-faqhub__nav a:hover{ border-color:var(--c-accent); color:var(--c-accent-dark); background:var(--c-surface,#f7f8f7); }
.giva-faqhub__cat{ margin-bottom:2rem; scroll-margin-top:130px; }
.giva-faqhub__cattitle{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); font-weight:700; text-transform:uppercase; line-height:.92; font-size:clamp(1.5rem,2.8vw,2rem); margin:0 0 .9rem; color:var(--c-primary); }
.giva-faqhub__list{ display:grid; gap:.6rem; }
.giva-faqhub__item{ background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); overflow:hidden; }
.giva-faqhub__item summary{ cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; font-weight:600; color:var(--c-primary); }
.giva-faqhub__item summary::-webkit-details-marker{ display:none; }
.giva-faqhub__item summary::after{ content:""; flex:0 0 auto; width:.55rem; height:.55rem; border-right:2px solid var(--c-muted); border-bottom:2px solid var(--c-muted); transform:rotate(45deg); transition:transform .18s; margin-top:-.15rem; }
.giva-faqhub__item[open] summary::after{ transform:rotate(-135deg); margin-top:.15rem; }
.giva-faqhub__item[open] summary{ color:var(--c-accent-dark); }
.giva-faqhub__a{ padding:0 1.2rem 1.15rem; color:var(--c-muted); line-height:1.65; }
.giva-faqhub__a a{ color:var(--c-accent); font-weight:600; }
.giva-faqhub__a a:hover{ color:var(--c-accent-dark); }
.giva-faqhub .giva-support{ margin-top:1.5rem; }

/* ---- Winkelwagen: voertuig-koppeling per reservewiel-regel (Giva Wheels-stijl) ---- */
.giva-cartveh{ margin:.6rem 0 0; padding:.7rem .8rem; border:1px solid var(--c-border,#e6e6e6); border-radius:8px; background:#fafafa; font-size:.9rem; }
.giva-cartveh__label{ margin:0 0 .35rem; font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--c-muted,#666); }
.giva-cartveh__status{ display:flex; align-items:center; gap:.4rem; margin:0 0 .5rem; font-weight:600; }
.giva-cartveh__status i{ font-size:1.05em; flex:0 0 auto; }
.giva-cartveh__status--ok{ color:#2b8a3e; }
.giva-cartveh__status--warn{ color:#c92a2a; }
.giva-cartveh__status--req{ color:#c9791f; font-weight:600; }
.giva-cartveh__status--none, .giva-cartveh__status--manual{ color:var(--c-muted,#666); font-weight:500; }
.giva-cartveh__note{ font-weight:400; color:var(--c-muted,#888); font-size:.85em; }
.giva-cartveh__correct{ display:inline-flex; align-items:center; gap:.3rem; margin:0 0 .55rem; font-weight:700; color:var(--c-accent,#c9891f); text-decoration:none; }
.giva-cartveh__correct:hover{ text-decoration:underline; }
.giva-cartveh__actions{ display:flex; flex-wrap:wrap; gap:.4rem; }
.giva-cartveh__btn{ appearance:none; cursor:pointer; border:1px solid var(--c-primary,#1b1b1b); background:#fff; color:var(--c-primary,#1b1b1b); border-radius:999px; padding:.32rem .85rem; font-size:.82rem; font-weight:600; line-height:1.25; }
.giva-cartveh__btn:hover{ background:var(--c-primary,#1b1b1b); color:#fff; }
.giva-cartveh__pick,.giva-cartveh__btn--primary{ background:var(--c-primary,#1b1b1b); color:#fff; }
.giva-cartveh__pick:hover,.giva-cartveh__btn--primary:hover{ filter:brightness(1.2); background:var(--c-primary,#1b1b1b); color:#fff; }
.giva-cartveh__clear{ border-color:transparent; color:var(--c-muted,#777); padding-inline:.55rem; }
.giva-cartveh__clear:hover{ background:#f6dede; color:#c92a2a; }
.giva-cartveh__manual{ display:flex; gap:.4rem; margin-top:.55rem; }
.giva-cartveh__manual[hidden]{ display:none; }
.giva-cartveh__input{ flex:1 1 auto; min-width:0; padding:.42rem .6rem; border:1px solid var(--c-border,#ccc); border-radius:6px; font-size:.88rem; }

/* ==== Winkelwagen & checkout in de Giva Wheels-stijl (Figma "Afrekenen") ==== */
.woocommerce-wrap{ padding-block:1.5rem 3rem; }
/* Koppen: uppercase, zwaar - zoals de sitekoppen in het ontwerp. */
.woocommerce-cart .woocommerce h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.giva-checkout__h,
.giva-ordertype h3{ font-weight:800; text-transform:uppercase; letter-spacing:.01em; font-size:1.25rem; margin:0 0 1rem; }

/* ---- Checkout: twee kolommen, samenvatting als sticky zijbalk ---- */
@media (min-width:900px){
	.woocommerce-checkout form.checkout.woocommerce-checkout{
		display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:0 2.5rem; align-items:start;
		grid-template-areas:"otype otype" "cust reviewh" "cust review";
	}
	.woocommerce-checkout form.checkout.woocommerce-checkout > .giva-ordertype{ grid-area:otype; }
	.woocommerce-checkout #customer_details{ grid-area:cust; }
	.woocommerce-checkout #order_review_heading{ grid-area:reviewh; }
	.woocommerce-checkout #order_review{ grid-area:review; position:sticky; top:1.5rem; }
}
.giva-ordertype{ margin:0 0 1.75rem; }
.giva-ordertype__pills{ display:inline-flex; gap:.5rem; }
.giva-ordertype__pill{ appearance:none; cursor:pointer; border:1px solid var(--c-primary,#1b1b1b); background:#fff; color:var(--c-primary,#1b1b1b); border-radius:999px; padding:.5rem 1.4rem; font-weight:600; font-size:.95rem; }
.giva-ordertype__pill.is-active{ background:var(--c-primary,#1b1b1b); color:#fff; }
.giva-ordertype__hint{ margin:.6rem 0 0; color:var(--c-muted,#666); font-size:.85rem; }
/* Bedrijfsnaam alleen bij Zakelijk tonen. */
.giva-consumer .form-row.giva-biz-only{ display:none; }

/* ---- Velden ---- */
.woocommerce form .form-row label{ font-weight:600; font-size:.85rem; color:var(--c-text,#1b1b1b); margin-bottom:.25rem; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-selection,
.woocommerce-checkout select{ width:100%; padding:.7rem .85rem; border:1px solid var(--c-border,#dcdcdc); border-radius:8px; background:#fff; font-size:.95rem; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{ outline:none; border-color:var(--c-primary,#1b1b1b); }

/* ---- Samenvatting / totalen: kaart ---- */
.woocommerce-checkout #order_review,
.woocommerce-cart .cart_totals{ border:1px solid var(--c-border,#e6e6e6); border-radius:12px; background:#fff; padding:1.25rem 1.35rem; }
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-cart .cart_totals table{ border:0; margin:0; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td,
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td{ border:0; border-bottom:1px solid var(--c-border,#eee); padding:.7rem 0; vertical-align:top; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-cart .cart_totals th{ text-align:left; padding-right:1rem; font-weight:600; white-space:nowrap; }
.woocommerce-checkout #order_review table.shop_table td,
.woocommerce-cart .cart_totals td{ text-align:right; }
.woocommerce-checkout #order_review tfoot .order-total th,
.woocommerce-checkout #order_review tfoot .order-total td,
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td{ font-weight:800; font-size:1.05rem; border-bottom:0; }

/* ---- Knoppen (pill, donker) ---- */
.woocommerce #place_order,
.woocommerce a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{ display:block; width:100%; text-align:center; background:var(--c-primary,#1b1b1b); color:#fff; border:0; border-radius:999px; padding:.9rem 1.25rem; font-weight:700; font-size:1rem; cursor:pointer; }
.woocommerce #place_order:hover,
.woocommerce a.checkout-button:hover{ filter:brightness(1.2); }

/* ---- Winkelwagen & checkout: bredere content-kolom ----
   Cart/Checkout zijn gewone pagina's met shortcode (page.php), dus de smalle lees-breedte
   (.entry-content max-width ~818px) is te krap voor een 2-koloms lay-out. Verbreed alleen
   waar het cart-/checkout-formulier staat (via :has, onafhankelijk van de body-class). */
.entry-content:has(.woocommerce-cart-form),
.entry-content:has(form.checkout){ max-width:1180px !important; margin-left:auto; margin-right:auto; }

/* ---- Winkelwagenpagina: items links, samenvatting rechts (sticky) ----
   WC laat beide kinderen standaard floaten; dat reset de container-hoogte naar 0, dus
   we zetten float uit en laten flex de kolommen doen. */
.woocommerce:has( > .woocommerce-cart-form){ display:flex; flex-wrap:wrap; align-items:flex-start; gap:2.5rem; }
.woocommerce:has( > .woocommerce-cart-form) > .woocommerce-notices-wrapper{ flex:0 0 100%; }
.woocommerce-cart-form{ flex:1 1 340px; min-width:0; float:none !important; width:auto !important; margin:0; }
.cart-collaterals{ flex:0 0 360px; float:none !important; width:auto !important; margin:0; position:sticky; top:1.5rem; }
.cart-collaterals .cart_totals{ float:none; width:100%; }
.cart-collaterals .cross-sells{ display:none; }
@media (max-width:899px){
	.woocommerce:has( > .woocommerce-cart-form){ display:block; }
	.cart-collaterals{ position:static; margin-top:1.5rem; }
}

/* ---- One-page checkout: bewerkbare winkelwagen bovenaan, totalen rechts ---- */
.giva-onepage-cart{ margin:0 0 2.5rem; }
.giva-onepage-cart .cart-collaterals,
.giva-onepage-cart .wc-proceed-to-checkout{ display:none; }
.giva-onepage-cart .woocommerce:has( > .woocommerce-cart-form){ display:block; }
.giva-onepage-cart .woocommerce-cart-form{ width:100% !important; float:none !important; }
.giva-onepage-cart table.shop_table{ width:100% !important; }
/* Rechter samenvatting toont de totalen; de items staan al bewerkbaar bovenaan. */
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .cart_item{ display:none; }

/* ---- Checkout: Figma-verfijning (secties, login-knop, samenvatting, cart-rijen) ---- */
.giva-ordertype{ border-bottom:1px solid var(--c-border,#e6e6e6); padding-bottom:1.4rem; margin-bottom:1.6rem; }
.woocommerce-checkout .woocommerce-form-login button{ background:var(--c-primary,#1b1b1b); color:#fff; border:0; border-radius:999px; padding:.8rem 1.5rem; font-weight:700; }
.woocommerce-checkout .woocommerce-form-login button:hover{ filter:brightness(1.2); }
/* Samenvatting: uppercase-zware totaallabels + levertijdregel (zoals het ontwerp). */
.woocommerce-checkout #order_review tfoot th{ text-transform:uppercase; letter-spacing:.02em; }
.giva-delivery-row th{ text-transform:none !important; font-weight:600 !important; color:var(--c-muted,#555); }
.giva-delivery-row td{ color:var(--c-muted,#555); text-align:right; }
/* Bewerkbare cart-items als nette kaart met rijen (thumbnail + naam + prijs + aantal). */
.giva-onepage-cart table.cart{ border:1px solid var(--c-border,#eee) !important; border-radius:14px; overflow:hidden; }
.giva-onepage-cart table.cart thead th{ background:#fafafa; text-transform:uppercase; font-size:.72rem; letter-spacing:.04em; color:var(--c-muted,#888); font-weight:700; border:0; padding:.8rem 1rem; }
.giva-onepage-cart table.cart td{ border:0; border-top:1px solid #f0f0f0; padding:1rem; vertical-align:middle; }
.giva-onepage-cart .product-thumbnail img{ width:72px; height:72px; object-fit:contain; border:1px solid var(--c-border,#eee); border-radius:10px; background:#fff; padding:4px; }
.giva-onepage-cart .product-name > a{ font-weight:700; color:var(--c-text,#1b1b1b); text-decoration:none; }
.giva-onepage-cart .product-name > a:hover{ text-decoration:underline; }
.giva-onepage-cart .product-price, .giva-onepage-cart .product-subtotal{ font-weight:700; }
.giva-onepage-cart .quantity input.qty{ width:64px; padding:.4rem; border:1px solid var(--c-border,#dcdcdc); border-radius:8px; text-align:center; }
.giva-onepage-cart .product-remove a{ color:#c92a2a !important; font-size:1.1rem; text-decoration:none; }

/* ==== Checkout-indeling: formulier LINKS, producten RECHTS (bewerkbaar) ==== */
@media (min-width:900px){
	/* Buitenste 2-koloms op de .woocommerce-wrapper (bevat de cart + het checkout-formulier). */
	.woocommerce:has( > .giva-onepage-cart){ display:grid; grid-template-columns:minmax(0,1fr) 440px; column-gap:2.5rem; align-items:start; }
	.woocommerce:has( > .giva-onepage-cart) > *{ grid-column:1; }
	.woocommerce:has( > .giva-onepage-cart) > .giva-onepage-cart{ grid-column:2; grid-row:1 / span 99; margin:0; }
	/* Formulier weer 1-koloms; de hele review-tabel verbergen (producten + totalen staan rechts),
	   alleen #payment blijft links staan. */
	.woocommerce-checkout form.checkout.woocommerce-checkout{ display:block; }
	.woocommerce-checkout #order_review_heading{ display:none; }
	.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table{ display:none; }
	.woocommerce-checkout #order_review{ position:static; border:0; padding:0; background:transparent; }
}
/* Cart-totalen rechts blijven verborgen (leeg op de checkout); de totalen komen uit de order-review links. */
.giva-onepage-cart .cart-collaterals{ display:none !important; }
/* Dubbele waardebon-invoer (in de cart rechts) verbergen; de checkout heeft er al één bovenaan. */
.giva-onepage-cart .woocommerce-cart-form .actions .coupon{ display:none; }
.giva-onepage-cart .wc-proceed-to-checkout{ display:none !important; }
/* Producten als kaartjes in de smalle rechterkolom. */
.giva-onepage-cart table.cart,
.giva-onepage-cart table.cart tbody,
.giva-onepage-cart table.cart tr,
.giva-onepage-cart table.cart td{ display:block !important; }
.giva-onepage-cart table.cart{ border:0 !important; border-radius:0 !important; overflow:visible !important; }
.giva-onepage-cart table.cart thead{ display:none !important; }
.giva-onepage-cart tr.cart_item{ border:1px solid var(--c-border,#eee) !important; border-radius:12px; padding:.9rem 1rem !important; margin-bottom:.8rem; position:relative; overflow:hidden; }
.giva-onepage-cart tr.cart_item td{ border:0 !important; padding:.15rem 0 !important; }
.giva-onepage-cart .product-remove{ position:absolute !important; top:.6rem; right:.7rem; }
.giva-onepage-cart .product-thumbnail{ float:left; margin:0 .8rem .3rem 0 !important; }
.giva-onepage-cart .product-thumbnail img{ width:60px !important; height:60px !important; }
.giva-onepage-cart .product-name{ font-weight:700; padding-right:1.2rem !important; }
/* Prijs / Aantal / Subtotaal: label links, waarde rechts, met scheidingslijntjes.
   Hogere specificiteit (td.product-*) dan de kaart-td-regel die op block staat. */
.giva-onepage-cart tr.cart_item td.product-price,
.giva-onepage-cart tr.cart_item td.product-quantity,
.giva-onepage-cart tr.cart_item td.product-subtotal{ display:flex !important; align-items:center; gap:.5rem; padding:.45rem 0 !important; margin:0 !important; }
.giva-onepage-cart tr.cart_item td.product-price{ border-top:1px solid var(--c-border,#eee); margin-top:.5rem !important; padding-top:.6rem !important; }
.giva-onepage-cart tr.cart_item td.product-price::before{ content:"Prijs"; color:var(--c-muted,#888); font-weight:500; font-size:.85rem; }
.giva-onepage-cart tr.cart_item td.product-quantity::before{ content:"Aantal"; color:var(--c-muted,#888); font-weight:500; font-size:.85rem; }
.giva-onepage-cart tr.cart_item td.product-subtotal{ border-top:1px solid var(--c-border,#eee); margin-top:.2rem !important; padding-top:.6rem !important; }
.giva-onepage-cart tr.cart_item td.product-subtotal::before{ content:"Subtotaal"; color:var(--c-text,#1b1b1b); font-weight:700; font-size:.92rem; }
.giva-onepage-cart td.product-price > *,
.giva-onepage-cart td.product-subtotal > *,
.giva-onepage-cart td.product-quantity > .quantity{ margin-left:auto !important; }
.giva-onepage-cart td.product-price .woocommerce-Price-amount{ font-weight:600; }
.giva-onepage-cart td.product-subtotal .woocommerce-Price-amount{ font-weight:800; font-size:1.05rem; }
.giva-onepage-cart td.product-quantity .quantity{ margin-top:0; }

/* Totalenblok rechts onder de producten (subtotaal, verzendkosten, btw, totaal). */
.giva-ct{ margin-top:1rem; padding:1rem 1.15rem; border:1px solid var(--c-border,#e6e6e6); border-radius:12px; background:#fafafa; }
.giva-ct__row{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.35rem 0; }
.giva-ct__label{ color:var(--c-muted,#666); }
.giva-ct__val{ font-weight:600; text-align:right; white-space:nowrap; }
.giva-ct__row--total{ border-top:1px solid var(--c-border,#ddd); margin-top:.35rem; padding-top:.65rem; }
.giva-ct__row--total .giva-ct__label{ color:var(--c-text,#1b1b1b); font-weight:800; text-transform:uppercase; letter-spacing:.02em; }
.giva-ct__row--total .giva-ct__val{ font-weight:800; font-size:1.1rem; }

/* ===== giva-onepage-cart: verzorgde, on-brand opmaak (sluit aan op de site-stijl) ===== */
.giva-onepage-cart > .giva-checkout__h{ font-size:1.35rem; margin-bottom:1rem; }
/* Productkaart: witte kaart met zachte schaduw, zoals .card elders op de site. */
.giva-onepage-cart table.cart{ border:0 !important; }
.giva-onepage-cart tr.cart_item{ background:#fff !important; border:1px solid var(--c-border) !important; border-radius:14px !important; box-shadow:0 6px 20px rgba(16,24,40,.06) !important; padding:1.1rem 1.15rem !important; margin-bottom:1rem !important; }
.giva-onepage-cart .product-thumbnail{ margin:0 .9rem .3rem 0 !important; }
.giva-onepage-cart .product-thumbnail img{ width:64px !important; height:64px !important; object-fit:contain; background:none; border:0; border-radius:0; padding:0; }
.giva-onepage-cart .product-name{ color:var(--c-primary) !important; font-weight:700; padding-right:1.4rem !important; line-height:1.25; }
.giva-onepage-cart .product-name > a{ color:var(--c-primary) !important; text-decoration:none; }
.giva-onepage-cart .product-name > a:hover{ color:var(--c-accent) !important; }
.giva-onepage-cart .product-remove{ top:.6rem !important; right:.65rem !important; }
.giva-onepage-cart .product-remove a{ display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; border-radius:50%; color:var(--c-muted) !important; font-size:1.15rem; line-height:1; text-decoration:none; transition:background-color .15s ease, color .15s ease, transform .1s ease; }
.giva-onepage-cart .product-remove a:hover{ background:#fdecec; color:#c0392b !important; }
.giva-onepage-cart .product-remove a:active{ transform:scale(.92); }
.giva-onepage-cart .product-remove a:focus-visible{ outline:2px solid #c0392b; outline-offset:1px; }
/* Voertuigblok als zacht paneel (#f4f3f1) zoals de andere panelen op de site. */
.giva-onepage-cart .giva-cartveh{ clear:both; display:block; width:100%; background:#f4f3f1; border:0; border-radius:12px; padding:.85rem .95rem; margin:.7rem 0 .2rem; box-sizing:border-box; }
.giva-onepage-cart .giva-cartveh__label{ font-size:.68rem; letter-spacing:.07em; }
.giva-onepage-cart .giva-cartveh__status--ok,
.giva-onepage-cart .giva-cartveh__status--ok i{ color:var(--c-accent); }
.giva-onepage-cart .giva-cartveh__btn{ border-radius:999px; border:1px solid var(--c-border); color:var(--c-primary); background:#fff; }
.giva-onepage-cart .giva-cartveh__btn:hover{ background:var(--c-primary); color:#fff; border-color:var(--c-primary); }
.giva-onepage-cart .giva-cartveh__btn--primary,
.giva-onepage-cart .giva-cartveh__manual-save{ background:var(--c-accent); color:#fff; border-color:var(--c-accent); }
.giva-onepage-cart .giva-cartveh__btn--primary:hover,
.giva-onepage-cart .giva-cartveh__manual-save:hover{ background:var(--c-accent-dark); color:#fff; }
.giva-onepage-cart .giva-cartveh__input{ border:1px solid var(--c-border); border-radius:8px; }
/* Prijs / Aantal / Subtotaal in de huisstijl. */
.giva-onepage-cart tr.cart_item td.product-price,
.giva-onepage-cart tr.cart_item td.product-subtotal{ border-top:1px solid var(--c-border) !important; }
.giva-onepage-cart tr.cart_item td.product-price::before,
.giva-onepage-cart tr.cart_item td.product-quantity::before{ color:var(--c-muted) !important; }
.giva-onepage-cart td.product-price .woocommerce-Price-amount,
.giva-onepage-cart td.product-subtotal .woocommerce-Price-amount,
.giva-onepage-cart tr.cart_item td.product-subtotal::before{ color:var(--c-primary) !important; }
.giva-onepage-cart .quantity input.qty{ border:1px solid var(--c-border); border-radius:8px; }
/* Aantal als nette dropdown (0–10) met eigen caret in de huisstijl. */
.giva-onepage-cart .quantity select.qty,
.giva-onepage-cart .giva-qty__select{ width:auto; min-width:66px; padding:.45rem 1.9rem .45rem .7rem; border:1px solid var(--c-border); border-radius:8px; background-color:#fff; color:var(--c-primary); font-weight:600; font-size:.95rem; cursor:pointer; appearance:none; -webkit-appearance:none; -moz-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2355607a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .55rem center; background-size:.85rem; }
.giva-onepage-cart .giva-qty__select:hover{ border-color:var(--c-primary); }
.giva-onepage-cart .giva-qty__select:focus-visible{ outline:none; border-color:var(--c-primary); box-shadow:0 0 0 3px rgba(79,122,93,.2); }
/* Totalenblok: witte kaart met zachte schaduw. */
.giva-ct{ background:#fff; border:1px solid var(--c-border); border-radius:14px; box-shadow:0 6px 20px rgba(16,24,40,.06); padding:1.15rem 1.25rem; }
.giva-ct__label{ color:var(--c-muted); }
.giva-ct__val,
.giva-ct__row--total .giva-ct__label{ color:var(--c-primary); }
.giva-ct__row--total{ border-top-color:var(--c-border); }
/* Geen '(excl. btw)'/'(incl. btw)'-suffix bij subtotalen; BTW staat alleen als eigen regel bij de totalen. */
.woocommerce-checkout .tax_label{ display:none !important; }
/* WooCommerce privacybeleid-tekst niet tonen op de checkout. */
.woocommerce-checkout .woocommerce-privacy-policy-text{ display:none !important; }
/* 'Update winkelwagen'-knop weg: de winkelwagen werkt automatisch bij (JS). */
.giva-onepage-cart button[name="update_cart"]{ display:none !important; }
.giva-onepage-cart .actions{ padding:0 !important; border:0 !important; }

/* ---- Betaalmethoden als dropdown/accordeon (links in het formulier) ---- */
.giva-paydrop{ margin:.5rem 0 1rem; }
.giva-paydrop__head{ width:100%; text-align:left; display:flex; justify-content:space-between; align-items:center; gap:.5rem; padding:.85rem 1rem; border:1px solid var(--c-border,#dcdcdc); border-radius:8px; background:#fff; cursor:pointer; font-weight:600; font-size:.95rem; }
.giva-paydrop__head i{ transition:transform .15s; }
.giva-paydrop.is-open .giva-paydrop__head i{ transform:rotate(180deg); }
.giva-paydrop ul.wc_payment_methods{ display:none; list-style:none; margin:.4rem 0 0; padding:.4rem .6rem; border:1px solid var(--c-border,#eee); border-radius:8px; }
.giva-paydrop.is-open ul.wc_payment_methods{ display:block; }

/* ---- Waardebon-UI verbergen (functie uitgeschakeld) ---- */
.woocommerce-form-coupon-toggle,
form.checkout_coupon,
.giva-onepage-cart .woocommerce-cart-form .actions .coupon{ display:none !important; }

/* ---- Account/inloggen-blok onder de titel (Figma-stijl) ---- */
.woocommerce-checkout .woocommerce-form-login-toggle{ margin:0 0 1rem; }
.woocommerce-checkout .woocommerce-form-login{ border:1px solid var(--c-border,#e6e6e6); border-radius:12px; padding:1.2rem 1.4rem; margin:0 0 1.5rem; background:#fafafa; }
.woocommerce-checkout form.register{ border:1px solid var(--c-border,#e6e6e6); border-radius:12px; padding:1.2rem 1.4rem; margin:.4rem 0 1.5rem; background:#fafafa; }

/* ---- Btw-nummer ---- */
/* Standaard verborgen; JS toont het bij een ander land dan Nederland. Nummer altijd in hoofdletters. */
.woocommerce-checkout #billing_vat_field{ display:none; }
.woocommerce-checkout #billing_vat{ text-transform:uppercase; }
.giva-vat-status{ margin:.4rem 0 0; font-size:.85rem; font-weight:600; display:flex; align-items:center; gap:.35rem; }
.giva-vat-status:empty, .giva-vat-status.is-none{ display:none; }
.giva-vat-status.is-ok{ color:#2b8a3e; }
.giva-vat-status.is-err{ color:#c0392b; }
.giva-vat-status.is-warn{ color:#c9791f; }
.giva-vat-status.is-info, .giva-vat-status.is-checking{ color:var(--c-muted,#666); font-weight:500; }

/* ---- Uw gegevens over de volle breedte; afwijkend adres + notities eronder ---- */
.woocommerce-checkout #customer_details.col2-set{ display:block; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{ float:none; width:100%; max-width:none; }
.woocommerce-checkout #customer_details .col-2{ margin-top:1.5rem; }
.woocommerce-cart table.cart img{ width:64px; border-radius:8px; background:#f4f4f4; }
.woocommerce-cart table.shop_table{ border:1px solid var(--c-border,#eee); border-radius:12px; overflow:hidden; }

/* ============================================================
   Accessoires: overzichtspagina + checkout-upsell
   ============================================================ */
.giva-acc{ max-width:1180px; margin:0 auto; padding:1rem 0 2.5rem; }
.giva-acc__intro{ text-align:center; max-width:720px; margin:0 auto 2rem; }
.giva-acc__title{ font-family:var(--font-head,inherit); font-size:clamp(1.7rem,3.4vw,2.4rem); line-height:1.15; margin:0 0 .6rem; }
.giva-acc__title .giva-title-accent{ color:var(--c-accent,#4f7a5d); }
.giva-acc__lead{ color:var(--c-muted,#55607a); font-size:1.02rem; margin:0; }
.giva-acc__empty{ text-align:center; color:var(--c-muted,#55607a); padding:2rem 0; }

.giva-acc__grid{
	list-style:none; margin:0; padding:0;
	display:grid; gap:1.1rem;
	grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
}
/* Grote schermen: 4 op een rij, de wrapper netjes gevuld over de volle breedte. */
@media (min-width:1080px){
	.giva-acc__grid{ grid-template-columns:repeat(4,1fr); }
}

/* Kaart (gedeeld door pagina + upsell) */
.giva-acc-card{
	display:flex; flex-direction:column;
	background:#fff; border:1px solid var(--c-border,#e3e8ef); border-radius:var(--radius,12px);
	box-shadow:var(--shadow,0 1px 3px rgba(0,0,0,.06)); overflow:hidden;
	transition:box-shadow .18s ease, transform .18s ease;
}
.giva-acc-card:hover{ box-shadow:0 10px 26px rgba(0,0,0,.10); transform:translateY(-2px); }
.giva-acc-card__media{
	display:flex; align-items:center; justify-content:center;
	aspect-ratio:1/1; background:none; padding:1rem;
}
.giva-acc-card__img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.giva-acc-card__icon{ font-size:3.2rem; color:var(--c-accent,#4f7a5d); opacity:.85; }
.giva-acc-card__medialink{ display:flex; width:100%; height:100%; align-items:center; justify-content:center; text-decoration:none; }
.giva-acc-card__title a{ color:inherit; text-decoration:none; }
.giva-acc-card__title a:hover{ color:var(--c-accent); }
/* Accessoire-detailpagina */
.giva-accdetail{ padding-block:clamp(1.25rem,3vw,2rem); }
.giva-accdetail__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(1.5rem,4vw,3rem); align-items:start; margin-top:1rem; }
.giva-accdetail__media{ aspect-ratio:1/1; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; overflow:hidden; padding:1.5rem; }
.giva-accdetail__img{ max-width:100%; max-height:100%; object-fit:contain; }
.giva-accdetail__icon{ font-size:5rem; color:var(--c-accent); opacity:.85; }
.giva-accdetail__title{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); text-transform:uppercase; font-weight:700; line-height:.95; font-size:clamp(1.8rem,3.5vw,2.6rem); margin:0 0 .5rem; color:var(--c-primary); }
.giva-accdetail__contents{ color:var(--c-muted); margin:0 0 1rem; }
.giva-accdetail__price{ font-size:1.6rem; font-weight:700; color:var(--c-primary); margin:0 0 1rem; }
.giva-accdetail__vat{ font-size:.85rem; font-weight:500; color:var(--c-muted); }
.giva-accdetail__desc{ line-height:1.7; color:var(--c-text); margin-bottom:1.25rem; }
.giva-accdetail__add{ margin-bottom:.75rem; }
.giva-accdetail__ship{ display:flex; align-items:center; gap:.5rem; color:var(--c-muted); font-size:.9rem; }
.giva-accdetail__content{ max-width:70ch; margin-top:clamp(1.5rem,4vw,2.5rem); line-height:1.7; color:var(--c-text); }
.giva-accdetail__content p{ margin:0 0 1rem; }
.giva-accdetail__usps{ list-style:none; margin:1rem 0; padding:0; display:grid; gap:.5rem; }
.giva-accdetail__usps li{ display:flex; align-items:flex-start; gap:.5rem; }
.giva-accdetail__usps i{ color:var(--c-accent); margin-top:.15rem; flex:0 0 auto; }
.giva-accdetail__faq{ max-width:70ch; margin-top:clamp(1.75rem,4vw,2.75rem); }
.giva-accdetail__faq h2{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); text-transform:uppercase; font-size:clamp(1.4rem,2.6vw,1.9rem); margin:0 0 1rem; color:var(--c-primary); }
.giva-accdetail__more{ margin-top:clamp(2rem,5vw,3.5rem); }
.giva-accdetail__more h2{ font-family:"acumin-pro-extra-condensed","acumin-pro",var(--font-head); text-transform:uppercase; font-size:clamp(1.5rem,2.8vw,2rem); margin:0 0 1rem; color:var(--c-primary); }
@media(max-width:720px){ .giva-accdetail__grid{ grid-template-columns:1fr; } }
.giva-acc-card__body{ display:flex; flex-direction:column; gap:.5rem; padding:1rem 1.1rem 1.15rem; flex:1; }
.giva-acc-card__title{ font-size:1rem; font-weight:600; line-height:1.3; margin:0; color:var(--c-text,#111827); }
.giva-acc-card__contents{ margin:0; font-weight:400; font-size:.85rem; line-height:1.35; color:var(--c-muted,#55607a); }
.giva-acc-card--upsell .giva-acc-card__contents{ font-size:.78rem; }
/* Prijs + knop onderaan pinnen zodat ze over alle kaarten netjes uitlijnen (ongeacht titel/inhoud-hoogte). */
.giva-acc-card__price{ margin:auto 0 0; font-size:1.18rem; font-weight:700; color:var(--c-primary,#2f2f2e); }
.giva-acc-card__vat{ font-size:.72rem; font-weight:500; color:var(--c-muted,#55607a); }
.giva-acc-card__add{ margin-top:.25rem; display:inline-flex; align-items:center; justify-content:center; gap:.45rem; }
.giva-acc-card__add i{ font-size:1.05em; }

/* Checkout-upsell (compacter, binnen de one-page cart) */
.giva-acc-upsell{
	margin:1.4rem 0 0; padding:1.25rem; background:#f4f3f1;
	border:1px solid var(--c-border,#e3e8ef); border-radius:var(--radius,12px);
}
.giva-acc-upsell__title{ display:flex; align-items:center; gap:.45rem; margin:0 0 .35rem; font-size:1.05rem; }
.giva-acc-upsell__title i{ color:var(--c-accent,#4f7a5d); }
.giva-acc-upsell__lead{ margin:0 0 1rem; font-size:.9rem; color:var(--c-muted,#55607a); }
.giva-acc-upsell__grid{
	list-style:none; margin:0; padding:0;
	display:grid; gap:.8rem; grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
}
.giva-acc-card--upsell{ box-shadow:none; }
.giva-acc-card--upsell .giva-acc-card__media{ aspect-ratio:1/1; padding:.7rem; }
.giva-acc-card--upsell .giva-acc-card__icon{ font-size:2.4rem; }
.giva-acc-card--upsell .giva-acc-card__body{ padding:.7rem .8rem .85rem; gap:.35rem; }
.giva-acc-card--upsell .giva-acc-card__title{ font-size:.86rem; }
.giva-acc-card--upsell .giva-acc-card__price{ font-size:1rem; }
.giva-acc-card--upsell .giva-acc-card__add{ padding:.5rem .7rem; font-size:.82rem; }

/* Accessoire-FAQ onder de grid */
.giva-acc-faq{ margin-top:2.5rem; }
/* Consoliderende link onder "Standaard meegeleverd" (wiel-/productpagina's) */
.giva-incl__more{ margin:1.1rem 0 0; text-align:center; }
.giva-incl__more a{ display:inline-flex; align-items:center; gap:.4rem; font-weight:600; color:var(--c-accent,#4f7a5d); text-decoration:none; }
.giva-incl__more a:hover{ text-decoration:underline; }
.woocommerce-cart table.shop_table td{ vertical-align:middle; }