/* =====================================================================
   AUTOCROSS WARFFUM — Design system
   Hoekig / industrieel / motorsport. Geen rondingen (border-radius: 0).
   Alle herbruikbare klassen beginnen met .acw-
   ===================================================================== */

:root{
  --acw-ink:        #111317;   /* near-black base */
  --acw-ink-2:      #1A1D22;   /* panels */
  --acw-ink-3:      #23262C;   /* raised panels */
  --acw-line:       #2E323A;   /* borders/hairlines */
  --acw-yellow:     #FFCB05;   /* rally yellow — primair accent */
  --acw-red:        #E4002B;   /* race red — urgentie/CTA */
  --acw-white:      #F4F4F2;   /* off-white tekst */
  --acw-grey:       #9aa0a8;   /* muted tekst */
  --acw-grey-2:     #6c727b;

  --acw-font-display: "Oswald", "Arial Narrow", system-ui, sans-serif;
  --acw-font-body:    "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --acw-maxw: 1200px;
  --acw-gap: 24px;
}

/* ---- Globale reset: hoekig maken ---- */
.acw, .acw *{ border-radius: 0 !important; }

body.acw{
  background: var(--acw-ink);
  color: var(--acw-white);
  font-family: var(--acw-font-body);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* ---- Typografie ---- */
.acw h1,.acw h2,.acw h3,.acw h4,.acw h5{
  font-family: var(--acw-font-display);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: .01em;
  text-transform: uppercase;
  margin: 0 0 .4em;
  color: var(--acw-white);
}
.acw h1{ font-size: clamp(2.6rem, 6vw, 5.2rem); }
.acw h2{ font-size: clamp(2rem, 4vw, 3.2rem); }
.acw h3{ font-size: clamp(1.4rem, 2.4vw, 2rem); }
.acw p{ margin: 0 0 1.1em; }
.acw a{ color: var(--acw-yellow); text-decoration: none; }
.acw a:hover{ color: #fff; }
.acw strong{ color:#fff; }

/* ---- Layout helpers ---- */
.acw-container{ max-width: var(--acw-maxw); margin-inline: auto; padding-inline: 24px; }
.acw-section{ padding: clamp(56px, 9vw, 120px) 0; position: relative; }
.acw-section--tight{ padding: 48px 0; }
.acw-section--light{ background: var(--acw-white); color: var(--acw-ink); }
.acw-section--light h1,.acw-section--light h2,.acw-section--light h3{ color: var(--acw-ink); }
.acw-section--panel{ background: var(--acw-ink-2); border-block: 1px solid var(--acw-line); }

/* ---- Kicker (klein label boven kop) ---- */
.acw-kicker{
  display:inline-flex; align-items:center; gap:10px;
  font-family: var(--acw-font-display);
  text-transform: uppercase; letter-spacing:.22em; font-weight:600;
  font-size:.82rem; color: var(--acw-yellow);
  margin-bottom: 18px;
}
.acw-kicker::before{ content:""; width:34px; height:3px; background: var(--acw-yellow); display:inline-block; }
.acw-section--light .acw-kicker{ color: #b8870a; }
.acw-section--light .acw-kicker::before{ background: var(--acw-red); }

/* ---- Hazard-streep accent ---- */
.acw-stripes{
  height: 14px; width: 100%;
  background-image: repeating-linear-gradient(
    -45deg, var(--acw-yellow) 0 22px, var(--acw-ink) 22px 44px);
}
.acw-stripes--thin{ height: 7px; }

/* ---- Buttons ---- */
.acw-btn,
.acw .woocommerce a.button,
.acw .woocommerce button.button,
.acw .woocommerce input.button,
.acw .woocommerce #respond input#submit,
.acw .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.acw .woocommerce #place_order{
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  font-family: var(--acw-font-display);
  font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  font-size: 1rem; line-height:1;
  padding: 18px 34px;
  background: var(--acw-yellow); color: var(--acw-ink) !important;
  border: 2px solid var(--acw-yellow);
  cursor:pointer; transition: all .15s ease; text-decoration:none;
  clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%); /* afgeschuinde hoek */
}
.acw-btn:hover,
.acw .woocommerce a.button:hover,
.acw .woocommerce button.button:hover,
.acw .woocommerce #place_order:hover{
  background: transparent; color: var(--acw-yellow) !important;
}
.acw-btn--red{ background: var(--acw-red); border-color: var(--acw-red); color:#fff !important; }
.acw-btn--red:hover{ background: transparent; color: var(--acw-red) !important; }
.acw-btn--ghost{ background: transparent; color: var(--acw-white) !important; border-color: var(--acw-white); }
.acw-btn--ghost:hover{ background: var(--acw-white); color: var(--acw-ink) !important; }
.acw-btn--lg{ padding: 22px 44px; font-size: 1.15rem; }
.acw-btn--block{ width:100%; }

/* ---- Hero ---- */
.acw-hero{
  position: relative; min-height: 86vh;
  display:flex; align-items:flex-end;
  background: var(--acw-ink); overflow:hidden;
  border-bottom: 4px solid var(--acw-yellow);
}
.acw-hero__bg{ position:absolute; inset:0; background-size:cover; background-position:center; z-index:0; }
.acw-hero__bg::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(17,19,23,.45) 0%, rgba(17,19,23,.78) 60%, rgba(17,19,23,.96) 100%);
}
.acw-hero__inner{ position:relative; z-index:2; padding-block: 70px 64px; width:100%; }
.acw-hero h1{ font-size: clamp(3rem, 8.5vw, 7rem); margin-bottom:.15em; }
.acw-hero__lead{ font-size: clamp(1.05rem, 2vw, 1.35rem); color: var(--acw-white); max-width: 620px; }
.acw-hero__meta{
  display:flex; flex-wrap:wrap; gap: 10px 28px; margin: 26px 0 34px;
  font-family: var(--acw-font-display); text-transform:uppercase; letter-spacing:.08em;
  font-weight:600; font-size:1.05rem;
}
.acw-hero__meta span{ display:inline-flex; align-items:center; gap:10px; }
.acw-hero__meta span::before{ content:""; width:10px; height:10px; background: var(--acw-yellow); }

