/* =====================================================================
   FVWL — DESIGNSYSTEEM (één bron voor kleur, letter, knoppen, velden, meldingen)
   Lichte basis, antraciete tekst, goud alleen als accent.  Zie CLAUDE.md → “Designsysteem”.

   Regels in het kort
   - Achtergrond: wit (--fvwl-white) en warm gebroken wit (--fvwl-paper). Lichtgrijs (--fvwl-stone) achter productfoto's en kaders.
   - Tekst: --fvwl-ink voor titels, productnamen en prijzen; --fvwl-anthracite voor lopende tekst; --fvwl-muted voor bijschriften.
   - Goud (--fvwl-gold): logo, kleine labels, dunne lijn bij hover/actief, actieve filterchip, kleine iconen, scheidingslijnen.
     Nooit als tekstkleur op wit, nooit als groot vlak. Goud als tekst mag op donkere foto's (homepage-hero).
   - Knoppen: primair antraciet gevuld met wit; secundair dunne antraciete rand; op donkere foto's dunne gouden rand.
   - Titels: Cormorant Garamond. Tekst, labels, menu: Josefin Sans. Productnamen in gewone schrijfwijze.
   - Hoeken recht (radius 0), lijnen 1 px, velden en knoppen 52 px hoog.
   Elk ander FVWL-bestand gebruikt deze variabelen; geen losse kleurcodes meer.
   ===================================================================== */