/* ---- Section heading ---- */
.acw-head{ max-width: 760px; margin-bottom: 48px; }
.acw-head--center{ margin-inline:auto; text-align:center; }
.acw-head__sub{ color: var(--acw-grey); font-size: 1.1rem; }
.acw-section--light .acw-head__sub{ color: #4a4f57; }

/* ---- Stats ---- */
.acw-stats{ display:grid; grid-template-columns: repeat(auto-fit, minmax(160px,1fr)); gap: 2px; background: var(--acw-line); border:1px solid var(--acw-line); }
.acw-stat{ background: var(--acw-ink-2); padding: 34px 24px; text-align:center; }
.acw-stat__num{ font-family: var(--acw-font-display); font-weight:700; font-size: clamp(2.6rem,5vw,4rem); color: var(--acw-yellow); line-height:1; }
.acw-stat__label{ text-transform:uppercase; letter-spacing:.14em; font-size:.8rem; color: var(--acw-grey); margin-top:10px; font-weight:600; }

/* ---- Cards / info ---- */
.acw-grid{ display:grid; gap: var(--acw-gap); }
.acw-grid--3{ grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); }
.acw-grid--2{ grid-template-columns: repeat(auto-fit, minmax(320px,1fr)); }
.acw-card{
  background: var(--acw-ink-2); border:1px solid var(--acw-line);
  border-top: 4px solid var(--acw-yellow);
  padding: 32px 28px;
}
.acw-card h3{ font-size:1.4rem; }
.acw-card__icon{ font-family:var(--acw-font-display); font-weight:700; color:var(--acw-red); font-size:1.4rem; letter-spacing:.1em; margin-bottom:14px; }
.acw-card--light{ background:#fff; border-color:#e2e2de; color:var(--acw-ink); }
.acw-card--light h3{ color:var(--acw-ink); }

/* ---- Info list (datum/locatie/etc.) ---- */
.acw-facts{ border-top:1px solid var(--acw-line); }
.acw-facts__row{ display:flex; justify-content:space-between; gap:24px; padding:18px 0; border-bottom:1px solid var(--acw-line); }
.acw-facts__key{ font-family:var(--acw-font-display); text-transform:uppercase; letter-spacing:.1em; color:var(--acw-grey); font-weight:600; }
.acw-facts__val{ font-weight:600; color:#fff; text-align:right; }

/* ---- Price tag ---- */
.acw-price{ font-family:var(--acw-font-display); font-weight:700; color:var(--acw-yellow); font-size: clamp(2.4rem,5vw,3.6rem); line-height:1; }
.acw-price small{ font-size:1rem; color:var(--acw-grey); display:block; text-transform:uppercase; letter-spacing:.12em; margin-top:8px; }

/* =====================================================================
   WooCommerce — strak in de huisstijl
   ===================================================================== */
.acw .woocommerce-page, .acw.woocommerce-page{ color: var(--acw-white); }
.acw .woocommerce form .form-row input.input-text,
.acw .woocommerce form .form-row textarea,
.acw .woocommerce .select2-container--default .select2-selection--single,
.acw .woocommerce-checkout input[type="text"],
.acw .woocommerce-checkout input[type="email"],
.acw .woocommerce-checkout input[type="tel"],
.acw .woocommerce-checkout select,
.acw .woocommerce-checkout textarea{
  background: var(--acw-ink-2); border:1px solid var(--acw-line); color:#fff;
  padding: 14px 16px; font-family: var(--acw-font-body);
}
.acw .woocommerce form .form-row label,
.acw .woocommerce-checkout label{ font-weight:600; color: var(--acw-white); }
.acw .woocommerce .woocommerce-info,
.acw .woocommerce .woocommerce-message{
  border-top: 3px solid var(--acw-yellow); background: var(--acw-ink-2); color:#fff;
}
.acw .woocommerce .cart_totals h2,
.acw .woocommerce-checkout #order_review_heading{ color:#fff; }
.acw .woocommerce table.shop_table{ border:1px solid var(--acw-line); }
.acw .woocommerce table.shop_table th,
.acw .woocommerce table.shop_table td{ border-color: var(--acw-line); color: var(--acw-white); }

/* Productprijs/algemeen */
.acw .woocommerce span.price, .acw .woocommerce p.price{ color: var(--acw-yellow); font-weight:700; }

/* =====================================================================
   Formulier-dropdowns & datumkiezer — donker i.p.v. browser-wit
   Probleem: de native <select>-uitklaplijst en de datumkiezer waren wit
   met zwarte tekst → verblindend op het donkere ontwerp. color-scheme:dark
   laat de browser die popups in donkere modus tekenen; de option- en
   select2-regels zijn de fallback. Dekt de Klasse-dropdown + land-dropdown
   in de checkout én Fluent Forms.
   ===================================================================== */
.acw select,
.acw .woocommerce-checkout select,
.acw input[type="date"],
.acw .ff-el-form-control,
.acw .fluentform select,
.acw .fluentform input[type="date"]{
  color-scheme: dark;
}
.acw select{
  background-color: var(--acw-ink-2);
  border: 1px solid var(--acw-line);
  color: var(--acw-white);
}
.acw select:focus,
.acw input[type="date"]:focus{ border-color: var(--acw-yellow); outline: none; }

/* Uitklap-opties (fallback voor browsers die <option> los kleuren) */
.acw select option,
.acw .fluentform select option{
  background-color: var(--acw-ink-2);
  color: var(--acw-white);
}
.acw select option:checked{
  background-color: var(--acw-ink-3);
  color: var(--acw-yellow);
}

/* Select2 (WooCommerce land-dropdown) — de popup hangt buiten .acw aan <body>,
   dus deze selectors bewust NIET onder .acw scopen. */
.select2-dropdown{
  background: var(--acw-ink-2);
  border: 1px solid var(--acw-line);
  color: var(--acw-white);
}
.select2-container--default .select2-results__option{
  background: var(--acw-ink-2);
  color: var(--acw-white);
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected="true"]{
  background: var(--acw-ink-3);
  color: var(--acw-yellow);
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color: var(--acw-white);
}
.select2-search--dropdown .select2-search__field{
  background: var(--acw-ink);
  color: var(--acw-white);
  border: 1px solid var(--acw-line);
}

/* =====================================================================
   Header / Footer (Elementor Header & Footer Builder haakjes)
   ===================================================================== */
.acw-topbar{ background: var(--acw-red); color:#fff; font-family:var(--acw-font-display);
  text-transform:uppercase; letter-spacing:.1em; font-size:.82rem; font-weight:600;
  text-align:center; padding:8px 16px; }
.acw-footer{ background:#0c0d10; border-top:1px solid var(--acw-line); color:var(--acw-grey); }
.acw-footer a{ color: var(--acw-grey); }
.acw-footer a:hover{ color: var(--acw-yellow); }
.acw-footer__brand{ font-family:var(--acw-font-display); text-transform:uppercase; color:#fff; font-weight:700; font-size:1.6rem; letter-spacing:.04em; }

/* ---- Nav (basis, voor thema-header fallback) ---- */
.acw .site-header, .acw header.site-header{ background: var(--acw-ink); border-bottom:1px solid var(--acw-line); }

/* =====================================================================
   Utilities
   ===================================================================== */
.acw-tac{ text-align:center; } .acw-tal{ text-align:left; }
.acw-mt0{ margin-top:0; } .acw-mb0{ margin-bottom:0; }
.acw-accent{ color: var(--acw-yellow); }
.acw-accent-red{ color: var(--acw-red); }
.acw-muted{ color: var(--acw-grey); }
.acw-upper{ text-transform:uppercase; letter-spacing:.08em; }
.acw-divider{ height:1px; background: var(--acw-line); border:0; margin: 0; }
.acw-cta-row{ display:flex; flex-wrap:wrap; gap:16px; }

/* =====================================================================
   Site header / navigatie (HFE)
   ===================================================================== */
.acw-site-header{ position:sticky; top:0; z-index:50; background:var(--acw-ink); border-bottom:1px solid var(--acw-line); }
.acw-header__inner{ display:flex; align-items:center; gap:24px; min-height:74px; }
.acw-brand{ font-family:var(--acw-font-display); font-weight:700; font-size:1.55rem; letter-spacing:.03em; color:#fff !important; text-transform:uppercase; line-height:.92; display:flex; flex-direction:column; }
.acw-brand span{ color:var(--acw-yellow); }
.acw-nav{ margin-left:auto; }
.acw-nav ul{ list-style:none; display:flex; gap:4px; margin:0; padding:0; }
.acw-nav li{ margin:0; }
.acw-nav a{ display:block; padding:10px 14px; color:var(--acw-white); font-family:var(--acw-font-display); text-transform:uppercase; letter-spacing:.06em; font-weight:600; font-size:.95rem; border-bottom:3px solid transparent; }
.acw-nav a:hover, .acw-nav .current-menu-item>a, .acw-nav .current_page_item>a{ color:var(--acw-yellow); border-bottom-color:var(--acw-yellow); }
.acw-header__cta{ padding:12px 22px !important; font-size:.9rem !important; }
.acw-burger{ display:none; background:none; border:2px solid var(--acw-line); color:#fff; font-size:1.3rem; line-height:1; padding:8px 12px; cursor:pointer; margin-left:auto; }

/* Footer */
.acw-footer__grid{ display:grid; grid-template-columns:2fr 1fr 1.4fr; gap:40px; padding:60px 24px; }
.acw-footer h4{ font-family:var(--acw-font-display); text-transform:uppercase; letter-spacing:.1em; font-size:1rem; color:#fff; margin:0 0 14px; }
.acw-footer ul{ list-style:none; padding:0; margin:0; }
.acw-footer li{ margin:0; } .acw-footer li a{ display:block; padding:5px 0; }
.acw-footer__brand{ margin-bottom:14px; }
.acw-footer__bar{ border-top:1px solid var(--acw-line); }
.acw-footer__bar .acw-container{ padding:18px 24px; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; color:var(--acw-grey-2); }
.acw-footer__barflex{ display:flex; justify-content:space-between; align-items:center; gap:8px 20px; flex-wrap:wrap; }
.acw-footer__credit a{ color:var(--acw-grey); }
.acw-footer__credit a:hover{ color:var(--acw-yellow); }

/* ---- Responsive ---- */
@media (max-width: 900px){
  .acw-burger{ display:block; }
  .acw-nav{ display:none; flex-basis:100%; margin:0; order:4; }
  .acw-nav.open{ display:block; }
  .acw-nav ul{ flex-direction:column; gap:0; }
  .acw-nav a{ border-bottom:1px solid var(--acw-line); }
  .acw-header__cta{ display:none !important; }
  .acw-header__inner{ flex-wrap:wrap; }
}
@media (max-width: 768px){
  body.acw{ font-size:16px; }
  .acw-hero{ min-height: 78vh; }
  .acw-facts__row{ flex-direction:column; gap:4px; }
  .acw-facts__val{ text-align:left; }
  .acw-footer__grid{ grid-template-columns:1fr; gap:28px; padding:40px 24px; }
}

/* =====================================================================
   Checkout / winkelwagen — gecentreerd, niet edge-to-edge
   ===================================================================== */
body.woocommerce-checkout .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-account .woocommerce{ max-width:1140px; margin:0 auto; padding:56px 24px 84px; }
body.woocommerce-cart .woocommerce,
body.woocommerce-account .woocommerce{ max-width:1000px; }

/* couponrommel weg bij een inschrijving */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon{ display:none !important; }

/* 2-koloms: gegevens links, overzicht rechts */
@media (min-width:861px){
  form.checkout.woocommerce-checkout{ overflow:hidden; }
  form.checkout #customer_details{ float:left; width:56%; }
  form.checkout #order_review_heading,
  form.checkout #order_review{ float:right; width:40%; clear:right; }
  form.checkout #order_review_heading{ margin-top:0; }
}
/* billing + rijder-velden onder elkaar (niet 2 smalle subkolommen) */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{ width:100%; float:none; padding:0; }
.woocommerce-checkout .col2-set .col-2{ margin-top:6px; }

/* overzichtspaneel */
.woocommerce-checkout #order_review{ background:var(--acw-ink-2); border:1px solid var(--acw-line); padding:24px; }
.woocommerce-checkout #order_review .shop_table{ margin-bottom:14px; }
.woocommerce-checkout #payment{ background:transparent; }
.woocommerce-checkout h3, .woocommerce-cart h1, .woocommerce-checkout h1{ font-size:1.5rem; }
.woocommerce .woocommerce-billing-fields h3, .woocommerce-additional-fields h3{ font-size:1.2rem; margin-top:8px; }

/* Winkelmandje */
.woocommerce-cart table.cart .product-quantity .quantity input.qty{ width:88px; padding:10px; text-align:center; }
.woocommerce-cart table.cart img{ width:64px; height:auto; }
.woocommerce-cart .cart-collaterals{ width:44%; float:right; }
.woocommerce-cart .cart-collaterals .cart_totals{ background:var(--acw-ink-2); border:1px solid var(--acw-line); padding:24px; }
.woocommerce-cart .wc-proceed-to-checkout{ padding-top:18px; }
.woocommerce-cart table.cart td.actions .button{ margin-left:8px; }
@media (max-width:768px){ .woocommerce-cart .cart-collaterals{ width:100%; float:none; } }

/* cart: coupon verbergen (consistent met checkout) + nette thumbnail */
.woocommerce-cart td.actions .coupon{ display:none !important; }
.woocommerce-cart .woocommerce-form-coupon-toggle{ display:none !important; }
.woocommerce-cart table.cart td.product-thumbnail img{ width:72px; height:72px; object-fit:cover; border:1px solid var(--acw-line); }

/* Aantal-veld (cart/product) in de huisstijl i.p.v. fel wit */
.woocommerce .quantity input.qty{
  background: var(--acw-ink-2) !important; color:#fff !important;
  border:1px solid var(--acw-line) !important;
  width:84px; padding:12px 8px; font-weight:600; text-align:center;
  -moz-appearance:textfield;
}
.woocommerce .quantity input.qty:focus{ border-color: var(--acw-yellow) !important; outline:none; }
.woocommerce table.cart td.actions, .woocommerce-cart table.cart td.actions{ background: var(--acw-ink-2); }
/* cart-tabelkoppen iets rustiger */
.woocommerce-cart table.cart thead th{ background: var(--acw-ink-3); border-bottom:2px solid var(--acw-yellow); }

/* FIX winkelmandje: totalen-paneel vult de hele rechterkolom.
   (WooCommerce zet .cart_totals standaard op 48% -> te smal -> inhoud viel buiten het kader) */
.woocommerce-cart .cart-collaterals{ width:46% !important; float:right; }
.woocommerce-cart .cart-collaterals .cart_totals{ width:100% !important; float:none !important; }
.woocommerce-cart .cart-collaterals .cross-sells{ width:100%; float:none; }
.woocommerce-cart .cart_totals h2{ font-size:1.7rem; line-height:1.08; word-break:break-word; margin-bottom:14px; }
.woocommerce-cart .cart_totals table{ width:100%; table-layout:fixed; }
.woocommerce-cart .cart_totals table th{ width:48%; }

/* Totalen-blok PAGINABREED (1 rij, geen lege linkerkolom) - overschrijft de float */
.woocommerce-cart .cart-collaterals{ width:100% !important; float:none !important; }
.woocommerce-cart .cart-collaterals .cart_totals{ width:100% !important; float:none !important; }
.woocommerce-cart .cart_totals table{ table-layout:auto !important; }
.woocommerce-cart .cart_totals table th{ width:auto !important; text-align:left; }
.woocommerce-cart .cart_totals table td{ text-align:right; }
.woocommerce-cart .cart_totals h2{ font-size:1.9rem; }

/* =====================================================================
   Juridische pagina's (Algemene Voorwaarden / Privacybeleid)
   Meescrollende inhoudsopgave (sticky + scrollspy) + leesbare prose
   ===================================================================== */
.acw-legal{ padding-top: clamp(40px,6vw,72px); }
.acw-legal__wrap{
  display:grid; grid-template-columns: 264px minmax(0,1fr);
  gap: clamp(28px,5vw,64px); align-items:start;
}

/* Inhoudsopgave — scrollt mee: de hele kolom is sticky en blijft (dankzij
   align-self:start binnen de hoge grid-rij) de volledige pagina lang in beeld. */
.acw-toc{ position:sticky; top:96px; align-self:start; }
.acw-toc__inner{ border-left:3px solid var(--acw-yellow); padding-left:20px; }
.acw-toc__title{
  font-family:var(--acw-font-display); text-transform:uppercase; letter-spacing:.14em;
  font-size:.82rem; color:var(--acw-grey); font-weight:600; margin:0 0 14px;
}
.acw-toc__nav{ display:flex; flex-direction:column; max-height:calc(100vh - 140px); overflow:auto; }
.acw-toc__nav a{
  display:block; padding:7px 0 7px 20px; margin-left:-20px;
  color:var(--acw-grey); font-size:.92rem; line-height:1.35;
  border-left:2px solid transparent; transition:color .15s ease, border-color .15s ease;
}
.acw-toc__nav a:hover{ color:var(--acw-white); }
.acw-toc__nav a.is-active{ color:var(--acw-yellow); border-left-color:var(--acw-yellow); font-weight:600; }

/* Prose-kolom */
.acw-prose{ max-width:840px; }
.acw-legal__meta{ color:var(--acw-grey); font-size:.9rem; margin:0 0 30px; padding-bottom:18px; border-bottom:1px solid var(--acw-line); }
.acw-prose > section{ scroll-margin-top:96px; margin-bottom:34px; padding-bottom:30px; border-bottom:1px solid var(--acw-line); }
.acw-prose > section:last-child{ border-bottom:0; }
.acw-prose h2{ font-size:clamp(1.5rem,2.6vw,2.05rem); margin:0 0 .55em; }
.acw-prose__num{ color:var(--acw-yellow); margin-right:.45em; }
.acw-prose h3{ font-size:1.18rem; margin:1.5em 0 .5em; }
.acw-prose p, .acw-prose li{ color:#d7dade; }
.acw-prose strong{ color:#fff; }
.acw-prose ul, .acw-prose ol{ margin:0 0 1.1em; padding-left:1.25em; }
.acw-prose li{ margin-bottom:.5em; }
.acw-prose a{ color:var(--acw-yellow); text-decoration:underline; }
.acw-prose a:hover{ color:#fff; }

/* Nadruk-kader voor de kernbepaling (aansprakelijkheid) */
.acw-callout{ background:var(--acw-ink-2); border-left:4px solid var(--acw-red); padding:18px 22px; margin:0 0 1.2em; }
.acw-callout p:last-child{ margin-bottom:0; }

/* Definitielijst */
.acw-deflist{ border-top:1px solid var(--acw-line); margin:0; }
.acw-deflist div{ display:grid; grid-template-columns:200px 1fr; gap:18px; padding:14px 0; border-bottom:1px solid var(--acw-line); }
.acw-deflist dt{ font-weight:700; color:#fff; }
.acw-deflist dd{ margin:0; color:#d7dade; }

/* Footer: juridische links */
.acw-footer__legal a{ color:var(--acw-grey); }
.acw-footer__legal a:hover{ color:var(--acw-yellow); }

@media (max-width:880px){
  .acw-legal__wrap{ grid-template-columns:1fr; }
  .acw-toc{ position:static; background:var(--acw-ink-2); border:1px solid var(--acw-line); }
  .acw-toc__inner{ border-left:0; border-top:3px solid var(--acw-yellow); padding:16px 20px; }
  .acw-toc__nav{ max-height:none; overflow:visible; }
  .acw-toc__nav a{ margin-left:0; padding-left:16px; }
  .acw-deflist div{ grid-template-columns:1fr; gap:2px; }
}

/* Toegangscode-box (bedankpagina) */
.acw-codebox{ display:block; border:2px solid var(--acw-yellow); background:var(--acw-ink-2); padding:22px 26px; margin:24px 0; }
.acw-codebox__label{ display:block; text-transform:uppercase; letter-spacing:.18em; font-size:.8rem; color:var(--acw-grey); }
.acw-codebox__code{ display:block; font-family:var(--acw-font-display); font-size:2.4rem; font-weight:700; letter-spacing:.15em; color:var(--acw-yellow); line-height:1.1; margin:4px 0; }
.acw-codebox__note{ display:block; color:var(--acw-grey); font-size:.95rem; }