/* ---------- Lettertypes: lokaal (SIL Open Font License, zie fonts/OFL-*.txt) ---------- */
@font-face{ font-family:"Josefin Sans"; font-style:normal; font-weight:300; font-display:swap; src:url("fonts/josefin-sans-latin-300-normal.woff2") format("woff2"); }
@font-face{ font-family:"Josefin Sans"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/josefin-sans-latin-400-normal.woff2") format("woff2"); }
/* 500, 600 en 700: niet in het designsysteem, wel gebruikt door bestaande onderdelen (cadeaubalk, zijmandje, filter). Ze kwamen
   van Google Fonts (vier verzoeken per pagina, uit oude snippets); nu lokaal, en alleen geladen waar ze gebruikt worden. */
@font-face{ font-family:"Josefin Sans"; font-style:normal; font-weight:500; font-display:swap; src:url("fonts/josefin-sans-latin-500-normal.woff2") format("woff2"); }
@font-face{ font-family:"Josefin Sans"; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/josefin-sans-latin-600-normal.woff2") format("woff2"); }
@font-face{ font-family:"Josefin Sans"; font-style:normal; font-weight:700; font-display:swap; src:url("fonts/josefin-sans-latin-700-normal.woff2") format("woff2"); }
@font-face{ font-family:"Cormorant Garamond"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2"); }
@font-face{ font-family:"Cormorant Garamond"; font-style:italic; font-weight:400; font-display:swap; src:url("fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2"); }
@font-face{ font-family:"Cormorant Garamond"; font-style:normal; font-weight:500; font-display:swap; src:url("fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2"); }

:root{
  /* kleur */
  --fvwl-white:#FFFFFF;
  --fvwl-paper:#FAF8F4;          /* warm gebroken wit: afwisselende secties, zijpanelen */
  --fvwl-stone:#F2F0EC;          /* lichtgrijs: achter productfoto's, kaders, besteloverzicht */
  --fvwl-ink:#1F1F1F;            /* titels, productnamen, prijzen */
  --fvwl-anthracite:#3A3A3A;     /* lopende tekst, knoppen */
  --fvwl-muted:#6B6761;          /* bijschriften, hulptekst (contrast 5,6:1 op wit) */
  --fvwl-line:#E5E2DC;           /* scheidingslijnen */
  --fvwl-line-strong:#C8C4BC;    /* randen van velden en secundaire knoppen in rust */
  --fvwl-gold:#CCA569;           /* accent */
  --fvwl-gold-deep:#B38D4F;      /* goud bij hover op donker */
  --fvwl-error:#9C2B2B;
  --fvwl-success:#2E6B4E;
  --fvwl-scrim:rgba(31,31,31,.45);

  /* letter */
  --fvwl-serif:"Cormorant Garamond","Tenor Sans",Georgia,"Times New Roman",serif;
  --fvwl-sans:"Josefin Sans","Helvetica Neue",Arial,sans-serif;
  --fvwl-fs-display:clamp(40px,5.2vw,72px);
  --fvwl-fs-h1:clamp(34px,4vw,54px);
  --fvwl-fs-h2:clamp(28px,3vw,38px);
  --fvwl-fs-h3:24px;
  --fvwl-fs-lead:19px;
  --fvwl-fs-body:17px;
  --fvwl-fs-small:14px;
  --fvwl-fs-label:11.5px;        /* kapitalen met letterspatiëring */
  --fvwl-ls-label:.18em;

  /* maat */
  --fvwl-s1:4px; --fvwl-s2:8px; --fvwl-s3:12px; --fvwl-s4:16px; --fvwl-s5:24px; --fvwl-s6:32px; --fvwl-s7:48px; --fvwl-s8:64px; --fvwl-s9:96px;
  --fvwl-control-h:52px;         /* hoogte van velden en knoppen */
  --fvwl-radius:0;
  --fvwl-container:1320px;
  --fvwl-gutter:32px;
  --fvwl-ease:.22s ease;
}
@media (max-width:767px){
  :root{ --fvwl-fs-body:16px; --fvwl-fs-lead:17px; --fvwl-gutter:20px; }
}

/* ---------- Basis ---------- */
body{ background:var(--fvwl-white); color:var(--fvwl-anthracite); font-family:var(--fvwl-sans); font-weight:300; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
h1, h2, h3, h4, .fvwl-serif{ font-family:var(--fvwl-serif); font-weight:400; color:var(--fvwl-ink); letter-spacing:.005em; }
::selection{ background:var(--fvwl-ink); color:var(--fvwl-white); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible{ outline:2px solid var(--fvwl-ink); outline-offset:2px; }

/* hulpklassen voor eigen onderdelen */
.fvwl-eyebrow{ font-family:var(--fvwl-sans); font-weight:400; font-size:var(--fvwl-fs-label); letter-spacing:var(--fvwl-ls-label); text-transform:uppercase; color:var(--fvwl-anthracite); line-height:1.4; }
.fvwl-lead{ font-family:var(--fvwl-serif); font-style:italic; font-size:22px; line-height:1.45; color:var(--fvwl-anthracite); }
.fvwl-link{ color:var(--fvwl-ink); text-decoration:underline; text-decoration-color:var(--fvwl-gold); text-decoration-thickness:1px; text-underline-offset:4px; transition:text-decoration-color var(--fvwl-ease); }
.fvwl-link:hover{ text-decoration-color:var(--fvwl-ink); }
.fvwl-label{ display:inline-block; padding:5px 9px 3px; background:var(--fvwl-gold); color:var(--fvwl-ink); font-family:var(--fvwl-sans); font-weight:400; font-size:10px; letter-spacing:.18em; text-transform:uppercase; line-height:1.2; }
.fvwl-label--dark{ background:var(--fvwl-anthracite); color:var(--fvwl-white); }
.fvwl-rule{ border:0; border-top:1px solid var(--fvwl-line); margin:0; }

/* ---------- Knoppen ----------
   .fvwl-btn (primair) · .fvwl-btn--secondary · .fvwl-btn--on-dark · .fvwl-btn--text
   Dezelfde stijl wordt hieronder op alle knoppen van WooCommerce, Divi en de plugins gezet. */
.fvwl-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce-page a.button, .woocommerce-page button.button,
body .wc-block-components-button:not(.is-link), body .wp-block-button__link, body .wp-element-button,
body .et_pb_button, body #page-container .et_pb_button,
body .xoo-wsc-ft-btn, body a.xoo-wsc-ft-btn,
body .wpcf7-submit, body input[type="submit"]{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; box-sizing:border-box;
  min-height:var(--fvwl-control-h); padding:3px 28px 0 !important; margin:0;
  background:var(--fvwl-anthracite) !important; color:var(--fvwl-white) !important;
  border:1px solid var(--fvwl-anthracite) !important; border-radius:var(--fvwl-radius) !important; box-shadow:none !important;
  font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:12px !important; line-height:1.2 !important;
  letter-spacing:var(--fvwl-ls-label) !important; text-transform:uppercase !important; text-decoration:none !important; text-align:center;
  cursor:pointer; transition:background-color var(--fvwl-ease), color var(--fvwl-ease), border-color var(--fvwl-ease); -webkit-appearance:none; appearance:none;
}
.fvwl-btn:hover, .fvwl-btn:focus-visible,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
.woocommerce-page a.button:hover, .woocommerce-page button.button:hover,
body .wc-block-components-button:not(.is-link):hover, body .wp-block-button__link:hover, body .wp-element-button:hover,
body .et_pb_button:hover, body #page-container .et_pb_button:hover,
body .xoo-wsc-ft-btn:hover, body a.xoo-wsc-ft-btn:hover,
body .wpcf7-submit:hover, body input[type="submit"]:hover{
  background:var(--fvwl-ink) !important; border-color:var(--fvwl-ink) !important; color:var(--fvwl-white) !important; padding:3px 28px 0 !important;
}
/* Divi geeft knoppen per module een eigen kleur (“body.et-db #page-container #et-boc .et-l .et_pb_section .et_pb_…_0 .button”,
   twee id's en !important): zelfde stijl, met een selector die even zwaar is plus één klasse meer */
html body #page-container #et-boc .et-l .et_pb_section .et_pb_module .button:not(.fvwl-btn--secondary):not(.fvwl-btn--on-dark),
html body #page-container #et-boc .et-l .et_pb_section .et_pb_module button.single_add_to_cart_button,
html body #page-container #et-boc .et-l .et_pb_section .et_pb_button:not(.fvwl-secondary),
html body #page-container #et-boc .et-l .et_pb_section .et_pb_module input[type="submit"],
html body #page-container #et-boc .et-l .et_pb_section .et_pb_newsletter_button{
  background:var(--fvwl-anthracite) !important; background-color:var(--fvwl-anthracite) !important; color:var(--fvwl-white) !important; border:1px solid var(--fvwl-anthracite) !important; border-radius:0 !important;
  font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:12px !important; letter-spacing:var(--fvwl-ls-label) !important; text-transform:uppercase !important; min-height:var(--fvwl-control-h); padding:3px 28px 0 !important; box-shadow:none !important;
}
html body #page-container #et-boc .et-l .et_pb_section .et_pb_module .button:not(.fvwl-btn--secondary):not(.fvwl-btn--on-dark):hover,
html body #page-container #et-boc .et-l .et_pb_section .et_pb_module button.single_add_to_cart_button:hover,
html body #page-container #et-boc .et-l .et_pb_section .et_pb_button:not(.fvwl-secondary):hover,
html body #page-container #et-boc .et-l .et_pb_section .et_pb_module input[type="submit"]:hover,
html body #page-container #et-boc .et-l .et_pb_section .et_pb_newsletter_button:hover{
  background:var(--fvwl-ink) !important; background-color:var(--fvwl-ink) !important; color:var(--fvwl-white) !important; border-color:var(--fvwl-ink) !important; padding:3px 28px 0 !important;
}
html body #page-container #et-boc .et-l .et_pb_section .et_pb_module .button.wc-backward, html body #page-container #et-boc .et-l .et_pb_section .et_pb_module .woocommerce-MyAccount-content .button{ background:transparent !important; background-color:transparent !important; color:var(--fvwl-ink) !important; }
/* Divi zet een pijltje in zijn knoppen: weg */
body .et_pb_button::after, body .et_pb_button::before, .woocommerce a.button::after, .woocommerce button.button::after{ display:none !important; content:none !important; }
/* uitgeschakeld */
.fvwl-btn[disabled], .fvwl-btn.is-disabled, .woocommerce button.button:disabled, .woocommerce button.button.disabled, .woocommerce a.button.disabled,
body .wc-block-components-button:not(.is-link):disabled, body .wc-block-components-button:not(.is-link)[aria-disabled="true"]{
  background:var(--fvwl-stone) !important; border-color:var(--fvwl-stone) !important; color:var(--fvwl-muted) !important; cursor:not-allowed; opacity:1 !important;
}
/* secundair: dunne antraciete rand */
.fvwl-btn--secondary,
body .xoo-wsc-ft-btn.xoo-wsc-ft-btn-cart, body .xoo-wsc-ft-btn.xoo-wsc-ft-btn-continue,
.woocommerce a.button.wc-backward, .woocommerce .woocommerce-MyAccount-content a.button, .woocommerce table.shop_table a.button,
body .wc-block-components-button.outlined:not(.is-link), body .is-style-outline > .wp-block-button__link, body .et_pb_button.fvwl-secondary{
  background:transparent !important; color:var(--fvwl-ink) !important; border-color:var(--fvwl-anthracite) !important;
}
.fvwl-btn--secondary:hover, .fvwl-btn--secondary:focus-visible,
body .xoo-wsc-ft-btn.xoo-wsc-ft-btn-cart:hover, body .xoo-wsc-ft-btn.xoo-wsc-ft-btn-continue:hover,
.woocommerce a.button.wc-backward:hover, .woocommerce .woocommerce-MyAccount-content a.button:hover, .woocommerce table.shop_table a.button:hover,
body .wc-block-components-button.outlined:not(.is-link):hover, body .is-style-outline > .wp-block-button__link:hover, body .et_pb_button.fvwl-secondary:hover{
  background:var(--fvwl-anthracite) !important; color:var(--fvwl-white) !important; border-color:var(--fvwl-anthracite) !important;
}
/* op donkere foto's: dunne gouden rand */
.fvwl-btn--on-dark{ background:transparent !important; color:var(--fvwl-gold) !important; border-color:var(--fvwl-gold) !important; }
.fvwl-btn--on-dark:hover, .fvwl-btn--on-dark:focus-visible{ background:var(--fvwl-gold) !important; color:var(--fvwl-ink) !important; border-color:var(--fvwl-gold) !important; }
/* tekstknop */
.fvwl-btn--text{ min-height:0; padding:0 0 3px !important; background:none !important; border:0 !important; border-bottom:1px solid var(--fvwl-gold) !important; color:var(--fvwl-ink) !important; }
.fvwl-btn--text:hover{ background:none !important; border-bottom-color:var(--fvwl-ink) !important; color:var(--fvwl-ink) !important; padding:0 0 3px !important; }
.fvwl-btn--block{ display:flex; width:100%; }

/* ---------- Velden ---------- */
.fvwl-field,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text, .woocommerce-page form .form-row textarea,
.woocommerce .quantity input.qty, .woocommerce-cart table.cart td.actions .coupon .input-text,
body .wc-block-components-text-input input[type="text"], body .wc-block-components-text-input input[type="email"], body .wc-block-components-text-input input[type="tel"],
body .wc-block-components-text-input input[type="number"], body .wc-block-components-text-input input[type="password"], body .wc-block-components-text-input input[type="url"],
body .wc-block-components-textarea, body .wc-blocks-components-select .wc-blocks-components-select__select, body .wc-block-components-combobox .components-combobox-control__input,
body .et_pb_contact_form .input, body .et_pb_contact_form textarea, body input.wpcf7-form-control:not([type="submit"]), body textarea.wpcf7-form-control, body select.wpcf7-form-control,
body .select2-container--default .select2-selection--single{
  box-sizing:border-box; min-height:var(--fvwl-control-h); background:var(--fvwl-white) !important; color:var(--fvwl-ink) !important;
  border:1px solid var(--fvwl-line-strong) !important; border-radius:var(--fvwl-radius) !important; box-shadow:none !important;
  font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:16px !important; line-height:1.3; letter-spacing:.01em;
  transition:border-color var(--fvwl-ease), box-shadow var(--fvwl-ease);
}
.fvwl-field, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text, .woocommerce-page form .form-row textarea, .woocommerce-cart table.cart td.actions .coupon .input-text,
body .et_pb_contact_form .input, body .et_pb_contact_form textarea, body input.wpcf7-form-control:not([type="submit"]), body textarea.wpcf7-form-control, body select.wpcf7-form-control{ padding:14px 14px 11px !important; }
.fvwl-field:focus,
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus,
.woocommerce .quantity input.qty:focus, .woocommerce-cart table.cart td.actions .coupon .input-text:focus,
body .wc-block-components-text-input input:focus, body .wc-block-components-textarea:focus, body .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body .wc-block-components-combobox .components-combobox-control__input:focus,
body .et_pb_contact_form .input:focus, body input.wpcf7-form-control:not([type="submit"]):focus, body textarea.wpcf7-form-control:focus{
  border-color:var(--fvwl-ink) !important; box-shadow:0 0 0 1px var(--fvwl-ink) !important; outline:0 !important;
}
.fvwl-field::placeholder, .woocommerce form .form-row input.input-text::placeholder, body .et_pb_contact_form .input::placeholder, body input.wpcf7-form-control::placeholder{ color:var(--fvwl-muted); opacity:1; }
/* labels boven het veld (klassieke formulieren) */
.woocommerce form .form-row label, .woocommerce-page form .form-row label, .fvwl-field-label{
  display:block; margin:0 0 6px; font-family:var(--fvwl-sans); font-weight:400; font-size:var(--fvwl-fs-label); letter-spacing:var(--fvwl-ls-label); text-transform:uppercase; color:var(--fvwl-anthracite); line-height:1.4;
}
.woocommerce form .form-row label.woocommerce-form__label-for-checkbox, .woocommerce form .form-row label.checkbox{ text-transform:none; letter-spacing:.01em; font-size:15px; font-weight:300; }
.woocommerce form .form-row .required{ color:var(--fvwl-anthracite); text-decoration:none; }
/* fout in een veld */
.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select,
body .wc-block-components-text-input.has-error input, body .wc-blocks-components-select.has-error .wc-blocks-components-select__select{ border-color:var(--fvwl-error) !important; box-shadow:none !important; }
body .wc-block-components-validation-error, body .wc-block-components-validation-error > p{ color:var(--fvwl-error) !important; font-family:var(--fvwl-sans); font-size:13px; font-weight:400; }
body .wc-block-components-text-input.has-error label{ color:var(--fvwl-error) !important; }
/* labels ín het veld (WooCommerce Blocks) */
body .wc-block-components-text-input label, body .wc-blocks-components-select .wc-blocks-components-select__label, body .wc-block-components-combobox .components-base-control__label{
  font-family:var(--fvwl-sans) !important; font-weight:300 !important; color:var(--fvwl-muted) !important; letter-spacing:.01em;
}
/* vinkjes en keuzerondjes */
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]{ border:1px solid var(--fvwl-line-strong) !important; border-radius:0 !important; background:var(--fvwl-white) !important; width:20px; height:20px; min-width:20px; min-height:20px; }
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked{ background:var(--fvwl-anthracite) !important; border-color:var(--fvwl-anthracite) !important; }
body .wc-block-components-checkbox .wc-block-components-checkbox__mark{ fill:var(--fvwl-white) !important; width:20px; height:20px; }
body .wc-block-components-checkbox__label{ font-family:var(--fvwl-sans); font-weight:300; font-size:15px; color:var(--fvwl-anthracite); line-height:1.45; }
body .wc-block-components-radio-control .wc-block-components-radio-control__input{ border:1px solid var(--fvwl-line-strong) !important; background:var(--fvwl-white) !important; }
body .wc-block-components-radio-control .wc-block-components-radio-control__input:checked{ border-color:var(--fvwl-anthracite) !important; }
body .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before{ background:var(--fvwl-anthracite) !important; }
.woocommerce input[type="checkbox"], .woocommerce input[type="radio"]{ accent-color:var(--fvwl-anthracite); }

/* ---------- Meldingen (klassiek en Blocks): licht kader, dunne accentlijn links ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments,
body .wc-block-components-notice-banner, body .wc-block-store-notice, .fvwl-notice{
  display:flex; align-items:flex-start; gap:12px; box-sizing:border-box; margin:0 0 var(--fvwl-s5) !important; padding:16px 18px 13px !important;
  background:var(--fvwl-paper) !important; color:var(--fvwl-anthracite) !important; border:1px solid var(--fvwl-line) !important; border-left:2px solid var(--fvwl-gold) !important; border-radius:0 !important; box-shadow:none !important;
  font-family:var(--fvwl-sans) !important; font-weight:300 !important; font-size:15px !important; line-height:1.5 !important; letter-spacing:.01em; list-style:none !important; text-transform:none !important;
}
.woocommerce-error, body .wc-block-components-notice-banner.is-error, .fvwl-notice--error{ border-left-color:var(--fvwl-error) !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before{ display:none !important; content:none !important; }
.woocommerce-error li{ margin:0 !important; padding:0 !important; list-style:none !important; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a:not(.button), body .wc-block-components-notice-banner a{ color:var(--fvwl-ink) !important; text-decoration:underline; text-decoration-color:var(--fvwl-gold); text-underline-offset:3px; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button{ order:2; margin-left:auto !important; min-height:36px; padding:2px 16px 0 !important; font-size:11px !important; background:transparent !important; color:var(--fvwl-ink) !important; float:none !important; white-space:nowrap; }
.woocommerce-message .button:hover, .woocommerce-info .button:hover{ background:var(--fvwl-anthracite) !important; color:var(--fvwl-white) !important; padding:2px 16px 0 !important; }
body .wc-block-components-notice-banner > svg{ background:transparent !important; fill:var(--fvwl-anthracite) !important; padding:0 !important; width:20px; height:20px; flex:0 0 20px; margin-top:1px; }
body .wc-block-components-notice-banner.is-error > svg{ fill:var(--fvwl-error) !important; }
body .wc-block-components-notice-banner__content{ font-size:15px; }
body .wc-block-components-notice-banner .wc-block-components-button.is-link{ color:var(--fvwl-ink) !important; }

/* ---------- Productkaarten in lijsten (WooCommerce-lussen en Divi-shopmodule) ---------- */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{ text-align:left; }
.woocommerce ul.products li.product a img, .woocommerce-page ul.products li.product a img,
.woocommerce ul.products li.product .et_shop_image{ background:var(--fvwl-stone); margin-bottom:0 !important; box-shadow:none !important; }
.woocommerce ul.products li.product .et_overlay{ display:none !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2, .woocommerce ul.products li.product h3,
.woocommerce ul.products li.product .woocommerce-loop-category__title{
  margin:14px 0 0 !important; padding:0 !important; font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:15px !important; line-height:1.4 !important; letter-spacing:.02em !important;
  text-transform:none !important; color:var(--fvwl-ink) !important;
}
.woocommerce ul.products li.product .price, .woocommerce ul.products li.product .price .amount, .woocommerce ul.products li.product .price ins, .woocommerce ul.products li.product .price del{
  margin:4px 0 0 !important; font-family:var(--fvwl-sans) !important; font-weight:300 !important; font-size:15px !important; line-height:1.4 !important; letter-spacing:.02em; color:var(--fvwl-anthracite) !important; text-decoration-color:var(--fvwl-muted);
}
.woocommerce ul.products li.product .price del{ color:var(--fvwl-muted) !important; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale{
  top:10px !important; left:10px !important; right:auto !important; min-width:0; min-height:0; margin:0 !important; padding:5px 9px 3px !important; border-radius:0 !important;
  background:var(--fvwl-gold) !important; color:var(--fvwl-ink) !important; font-family:var(--fvwl-sans); font-weight:400; font-size:10px !important; letter-spacing:.18em; text-transform:uppercase; line-height:1.2 !important;
}
.woocommerce .star-rating span::before, .woocommerce p.stars a{ color:var(--fvwl-gold); }

/* prijzen en bedragen elders: nooit linkblauw, nooit goud */
.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce .price .amount,
.woocommerce-Price-amount, body .wc-block-components-product-price, body .wc-block-formatted-money-amount{ color:var(--fvwl-ink); font-family:var(--fvwl-sans); }
.woocommerce div.product p.price, .woocommerce div.product span.price{ font-size:22px; font-weight:400; letter-spacing:.02em; }

/* kruimelpad, aantal resultaten, sortering */
.woocommerce .woocommerce-breadcrumb, .woocommerce .woocommerce-breadcrumb a{ font-family:var(--fvwl-sans); font-weight:300; font-size:12px; letter-spacing:.08em; color:var(--fvwl-muted) !important; }
.woocommerce .woocommerce-breadcrumb a:hover{ color:var(--fvwl-ink) !important; }
.woocommerce .woocommerce-result-count{ font-family:var(--fvwl-sans); font-weight:300; font-size:13px; letter-spacing:.06em; color:var(--fvwl-muted); }
.woocommerce .woocommerce-ordering select, .woocommerce select.orderby{ min-height:44px; padding:10px 34px 8px 14px; border:1px solid var(--fvwl-line-strong); border-radius:0; background-color:var(--fvwl-white); font-family:var(--fvwl-sans); font-weight:400; font-size:13px; letter-spacing:.06em; color:var(--fvwl-ink); }

/* paginering */
.woocommerce nav.woocommerce-pagination ul{ border:0 !important; }
.woocommerce nav.woocommerce-pagination ul li{ border:0 !important; margin:0 2px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{ min-width:40px; padding:12px 8px 9px !important; font-family:var(--fvwl-sans); font-weight:400; font-size:13px; color:var(--fvwl-anthracite) !important; background:transparent !important; border-bottom:1px solid transparent; }
.woocommerce nav.woocommerce-pagination ul li span.current{ color:var(--fvwl-ink) !important; border-bottom-color:var(--fvwl-gold); }
.woocommerce nav.woocommerce-pagination ul li a:hover{ border-bottom-color:var(--fvwl-ink); }

/* aantal-kiezer */
.woocommerce .quantity input.qty{ width:76px; min-height:var(--fvwl-control-h); padding:3px 6px 0 !important; text-align:center; }
body .wc-block-components-quantity-selector{ border:1px solid var(--fvwl-line-strong) !important; border-radius:0 !important; }
body .wc-block-components-quantity-selector::after{ display:none !important; }
body .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{ font-family:var(--fvwl-sans); font-weight:400; color:var(--fvwl-ink); min-height:0 !important; border:0 !important; box-shadow:none !important; }
body .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{ color:var(--fvwl-anthracite); opacity:1; background:transparent !important; border:0 !important; min-height:0; padding:0 !important; }
body .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover{ background:var(--fvwl-stone) !important; color:var(--fvwl-ink) !important; }

/* tabellen (mandje klassiek, bestellingen, bedankpagina) */
.woocommerce table.shop_table{ border:0 !important; border-radius:0 !important; border-collapse:collapse; font-family:var(--fvwl-sans); }
.woocommerce table.shop_table th{ padding:14px 12px 11px !important; border:0 !important; border-bottom:1px solid var(--fvwl-line) !important; font-weight:400; font-size:var(--fvwl-fs-label); letter-spacing:var(--fvwl-ls-label); text-transform:uppercase; color:var(--fvwl-anthracite); background:transparent !important; }
.woocommerce table.shop_table td{ padding:16px 12px 13px !important; border:0 !important; border-bottom:1px solid var(--fvwl-line) !important; font-weight:300; font-size:15px; color:var(--fvwl-anthracite); background:transparent !important; }
.woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td{ border-bottom:0 !important; border-top:1px solid var(--fvwl-line) !important; }
.woocommerce table.shop_table a{ color:var(--fvwl-ink); }
.woocommerce table.shop_table .product-name a{ text-decoration:none; }

/* links in lopende tekst van WooCommerce-pagina's */
.woocommerce-account .woocommerce-MyAccount-content a:not(.button), .woocommerce-order a:not(.button), .woocommerce-privacy-policy-text a, .woocommerce-terms-and-conditions-wrapper a,
body .wc-block-checkout__terms a, body .wc-block-components-checkout-step__description a, body .wc-block-components-totals-coupon-link, body .wc-block-components-button.is-link{
  color:var(--fvwl-ink) !important; text-decoration:underline !important; text-decoration-color:var(--fvwl-gold) !important; text-decoration-thickness:1px !important; text-underline-offset:3px;
}

/* ---------- Mijn account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none !important; margin:0 !important; padding:0 !important; border-top:1px solid var(--fvwl-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li{ margin:0; padding:0; border-bottom:1px solid var(--fvwl-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:15px 0 12px; font-family:var(--fvwl-sans); font-weight:400; font-size:var(--fvwl-fs-label); letter-spacing:var(--fvwl-ls-label); text-transform:uppercase; color:var(--fvwl-anthracite); text-decoration:none; background:linear-gradient(var(--fvwl-gold),var(--fvwl-gold)) 0 calc(100% - 8px)/0 1px no-repeat; transition:background-size var(--fvwl-ease); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ color:var(--fvwl-ink); background-size:28px 1px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ color:var(--fvwl-ink); background-size:28px 1px; }
.woocommerce-account .woocommerce-MyAccount-content{ font-family:var(--fvwl-sans); font-weight:300; font-size:var(--fvwl-fs-body); line-height:1.65; color:var(--fvwl-anthracite); }
.woocommerce-account .woocommerce h2, .woocommerce-account .woocommerce h3, .woocommerce-account .woocommerce legend{ font-family:var(--fvwl-serif); font-weight:400; font-size:30px; line-height:1.15; color:var(--fvwl-ink); text-transform:none; letter-spacing:.005em; margin:0 0 18px; padding:0; }
.woocommerce-account .woocommerce form.login, .woocommerce-account .woocommerce form.register, .woocommerce form.checkout_coupon, .woocommerce-account .woocommerce form.lost_reset_password{ border:1px solid var(--fvwl-line) !important; border-radius:0 !important; padding:28px !important; margin:0 0 24px !important; background:var(--fvwl-white); }
.woocommerce-account .woocommerce fieldset{ border:0; border-top:1px solid var(--fvwl-line); margin:28px 0 0; padding:24px 0 0; }
.woocommerce-account .woocommerce .woocommerce-Address{ border:1px solid var(--fvwl-line); padding:22px; }
.woocommerce-account .woocommerce address{ font-style:normal; line-height:1.7; }
.woocommerce .woocommerce-password-strength{ font-family:var(--fvwl-sans); font-size:13px; padding:8px 12px 6px; background:var(--fvwl-stone); color:var(--fvwl-anthracite); border:0; }
.woocommerce mark, .woocommerce mark.order-status{ background:none; color:var(--fvwl-ink); font-weight:400; }

/* ---------- Zijmandje (Side Cart, xoo-wsc) ---------- */
body .xoo-wsc-container, body .xoo-wsc-slider{ background:var(--fvwl-white) !important; color:var(--fvwl-anthracite); font-family:var(--fvwl-sans) !important; font-weight:300; }
body .xoo-wsc-header{ background:var(--fvwl-white) !important; color:var(--fvwl-ink) !important; border-bottom:1px solid var(--fvwl-line) !important; padding:20px 22px 16px !important; }
body .xoo-wsc-header .xoo-wsch-text, body .xoo-wsc-header .xoo-wsch-top .xoo-wsch-text{ font-family:var(--fvwl-serif) !important; font-weight:400 !important; font-size:26px !important; line-height:1.1; letter-spacing:.005em; text-transform:none !important; color:var(--fvwl-ink) !important; }
body .xoo-wsc-header .xoo-wsch-close, body .xoo-wsc-header span[class*="xoo-wsc-icon-cross"], body .xoo-wsc-icon-cross{ color:var(--fvwl-anthracite) !important; font-size:16px !important; }
body .xoo-wsc-body{ background:var(--fvwl-white) !important; }
body .xoo-wsc-product{ padding:18px 22px !important; border-bottom:1px solid var(--fvwl-line) !important; background:transparent !important; }
body .xoo-wsc-img-col img{ background:var(--fvwl-stone); border-radius:0 !important; }
body .xoo-wsc-pname, body .xoo-wsc-pname a, body span.xoo-wsc-pname{ font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:15px !important; line-height:1.4 !important; letter-spacing:.02em !important; text-transform:none !important; color:var(--fvwl-ink) !important; text-decoration:none !important; }
body .xoo-wsc-product dl.variation, body .xoo-wsc-product .variation, body .xoo-wsc-qty-price, body .xoo-wsc-sm-info{ font-family:var(--fvwl-sans) !important; font-weight:300 !important; font-size:13.5px !important; color:var(--fvwl-muted) !important; letter-spacing:.02em; }
body .xoo-wsc-product .xoo-wsc-pprice, body .xoo-wsc-product .xoo-wsc-pprice .amount, body .xoo-wsc-smr-ptotal, body .xoo-wsc-smr-ptotal .amount{ font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:15px !important; color:var(--fvwl-ink) !important; }
body .xoo-wsc-qty-box{ border:1px solid var(--fvwl-line-strong) !important; border-radius:0 !important; background:var(--fvwl-white) !important; }
body .xoo-wsc-qty-box input.xoo-wsc-qty{ border:0 !important; background:transparent !important; font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:14px !important; color:var(--fvwl-ink) !important; }
body .xoo-wsc-qty-box .xoo-wsc-chng, body .xoo-wsc-qty-box span.xoo-wsc-chng{ border:0 !important; background:transparent !important; color:var(--fvwl-anthracite) !important; }
body .xoo-wsc-smr-del, body .xoo-wsc-icon-trash, body span.xoo-wsc-smr-del{ color:var(--fvwl-muted) !important; }
body .xoo-wsc-smr-del:hover{ color:var(--fvwl-ink) !important; }
body .xoo-wsc-footer{ background:var(--fvwl-white) !important; border-top:1px solid var(--fvwl-line) !important; padding:18px 22px 22px !important; box-shadow:none !important; color:var(--fvwl-anthracite) !important; }
body .xoo-wsc-ft-totals, body .xoo-wsc-ft-amt{ font-family:var(--fvwl-sans) !important; font-size:15px !important; font-weight:300 !important; color:var(--fvwl-anthracite) !important; padding:0 !important; border:0 !important; }
body .xoo-wsc-ft-amt{ padding:5px 0 !important; }
body .xoo-wsc-ft-amt-label{ font-weight:300 !important; color:var(--fvwl-anthracite) !important; }
body .xoo-wsc-ft-amt-value, body .xoo-wsc-ft-amt-value .amount{ font-weight:400 !important; color:var(--fvwl-ink) !important; }
body .xoo-wsc-ft-amt-total{ margin-top:8px !important; padding-top:12px !important; border-top:1px solid var(--fvwl-line) !important; }
body .xoo-wsc-ft-amt-total .xoo-wsc-ft-amt-label, body .xoo-wsc-ft-amt-total .xoo-wsc-ft-amt-value, body .xoo-wsc-ft-amt-total .amount{ font-size:17px !important; font-weight:400 !important; color:var(--fvwl-ink) !important; }
body .xoo-wsc-ft-buttons-cont{ display:grid !important; grid-template-columns:1fr; gap:10px !important; margin-top:16px; }
body .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn{ width:100%; margin:0 !important; }
body .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn-checkout{ order:-1; }
body .xoo-wsc-empty-cart, body .xoo-wsc-empty-cart span{ font-family:var(--fvwl-serif); font-size:24px; color:var(--fvwl-ink); }
body .xoo-wsc-opac{ background:var(--fvwl-ink) !important; opacity:.45 !important; }
body .xoo-wsc-notice-container, body .xoo-wsc-notice-success, body .xoo-wsc-notice-error{ font-family:var(--fvwl-sans) !important; font-size:14px !important; background:var(--fvwl-anthracite) !important; color:var(--fvwl-white) !important; border-radius:0 !important; }
/* cadeaubalk in het zijmandje (snippet): sober, geen gouden tekst op wit */
body .xrb4-wrap{ margin:0 !important; padding:16px 22px 14px !important; border:0 !important; border-bottom:1px solid var(--fvwl-line) !important; border-radius:0 !important; box-shadow:none !important; background:var(--fvwl-paper) !important; font-family:var(--fvwl-sans) !important; }
body .xrb4-msg, body .xrb4-msg *{ font-family:var(--fvwl-sans) !important; font-weight:300 !important; font-size:14px !important; color:var(--fvwl-anthracite) !important; letter-spacing:.02em; }
body .xrb4-msg .xrb4-gold, body .xrb4-msg strong, body .xrb4-msg b{ color:var(--fvwl-ink) !important; font-weight:400 !important; }
body .xrb4-track{ background:var(--fvwl-line) !important; height:2px !important; border-radius:0 !important; }
body .xrb4-fill{ background:var(--fvwl-gold) !important; border-radius:0 !important; }
body .xrb4-tick{ background:var(--fvwl-line-strong) !important; }
body .xrb4-label, body .xrb4-labels{ font-family:var(--fvwl-sans) !important; font-weight:300 !important; font-size:11px !important; letter-spacing:.06em; color:var(--fvwl-muted) !important; }
body .xrb4-wrap .fas, body .xrb4-wrap i{ color:var(--fvwl-gold) !important; }
/* “Misschien ook leuk” in het zijmandje */
body .xoo-wsc-sp-heading, body .xoo-wsc-sp-container .xoo-wsc-sp-heading, body .xoo-wsc-sp-container > span{ font-family:var(--fvwl-serif) !important; font-weight:400 !important; font-size:22px !important; line-height:1.2; color:var(--fvwl-ink) !important; text-transform:none !important; letter-spacing:.005em; }
body .xoo-wsc-sp-container{ background:var(--fvwl-paper) !important; border-top:1px solid var(--fvwl-line) !important; padding:18px 22px !important; }
body .xoo-wsc-sp-product{ background:var(--fvwl-white) !important; border:1px solid var(--fvwl-line) !important; border-radius:0 !important; box-shadow:none !important; }
body .xoo-wsc-sp-product img{ border-radius:0 !important; background:var(--fvwl-stone); }
body .xoo-wsc-sp-title, body .xoo-wsc-sp-title a{ font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:14px !important; text-transform:none !important; color:var(--fvwl-ink) !important; text-decoration:none !important; }
body .xoo-wsc-sp-price, body .xoo-wsc-sp-price .amount{ font-family:var(--fvwl-sans) !important; font-weight:300 !important; font-size:14px !important; color:var(--fvwl-anthracite) !important; }
body .xoo-wsc-sp-atc a, body .xoo-wsc-sp-atc .button{ min-height:36px !important; padding:2px 14px 0 !important; font-size:10.5px !important; background:transparent !important; color:var(--fvwl-ink) !important; border:1px solid var(--fvwl-anthracite) !important; }
body .xoo-wsc-sp-atc a:hover, body .xoo-wsc-sp-atc .button:hover{ background:var(--fvwl-anthracite) !important; color:var(--fvwl-white) !important; padding:2px 14px 0 !important; }
/* “Nog €X tot gratis verzending” */
body .fvwl-freeship{ background:var(--fvwl-paper) !important; border:1px solid var(--fvwl-line) !important; color:var(--fvwl-anthracite) !important; }
body .fvwl-freeship__msg strong{ color:var(--fvwl-ink) !important; }
body .fvwl-freeship__bar{ background:var(--fvwl-line) !important; height:2px !important; }
body .fvwl-freeship__bar span{ background:var(--fvwl-gold) !important; }
body .fvwl-freeship__link{ color:var(--fvwl-ink) !important; text-decoration:underline; text-decoration-color:var(--fvwl-gold); text-underline-offset:3px; }
/* zwevend mandje-icoon */
body .xoo-wsc-basket{ background:var(--fvwl-white) !important; color:var(--fvwl-anthracite) !important; border:1px solid var(--fvwl-line) !important; box-shadow:0 6px 22px rgba(31,31,31,.12) !important; }
body .xoo-wsc-items-count, body .xoo-wsc-sc-count{ background:var(--fvwl-anthracite) !important; color:var(--fvwl-white) !important; font-family:var(--fvwl-sans) !important; font-weight:400 !important; }

/* ---------- Mandje en betaalstap (WooCommerce Blocks): gedeelde onderdelen ---------- */
body .wc-block-cart, body .wc-block-checkout, body .wp-block-woocommerce-cart, body .wp-block-woocommerce-checkout{ font-family:var(--fvwl-sans); font-weight:300; color:var(--fvwl-anthracite); }
body .wc-block-components-title, body .wc-block-components-checkout-step__title, body .wc-block-cart__totals-title, body h2.wc-block-components-title{
  font-family:var(--fvwl-serif) !important; font-weight:400 !important; font-size:26px !important; line-height:1.15 !important; letter-spacing:.005em !important; text-transform:none !important; color:var(--fvwl-ink) !important;
}
body .wc-block-components-checkout-step__description, body .wc-block-components-checkout-step__container p{ font-family:var(--fvwl-sans); font-weight:300; font-size:15px; color:var(--fvwl-muted); }
body .wc-block-components-product-name, body a.wc-block-components-product-name{ font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:15px !important; line-height:1.4 !important; letter-spacing:.02em; text-transform:none !important; color:var(--fvwl-ink) !important; text-decoration:none !important; }
body .wc-block-components-product-metadata, body .wc-block-components-product-details, body .wc-block-components-product-metadata__description{ font-family:var(--fvwl-sans); font-weight:300; font-size:13.5px !important; color:var(--fvwl-muted) !important; line-height:1.45; }
body .wc-block-components-product-details__name{ font-weight:300 !important; }
body .wc-block-components-totals-item__label, body .wc-block-components-totals-item__value{ font-family:var(--fvwl-sans); font-size:15px; font-weight:300; color:var(--fvwl-anthracite); }
body .wc-block-components-totals-item__value{ font-weight:400; color:var(--fvwl-ink); }
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{ font-size:19px !important; font-weight:400 !important; color:var(--fvwl-ink) !important; }
body .wc-block-components-totals-footer-item-tax, body .wc-block-components-totals-item__description{ font-family:var(--fvwl-sans); font-size:13px !important; font-weight:300; color:var(--fvwl-muted) !important; }
body .wc-block-components-totals-wrapper, body .wc-block-components-panel, body .wc-block-cart-items, body .wc-block-cart-items td, body .wc-block-cart-items th, body .wc-block-components-totals-wrapper::after{ border-color:var(--fvwl-line) !important; }
body .wc-block-cart-items th, body .wc-block-cart-items .wc-block-cart-items__header th{ font-family:var(--fvwl-sans); font-weight:400 !important; font-size:var(--fvwl-fs-label) !important; letter-spacing:var(--fvwl-ls-label); text-transform:uppercase; color:var(--fvwl-anthracite) !important; }
body .wc-block-cart-item__image img, body .wc-block-components-order-summary-item__image img{ background:var(--fvwl-stone); border-radius:0 !important; }
body .wc-block-components-order-summary-item__quantity{ background:var(--fvwl-anthracite) !important; color:var(--fvwl-white) !important; border:0 !important; box-shadow:0 0 0 2px var(--fvwl-white) !important; font-family:var(--fvwl-sans); font-weight:400; font-size:11px; }
body .wc-block-cart-item__remove-link, body .wc-block-cart-item__remove-link:hover{ color:var(--fvwl-muted) !important; font-family:var(--fvwl-sans); font-size:12px !important; letter-spacing:.06em; text-decoration-color:var(--fvwl-line-strong) !important; }
body .wc-block-components-sale-badge, body .wc-block-components-product-badge{ border:0 !important; border-radius:0 !important; background:var(--fvwl-gold) !important; color:var(--fvwl-ink) !important; font-family:var(--fvwl-sans); font-weight:400 !important; font-size:10px !important; letter-spacing:.14em; text-transform:uppercase; padding:4px 8px 2px !important; }
body .wc-block-components-radio-control-accordion-option, body .wc-block-components-radio-control--highlight-checked, body .wc-block-components-radio-control--highlight-checked::after,
body .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option::after, body .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option::after{ border-color:var(--fvwl-line) !important; border-radius:0 !important; }
body .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{ box-shadow:inset 0 0 0 1px var(--fvwl-anthracite) !important; border-radius:0 !important; }
body .wc-block-components-radio-control__label, body .wc-block-components-radio-control__secondary-label{ font-family:var(--fvwl-sans); font-weight:400; font-size:15px; color:var(--fvwl-ink); }
body .wc-block-components-radio-control__description, body .wc-block-components-radio-control__secondary-description{ font-family:var(--fvwl-sans); font-weight:300; font-size:13.5px; color:var(--fvwl-muted); }
body .wc-block-components-panel__button, body .wc-block-components-panel__button:hover{ font-family:var(--fvwl-sans); font-weight:400; font-size:15px; color:var(--fvwl-ink) !important; }
body .wc-block-components-address-card{ border:1px solid var(--fvwl-line) !important; border-radius:0 !important; font-family:var(--fvwl-sans); }
body .wc-block-components-address-card__edit{ color:var(--fvwl-ink) !important; }
body .wc-block-components-chip{ border-radius:0 !important; background:var(--fvwl-stone) !important; color:var(--fvwl-ink) !important; font-family:var(--fvwl-sans); }
body .wc-block-components-spinner::after, body .wc-block-components-loading-mask__children{ border-color:var(--fvwl-line) var(--fvwl-anthracite) var(--fvwl-line) var(--fvwl-line); }
body .wc-block-components-skeleton__element{ border-radius:0 !important; }

/* ---------- Mandje (pagina): producten links, totaal rechts op lichtgrijs ---------- */
body .wp-block-woocommerce-cart{ max-width:1180px; margin:0 auto !important; }
body .wc-block-cart.wc-block-components-sidebar-layout, body .wp-block-woocommerce-filled-cart-block.wc-block-components-sidebar-layout{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,400px); gap:0 64px; align-items:start; margin:0 !important; }
body .wc-block-cart .wc-block-cart__main, body .wc-block-cart.wc-block-components-sidebar-layout .wc-block-components-main{ width:auto !important; padding:0 !important; margin:0 !important; }
body .wc-block-cart .wc-block-cart__sidebar, body .wc-block-cart.wc-block-components-sidebar-layout .wc-block-components-sidebar{ width:auto !important; margin:0 !important; padding:26px 26px 22px !important; background:var(--fvwl-stone); position:sticky; top:24px; }
body .wc-block-cart .wc-block-cart__sidebar .fvwl-freeship{ margin:0 0 18px; background:var(--fvwl-white) !important; }
/* geen sprong bij het laden: de plaats van de balk “Nog €X tot gratis verzending” staat al klaar, en het mandje is minstens
   een scherm hoog zodat de voet van de pagina niet door beeld schuift terwijl het mandje zijn inhoud tekent */
body .wc-block-cart .wc-block-cart__sidebar:not(:has(.fvwl-freeship))::before{ content:""; display:block; height:98px; margin:0 0 18px; }
body .wc-block-cart .wc-block-cart__sidebar .fvwl-freeship{ min-height:98px; box-sizing:border-box; }
body .wp-block-woocommerce-cart{ min-height:calc(100vh - 160px); }
body .wc-block-cart table.wc-block-cart-items{ border:0 !important; margin:0 !important; }
body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header{ display:none; } /* de kolomkoppen voegen niets toe */
body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{ border:0 !important; border-bottom:1px solid var(--fvwl-line) !important; }
body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row:first-child{ border-top:1px solid var(--fvwl-line) !important; }
body .wc-block-cart table.wc-block-cart-items td{ border:0 !important; padding:20px 0 !important; vertical-align:top; background:transparent !important; }
body .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__image{ width:112px; padding-right:20px !important; }
body .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__image img{ width:112px !important; max-width:112px; height:140px; object-fit:cover; display:block; }
body .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__total{ text-align:right; white-space:nowrap; padding-left:16px !important; font-family:var(--fvwl-sans); font-weight:400; font-size:15px; color:var(--fvwl-ink); }
body .wc-block-cart .wc-block-cart-item__wrap > *{ margin-bottom:6px !important; }
body .wc-block-cart .wc-block-cart-item__prices{ display:none; } /* de prijs staat rechts */
body .wc-block-cart .wc-block-components-product-details{ margin:0 0 12px !important; padding:0 !important; list-style:none !important; }
body .wc-block-cart .wc-block-components-product-details__name{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
body .wc-block-cart .wc-block-cart-item__quantity{ display:flex; align-items:center; gap:14px; margin-top:6px; }
body .wc-block-cart .wc-block-components-quantity-selector{ width:112px; height:40px; }
body .wc-block-cart .wc-block-cart__totals-title{ margin:0 0 8px !important; padding:0 !important; text-align:left !important; }
body .wc-block-cart .wc-block-components-totals-wrapper{ padding:0 !important; border-color:var(--fvwl-line-strong) !important; }
body .wc-block-cart .wc-block-components-totals-wrapper:not(:has(.wc-block-components-totals-item, .wc-block-components-panel)){ display:none !important; }
body .wc-block-cart .wc-block-components-totals-wrapper > *{ padding-left:0 !important; padding-right:0 !important; }
body .wc-block-cart .wc-block-components-totals-item{ padding:9px 0 7px !important; margin:0 !important; }
body .wc-block-cart .wc-block-components-totals-footer-item{ padding:16px 0 14px !important; }
body .wc-block-cart .wc-block-components-totals-coupon .wc-block-components-panel__button, body .wc-block-cart .wc-block-components-panel__button{ padding:16px 0 13px !important; margin:0 !important; font-weight:300 !important; font-size:14px !important; text-decoration:underline; text-decoration-color:var(--fvwl-gold); text-underline-offset:3px; }
body .wc-block-cart .wc-block-cart__submit{ margin:6px 0 0 !important; }
body .wc-block-cart .wc-block-cart__submit-container{ padding:0 !important; }
body .wc-block-cart .wc-block-cart__submit-button{ width:100% !important; min-height:56px !important; }
body .wc-block-cart .wc-block-cart__payment-options{ margin-top:14px; }
body .wc-block-cart .wc-block-components-payment-method-icons{ justify-content:center; gap:6px; }
body .wc-block-cart .wc-block-components-payment-method-icons .wc-block-components-payment-method-icon{ height:22px !important; width:auto !important; margin:0 !important; }
@media (max-width:999px){
  body .wc-block-cart.wc-block-components-sidebar-layout, body .wp-block-woocommerce-filled-cart-block.wc-block-components-sidebar-layout{ display:block !important; }
  body .wc-block-cart .wc-block-cart__sidebar, body .wc-block-cart.wc-block-components-sidebar-layout .wc-block-components-sidebar{ position:static; margin-top:28px !important; padding:22px 20px 20px !important; }
  body .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__image{ width:88px; padding-right:14px !important; }
  body .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__image img{ width:88px !important; max-width:88px; height:110px; }
  body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{ display:grid !important; grid-template-columns:88px minmax(0,1fr) auto; column-gap:14px; padding:18px 0 !important; }
  body .wc-block-cart table.wc-block-cart-items td{ padding:0 !important; }
  body .wc-block-cart table.wc-block-cart-items td.wc-block-cart-item__total{ padding-left:8px !important; }
}

/* leeg mandje */
body .wc-block-cart__empty-cart__title, body .wp-block-woocommerce-empty-cart-block h2{ font-family:var(--fvwl-serif) !important; font-weight:400 !important; font-size:var(--fvwl-fs-h2) !important; color:var(--fvwl-ink) !important; }
body .wc-block-cart__empty-cart__title::before{ display:none !important; }

@media (prefers-reduced-motion:reduce){
  .fvwl-btn, .woocommerce a.button, .woocommerce button.button, body .wc-block-components-button, body .et_pb_button{ transition:none !important; }
}

/* ---------- Titels in Divi-tekstblokken: Cormorant Garamond, gewone schrijfwijze, nooit breder dan het scherm ---------- */
#page-container .et_pb_text :is(h1,h2,h3,h4), #page-container .et_pb_heading :is(h1,h2,h3,h4), #page-container .et_pb_blurb :is(h2,h3,h4), #page-container .et_pb_cta :is(h1,h2,h3),
#page-container .et_pb_post_title :is(h1,h2), #page-container .et_pb_wc_title :is(h1,h2), #page-container .et_pb_fullwidth_header :is(h1,h2){
  font-family:var(--fvwl-serif) !important; font-weight:400 !important; text-transform:none !important; letter-spacing:.005em !important; overflow-wrap:break-word;
}
@media (max-width:767px){
  #page-container .et_pb_text h1, #page-container .et_pb_post_title h1, #page-container .et_pb_wc_title h1, #page-container .et_pb_fullwidth_header h1{ font-size:clamp(32px,9vw,40px) !important; line-height:1.1 !important; }
  #page-container .et_pb_text :is(h2,h3), #page-container .et_pb_heading :is(h1,h2,h3), #page-container .et_pb_cta :is(h2,h3){ font-size:clamp(26px,7.4vw,32px) !important; line-height:1.15 !important; }
}
/* links in Divi-tekst: nooit het standaardblauw */
/* niet in de footer: die is donker en houdt zijn eigen (lichte) linkkleur */
#page-container #main-content .et_pb_text a:not(.et_pb_button):not(.button), #page-container #main-content .et_pb_blurb a, #main-content .woocommerce a:not(.button):not(.woocommerce-LoopProduct-link):not(.wc-block-components-product-name){ color:var(--fvwl-ink); text-decoration-color:var(--fvwl-gold); text-underline-offset:3px; }
#page-container #main-content .et_pb_text p a:not(.et_pb_button):not(.button), #main-content .woocommerce p a:not(.button){ text-decoration:underline; text-decoration-thickness:1px; }


/* =====================================================================
   Inhoudsblokken van Divi op de homepage en de infopagina's (Over ons, Contact, FAQ) — 11 nov 2026
   De inhoud blijft in Divi; hier staat alleen de vorm. Selectors op inhoud (:has), niet op het volgnummer van een sectie.
   body.fvwl-home-tabs = homepage (child theme) · body.fvwl-info = Over ons, Contact, FAQ (fvwl-design.php)
   Regel: een blok met een knop staat op gebroken wit, de andere op wit.
   ===================================================================== */

/* ---------- 1. Tekst naast beeld ---------- */
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading){ background:var(--fvwl-white) !important; background-image:none !important; padding:96px 0 !important; margin:0 !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading):has(.et_pb_button){ background:var(--fvwl-paper) !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) > .et_pb_row{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:center; width:auto !important; max-width:1180px !important; margin:0 auto !important; padding:0 var(--fvwl-gutter) !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) > .et_pb_row:has(.et_pb_toggle){ align-items:start; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) > .et_pb_row + .et_pb_row{ margin-top:56px !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) > .et_pb_row::after{ display:none !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_column{ float:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_column_4_4{ grid-column:1 / -1; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_image{ margin:0 !important; width:100% !important; max-width:none !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_image .et_pb_image_wrap{ display:block; aspect-ratio:4/5; overflow:hidden; background:var(--fvwl-stone); }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_image img{ display:block; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; border-radius:0 !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_heading{ margin:0 0 26px !important; padding:0 !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_module_heading{ margin:0 !important; padding:0 !important; font-family:var(--fvwl-serif) !important; font-weight:400 !important; font-size:clamp(30px,3.1vw,44px) !important; line-height:1.14 !important; letter-spacing:.005em !important; text-transform:none !important; color:var(--fvwl-ink) !important; }
body.fvwl-info #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) h1.et_pb_module_heading{ font-size:clamp(38px,4.4vw,60px) !important; line-height:1.08 !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_text{ margin:0 0 30px !important; padding:0 !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_column > .et_pb_text:last-child{ margin-bottom:0 !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_button_module_wrapper{ margin:0 !important; text-align:left !important; }

/* lopende tekst in deze blokken en op de infopagina's */
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_text p,
body.fvwl-info #page-container #main-content .et_pb_text p, body.fvwl-info #page-container #main-content .et_pb_text li{ margin:0 0 1em !important; padding:0 !important; font-family:var(--fvwl-sans) !important; font-weight:300 !important; font-size:16px !important; line-height:1.75 !important; letter-spacing:.01em !important; color:var(--fvwl-anthracite) !important; }
body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_text p:last-child{ margin-bottom:0 !important; }

/* ---------- 2. Infopagina's: secties, rijen, gecentreerde tekst ---------- */
body.fvwl-info #page-container #main-content .et_pb_section:not(.et_pb_fullwidth_section){ background-color:var(--fvwl-white) !important; background-image:none !important; padding:88px 0 !important; margin:0 !important; }
body.fvwl-info #page-container #main-content .et_pb_section:not(.et_pb_fullwidth_section):has(.et_pb_button){ background-color:var(--fvwl-paper) !important; }
body.fvwl-info #page-container #main-content .et_pb_section:not(.et_pb_fullwidth_section) > .et_pb_row{ width:auto !important; max-width:1180px !important; margin-left:auto !important; margin-right:auto !important; padding:0 var(--fvwl-gutter) !important; }
/* een rij met alleen tekst (één kolom): smalle, rustige kolom */
body.fvwl-info #page-container #main-content .et_pb_section:not(:has(.et_pb_column_1_2)) > .et_pb_row > .et_pb_column_4_4{ max-width:760px; margin-left:auto !important; margin-right:auto !important; float:none !important; }
body.fvwl-info #page-container #main-content .et_pb_section:not(:has(.et_pb_column_1_2)) .et_pb_heading{ margin:0 0 22px !important; }
body.fvwl-info #page-container #main-content .et_pb_section:not(:has(.et_pb_column_1_2)) .et_pb_module_heading{ font-size:clamp(28px,3vw,40px) !important; line-height:1.15 !important; color:var(--fvwl-ink) !important; padding:0 !important; }
body.fvwl-info #page-container #main-content .et_pb_section + .et_pb_section:not(.et_pb_fullwidth_section):not(:has(.et_pb_button)){ padding-top:72px !important; }

/* ---------- 3. Banner bovenaan (Contact): dezelfde kop als een collectie met banner ---------- */
body.fvwl-info #page-container #main-content .et_pb_fullwidth_section{ background:var(--fvwl-white) !important; padding:26px var(--fvwl-gutter) 0 !important; margin:0 !important; }
body.fvwl-info #page-container #main-content .et_pb_fullwidth_header{ position:relative; display:flex !important; align-items:flex-end; width:100%; max-width:calc(var(--fvwl-container) - 2 * var(--fvwl-gutter)); aspect-ratio:21/9; min-height:0 !important; margin:0 auto !important; padding:0 !important; overflow:hidden;
  background-color:var(--fvwl-stone) !important; background-size:cover !important; background-position:50% 50% !important; background-repeat:no-repeat !important; }
body.fvwl-info #page-container #main-content .et_pb_fullwidth_header::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(20,18,16,.62) 0%, rgba(20,18,16,.18) 42%, rgba(20,18,16,0) 68%); pointer-events:none; }
body.fvwl-info #page-container #main-content .et_pb_fullwidth_header .et_pb_fullwidth_header_overlay, body.fvwl-info #page-container #main-content .et_pb_fullwidth_header .et_pb_fullwidth_header_scroll{ display:none !important; }
body.fvwl-info #page-container #main-content .et_pb_fullwidth_header .et_pb_fullwidth_header_container{ position:absolute !important; left:0; right:0; bottom:0; top:auto; z-index:1; display:block !important; width:auto !important; max-width:none !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:0 44px 34px !important; text-align:left !important; }
body.fvwl-info #page-container #main-content .et_pb_fullwidth_header .header-content-container, body.fvwl-info #page-container #main-content .et_pb_fullwidth_header .header-content{ display:block !important; width:auto !important; max-width:none !important; margin:0 !important; padding:0 !important; text-align:left !important; }
body.fvwl-info #page-container #main-content .et_pb_fullwidth_header .et_pb_module_header{ display:block !important; width:auto !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:0 !important; font-family:var(--fvwl-serif) !important; font-weight:400 !important; font-size:clamp(40px,5vw,64px) !important; line-height:1.05 !important; letter-spacing:.005em !important; text-transform:none !important; color:#fff !important; text-align:left !important; }

/* ---------- 4. Contact: tekst naast het formulier ---------- */
body.fvwl-info #page-container #main-content .et_pb_section:has(.et_pb_contact_form_container) > .et_pb_row{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:start; }
body.fvwl-info #page-container #main-content .et_pb_section:has(.et_pb_contact_form_container) > .et_pb_row::after{ display:none !important; }
body.fvwl-info #page-container #main-content .et_pb_section:has(.et_pb_contact_form_container) .et_pb_column{ float:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
body.fvwl-info #page-container #main-content .et_pb_section:has(.et_pb_contact_form_container) .et_pb_column:not(:has(.et_pb_contact_form_container)){ max-width:500px; }
body.fvwl-info #page-container #main-content .et_pb_section:has(.et_pb_contact_form_container) .et_pb_text{ margin:0 0 26px !important; padding:0 !important; }
body.fvwl-info #page-container #main-content .et_pb_section:has(.et_pb_contact_form_container) .et_pb_text :is(h1,h2,h3){ margin:0 !important; padding:0 !important; font-size:clamp(30px,3.1vw,44px) !important; line-height:1.14 !important; color:var(--fvwl-ink) !important; }
body.fvwl-info #page-container #main-content .et_pb_section:has(.et_pb_contact_form_container) .et_pb_button_module_wrapper{ margin:6px 0 0 !important; text-align:left !important; }
body.fvwl-info #page-container #main-content .et_pb_contact_form_container{ margin:0 !important; padding:0 !important; border:0 !important; background:none !important; }
body.fvwl-info #page-container #main-content .et_pb_contact_form{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; margin:0 !important; padding:0 !important; }
body.fvwl-info #page-container #main-content .et_pb_contact_form::after{ display:none !important; }
body.fvwl-info #page-container #main-content .et_pb_contact_form p.et_pb_contact_field{ float:none !important; clear:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
body.fvwl-info #page-container #main-content .et_pb_contact_form p.et_pb_contact_field:not(.et_pb_contact_field_half){ grid-column:1 / -1; }
body.fvwl-info #page-container #main-content .et_pb_contact_form textarea{ min-height:170px !important; }
body.fvwl-info #page-container #main-content .et_pb_contact_form .et_contact_bottom_container{ grid-column:1 / -1; float:none !important; display:flex; justify-content:flex-start; margin:4px 0 0 !important; padding:0 !important; }
body.fvwl-info #page-container #main-content .et_pb_contact_form .et_pb_contact_submit{ margin:0 !important; }
/* de firmagegevens onder het formulier: zelfde breedte en lijn als de rest */
body.fvwl-info .fvwl-bedrijf-wrap{ max-width:1180px !important; margin:0 auto !important; padding:56px var(--fvwl-gutter) 72px !important; }
body.fvwl-info .fvwl-bedrijf{ border-top:1px solid var(--fvwl-line) !important; padding-top:28px !important; font-size:15px; }
body.fvwl-info .fvwl-bedrijf a{ border-bottom-color:var(--fvwl-line-strong) !important; }

/* ---------- 5. Uitklapvragen (FAQ) ---------- */
body.fvwl-info #page-container #main-content .et_pb_toggle{ margin:0 !important; padding:20px 0 !important; border:0 !important; border-bottom:1px solid var(--fvwl-line) !important; border-radius:0 !important; background:none !important; box-shadow:none !important; }
body.fvwl-info #page-container #main-content .et_pb_text + .et_pb_toggle, body.fvwl-info #page-container #main-content .et_pb_heading + .et_pb_toggle{ border-top:1px solid var(--fvwl-line) !important; margin-top:8px !important; }
body.fvwl-info #page-container #main-content .et_pb_toggle .et_pb_toggle_title{ position:relative; margin:0 !important; padding:0 40px 0 0 !important; font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:16px !important; line-height:1.45 !important; letter-spacing:.01em !important; text-transform:none !important; color:var(--fvwl-ink) !important; cursor:pointer; }
body.fvwl-info #page-container #main-content .et_pb_toggle .et_pb_toggle_title::before{ content:"+" !important; position:absolute; right:2px !important; left:auto !important; top:50% !important; margin:0 !important; transform:translateY(-52%); font-family:var(--fvwl-sans) !important; font-weight:300 !important; font-size:24px !important; line-height:1 !important; color:var(--fvwl-anthracite) !important; }
body.fvwl-info #page-container #main-content .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title::before{ content:"\2013" !important; }
body.fvwl-info #page-container #main-content .et_pb_toggle .et_pb_toggle_content{ margin:0 !important; padding:14px 40px 2px 0 !important; font-family:var(--fvwl-sans) !important; font-weight:300 !important; font-size:15px !important; line-height:1.75 !important; color:var(--fvwl-anthracite) !important; }
body.fvwl-info #page-container #main-content .et_pb_toggle .et_pb_toggle_content p{ margin:0 0 .8em !important; padding:0 !important; font:inherit !important; color:inherit !important; }
body.fvwl-info #page-container #main-content .et_pb_toggle .et_pb_toggle_content p:last-child{ margin-bottom:0 !important; }
body.fvwl-info #main-content .fvwl-vz-faq{ max-width:1180px !important; margin:0 auto !important; padding:28px var(--fvwl-gutter) 56px !important; font-size:15px; color:var(--fvwl-muted); }

@media (max-width:980px){
  body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading){ padding:64px 0 !important; }
  body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) > .et_pb_row{ gap:44px; }
  body.fvwl-info #page-container #main-content .et_pb_section:not(.et_pb_fullwidth_section){ padding:64px 0 !important; }
  body.fvwl-info #page-container #main-content .et_pb_section:has(.et_pb_contact_form_container) > .et_pb_row{ gap:44px; }
}
@media (max-width:767px){
  body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading){ padding:52px 0 !important; }
  body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) > .et_pb_row{ grid-template-columns:minmax(0,1fr); gap:30px; padding:0 16px !important; }
  body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) > .et_pb_row + .et_pb_row{ margin-top:36px !important; }
  /* het beeld altijd boven de tekst (bij de FAQ: onder de vragen) */
  body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) > .et_pb_row:not(:has(.et_pb_toggle)) .et_pb_column:has(.et_pb_image){ order:-1; }
  body:is(.fvwl-home-tabs,.fvwl-info) #page-container #main-content .et_pb_section:has(.et_pb_column_1_2 .et_pb_image):has(.et_pb_heading) .et_pb_heading{ margin-bottom:18px !important; }
  body.fvwl-info #page-container #main-content .et_pb_section:not(.et_pb_fullwidth_section){ padding:52px 0 !important; }
  body.fvwl-info #page-container #main-content .et_pb_section:not(.et_pb_fullwidth_section) > .et_pb_row{ padding:0 16px !important; }
  body.fvwl-info #page-container #main-content .et_pb_fullwidth_section{ padding:0 !important; }
  body.fvwl-info #page-container #main-content .et_pb_fullwidth_header{ aspect-ratio:4/5; max-width:none; }
  body.fvwl-info #page-container #main-content .et_pb_fullwidth_header .et_pb_fullwidth_header_container{ padding:0 20px 22px !important; }
  body.fvwl-info #page-container #main-content .et_pb_fullwidth_header .et_pb_module_header{ font-size:40px !important; }
  body.fvwl-info #page-container #main-content .et_pb_section:has(.et_pb_contact_form_container) > .et_pb_row{ grid-template-columns:minmax(0,1fr); gap:36px; }
  body.fvwl-info #page-container #main-content .et_pb_section:has(.et_pb_contact_form_container) .et_pb_column:not(:has(.et_pb_contact_form_container)){ max-width:none; }
  body.fvwl-info #page-container #main-content .et_pb_contact_form{ grid-template-columns:minmax(0,1fr); }
  body.fvwl-info .fvwl-bedrijf-wrap{ padding:40px 16px 52px !important; }
  body.fvwl-info #main-content .fvwl-vz-faq{ padding:20px 16px 44px !important; }
}

/* =====================================================================
   Productkaarten — overal dezelfde beelden (12 nov 2026): raster van de collecties, Bestsellers, Cadeaus, stijlfamilies,
   homepage (tabbladen), afsluiter. Hoofdfoto volledig in beeld (contain, vaste marge van 6 %) op lichtgrijs; een packshot op wit
   smelt in het lichtgrijs; de sfeerfoto van datzelfde product vloeit erover bij hover (alleen met een muis).
   Dubbele klasse = genoeg gewicht tegen oudere regels zoals “.fvwl-htabs .fvwl-card__img img”.
   ===================================================================== */
html body .fvwl-card-main.fvwl-card-main{ position:absolute !important; top:6% !important; left:6% !important; right:auto !important; bottom:auto !important; width:88% !important; height:88% !important;
  max-width:none !important; margin:0 !important; object-fit:contain !important; object-position:50% 50%; background:transparent !important; box-shadow:none !important;
  transition:transform .7s cubic-bezier(.2,.6,.2,1), opacity .7s ease; }
html body .fvwl-card-main.fvwl-card-main.is-pack{ mix-blend-mode:multiply; }
html body .fvwl-card-hover.fvwl-card-hover{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; max-width:none !important; margin:0 !important;
  object-fit:cover !important; opacity:0; transition:opacity .6s ease, transform .7s cubic-bezier(.2,.6,.2,1); pointer-events:none; }
.fvwl-card__img, .et_shop_image{ background-color:var(--fvwl-stone); }
@media (hover:hover){
  html body .has-hover:hover .fvwl-card-hover.fvwl-card-hover{ opacity:1; }
  html body .fvwl-card:hover .fvwl-card-main.fvwl-card-main, html body li.product:hover .fvwl-card-main.fvwl-card-main,
  html body .fvwl-card:hover .fvwl-card-hover.fvwl-card-hover, html body li.product:hover .fvwl-card-hover.fvwl-card-hover{ transform:scale(1.03); }
}
.fvwl-ph{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:12%; text-align:center; }
.fvwl-ph__name{ font-family:var(--fvwl-serif); font-style:italic; font-size:24px; line-height:1.2; color:var(--fvwl-muted); }
.fvwl-ph__name::after{ content:""; display:block; width:24px; height:1px; margin:14px auto 0; background:var(--fvwl-gold); }
@media (prefers-reduced-motion:reduce){
  html body .fvwl-card-main.fvwl-card-main, html body .fvwl-card-hover.fvwl-card-hover{ transition:none !important; transform:none !important; }
}

/* “Gerelateerde producten” / “Misschien vindt u dit ook leuk”: kop in de schreefletter, gewone schrijfwijze (was kapitalen) */
html body .related.products > h2, html body .upsells.products > h2, html body .cross-sells > h2{ font-family:var(--fvwl-serif) !important; font-weight:400 !important; font-size:clamp(28px, 2.6vw, 38px) !important;
  letter-spacing:.005em !important; text-transform:none !important; color:var(--fvwl-ink) !important; margin:0 0 26px !important; }

/* Productkaarten: overal dezelfde rangorde — naam in de schreefletter, geurnoten klein en ingetogen, prijs rustig (12 nov) */
html body .fvwl-card .fvwl-card__name{ margin:16px 0 0 !important; font-family:var(--fvwl-serif) !important; font-weight:500 !important; font-size:21px !important; line-height:1.2 !important; letter-spacing:.005em !important; text-transform:none !important; color:var(--fvwl-ink) !important; }
html body .fvwl-card .fvwl-notes--card{ display:block; margin:6px 0 0 !important; font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:10.5px !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:var(--fvwl-muted) !important; }
html body .fvwl-card .fvwl-card__meta{ margin:8px 0 0 !important; font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:14px !important; letter-spacing:.04em !important; color:var(--fvwl-anthracite) !important; }
@media (max-width:767px){ html body .fvwl-card .fvwl-card__name{ font-size:17px !important; margin-top:11px !important; } html body .fvwl-card .fvwl-card__meta{ font-size:13.5px !important; } }

/* Het zwevende mandjesbolletje rechtsonder (side-cart-plugin) dubbelt het mandje in de header, dat hetzelfde zijpaneel opent,
   en ligt op elke pagina over de inhoud (productfoto's, knoppen). Waar de nieuwe header staat, valt het weg (12 nov). */
body.fvwl-new-header .xoo-wsc-basket{ display:none !important; }

/* Zijmandje: knop bij een leeg mandje en “Snel bekijken” bij de suggesties volgens het designsysteem (12 nov) —
   was een zwarte knop en gouden tekst op wit. */
html body .xoo-wsc-empty-cart a.xoo-wsc-btn{ display:inline-flex !important; align-items:center; justify-content:center; min-height:48px; padding:3px 26px 0 !important; border-radius:0 !important;
  background:var(--fvwl-anthracite) !important; color:var(--fvwl-white) !important; border:1px solid var(--fvwl-anthracite) !important; font-family:var(--fvwl-sans) !important; font-weight:400 !important;
  font-size:12px !important; letter-spacing:.2em !important; text-transform:uppercase !important; text-decoration:none !important; }
html body .xoo-wsc-empty-cart a.xoo-wsc-btn:hover{ background:var(--fvwl-ink) !important; border-color:var(--fvwl-ink) !important; }
html body .vwlv-sp-qv-btn{ min-height:36px; padding:3px 14px 0 !important; border-radius:0 !important; background:transparent !important; color:var(--fvwl-anthracite) !important; -webkit-text-fill-color:var(--fvwl-anthracite) !important;
  border:1px solid var(--fvwl-anthracite) !important; font-family:var(--fvwl-sans) !important; font-weight:400 !important; font-size:10.5px !important; letter-spacing:.16em !important; text-transform:uppercase !important; }
html body .vwlv-sp-qv-btn:hover{ background:var(--fvwl-anthracite) !important; color:var(--fvwl-white) !important; -webkit-text-fill-color:var(--fvwl-white) !important; }

/* iPhone (Safari): een invoerveld met een letter kleiner dan 16 px laat de pagina inzoomen bij het aantikken. Gemeten in
   WebKit op 12 nov: de nieuwsbrief in de footer (15 px), de sortering op de collectiepagina's (14 px). Op smalle schermen
   krijgt elk tekstveld en elke keuzelijst daarom 16 px. De hoogte en de opmaak van de velden veranderen niet. */
@media (max-width:767px){
  html body input[type="text"], html body input[type="email"], html body input[type="search"], html body input[type="tel"],
  html body input[type="password"], html body input[type="number"], html body input[type="url"], html body select, html body textarea{ font-size:16px !important; }
}

/* Aanraakschermen kennen geen hover: de tweede foto van een kaart (sfeerbeeld bij hover) is daar nooit te zien, maar werd
   wel gedownload (tot 75 extra beelden op Geurkaarsen; Lighthouse, 12 nov). Met display:none laadt de browser een beeld
   met loading="lazy" niet. Op een toestel met muis verandert er niets. */
@media (hover:none){
  html body .fvwl-card-hover.fvwl-card-hover{ display:none !important; }
}

/* =====================================================================
   Nieuwe beelden in de blokken en de tegels (fvwl-blokbeelden.php, 13 nov 2026)
   - het beeld is <picture class="fvwl-bb"> (.webp, .jpg als terugval), 4:5, altijd object-fit:cover in het midden
   - de drie blokken “tekst naast beeld” op Geurkaarsen krijgen de opmaak van de blokken op de homepage:
     twee kolommen, de tekst verticaal in het midden naast het beeld
   - de vier tegels van de homepage: het beeld vult de tegel; titel en “Ontdek” blijven HTML (child theme, home.css)
   ===================================================================== */
picture.fvwl-bb{ display:block; width:100%; height:100%; }
picture.fvwl-bb > img.fvwl-bb__img{ display:block; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; object-position:50% 50%; border-radius:0 !important; }
.difl_advanced_blurb:has(.fvwl-bb-tile){ background-image:none !important; }
.difl_advanced_blurb > .fvwl-bb-tile{ position:absolute; inset:0; z-index:0; }

body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb){ background:var(--fvwl-white) !important; background-image:none !important; padding:96px 0 !important; margin:0 !important; }
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture[data-fvwl-bb="blok_meer-dan-geur"]){ background:var(--fvwl-paper) !important; }
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) > .et_pb_row{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:center; width:auto !important; max-width:1180px !important; margin:0 auto !important; padding:0 var(--fvwl-gutter) !important; }
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) > .et_pb_row::after{ display:none !important; }
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) .et_pb_column{ float:none !important; width:auto !important; margin:0 !important; padding:0 !important; background:none !important; }
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) .et_pb_image{ margin:0 !important; width:100% !important; max-width:none !important; }
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) .et_pb_image .et_pb_image_wrap{ display:block; aspect-ratio:4/5; overflow:hidden; background:var(--fvwl-stone); }
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) .et_pb_text{ margin:0 0 26px !important; padding:0 !important; }
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) .et_pb_column > .et_pb_text:last-child{ margin-bottom:0 !important; }
/* de kop van het blok = de eerste tekstmodule van de kolom */
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) .et_pb_column > .et_pb_text:first-child :is(h1,h2,h3,h4){ margin:0 !important; padding:0 !important; font-family:var(--fvwl-serif) !important; font-weight:400 !important; font-size:clamp(30px,3.1vw,44px) !important; line-height:1.14 !important; letter-spacing:.005em !important; text-transform:none !important; color:var(--fvwl-ink) !important; }
/* lopende tekst en tussenkoppen */
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) .et_pb_text :is(p,li){ margin:0 0 1em !important; padding:0 !important; font-family:var(--fvwl-sans) !important; font-weight:300 !important; font-size:16px !important; line-height:1.75 !important; letter-spacing:.01em !important; color:var(--fvwl-anthracite) !important; }
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) .et_pb_text p:last-child{ margin-bottom:0 !important; }
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) .et_pb_text :is(strong,b){ font-weight:400 !important; color:var(--fvwl-ink) !important; }
body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) .et_pb_column > .et_pb_text:not(:first-child) :is(h2,h3,h4){ margin:1.2em 0 .35em !important; padding:0 !important; font-family:var(--fvwl-serif) !important; font-weight:400 !important; font-size:24px !important; line-height:1.25 !important; text-transform:none !important; color:var(--fvwl-ink) !important; }
@media (max-width:980px){
  body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb){ padding:64px 0 !important; }
  body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) > .et_pb_row{ gap:44px; }
}
@media (max-width:767px){
  body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb){ padding:52px 0 !important; }
  body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) > .et_pb_row{ grid-template-columns:minmax(0,1fr); gap:30px; padding:0 16px !important; }
  /* het beeld altijd boven de tekst */
  body.fvwl-col #page-container #main-content .et_pb_section:has(.et_pb_image picture.fvwl-bb) .et_pb_column:has(.et_pb_image){ order:-1; }
}

/* Links tussen de gewone login en de login voor groothandelaars, en de melding “er bestaat al een account” (fvwl-b2b.php, 13 nov 2026) */
.fvwl-b2b-switch{ margin:20px 0 0 !important; padding:0 !important; font-family:"Josefin Sans",sans-serif; font-size:14px; line-height:1.6; color:var(--fvwl-anthracite); }
.fvwl-b2b-switch--top{ margin:0 0 22px !important; }
.fvwl-b2b-switch a, .fvwl-b2b-exists a{ color:var(--fvwl-ink) !important; text-decoration:underline; text-decoration-color:var(--fvwl-gold); text-underline-offset:4px; white-space:nowrap; }
.fvwl-b2b-switch a:hover, .fvwl-b2b-exists a:hover{ text-decoration-color:var(--fvwl-ink); }

/* Mandje en betaalstap: bij een artikel met maar één keuze die gelijk is aan zijn kenmerk (“Lighter: Lighter”) de regel verbergen */
.fvwl-geen-variant .wc-block-components-product-details, .fvwl-geen-variant .wc-block-components-product-metadata__variation-data{ display:none !important; }
