/** Shopify CDN: Minification failed

Line 580:25 Unexpected "gt"

**/
/* ==========================================================================
   Solza kleurtokens (task8)
   --------------------------------------------------------------------------
   Paletlaag op de officiele merkwaarden (Solza 3.0). De waarden hieronder
   zijn per merkbesluit omgezet van de oude theme-waarden (#00214a,
   #f5c500, #efe2d8) naar het officiele palet.

   LET OP — twee plekken: de meeste sectie-achtergronden en knoppen komen
   uit de theme-editor-kleurschema's (Theme settings > Colors, 13 schema's
   die als rgb(var(--color-*)) renderen). Die staan los van deze tokens en
   zijn in dezelfde omzetting meegenomen (config/settings_data.json).
   Een volgende merkbrede kleurwijziging vraagt dus weer beide: dit blok
   EN de schema's.

   Stone en burgundy worden nog nergens in de theme gebruikt en staan hier
   alvast op de officiele merkwaarde.
   ========================================================================== */
:root {
  /* -- paletlaag ------------------------------------------------------- */
  --solza-indigo-blue: #181f3e;
  --solza-indigo-blue-rgb: 24, 31, 62;  /* voor rgba()-afgeleiden */
  --solza-golden-mango: #f2c600;
  --solza-driftwood-cream: #ebe0d3;
  --solza-driftwood-cream-light: #f9f1ed;
  --solza-tuscan-terra: #ed6946;
  --solza-stone: #2e2d2c;              /* nog ongebruikt */
  --solza-burgundy: #741a21;           /* nog ongebruikt */
  --solza-white: #ffffff;

  /* -- semantische laag (verwijst naar het palet) ----------------------- */
  --solza-color-text: var(--solza-indigo-blue);
  --solza-color-accent: var(--solza-golden-mango);        /* alleen kleine merk-signaturen */
  --solza-color-cta: var(--solza-tuscan-terra);
  --solza-color-price-sale: var(--solza-tuscan-terra);
  --solza-color-surface: var(--solza-white);
  --solza-color-surface-warm: var(--solza-driftwood-cream);
  --solza-color-surface-muted: var(--solza-driftwood-cream-light);

  /* -- functionele kleuren (geen merkkleuren, nooit vervangen door palet) */
  --solza-color-border: #e8e8e8;
  --solza-color-text-muted: #5a6b80;
  --solza-color-stock-available: #008500;
  --solza-color-stock-low: var(--solza-golden-mango);
  --solza-color-stock-none: var(--solza-color-text-muted);
}

.m-topbar-section{
  z-index: 90!important;
}

/* -- geen automatische hoofdletters op datawaarden -----------------
   Vendor-CSS zet text-transform: capitalize op drie plekken, wat in
   het Nederlands foute weergaven geeft ("Eiken Naturel", "2,20 M2
   Per Pak", "78 X 201,5 Cm"):
   1. knop-variantopties        (modules.css)
   2. actieve filterpillen      (collection.css, .m-active-facets)
   3. predictive-search-items   (search.css)
   Sitewide teruggezet naar de ruwe datawaarde. De body-prefix geeft
   net iets hogere specificiteit dan de vendor-regels, zodat de
   volgorde van de asynchroon geladen vendor-bestanden niet uitmaakt.
   Vendor-bestanden zelf bewust niet aangeraakt. */
body .m-product-option--button .m-product-option--node__label,
body .m-active-facets__item,
body .m-predictive-search__list-item {
  text-transform: none;
}


/* FOXKIT */
.m-megamenu__navigation-container.m-foxkit-menu-desktop {
  padding-bottom: 26px;
}
.template-product .foxkit-product-bundles__sub-total,
.template-product .foxkit-product-bundles__save-amount {
  font-size: calc(var(--font-h5-desktop) * 1px);
  font-weight: 500;
}
.template-product .foxkit-product-bundles__total-amount {
  font-size: calc(var(--font-base-small-size) * 1px);
}

body .foxkit-product-bundles__total-label {
  color: #000;
}
body .foxkit-product-bundles__sub-total {
  color: #AE5000;
}

body .foxkit-product-bundles__total-amount {
  font-size: 14px;
  margin-right: 0;
}
body .foxkit-card__prices>:not(.foxkit-hidden)+* {
  margin-left: 0;
}
body .foxkit-product-bundles .foxkit-product-card__checkbox-label {
  width: 18px;
  height: 18px;
}
body .foxkit-product-bundles .foxkit-product-card__checkmark:after {
  left: 6px;
  top: 2px;
}
body .foxkit-product-bundles .foxkit-product-card__title {
 font-weight: 500; 
}
body .foxkit-product-bundles .foxkit-product-card__variants {
  align-items: center;
}

/* END FOXKIT */

.m-collection-card__title,
.m-product-card__title,
.m-article-card__title,
.m-price__sale .m-price-item--last,
.m-product-card__tag-name,
.m-header__top .m-icon-text,
.main-product__block .m-product-shipping__title,
.m-product-details-tabs .m-tab-header,
.m-megamenu__toggle,
.m-product-tag {
  font-weight: 500;
}
.m-predictive-search__heading {
  font-family: var(--font-stack-body);
  font-size: var(--font-base-size);
  font-weight: 500;
}
.m-megamenu__toggle {
  --toggle-border-radius: 0;
}

.template-product .m-tabs__header {
  justify-content: start;
}
.template-product .m-product-details-tabs .m-tab-header {
  margin-left: 0;
  margin-right: 80px;
}
.template-product .m-product-details-tabs .m-page-width {
  max-width: 1200px;
}
.m-megamenu__navigation-container {
  padding: 17px 0;
  --menu-item-hover-background: 255, 255, 255;
  --menu-item-hover-background-opacity: 1;
  --box-shadow-value: 0 10px 20px 0;
  --navigation-border-width: 0;
}
.m-megamenu__menu-item {
  --corner-radius: 5px;
}
.m-main-product .main-product__block .product-block-group--price .m-price {
  font-size: 20px;
}
.m-main-product
  .main-product__block
  .product-block-group--price
  .m-price__sale
  .m-price-item--regular {
  font-size: calc(var(--font-base-size, 16) * 1px);
}
.m-collection-page-header__inner .m-collection-page-header__description {
  margin-top: 12px;
}


.m-quantity {
  --color-form-field: var(--solza-white);
}
.m-search-form select {
  --form-field-horizontal-spacing: 17px;
}
.m-search-form__select {
  --form-field-horizontal-spacing: 18px;
  --color-border: 0, 0, 0, 0.1;
}
.m-newsletter-form__wrapper .m-newsletter-form__button {
  padding-right: 12px;
}
.m-breadcrumb {
  --breadcrum-spacing-top: 14px;
}
.m-main-product .main-product__block-title + .main-product__block-rating svg,
.m-product-featured__review svg {
  width: 14px;
  height: 14px;
}
.m-main-product .main-product__block-title + .main-product__block-rating span,
.m-product-featured__review span {
  font-size: 14px;
  color: rgb(var(--color-foreground-secondary));
}
.m-product-tag {
  padding: 6px 10px;
}
.template-product .m-section-apps .m-page-width {
  max-width: 1180px;
  margin: 0 auto;
}

.template-product .m-complementary-products .m-product-card {
  padding: 10px;
}
.m-modal-quickview .m-modal--close svg {
  width: 20px;
  height: 20px;
}
.m-breadcrumb--separator svg {
  color: rgb(var(--color-foreground-secondary));
}
@media (min-width: 768px) {
  .template-product .m-breadcrumb {
    display: none;
  }
  .main-product__block .m-breadcrumb {
    display: block;
  }
  /* SEO-breadcrumb bovenaan de PDP (buiten het main-product-block-systeem
     om, voor volle breedte boven afbeelding/titel): expliciet zichtbaar
     houden ondanks de generieke .template-product-regel hierboven. */
  .solza-breadcrumb-bar .m-breadcrumb {
    display: block;
  }
}

/* PDP-breadcrumbbalk (Solza 3.0): volle-breedte crème balk, strak aansluitend
   op de onderkant van de header. De balk staat bewust buiten de
   m-section--padding van de main-product-sectie (zie main-product.liquid),
   zodat er geen gap ontstaat tussen header en balk -- de bestaande
   sectie-top-padding (48px) zorgt daarna op de normale, al elders gebruikte
   manier voor de ruimte tussen balk en productafbeelding/titel eronder. */
.solza-breadcrumb-bar .m-breadcrumb {
  background: var(--solza-driftwood-cream);
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 12px;
  padding-bottom: 12px;
}

.solza-breadcrumb-bar .m-breadcrumb--wrapper {
  margin-left: 0;
  margin-right: 0;
}

/* 16px = dezelfde padding-left als .solza-header__cat-link (categorierij),
   zodat de ZICHTBARE TEKST van "Home" en "Plak PVC" precies gelijk uitlijnt.
   De onzichtbare box-rand van beide elementen stond al op dezelfde x-positie
   (via .m-page-width + de margin-left:0 hierboven), maar .m-breadcrumb--item
   heeft van zichzelf een kleinere interne padding (8px) dan .solza-header__
   cat-link (16px) -- gecontroleerd via getBoundingClientRect(), niet op het
   oog. Zonder deze regel oogt "Home" 8px naar links verschoven t.o.v.
   "Plak PVC", ook al staan de box-randen zelf wel gelijk. */
.solza-breadcrumb-bar .m-breadcrumb--home {
  padding-left: 16px;
}

.solza-breadcrumb-bar .m-breadcrumb--item {
  color: var(--solza-indigo-blue);
  font-size: 13px;
}

.solza-breadcrumb-bar .m-breadcrumb--item-current {
  color: rgba(var(--solza-indigo-blue-rgb), 0.65);
  font-size: 13px;
}

.solza-breadcrumb-bar .m-breadcrumb--separator svg {
  color: rgba(var(--solza-indigo-blue-rgb), 0.45);
  width: 10px;
  height: 10px;
}
@media (min-width: 1024px) {
  .m-collection-page-header.m-collection-page-header--small {
    padding: 44px 0 80px;
  }
}
.m-custom-newsletter .form-field {
  --form-field-vertical-spacing: 12px;
  --form-field-horizontal-spacing: 16px;
  height: 50px;
  line-height: 50px;
}
.m-footer-widget__info .social-media-links a {
  color: rgb(var(--color-foreground));
}
.m-footer-widget__info .social-media-links a:hover {
  color: rgb(var(--color-foreground-seccondary));
}
@media screen and (max-width: 1279px) {
  .m-header__top {
    border-bottom: 1px solid rgb(var(--color-border));
  }
  .m-collection-page-header.m-collection-page-header--small {
    padding: 24px 0;
  }
  .m-filter-button {
    margin: 0;
  }
}

@media screen and (max-width: 767px) {
  .m-section--padding {
    --min-section-padding-top: 32px;
    --min-section-padding-bottom: 32px;
  }
  .template-product .m-tabs--responsive .m-accordion--item {
    margin-bottom: 0;
  }
  .template-product .m-product-collapsible .m-accordion--item-button {
    padding: 20px 0;
  }
  .m-header__heading--logo-wrapper {
    max-width: 125px;
  }
  .m-collection-page-header__inner {
    text-align: left;
  }
  .m-main-product__info .main-product__block-breadcrumb {
    display: none;
  }
  .m-breadcrumb {
    --breadcrum-spacing-top: 12px;
  }
}



html {
scroll-behavior: smooth;
}

section.sf-header header.bg-white.sf-header__desktop .sf-menu-wrapper__desktop, section.sf-header header.bg-white.sf-header__desktop .sf-menu-logo-bar svg path {
    color: white;
    fill: white!important;
}

.sf-header .sf-menu-item>a:hover {
  color: white !important;
}

@media only screen and (max-width: 767px) {
div.sf-grid div.image-card {
    overflow-x: hidden;
}
}

/* Custom CSS */

/* Topbar CSS */

.sf-topbar {
    border: none;
    background-color: var(--solza-indigo-blue);
    color: white;
}

.sf-topbar .sf__text-link {
    color: white;
}

/* Einde Topbar CSS */

[id$="16225125199f82d8fe"] .section-my {
    padding-top: 15px;
    padding-bottom: 15px;
    margin-bottom: 0;
    margin-top: 0;
}

.sf__font-normal {
    font-weight: 400;
}

[id$="16225316461d1cff80"] .collection-card__info h3 a {
    font-weight: 400;
    font-size: 24px;
    line-height: 34px;
    margin-bottom: 4px;
}

[id$="16225316461d1cff80"] .collection-card__info p {
    color: #666;
}

[id$="16225125199f82d8fe"] .sf-icon-box__text h3 {
    line-height: 26px;
    font-size: 20px;
    font-weight: 500;
}

@media (min-width: 1536px) {
    [id$="1621243260e1af0c20"] .slide__block-title {
        font-size: 100px;
        line-height: 95px;
    }
}

@media (max-width: 576px) {

    [id$="1621243260e1af0c20"] a.sf__mobile-button,
    [id$="162251092958fcda7c"] .sf__btn-primary,
    [id$="162251092958fcda7c"] .sf__btn-secondary {
        width: 100%;
    }

    [id$="16225316461d1cff80"] .section__heading {
        text-align: center;
    }

    [id$="16225316461d1cff80"] .collection-card__info h3 a {
        font-weight: 500;
    }

    [id$="16225316461d1cff80"] .collection-card__info p {
        font-size: 14px;
        line-height: 20px;
    }

    [id$="16225125199f82d8fe"] .sf-icon-box__text h3 {
        font-size: 18px;
        margin-bottom: 2px;
    }
}

.image-card .sf-image,
.collection-card__image {
    border-radius: 4px;
}

[id$="1659076640d132ac34"] .section-my {
    margin-top: 0px !important;
}

.collection-card__info h3 a {
    color: white !important;
}

.sf__pcard-content {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    text-align: center;
}

.collection-description {
    margin-bottom: 85px;
}

.collection-description h2 {
    font-size: 32px;
    margin-bottom: 12px;
}

.collection-description h3 {
    font-size: 25px;
    margin-bottom: 12px;
}

.collection-description p {
    margin-bottom: 25px;
}

.collection-description a {
    text-decoration: underline;
}

.search-container {
    background-color: var(--solza-indigo-blue) !important;
    color: white;
}

.flex form {
    color: black;
}

.sf__topbar-inner .sf__custom-select .select-selected,
.sf__topbar-inner .sf__select .select-selected{
    color: white;
}

.sf-header__bg {
    background: var(--solza-indigo-blue) !important;
}

.section__header {
    margin-bottom: 30px;
}

.sf-menu__banner {
    color: white;
}

.collection-header {
    padding-bottom: 0px !important;
}

.section-py {
    padding-top: 50px;
    padding-bottom: 50px;
    margin-bottom: 0px;
}

.section-my {
    padding-top: 50px;
    padding-bottom: 50px;
    margin-bottom: 0px;
}

.imagecardshome {
    margin-top: -40px;
}

.usp-home {
    margin-top: -15px;
    margin-bottom: -15px;
}

.pvchome {
    margin-top: -50px;
    margin-bottom: -25px;
}

.prose :where(table):not(:where([class~=not-prose] *)) {
    font-size: 16px;
}

.f-popup__teaser svg {
    display: none;
}

.prod__sticky-atc .product-samples-button-wrap {
    display: none;
}

.sf__pcard {
    border: 1px solid #efefef;
    padding: 0;
    border-radius: 4px;
}

.main-product__block-visitors {
    margin-top: 0.5rem !important;
}

.usppdp .section-my {
    margin-top: 0px;
    padding-top: 0px;
}

.producteigenschappen {
    background-color: #FBFBFB;
    padding: 8px 15px;
    border-radius: 4px;
    border: 1px solid var(--solza-color-border);
}

.productomschrijving {
    padding: 8px 15px;
}

.pro {
    list-style-image: url(/cdn/shop/files/plus_1.png?v=1662023273);
}

.con {
    list-style-image: url(/cdn/shop/files/minus.png?v=1662023464);
}

.instructievideo {
    margin-bottom: 30px;
}

.sf-header .sf-menu-item&gt;

a:hover {
    color: white;
}

.foxkit-related-products h2,
.sf__blog-post h2 {
    font-size: 30px;
    margin-top: 50px;
    margin-bottom: 25px;
}

.template-product .section-my {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.productomschrijving h4 {
    font-size: 18px;
}

.newsletter__form-heading h3 {
    font-size: 25px;
    line-height: 1.5;
}

.collection-description ul {
    list-style: disc;
    margin-left: 20px;
    margin-bottom: 20px;
    line-height: 26px;
}

.collection-description ol {
    list-style: decimal;
    margin-left: 20px;
    margin-bottom: 20px;
    line-height: 26px;
}

.prod__tag-hot {
    background-color: #e84118;
}

.prod__tag-new {
    background-color: #8c7ae6;
}

.prod__tag-sale {
    background-color: #44bd32;
}

.productinfo {
    margin-top: 50px;
}

.merkenhome .section-my {
    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
}

.usppdp .sf-column {
    border: 1px dashed #eeeeee;
    padding: 20px;
}



.bannerimageproefmonster .section-my {
    padding: 0px;
    margin-top: 25px;
    margin-bottom: 25px;
}

.proefmonsterstappenplan .section-my {
    padding: 0px;
    margin-top: 50px;
    margin-bottom: 50px;
}

/* Responsive maken productinformatie (custom liquid) */

@media only screen and (max-width: 749px) {
	.custom-liquid .productinfo {
		max-width: 100% !important;
		float: left !important;
		margin-left: 0 !important;
      height: auto !important;
	}
}

@media only screen and (min-width: 768px) {
  .pdptrusted {
    display:none;
  }
}

/* Banner image spacing */

[id$="adb9b6c0-0218-4662-933a-6b64997788ed"] .section-my,
[id$="block--165892180748c3caaa-0"] .section-my,
[id$="c0d25574-05df-4ed1-98d6-bb63449a8e6f"] .section-my,
[id$="549a33b6-20c9-4af9-a25a-460af8858c94"] .section-my,
[id$="6e8ca226-49c2-4291-b270-ae8c5f18b462"] .section-my,
[id$="aeaab871-45a6-422e-b480-6d6f32dafb83"] .section-my,
[id$="176bd292-fdfa-46bb-8655-252f928da179"] .section-my,
[id$="1cdf74c7-6d38-40d5-be62-99b1fe552b3c"] .section-my,
[id$="144ac864-eefe-4eca-858a-e11732c28088"] .section-my,
[id$="168c67fa-424c-4c6d-9f4b-182b8ce3c872"] .section-my,
[id$="1faaa987-f3ab-45d4-929b-74dafcba6dae"] .section-my,
[id$="16599608331e948206"] .section-my,
[id$="16589253244b79068d"] .section-my,
[id$="block--165892180748c3caaa-0"] .section-my,
[id$="aeaab871-45a6-422e-b480-6d6f32dafb83"] .section-my,
[id$="1eb01f95-a44e-4954-8ec6-9630a610eab7"] .section-my,
[id$="d2b6183a-06c3-4b48-b113-77ab22cbe073"] .section-my,
[id$="422c4cce-bd6e-4d22-9e81-b2abf4ca9b5f"] .section-my,
[id$="8ba0ded7-c14b-4c86-93e1-b5a083b5499b"] .section-my,
[id$="46a8e8a6-d782-4858-88ce-cff784cc5e1b"] .section-my {
  margin-top: 50px;
  padding-top: 0px;
}

[id$="878a46cf-5e44-40af-a8f4-cbe94d7c3aef"] .section-my, 
[id$="1b1eeb8e-13e8-4f02-9894-493a8a583783"] .section-my, 
[id$="aa3cf38e-c781-44b2-bdc2-3a3a7b2bbcd0"] .section-my, 
[id$="8f3c19cd-b1dd-4122-9271-3c62edb9d651"] .section-my {
  margin-top: 0px;
  padding-top: 0px;
}


/* Showroom page */

@media only screen and (max-width: 749px) {

}

[id$="block--ff40492a-d876-4eaa-9d3d-2f7a4add66b7"],
[id$="block--c45a56a9-6185-4cfd-a13a-21b16d6dc3b5"],
[id$="block--66ab6aca-6faf-433e-95f4-77b2a7222bc8"],
[id$="block--8ebb3b86-ffa2-4985-b47d-e8efc6a61eec"] {
  padding: 10px !important;
}

[id$="16279103176929__main"] .sf__page-header {
  display: none;
}

[id$="16279103176929__main"] h1 {
  font-size: 33px;
}

/* Searchbar*/

.m-search-wrapper .text-\[\#666\] {
  color: white !important;
}
.m-search-wrapper .text-\[\#999\] {
  color: white !important;
}
.m-search-item .text-color-regular-price {
  color: #009900 !important;
}

/* Product reviews */

.spr-icon-star {
  color: var(--solza-golden-mango) !important;
}

.spr-review-reportreview {
  display: none !important;
}

#shopify-product-reviews {
  border: 1px solid var(--solza-color-border) !important;
  background: #fbfbfb !important;
}

/* usp's header home */

[id$="1f5bb540-ac35-4b15-975c-1693ed5de560"] .section-my {
  padding-top: 0px !important;
  margin-top: 15px !important;
  padding-bottom: 15px;
}

[id$="1f5bb540-ac35-4b15-975c-1693ed5de560"] .section-my p {
  color: #333333;
  font-size: 13px;
  font-weight: 400;
}

/* verstoppen op telefoon */

@media only screen and (max-width: 749px) {
  .hide-on-mobile {
    display:none;
  }
}


/* CART */

.sf-cart__summary {
  width: 600px;
  background: #fbfbfb;
  border: 1px solid var(--solza-color-border);
  margin-right: 0px;
  padding-bottom: 15px;
  padding-top: 15px;
  margin-top: 15px;
}

.sf-cart__table-head {
  background: #fbfbfb;
  border: 1px solid var(--solza-color-border);
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 5px;
}

.paymenticonsincart {
  padding-top: 15px;
  padding-bottom: 15px;
}

[id$="16279103078625__main"] .page-header__breadcrumb {
  display:none;
}

[id$="16279103078625__main"] .page-header {
  padding-bottom: 1rem;
}

.sf-cart .f-incart {
  overflow: hidden;
}

.f-incart {
  background: #fbfbfb !important;
  border: 1px solid var(--solza-color-border) !important;
}

.scd__items {
  padding-left: 5px;
  padding-right: 5px;
}

.sf-cart__item-product-image {
  border-radius: 5px;
}

[id$="block-7ca74538-a1c8-42b4-8ee0-ec16319d9275"] {
    border: 1px solid var(--solza-color-border) !important;
    background: #fbfbfb !important;
}

.simpAsk-container {
  padding: 0px 30px 0px 30px !important;
}

#simpAskQuestion {
  margin: 0px auto 0;
}
#shopify-product-reviews {
  margin: 0 !important;
}

/***** uitlichten van product binnen een blog of andere tekst *****/

.uitlichten {
        max-width:1400px; /* formaat container op smartbright.nl */
        font-family:Poppins, Arial;
        font-size:14px;
        padding:30px;
        background-color:var(--solza-white);
        border-radius:6px;
        box-shadow:2px 2px 50px rgba(38, 63, 77, 0.1);
    }
    .uitlichten:hover {
        box-shadow:2px 2px 50px rgba(38, 63, 77, 0.2);
    }
    .uitlichten a {
        color:#48CFB0;
        text-decoration:none;
    }
    /* kolommen bepalen */  
    .uitlichten .uitlichtenLinkerkant {
        position: relative;
        float:left;
        width:40%;
    }
    .uitlichten .uitlichtenRechterkant {
        float:left;
        width:60%;
    }
    /* linkerkolom */
    .uitlichtenLinkerkant a {
        display:block;
        height:250px;
        overflow:hidden;
    }
    .uitlichtenLinkerkant img {
        width:90%;
        position:relative;
        top:50%;
        -webkit-transform:translateY(-50%);
        -ms-transform:translateY(-50%);
        transform:translateY(-50%);
    }
    .uitlichtenLinkerkant .label {
        align-items:center;
        background-color:#e84118;
        border-radius:50%;
        box-shadow:2px 4px 10px rgba(0,0,0,0.1);
        color:var(--solza-white);
        display:flex;
        flex-direction:column;
		font-weight:600;
        height:93px;
        justify-content:center;
        left:-20px;
        position:absolute;
        top:-20px;
        width:93px;
        z-index:1;
    }
       /* rechterkolom */
    .uitlichtenRechterkant h4 {
        font-size:16px;
        font-weight:600;
    }
    .uitlichtenRechterkant p {
        padding-bottom:20px;
        margin:0px;
    }
    .uitlichtenRechterkant .knop {
        align:center;
        font-size:14px;
        background-color:#009900;
        border-radius:3px;
        box-shadow:-1px 4px 4px rgba(0,0,0,0.08);
        color:var(--solza-white);
        font-weight:600;
        padding:13px 13px;
        text-decoration:none;
    }
    .uitlichtenRechterkant .knop:hover {
        background-color:#d95912;
    }
    .uitlichtenRechterkant .uitlichtenPrice {
        padding-bottom:30px;
    }
    .uitlichtenRechterkant .uitlichtenFromPrice {
        text-decoration:line-through;
        color:#ED5565;
        font-weight:normal; 
    }
    .uitlichtenRechterkant .uitlichtenNewPrice {
        color:#ED5565;
        font-weight:bold;
        padding-bottom:30px; 
    }
    /* clear in all cases */ /* geen default naam, om conflicten te voorkomen */
    .clearDezeBox::after {
        content:"";
        clear:both;
        display:table;
    }
    /* vouwen op kleine schermen */
    @media screen and (max-width: 768px) {
        .uitlichtenRechterkant .knop {display:block;}
        .uitlichten .uitlichtenLinkerkant, .uitlichten .uitlichtenRechterkant {width:100%;}
    }
/***** einde van uitlichten van product binnen een blog of andere tekst *****/


/* slider en blokken homepage */

[id$="4025b4b5-eabb-449e-8fde-47b7ba0b3f95"] {
  border-radius: 3px;
}

[id$="87ecbdc4-e567-467e-86e9-bd1fdc20a159"] .section-my {
  margin-top: 25px;
  padding-top: 0px;
}


[id$="54a04881-7894-4aa5-99aa-f3bc86a1de7c"] .section-py,
[id$="166339775124b39cea"] .section-my {
  margin-top: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: var(--solza-indigo-blue);
  Border-radius: 5px;
  margin-bottom: 25px;
}

[id$="0cc87996-9798-49b6-bf61-882a154c3a61"] .section-my,
[id$="166339775124b39cea"] .section-my {
  margin-top: 25px;
  padding-top: 0;
  margin-bottom: 25px;
  padding-bottom: 0;
}

[id$="1d7b8afc-e292-4e93-8a8f-d7b8c29ff884"] .section-my {
  margin-bottom: 50px;
  margin-top: 30px;
}

[id$="1d7b8afc-e292-4e93-8a8f-d7b8c29ff884"] .section-my {
  margin-top: 40px;
  margin-bottom: 60px;
}

#shopify-section-template--16732895543521__16225125199f82d8fe {
  margin-bottom: 50px;
}

#shopify-section-template--16732895215841__collection-header .collection-header {
  padding-bottom:0px;
}

#shopify-section-template--16746607280353__7eb3bb1a-90c8-4f81-8c45-c4ed3322a03d .section-my, 
#shopify-section-template--16746607280353__6db8488e-95e0-42a8-af46-dad9afa2aa6f .section-my, 
#shopify-section-template--16746607280353__eeab0a0b-b427-4db1-bb47-2afef390bea1 .section-my, 
#shopify-section-template--16746607280353__efe55890-a92a-41d7-85cb-5b617818079f .section-my,
#shopify-section-template--16746852712673__7eb3bb1a-90c8-4f81-8c45-c4ed3322a03d .section-my,
#shopify-section-template--16746852712673__6db8488e-95e0-42a8-af46-dad9afa2aa6f .section-my,
#shopify-section-template--16746852712673__3cea5bf1-e6ae-4521-b410-d62751dc2781 .section-my,
#shopify-section-template--16746852712673__eeab0a0b-b427-4db1-bb47-2afef390bea1 .section-my,
#shopify-section-template--16746852712673__efe55890-a92a-41d7-85cb-5b617818079f .section-my,
#shopify-section-template--16746852712673__e81bb2cb-3e80-4bc7-af3c-4ed51b751e9c .section-my {
  padding-top: 0px;
  margin-top: 20px;
}


.m-custom-content__block-liquid a {
  text-decoration: underline;
  color: #333333;
}

.collection-header__title {
  font-family: poppins;
  color: var(--solza-indigo-blue) !important;
  text-transform: none;
  font-weight: 800;
}

.m-collection-page-header__title {
  font-family: Poppins;
  color: var(--solza-indigo-blue) !important;
  text-transform: none;
  font-weight: 800;
}

.m-collection-page-header__title:after{
  color: var(--solza-golden-mango);
  content: ".";
}

.collection-header__title:after{
  color: var(--solza-golden-mango);
  content: ".";
}

.sf__sidebar-content h3 {
  font-family: poppins;
  color: var(--solza-indigo-blue) !important;
  text-transform: none;
  font-size: 21px;
}

.flex--language {
  width: max-content !important;
}

.flex.items-center.flex--language > div,
.flex.items-center.flex--language select {
  width: 100%;
  font-size: 26px;
}

.sf__select .select-arrow svg {
  height: 8px;
  width: 8px;
}

.sf__select {
  line-height: 30px;
  position: relative;
}

.sf__select .select-selected > div.active {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 5px;
  font-size: 15px;
  font-weight: inherit;
  justify-content: space-around;
  -webkit-user-select: none;
  user-select: none;
}

.sf__select .select-item {
  background-color: var(--solza-white);
  border-radius: 5px;
  box-shadow: 0 20px 30px rgba(0,0,0,.12);
  color: #757575;
  left: 0;
  line-height: 32px;
  max-height: 60vh;
  min-width: 100%;
  opacity: 0;
  padding: 10px;
  position: absolute;
  right: 0;
  top: calc(100% + 20px);
  visibility: hidden;
  transition: all .2s ease-in-out;
  width: max-content;
  z-index: 80;
}

.sf__select .select-item > div {
  max-width: 250px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sf__select .select-item > div > a {
  display: flex;
  gap: 5px;
  margin-bottom: 1rem;
  font-size: 15px;
}

.sf__select .select-item.select-show {
  opacity: 1;
  top: 100%;
  transform: translateZ(0);
  visibility: visible;
}

.sf__select img {
  max-height: 30px;
  object-fit: cover;
}

.select-selected > div {
  display: none;
}

.select-selected > div.active {
  display: block;
}

@media screen and (max-width: 767px) {
  div#language-selector-mob {
    right: 0 !important;
    left: unset !important;
  }
  .mobile--wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
  }
  .mobile--wrapper > div {
    margin: 0;
  }
  .language--selector {
    max-width: max-content;
    margin: 1rem;
  }

  .sf__select .select-selected {
    gap: 10px;
  }
}

/* call to action team */

#sf-custom-template--18429074702668__19199470-b1c9-4a2f-9b6d-43ff699f85f5 .section-py {
  padding-bottom: 0;
  background-color: var(--solza-golden-mango);
  border-radius: 10px;
  background-image: url('/cdn/shop/files/visgraat_blue_transparant.png?v=1669898800');
  background-size: contain;
  background-repeat: repeat-x;
  background-position: center;
}

#sf-custom-template--18429074702668__19199470-b1c9-4a2f-9b6d-43ff699f85f5 .section-py img {
  width: 450px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

#sf-custom-template--18429074702668__19199470-b1c9-4a2f-9b6d-43ff699f85f5 .section-py .sf-image {
  max-height:435px;
}

#sf-custom-template--18429074702668__19199470-b1c9-4a2f-9b6d-43ff699f85f5 .section-py h3 {
  color: #1B3359;
  font-family: poppins;
  font-weight: 700;
  margin-bottom: 10px;
}

#sf-custom-template--18429074702668__19199470-b1c9-4a2f-9b6d-43ff699f85f5 .section-py p {
  color: #1B3359;
}

.ctateambuttons {
  padding-left:50px;
  padding-right:50px;
  text-align:center;
}

.secondarybuttonsproduct {
  color: white; 
  background-color:#1B3359;
  border-color:#1B3359;
  margin-top:15px;
  text-decoration: none;
  margin-bottom: 0;
  width: 85%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 5px;
}

.secondarybuttonsproduct a {
  width: 100%;
  color: white !important; 
  background-color:#1B3359!important;
  border-color:#1B3359!important;
  text-decoration: none;
}

@media only screen and (max-width: 749px) {
	.secondarybuttonsproduct {
      width: 100%;
    }
    #sf-custom-template--18429074702668__19199470-b1c9-4a2f-9b6d-43ff699f85f5 .section-py {
      background-repeat: repeat-y;
    }
    .ctateambuttons {
      padding-left:25px;
      padding-right:25px;
    }
}

/* product pagina */

.prod__title h1 {
  color: #000000;
  font-family: poppins;
  font-weight: 800;
}


/* collections > intro + keuzehulp */

.introwithkeuzehulp {
  font-family: poppins !important;
  font-size: 15px !important;
}

@media (min-width: 768px){
.introwithkeuzehulp {
  width: 75% !important;
  max-width:75% !important;
  padding-top:20px;
  padding-right:20px;
  padding-bottom:20px;
  padding-left:0px;
}
}

@media only screen and (max-width: 749px) {
.introwithkeuzehulp {
  margin-bottom:30px;
}
}

/* Remove local pickup information */ 
  .product__pickup-availabilities {
    display: none !important;
  }
/* end */



.rfq-btn-0 {
  width: 100%;
}

.productinfo {
  font-family: 'Poppins';
}

.productinfo li {
  font-size: 15px;
  padding-left: 0.375em;
  margin-bottom: 0.5em;
  margin-top: 0.5em;
}

.productinfo ul {
  list-style: disc;
  padding-left: 20px;
}

.prose p {
  margin-bottom: 0.75em;
  margin-top: 0.75em;
  line-height: 26.25px !important;
}

.productinfo p {
  font-size: 15px;
}

.productinfo h2 {
  font-family: 'Poppins';
  font-size: 21px;
  font-weight: 600;
  color: var(--solza-indigo-blue);
  margin-bottom: 0.85em;
  margin-top: 1em;
}

.productinfo h3 {
    color: var(--solza-indigo-blue);
    margin-bottom: 0.85em;
    margin-top: 1em;
    font-size: 18px;
    font-weight: 600;
}

.producteigenschappen td {
  font-size: 15px;
}

#sf__icon-box-template--18429074702668__16618577290df7916a h3 {
  font-size: 17px;
}

/* Product alternative colours */ 

.product-alt-colours img {
  border-radius: 5px;
  width: 60px;
  border: 1px solid transparent;
  transition: all .4s ease-in-out 0s;
}

.product-alt-colours a {
  display: inline-block;
  padding: 3px;
  border-radius: 5px;
  border: 1px solid transparent;
}

.product-alt-colours a:hover {
  border: 1px solid var(--solza-indigo-blue);
  transition: all .4s ease-in-out 0s;
}

/* end */

.spr-stars {
  display:none;
}

#shopify-section-template--18429071655244__022f4beb-cee2-4d69-af3a-d3e059b9fa52 .section-my, #shopify-section-template--18429071655244__6cdc05a6-06aa-4336-92ce-cb913c00058b .section-my, #shopify-section-template--18955115135308__bc936a06-f42e-4ced-9821-6ad5520bbd8a .section-my, #sf-custom-template--18429073391948__3753b2aa-982d-4d00-b7c0-de7c198a7d8f .section-my, #sf-custom-template--18429073391948__c57b8b15-c6e5-4b88-a9ec-48d82e8fb792 .section-my, #shopify-section-template--18429071786316__bba574a1-fd15-413f-a41a-4919716c9cc8 .section-my, #shopify-section-template--18429071786316__2ad80748-680a-4801-ad80-f91ccf1bb6dc .section-my, #shopify-section-template--18429071786316__custom-content .section-my, #shopify-section-template--18429073981772__34d33011-e86e-4ad7-9124-55de60e5aaba .section-my, #shopify-section-template--18429073293644__33547f88-247b-4e41-9774-b86a78b81387 .section-my, #shopify-section-template--18429073293644__372cccc3-e379-4eb2-ac21-c744ed2f36dd .section-my {
  padding-top: 0px !important;
  margin-top: 50px !important;
}

#sf__featured-product-template--18429071655244__f4da057f-eb3a-429d-b4fa-7dccd9d7dd73 .section-my {
  box-shadow: 5px 5px #efefefab;
    padding: 40px;
    margin-top: 20px;
    margin-bottom: 50px;
    background-color: #efefef4a;
    border-radius: 25px;
}

.sf__page-blog-single-post h4 {
  font-size: 17px;
}

.sf-cart__buttons-container .additional-checkout-buttons {
  display:none !important;
}

/* EXPERT REVIEW */

.persona-image img {
    width: 170px;
    height: 170px;
    border-radius: 50%;
    float: right;
    margin-left: 35px;
    margin-bottom: 35px;
    margin-top: 35px;
    border: 3px solid var(--solza-golden-mango);
}

.persona-title h2 {
  font-family: 'Poppins';
  font-size: 23px;
  font-weight: 600;
}

@media only screen and (max-width: 749px) {
  .persona-image img {
    margin-left: 0px;
  }
}

/* END EXPERT REVIEW */

.sf__page-blog-single-post article {
  width: 100%;
}

/* Bijbehorende producten */

.sample-section {
    margin-top: 15px;
    margin-bottom: 30px;
}

.sample-section h2{
    color: black;
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.085px;
}

.sample-button-image img {
  float:left !important;
  margin-right: 20px;
  margin-top: 0px;
  margin-bottom: 0px;
}

.sample-button-title {
    color: black;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.sample-button-info {
    color: black;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.sample-button-info span {
    color: black;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: normal;
    opacity: .65;
}

.sample-button .product-form__add-button {
    border-radius: 3px;
    background: var(--shopify-editor-setting-color_btn_bg, #009900);
    display: flex;
    width: 40px;
    height: 40px;
    padding: 0px 13px 0px 10px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.sample-buttons-wrapper form {
    width: 100%;
}

.sample-buttons-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
}

.sample-button .title {
    flex-grow: 1;
}

.sample-button .title a {
    text-decoration: none;
}

.sample-button {
    width: 100%;
    display: flex;
    padding: 15px 20px;
    align-items: center;
    gap: 25px;
    border-radius: 5px;
    border: 1px solid rgba(33, 71, 88, 0.10);
    justify-content: space-between;
    background-color: white;
}

@media only screen and (max-width: 580px) {
  .form__input-wrapper {
    display:none;
  }
}

.bijbehorende-producten {

}  
.tab-customize {
  overflow: hidden;
}
.tab-customize h2 {
    font-family: 'Poppins';
    font-size: 20px;
    font-weight: 600;
}
.tab-customize button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 6px 10px;
  margin-right: 4px;
  transition: 0.5s;
  font-size: 14px;
  border-radius: 5px;
  border: 1px solid rgba(33, 71, 88, 0.10);
}
.tab-customize button:hover {
  background: #fbfbfb;
  border: 1px solid var(--solza-indigo-blue);
}
.tab-customize button.active {
  border-radius: 5px;
  border: 2px solid var(--solza-indigo-blue);
  background: var(--solza-indigo-blue);
  color: white;
  font-weight: 600px;
  font-family:poppins;
}
.tabcontent-cus {
  display: none;
  border-top: none;
}

.sf-pqv .prod__option-label:after {
  content: "Aantal";
}

.bijbehorende-producten-alles-link {
  text-align: center;
  padding: 20px;
}

#shopify-section-template--19561900179788__b74145e3-2443-4088-b45b-5975726ee2c0 {
  background-color: #FBFBFB;
  padding-top: 1px;
}

#shopify-section-template--19561900179788__e6cff22f-8090-4b4d-b1b4-b5fd75323cd0 {
  padding: 20px;
  border-top: 2px dashed #efefef;
}

@media only screen and (max-width: 749px) {
  #shopify-section-template--19561900179788__e6cff22f-8090-4b4d-b1b4-b5fd75323cd0 {
    display:none;
  }
}

.containerbijbehorend a {
  text-decoration:none;
  color: var(--solza-indigo-blue);
}

/* Einde bijbehorende producten */


.scd-item__remove {
  display:none;
}

.colorswatchpdp {
  border: 1px dashed rgba(33, 71, 88, 0.10);
  border-radius: 5px;
  padding: 10px 20px 10px 20px;
  background: #FBFBFB;
}

/* Retouren */

#sf__icon-box-template--18429073850700__874fd97e-f442-4587-bd53-e8adb2bcf3ec {
  padding: 50px;
}

#shopify-section-template--18429073850700__main {
  margin-top: 75px;
  margin-bottom: 75px;
}

#shopify-section-template--18429073850700__7da7cb16-ca65-4089-87e7-d8f132ccf140 {
  padding: 50px;
  background-color: #fbfbfb;
  margin-bottom: -5em;
}

#sf-custom-template--18429074080076__custom_content_new8TE .section-my {
  padding-top: 0px;
  margin-top: 0px;
}

.price-calculator sup {
  color: inherit;
}

.m-add-to-cart {
  background-color: #009900 !important; 
  border-bottom: 2px solid rgb(27 114 10);
}

.m-add-to-cart:hover {
  border: none;
}

.product-card-form .m-add-to-cart {
  background-color: var(--solza-white) !important; 
}

#search-product-type {
  color: black !important;
}

.m-product-description {
  color: black !important;
}

.our-price {
  font-weight: 700;
}

.m-footer-widget__title {
  font-weight: 700;
}

.m-video-hero__content {
  color: white !important;
}

.m-video-hero__content h2 {
 color: white !important;
}

.handpicked-products__wrapper {
  margin-bottom: 20px !important;
}

.m-wishlist-count, .m-compare-count, .m-cart-count {
  width: 18px !important;
  height: 18px !important;
  background-color: var(--solza-golden-mango) !important;
  min-width: 18px !important;
  font-weight: 700;
}

.f-menu__item--dropdown .f-menu__link--level-2 {
  font-weight: 700 !important;
}

.price-calculator { width: 100%; }
.price-calculator tr { border-bottom: 1px solid var(--solza-color-border); }
.price-calculator tr:last-child { border-bottom: none; }
.price-calculator tr td { padding: 10px 0; }

.dynamic-checkout__content {
  display:none;
}

.m-image-card__content-main h2, .m-image-card__content-main p {
  color: white !important;
}

.m-menu-drawer__utility-links img {
  display:none;
}

#shopify-section-template--20663330996556__custom_liquid_4hpLXT {
  background: #FBFBFB;
  padding-bottom: 25px;
}

.m-hero-section__content-heading, .m-hero-section__content-description {
  color: white !important;
}

.m-hero-section__container {
  padding-top: 30px;
}

.m-hero-section__container img {
  border-radius: 5px;
}

.m-cart__shipping-note {
  font-size: small;
}

/* Solza 2.0 Blog */

.m-article__title {
  color: var(--solza-indigo-blue) !important;
}

.m-article__content h2 {
  font-size: 24px !important;
  color: var(--solza-indigo-blue) !important;
}

.m-article__content h3 {
  font-size: 22px !important;
  color: var(--solza-indigo-blue) !important;
}

.m-article__content h4 {
  font-size: 20px !important;
  color: var(--solza-indigo-blue) !important;
}

.m-article__content h5 {
  font-size: 20px !important;
  color: var(--solza-indigo-blue) !important;
}

.m-article__content h6 {
  font-size: 20px !important;
  color: var(--solza-indigo-blue) !important;
}

.m-article__content a {
  text-decoration: underline;
  color: var(--solza-indigo-blue) !important;
}

.m-article__boxed td {
  border: 1px solid #efefef;
}

.m-button--primary:hover {
  border: none !important;
}

#m-custom-template--21614782742860__custom_content_Eafh7U {
  padding-bottom:0;
}

/* Trustbadge */

#trustbadge-container-98e3dadd90eb493088abdc5597a70810 {
  z-index: 99!important;
}

.m-product-quickview__footer .m-add-to-cart--text {
  color: white;
}


/* Brandpage */

.blog-border {
  border: 1px solid rgb(var(--color-border));
  padding: 20px;
  border-radius: 5px;
  background-color: white;
}

.m-testimonial__description p {
  font-size: 16px;
}

.greyscale-background {
  background-color: #efefef4f;
}

/* Header zoekbalk: pill-vorm (alleen header, niet de losse /search-pagina) */
.m-header__search .m-search-form__wrapper,
.m-search-modal .m-search-form__wrapper {
  border-radius: 999px;
}

.m-header__search .m-search__input,
.m-search-modal .m-search__input {
  border-radius: 999px;
}

/* Fix: voorkomt korte flash van rechte hoeken bij de zoom/fade-in-animatie
   van galerijafbeeldingen (mZoomFadeSmall) tijdens het wisselen van slides.
   Dwingt de afgeronde/geclipte laag vooraf op zijn eigen compositing-laag,
   zodat Chromium/WebKit die niet pas bij de start van de animatie hoeft
   te promoten (wat de korte "vierkante hoek"-flash veroorzaakt). */
.m-image--rounded {
  transform: translateZ(0);
  will-change: transform;
}

/* "Handig om te weten" homepage-blogblok (Solza 3.0-huisstijl): elke kaart
   krijgt een eigen witte ondergrond met zachte hoeken i.p.v. los te zweven
   op de crème sectie-achtergrond. Scoped op de "blogs"-custom-class (op de
   parent-template gezet, dus geerfd door alle marktvarianten die dit niet
   zelf overschrijven), niet op section.id -- die bevat een template-specifiek
   nummer dat per context-json verschilt. */
.m-blog-grid.blogs .m-article-card {
  background: var(--solza-white);
  border: 1px solid var(--solza-driftwood-cream);
  border-radius: 12px;
  overflow: hidden;
}

.m-blog-grid.blogs .m-article-card__content {
  padding: 20px;
}

.m-blog-grid.blogs .m-article-card__readmore {
  color: var(--solza-indigo-blue);
  font-weight: 700;
  text-decoration: none;
}

.m-blog-grid.blogs .m-article-card__readmore:hover {
  color: var(--solza-indigo-blue);
  opacity: 0.8;
}

.m-blog-grid.blogs .m-article-card__readmore::after {
  content: " \2192";
}

/* Collectie-intro-kaart: omkaderd blok met titel+USP's, tekst en
   subcollectie-slider. Vervangt de eerdere losse .solza-collection-intro-
   en .solza-subcollections-versies volledig. */
.solza-collection-card {
  background: var(--solza-white);
  border: 1px solid var(--solza-driftwood-cream);
  border-radius: 14px;
  padding: 26px;
  margin: 24px 0;
}

@media (max-width: 767px) {
  .solza-collection-card {
    padding: 18px;
  }
}

.solza-collection-card__row1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.solza-collection-card__title {
  margin: 0;
}

.solza-collection-card__usps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.solza-collection-card__usps li {
  position: relative;
  padding-left: 22px;
  color: var(--solza-indigo-blue);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.solza-collection-card__usps li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: var(--solza-tuscan-terra);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.4 11.2 3.2 8l-1.2 1.2L6.4 13.6l8-8L13.2 4.4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.4 11.2 3.2 8l-1.2 1.2L6.4 13.6l8-8L13.2 4.4z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.solza-collection-card__intro {
  margin-top: 20px;
}

.solza-collection-card__text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--solza-indigo-blue);
  font-size: 14px;
  line-height: 1.6;
}

.solza-collection-card__text.is-expanded {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}

.solza-collection-card__text a {
  color: var(--solza-indigo-blue);
  text-decoration: underline;
}

.solza-collection-card__toggle {
  display: inline-block;
  margin-top: 8px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--solza-indigo-blue);
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}

.solza-collection-card__toggle:hover {
  opacity: 0.75;
}

.solza-collection-card__slider-wrap {
  position: relative;
  margin-top: 24px;
}

.solza-collection-card__slider {
  display: flex;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 4px 2px 4px;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 50px), transparent 100%);
  mask-image: linear-gradient(to right, #000 calc(100% - 50px), transparent 100%);
}

.solza-collection-card__slider::-webkit-scrollbar {
  display: none;
}

.solza-collection-card__subitem {
  flex: 0 0 auto;
  width: 150px;
}

.solza-collection-card__subcard {
  display: block;
  text-decoration: none;
}

.solza-collection-card__subcard-image {
  display: block;
  width: 150px;
  height: 150px;
  border: 1px solid var(--solza-driftwood-cream);
  border-radius: 12px;
  overflow: hidden;
  background: var(--solza-driftwood-cream-light);
}

.solza-collection-card__subcard-image img,
.solza-collection-card__subcard-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.solza-collection-card__subcard-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 10px;
}

.solza-collection-card__subcard-name {
  color: var(--solza-indigo-blue);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

.solza-collection-card__subcard-arrow {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--solza-indigo-blue);
  color: var(--solza-indigo-blue);
  transition: background-color 0.15s, color 0.15s;
}

.solza-collection-card__subcard:hover .solza-collection-card__subcard-arrow {
  background-color: var(--solza-indigo-blue);
  color: var(--solza-white);
}

/* Mobiel (<768px): compacte pil i.p.v. de fotokaart -- klein rond beeld +
   naam ernaast, i.p.v. een 150px-brede kaart die op een telefoonscherm te
   veel ruimte inneemt. De naam mag nooit met ellipsis worden afgekapt (dat
   was het probleem bij de eerder afgewezen pil-variant): geen nowrap/
   text-overflow, gewoon laten omlopen. Getest met de langste voorkomende
   naam ("Landhuis plak PVC (extra breed)", 32 tekens) op 375/390px --
   past ruim binnen 2 regels op de gekozen pil-breedte. */
@media (max-width: 767px) {
  .solza-collection-card__subitem {
    width: 200px;
  }

  .solza-collection-card__subcard {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }

  .solza-collection-card__subcard-image {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    flex: 0 0 auto;
  }

  .solza-collection-card__subcard-footer {
    margin-top: 0;
    justify-content: flex-start;
  }

  .solza-collection-card__subcard-name {
    white-space: normal;
    overflow-wrap: break-word;
  }

  .solza-collection-card__subcard-arrow {
    display: none;
  }
}

.solza-collection-card__nav {
  display: none;
}

@media (min-width: 1024px) {
  .solza-collection-card__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 64px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--solza-driftwood-cream);
    background: var(--solza-white);
    color: var(--solza-indigo-blue);
    cursor: pointer;
    z-index: 2;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  }

  .solza-collection-card__nav--prev {
    left: -16px;
  }

  .solza-collection-card__nav--next {
    right: -16px;
  }
}

/* USP's vallen volledig weg op mobiel -- alleen de titel blijft op de regel
   staan die op desktop titel+USP's samen deelt. Introtekst en subcollectie-
   slider blijven ongewijzigd zichtbaar. Bewust helemaal onderaan het
   collectie-kaart-CSS-blok geplaatst: bij gelijke specificiteit wint de
   LAATST gedefinieerde regel, dus een override eerder in het bestand (voor
   de kale .solza-collection-card__usps { display:flex }-regel) zou hier
   geen effect hebben gehad. */
@media (max-width: 767px) {
  .solza-collection-card__usps {
    display: none;
  }
}

/* ============================================================
   Productkaart (herindeling 2026-07-30):
   links uitgelijnde kaart met hairline-rand: merklink, titel (max
   2 regels), Loox-sterren, kleurswatches, spec-bullets,
   voorraadstatus en een onderaan verankerd prijsblok met de
   actiepill eronder. Tekstgroottes per breakpoint via
   CSS-variabelen met EEN media query -- bijstellen kan op één
   plek. Gereserveerde ruimte uitsluitend binnen het prijsblok
   (doorgehaalde prijs + actieregel), altijd via min-height, nooit
   vaste hoogtes. Scoped op --view-grid zodat de lijstweergave
   (complementary) ongemoeid blijft. Hoekafronding 5px =
   bestaande theme-waarde (gemeten). */

.m-product-card--view-grid.m-product-card--style-1 {
  /* Desktop/tablet-waarden (>= 600px) */
  --pcard-title-fs: 16px;
  --pcard-bullet-fs: 13.5px;
  --pcard-status-fs: 13px;
  --pcard-price-fs: 18px;
  --pcard-was-fs: 13px;
  --pcard-brand-fs: 12px;
  --pcard-stars-fs: 13px;
  --pcard-action-fs: 12px;
  --pcard-dot: 8px;
  --pcard-swatch: 16px;

  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--solza-white);
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  overflow: hidden;
}

@media (max-width: 599px) {
  .m-product-card--view-grid.m-product-card--style-1 {
    --pcard-title-fs: 14px;
    --pcard-bullet-fs: 12px;
    --pcard-status-fs: 12px;
    --pcard-price-fs: 16px;
    --pcard-was-fs: 12px;
    --pcard-brand-fs: 11px;
    --pcard-stars-fs: 11px;
    --pcard-action-fs: 11px;
    --pcard-dot: 7px;
    --pcard-swatch: 14px;
  }
}

.m-product-card--view-grid.m-product-card--style-1 .m-product-card__content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 10px 12px 12px;
  margin-top: 0;
}

.m-product-card--view-grid.m-product-card--style-1 .m-product-card__info {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* Merkregel: klein, gedempt, hoofdletters; als link strak om de
   tekst (inline-block, geen blok-breed kliktarget). */
.solza-pcard-brand {
  display: inline-block;
  align-self: flex-start;
  font-size: var(--pcard-brand-fs, 12px);
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--solza-color-text-muted);
  margin-bottom: 2px;
  text-decoration: none;
}

/* Tikdoel (WCAG 2.5.8 / target-size): de merklink is met 12px tekst
   maar ~16px hoog; padding rekt de klikbox tot 24px terwijl de
   negatieve marges de flow exact gelijk houden (16 + 2 marge). */
a.solza-pcard-brand--link {
  padding: 5px 6px;
  margin: -5px -6px 0 -6px;
}

a.solza-pcard-brand--link:hover {
  color: var(--solza-indigo-blue);
  text-decoration: underline;
}

/* Titel: max 2 regels, op woordgrenzen gebroken. */
.m-product-card--view-grid.m-product-card--style-1 .m-product-card__name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  font-size: var(--pcard-title-fs, 16px);
  line-height: 1.5;
}

/* Loox-reviewsterren: compact, alleen bij >= 1 review, geen
   gereserveerde ruimte zonder reviews. */
.solza-pcard-stars {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  font-size: var(--pcard-stars-fs, 13px);
  line-height: 1.3;
}

.solza-pcard-stars__track {
  position: relative;
  display: inline-block;
  color: #d7dce3;
  letter-spacing: 1px;
}

.solza-pcard-stars__fill {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
  color: var(--solza-golden-mango);
  letter-spacing: 1px;
}

.solza-pcard-stars__count {
  color: var(--solza-color-text-muted);
}

/* Kleurswatches: rond, klein, niet klikbaar, geen gereserveerde
   ruimte zonder varianten. */
.solza-pcard-swatches {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  pointer-events: none;
}

.solza-pcard-swatches__dot {
  width: var(--pcard-swatch, 16px);
  height: var(--pcard-swatch, 16px);
  min-width: var(--pcard-swatch, 16px);
  border-radius: 50%;
  border: 1px solid var(--solza-color-border);
  object-fit: cover;
  display: inline-block;
}

.solza-pcard-swatches__dot--empty {
  background: var(--solza-driftwood-cream);
}

.solza-pcard-swatches__more {
  font-size: var(--pcard-stars-fs, 13px);
  color: var(--solza-color-text-muted);
}

/* Specificatie-bullets: max 3, elk 1 regel (bron max. 20 tekens). */
.solza-pcard-specs {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
}

.solza-pcard-specs__item {
  position: relative;
  padding-left: 8px;
  font-size: var(--pcard-bullet-fs, 13.5px);
  line-height: 1.45;
  color: var(--solza-color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.solza-pcard-specs__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--solza-color-text-muted);
}

/* Voorraadstatus: eigen regel boven het prijsblok, bolletje
   uitgelijnd met de EERSTE tekstregel (flex-start + em-offset),
   zodat het bij tekst over 2 regels niet scheef hangt. Tekst mag
   omlopen (min-height, geen vaste hoogte, geen afkapping). */
.solza-pcard-statusrow {
  display: flex;
  min-height: 1.3em;
  margin-top: 6px;
}

.solza-pcard-status {
  display: inline-flex;
  align-items: flex-start;
  gap: 5px;
  max-width: 100%;
}

.solza-pcard-status__dot {
  width: var(--pcard-dot, 8px);
  height: var(--pcard-dot, 8px);
  min-width: var(--pcard-dot, 8px);
  border-radius: 50%;
  display: inline-block;
  margin-top: calc(0.65em - var(--pcard-dot, 8px) / 2);
}

.solza-pcard-status--leverbaar .solza-pcard-status__dot { background-color: var(--solza-color-stock-available); }
.solza-pcard-status--krap .solza-pcard-status__dot { background-color: var(--solza-color-stock-low); }
.solza-pcard-status--aanvraag .solza-pcard-status__dot { background-color: var(--solza-color-stock-none); }

.solza-pcard-status__text {
  font-size: var(--pcard-status-fs, 13px);
  line-height: 1.3;
  font-weight: 400;
  color: var(--solza-indigo-blue);
}

.solza-pcard-status--aanvraag .solza-pcard-status__text {
  color: var(--solza-color-text-muted);
}

/* Prijsblok: verankerd aan de onderrand. Doorgehaalde prijs klein
   BOVEN de actieprijs; hoogte gereserveerd (min-height) ook
   zonder korting. De lege placeholder is een span ZONDER
   doorhaling -- alleen een echte <s> krijgt line-through. De
   actieprijs is het grootste tekstelement van de kaart. */
.m-product-card--view-grid.m-product-card--style-1 .solza-pcard-pricewrap {
  margin-top: auto;
  padding-top: 6px;
}

.solza-pcard-price-was {
  display: block;
  min-height: 1.4em;
  font-size: var(--pcard-was-fs, 13px);
  line-height: 1.4;
  color: var(--solza-color-text-muted);
}

s.solza-pcard-price-was { text-decoration: line-through; }

.solza-pcard-price-now {
  display: block;
  font-size: var(--pcard-price-fs, 18px);
  line-height: 1.25;
  font-weight: 500;
  /* Navy i.p.v. koraal (2026-08-04): koraal haalt op deze maat de
     contrasteis niet en de prijs mag geen tweede oranje actie-element
     naast de CTA zijn. Koraal blijft voor badges en knoppen. */
  color: var(--solza-indigo-blue);
}

.solza-pcard-price-now--regular {
  color: var(--solza-indigo-blue);
}

/* De eenheid (/m2 of /m1) klein en grijs -- de prijs zelf houdt
   het oranje, de eenheid concurreert er niet mee. */
.solza-pcard-price-unit {
  font-size: var(--pcard-was-fs, 13px);
  font-weight: 400;
  color: var(--solza-color-text-muted);
}

/* Actieregel: in het prijsblok, direct onder de prijs. Hoogte
   gereserveerd via min-height, ook zonder actie. Desktop/tablet:
   beige pilletje met navy tekst, geen bolletje (dat is
   voorbehouden aan de voorraadstatus). Mobiel: geen pill maar
   platte tekst met meer gewicht, zodat de volle kaartbreedte
   beschikbaar is. */
.solza-pcard-actionline {
  display: flex;
  align-items: flex-start;
  min-height: 1.6em;
  margin-top: 3px;
  font-size: var(--pcard-action-fs, 12px);
}

.solza-pcard-actionpill {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: var(--solza-driftwood-cream);
  color: var(--solza-indigo-blue);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: var(--pcard-action-fs, 12px);
  line-height: 1.35;
}

@media (max-width: 599px) {
  .solza-pcard-actionpill {
    background: none;
    border-radius: 0;
    padding: 0;
    font-weight: 600;
  }
}

/* Bewaarknop (hartje): linksboven in het beeldvlak, hergebruikt
   de bestaande wishlist-JS (.m-wishlist-button). Kliktarget
   44x44px; klik schiet niet door naar de productpagina
   (preventDefault in wishlist.js). */
.solza-pcard-wishlist {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: var(--solza-indigo-blue);
}

.solza-pcard-wishlist__icon {
  width: 20px;
  height: 20px;
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9));
}

.solza-pcard-wishlist.added-to-wishlist .solza-pcard-wishlist__icon path {
  fill: var(--solza-indigo-blue);
}

/* Badge: geel met navy tekst, rechtsboven in het beeldvlak.
   Oranje blijft voorbehouden aan de actieprijs. */
.m-product-card--view-grid .m-product-card__tags {
  left: auto;
  right: 8px;
  align-items: flex-end;
}

.m-product-card--view-grid .m-product-card__tags .m-product-tag {
  background: var(--solza-golden-mango) !important;
  background-image: none !important;
  color: var(--solza-indigo-blue) !important;
  font-weight: 600;
}

/* De oude hover-overlay met wishlist rechtsboven verbergen op de
   grid-kaart -- het hartje linksboven is nu de enige bewaarknop
   (geen dubbele hartjes). */
.m-product-card--view-grid .m-product-card__action--top .m-wishlist-button {
  display: none;
}

/* Grid-gap tussen productkaarten (2026-07-30): de oude 30/10px was
   afgestemd op randloze kaarten; nu de kaart een eigen hairline heeft
   doet die de scheiding en voelt de oude gap als leegte. Centrale
   override op de grid-containers (wint van de per-sectie inline vars
   omdat de var hier op het element zelf staat i.p.v. geerfd): 12px
   op desktop en tablet, 8px op mobiel. Let op theme-conventie: het
   768-1023px-bereik leest de -mobile-variant van de var, vandaar de
   media query. Sliders (Swiper spaceBetween) en de PDP cross-sell
   (eigen margin-right) hebben een eigen mechanisme en vallen hier
   bewust buiten. */
.m-collection-products,
.m-search-result {
  /* !important nodig voor .m-search-result: daar staan de inline
     section-setting-vars op hetzelfde element als deze class (bij de
     collectiegrid staan ze op de sectie-wrapper en volstaat een
     gewone declaratie). */
  --column-gap: 12px !important;
  --row-gap: 12px !important;
  --column-gap-mobile: 8px !important;
  --row-gap-mobile: 8px !important;
}

@media (min-width: 768px) {
  .m-collection-products,
  .m-search-result {
    --column-gap-mobile: 12px !important;
    --row-gap-mobile: 12px !important;
  }
}


/* ============================================================
   Gedeeld accordeon-component (solza-accordion.liquid, 2026-07-30):
   kaartvorm met volledige rand, 5px radius en 12px tussenruimte
   (bestaande theme-waarden, gemeten op de productkaart). Accent is
   uitsluitend navy var(--solza-indigo-blue); de lichte tint van de dichte knop is een
   afgeleide alpha van datzelfde navy (bewust geen nieuwe hex, geen
   tweede accentkleur). Tekstgroottes per breakpoint via CSS-vars met
   EEN media query, zelfde patroon als de productkaart. Inhoud staat
   altijd in de DOM; dicht = grid-rows 0fr (puur CSS, animeerbaar,
   geen JS-hoogtes). Vraagteksten mogen omlopen: nergens vaste
   hoogtes, alleen min-height. */

.solza-acc {
  --acc-title-fs: 18px;
  --acc-content-fs: 16px;
  --acc-label-fs: 14px;
  --acc-btn: 32px;
  --acc-pad-y: 14px;
  --acc-pad-x: 18px;

  background: var(--solza-white);
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  transition: border-color 0.2s ease;
}

@media (max-width: 599px) {
  .solza-acc {
    --acc-title-fs: 15px;
    --acc-content-fs: 14px;
    --acc-label-fs: 12px;
    --acc-btn: 28px;
    --acc-pad-y: 12px;
    --acc-pad-x: 14px;
  }
}

/* margin-bottom i.p.v. sibling-selector: op de FAQ-pagina's zit elk
   item in een eigen wrapper-div waardoor .solza-acc's geen directe
   siblings zijn. */
.solza-acc {
  margin-bottom: 12px;
}

.solza-acc.is-open {
  border-color: var(--solza-indigo-blue);
}

.solza-acc__heading {
  margin: 0;
  font-size: inherit;
}

.solza-acc__trigger {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 44px;
  padding: var(--acc-pad-y) var(--acc-pad-x);
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
  color: var(--solza-indigo-blue);
}

.solza-acc__trigger:focus-visible {
  outline: 2px solid var(--solza-indigo-blue);
  outline-offset: 2px;
  border-radius: 5px;
}

.solza-acc__title {
  flex: 1 1 auto;
  font-size: var(--acc-title-fs);
  line-height: 1.4;
  font-weight: 500;
}

.solza-acc__label {
  flex: 0 0 auto;
  font-size: var(--acc-label-fs);
  color: var(--solza-color-text-muted);
}

/* Ronde plus/min-indicator. Dicht: lichte navy-tint + navy plus.
   Open: gevuld navy + witte min. Puur visueel -- de hele kopregel
   is het klikdoel. */
.solza-acc__icon {
  flex: 0 0 auto;
  width: var(--acc-btn);
  height: var(--acc-btn);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--solza-indigo-blue-rgb), 0.08);
  color: var(--solza-indigo-blue);
  transition: background-color 0.2s ease, color 0.2s ease;
}

.solza-acc.is-open .solza-acc__icon {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
}

.solza-acc__icon-min { display: none; }
.solza-acc.is-open .solza-acc__icon-plus { display: none; }
.solza-acc.is-open .solza-acc__icon-min { display: block; }

.solza-acc__content {
  display: grid;
  grid-template-rows: 0fr;
  /* visibility met vertraging: houdt de inhoud (links, checkboxes)
     buiten de tab-volgorde zodra het item dicht is, zonder de
     sluit-animatie te onderbreken */
  visibility: hidden;
  transition: grid-template-rows 0.25s ease, visibility 0s 0.25s;
}

.solza-acc.is-open .solza-acc__content {
  grid-template-rows: 1fr;
  visibility: visible;
  transition: grid-template-rows 0.25s ease, visibility 0s 0s;
}

.solza-acc__inner {
  overflow: hidden;
  min-height: 0;
  font-size: var(--acc-content-fs);
  line-height: 1.6;
  padding: 0 var(--acc-pad-x);
}

.solza-acc.is-open .solza-acc__inner {
  padding-bottom: var(--acc-pad-y);
}

@media (prefers-reduced-motion: reduce) {
  .solza-acc,
  .solza-acc__icon,
  .solza-acc__content {
    transition: none;
  }
}

/* ==========================================================================
   Collectiefilters (task9)
   --------------------------------------------------------------------------
   Filtergroepen gebruiken het gedeelde accordeon-component (.solza-acc,
   zie hierboven) -- geen tweede accordeonvariant. Hieronder alleen:
   de optielijsten (eigen checkbox, teller rechts, kleurstaaltje),
   de "Toon alle N opties"-knop, de actieve-filterpillen, en het
   mobiele filterscherm dat als bottom sheet van onderaf komt.

   Let op cascade: collection.css wordt per sectie NA dit bestand
   geladen; overrides op vendor-selectors krijgen daarom een extra
   .facest-filters-section-voorvoegsel voor hogere specificiteit.
   ========================================================================== */

/* -- accordeonmaat binnen de smalle sidebar -- */
.m-sidebar__filter .solza-acc {
  --acc-title-fs: 16px;
  --acc-content-fs: 14px;
  --acc-pad-y: 12px;
  --acc-pad-x: 14px;
  --acc-btn: 28px;
}

/* teller in de accordeonkop ("2 gekozen") */
.m-sidebar__filter .solza-acc__label {
  white-space: nowrap;
}

/* -- optielijst -- */
.solza-filter-options {
  list-style: none;
  margin: 0;
  padding: 0;
}

.solza-filter-option--overflow {
  display: none;
}

.solza-filter-options.is-expanded .solza-filter-option--overflow {
  display: block;
}

.solza-filter-option__label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 7px 0;
  min-height: 36px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--solza-color-text);
}

.solza-filter-option--disabled .solza-filter-option__label {
  cursor: default;
  opacity: 0.45;
}

/* echte checkbox, visueel vervangen door de navy box ernaast;
   blijft focusbaar voor toetsenbordgebruik */
.solza-filter-option__input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  margin: 0;
  pointer-events: none;
}

.solza-filter-option__box {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-radius: 3px;
  border: 1px solid rgba(var(--solza-indigo-blue-rgb), 0.3);
  background: var(--solza-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--solza-white);
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.solza-filter-option__box svg {
  visibility: hidden;
}

.solza-filter-option__input:checked ~ .solza-filter-option__box {
  background: var(--solza-indigo-blue);
  border-color: var(--solza-indigo-blue);
}

.solza-filter-option__input:checked ~ .solza-filter-option__box svg {
  visibility: visible;
}

.solza-filter-option__input:focus-visible ~ .solza-filter-option__box {
  outline: 2px solid var(--solza-indigo-blue);
  outline-offset: 2px;
}

/* kleurstaaltje: zelfde vormtaal als de productkaart-swatches */
.solza-filter-option__swatch {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  /* Donkerder dan --solza-color-border: de lichtste swatches (Wit #F5F3EF,
     Parelwit, Cremewit) hebben te weinig verschil met een #e8e8e8-rand en
     verdwijnen dan op een witte achtergrond. */
  border: 1px solid rgba(0, 0, 0, 0.18);
  background-color: var(--solza-driftwood-cream);
  background-size: cover;
  display: inline-block;
}

.solza-filter-option__text {
  flex: 1 1 auto;
  min-width: 0;
  word-break: break-word;
}

/* aantal resultaten rechts uitgelijnd in gedempt grijs */
.solza-filter-option__count {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 13px;
  color: var(--solza-color-text-muted);
}

/* -- "Toon alle N opties" -- */
.solza-filter-more {
  display: block;
  background: none;
  border: none;
  padding: 10px 0;
  min-height: 44px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: var(--solza-indigo-blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.solza-filter-more:focus-visible {
  outline: 2px solid var(--solza-indigo-blue);
  outline-offset: 2px;
}

/* -- actieve-filterpillen (zelfde vormtaal als het actielabel) -- */
.solza-active-filters {
  gap: 8px;
  padding: 0 0 16px;
}

.solza-filter-pill a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--solza-driftwood-cream);
  color: var(--solza-indigo-blue);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.35;
  transition: background-color 0.15s ease;
}

.solza-filter-pill a:hover {
  background: var(--solza-driftwood-cream-light);
}

.solza-filter-pill__remove {
  display: inline-flex;
  align-items: center;
}

/* in het mobiele filterscherm heeft de kop al een "Wis alles";
   de variant in de pillenrij zou daar dubbelop zijn */
.solza-active-filters--drawer .solza-filter-clear {
  display: none;
}

.solza-filter-clear a,
.solza-filter-drawer__clear a {
  color: var(--solza-indigo-blue);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
  padding: 6px 4px;
}

/* -- kop van het filterscherm -- */
.solza-filter-drawer__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

/* -- leegstand: knop om filters te wissen -- */
.solza-empty-clear {
  display: block;
  margin-top: 16px;
}

/* -- vanaf tablet (zichtbare zijbalk naast het grid) -- */
@media screen and (min-width: 768px) {
  .m-sidebar--left .solza-filter-drawer__clear,
  .m-sidebar--right .solza-filter-drawer__clear,
  .m-sidebar--left .solza-active-filters--drawer,
  .m-sidebar--right .solza-active-filters--drawer,
  .m-sidebar--left .solza-filter-apply,
  .m-sidebar--right .solza-filter-apply {
    display: none;
  }
}

/* -- tablet 768-1279px: de desktop-zijbalk, maar versmald --
   De vendor-CSS (collection.css) toont de zijbalk pas vanaf 1280px en
   maakt er daaronder een off-canvas overlay van; deze regels draaien
   dat voor left/right-posities terug naar een gewone kolom naast het
   grid (220px + 16px gap i.p.v. 270px + 30px op desktop). De
   off-canvas instelling 'fixed' blijft het vendor-gedrag houden.
   Het aantal productkolommen gaat mee: 2 op 768-1023 en 3 op
   1024-1279 (vendor zou er daar 3 resp. 4 tonen; te smal naast een
   zijbalk). Gescopet op .m-sidebar--left/--right, dus collecties
   zonder filters houden hun vendor-kolommen. */
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .facest-filters-section .m-sidebar--left,
  .facest-filters-section .m-sidebar--right {
    gap: 16px;
  }

  .facest-filters-section .m-sidebar--left .m-sidebar,
  .facest-filters-section .m-sidebar--right .m-sidebar {
    position: static;
    display: block;
    flex: 0 0 220px;
    width: 220px;
    background: none;
    touch-action: auto;
    z-index: auto;
  }

  .facest-filters-section .m-sidebar--left .m-sidebar__content,
  .facest-filters-section .m-sidebar--right .m-sidebar__content {
    position: static;
    transform: none;
    width: 100%;
    max-width: 100%;
    height: auto;
    padding: 0;
    display: block;
    overflow: visible;
  }

  /* zelfde kop-divider als de desktopzijbalk (vendor zet die pas >=1280) */
  .facest-filters-section .m-sidebar--left .m-sidebar--header-separated .m-sidebar__title,
  .facest-filters-section .m-sidebar--right .m-sidebar--header-separated .m-sidebar__title,
  .facest-filters-section .m-sidebar--header-separated .solza-filter-drawer__head {
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: var(--solza-color-border);
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  .facest-filters-section .m-sidebar--left .m-filter-button,
  .facest-filters-section .m-sidebar--right .m-filter-button,
  .facest-filters-section .m-sidebar--left .m-sidebar__close,
  .facest-filters-section .m-sidebar--right .m-sidebar__close {
    display: none;
  }

  .facest-filters-section .m-sidebar--left .m-collection-products,
  .facest-filters-section .m-sidebar--right .m-collection-products,
  .facest-filters-section .m-sidebar--left .m-search-result,
  .facest-filters-section .m-sidebar--right .m-search-result {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .facest-filters-section .m-sidebar--left .m-collection-products,
  .facest-filters-section .m-sidebar--right .m-collection-products,
  .facest-filters-section .m-sidebar--left .m-search-result,
  .facest-filters-section .m-sidebar--right .m-search-result {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* -- mobiel: bottom sheet in plaats van zijpaneel --
   De vendor-JS (collection.js) stuurt --m-translate-x aan: -100% is
   dicht, 0 is open. Voor de verticale beweging draaien we die waarde
   om met calc(x * -1), zodat -100% onderin uit beeld staat en er geen
   JS-wijziging nodig is. */
@media screen and (max-width: 767px) {
  .facest-filters-section .m-sidebar--left .m-sidebar__content,
  .facest-filters-section .m-sidebar--right .m-sidebar__content,
  .facest-filters-section .m-sidebar--fixed .m-sidebar__content,
  .facest-filters-section .m-sidebar[data-type] .m-sidebar__content {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 88dvh;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    border-radius: 12px 12px 0 0;
    padding: 16px 16px 0;
    display: flex;
    flex-direction: column;
    transform: translate3d(0, calc(var(--m-translate-x, -100%) * -1), 0);
  }

  .facest-filters-section .m-sidebar {
    position: fixed;
    inset: 0;
    z-index: 100;
  }

  .solza-filter-drawer__head {
    padding: 4px 40px 12px 0;
  }

  .facest-filters-section .m-sidebar .m-sidebar__title {
    margin-bottom: 0;
  }

  .facest-filters-section .m-sidebar__close {
    top: 14px;
    right: 10px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .m-sidebar .solza-active-filters--drawer {
    flex: 0 0 auto;
    padding-bottom: 12px;
  }

  .facest-filters-section .m-sidebar__filter {
    flex: 1 1 auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: 8px;
  }

  /* vastgezette bevestigknop; oranje is hier bewust de enige
     CTA-kleur in de filters (primaire actie van dit scherm) */
  .solza-filter-apply {
    flex: 0 0 auto;
    position: sticky;
    bottom: 0;
    background: var(--solza-white);
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--solza-color-border);
    margin: 0 -16px;
  }

  /* navy label op oranje: 5,10:1 -- wit zou met 3,13:1 alleen op
     groot/vet tekstformaat leunen en zakt onder de norm zodra het
     label kleiner wordt */
  .solza-filter-apply__btn {
    width: 100%;
    min-height: 48px;
    border: none;
    border-radius: 5px;
    background: var(--solza-color-cta);
    color: var(--solza-indigo-blue);
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
  }

  .solza-filter-apply__btn:focus-visible {
    outline: 2px solid var(--solza-indigo-blue);
    outline-offset: 2px;
  }
}

/* achtergrond niet mee laten scrollen zolang het filterscherm open is */
html.solza-no-scroll,
html.solza-no-scroll body {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .facest-filters-section .m-sidebar__content,
  .solza-filter-option__box,
  .solza-filter-pill a {
    transition: none;
  }
}

/* ==========================================================================
   Binnendeuren-PDP (task10)
   --------------------------------------------------------------------------
   Scope: body-class 'binnendeur' (template-suffix uit theme.liquid) en
   de solza-door-*-componenten. Mobiel = t/m 767px, gelijk aan het
   bestaande md-breakpoint. Per-component variabelen met een mobiele
   media query, zelfde patroon als de productkaart en het accordeon.
   ========================================================================== */

.binnendeur .m-main-product {
  --door-help-fs: 13px;
  --door-pill-fs: 14px;
  --door-step-gap: 22px;
}

/* -- linkerkolom loopt mee bij het scrollen (alleen naast de info) --
   De vendor maakt de galerij (.m-product-media--desktop) zelf ook
   sticky; binnen deze sticky kolom zou dat dubbelop zijn en schoof
   het USP-blok over de plakkende foto heen. Daarom plakt hier alleen
   de kolom als geheel, en is hij nooit hoger dan de viewport
   (interne scroll als de inhoud niet past). */
@media screen and (min-width: 768px) {
  .binnendeur .m-main-product__media {
    position: sticky;
    top: 90px;
    align-self: flex-start;
    max-height: calc(100vh - 106px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }

  .binnendeur .m-main-product__media .m-product-media--desktop {
    position: static;
  }
}

/* -- hoofdfoto 4:5 -- */
.binnendeur .m-product-media--wrapper .m-product-media__main img,
.binnendeur .m-product-media--wrapper .swiper-slide img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

/* -- USP-blok onder de galerij -- */
.solza-media-below {
  margin-top: 16px;
}

/* terugval-USP's (instelbare richtext): zelfde vinkjes-vormtaal als
   de kenmerkenlijst bij de titel */
.solza-usp-fallback ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.solza-usp-fallback ul li {
  position: relative;
  padding-left: 24px;
  font-size: 14px;
  line-height: 1.9;
  color: var(--solza-color-text);
}

.solza-usp-fallback ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 14px;
  height: 8px;
  border-left: 2px solid var(--solza-indigo-blue);
  border-bottom: 2px solid var(--solza-indigo-blue);
  transform: rotate(-45deg) scale(0.85);
}

.solza-media-below--mobile {
  margin-top: 24px;
}

/* De sitebrede footer-group-slider "Favorieten van onze
   vloerexperts" toont vloerproducten; op een deurenpagina is dat
   misplaatst. De sectie is onderdeel van de footer-group (kan niet
   per template uitgezet worden), dus hier gescoped verborgen. */
.binnendeur [id$="__custom_content_JXJieD"] {
  display: none;
}

/* -- serie/stijl-regel: klein en gedempt boven de titel -- */
.solza-door-series {
  display: flex;
  gap: 8px;
  align-items: baseline;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--solza-color-text-muted);
  margin: 0 0 4px;
}

/* -- drie kenmerken met vinkje -- */
.solza-door-checks {
  list-style: none;
  margin: 10px 0 4px;
  padding: 0;
}

.solza-door-checks li {
  position: relative;
  padding-left: 24px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--solza-color-text);
}

.solza-door-checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 14px;
  height: 8px;
  border-left: 2px solid var(--solza-indigo-blue);
  border-bottom: 2px solid var(--solza-indigo-blue);
  transform: rotate(-45deg) scale(0.85);
}

/* -- variantstappen -------------------------------------------------- */
.solza-door-options {
  counter-reset: doorstep;
  margin: var(--door-step-gap) 0 0;
}

.solza-door-options .solza-door-step {
  counter-increment: doorstep;
  margin-bottom: var(--door-step-gap);
}

.solza-door-step--hidden {
  display: none; /* telt niet mee in de counter: nummering klopt vanzelf */
}

.solza-door-step .option-label {
  display: flex;
  align-items: center;
  gap: 8px;
}

.solza-door-step__num::before {
  content: counter(doorstep);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  font-size: 12px;
  font-weight: 600;
}

.solza-door-step__help {
  margin: 4px 0 10px;
  font-size: var(--door-help-fs);
  line-height: 1.5;
  color: var(--solza-color-text-muted);
  max-width: 68ch;
}

.solza-door-step .m-product-option--content {
  gap: 8px;
}

.solza-door-pill {
  margin: 0;
}

.solza-door-pill input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  margin: 0;
  pointer-events: none;
}

.solza-door-options .solza-door-pill .m-product-option--node__label {
  /* vendor modules.css zet text-transform: capitalize op alle
     button-optielabels (.m-product-option--button ...__label),
     waardoor maten als "78 X 201,5 Cm" verschenen; maateenheden
     horen klein ("78 x 201,5 cm") */
  text-transform: none;
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 6px 16px;
  border: 1px solid rgba(var(--solza-indigo-blue-rgb), 0.3);
  border-radius: 999px;
  font-size: var(--door-pill-fs);
  line-height: 1.3;
  color: var(--solza-color-text);
  background: var(--solza-white);
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.solza-door-pill input[type="radio"]:checked + .m-product-option--node__label {
  background: var(--solza-indigo-blue);
  border-color: var(--solza-indigo-blue);
  color: var(--solza-white);
}

.solza-door-pill input[type="radio"]:focus-visible + .m-product-option--node__label {
  outline: 2px solid var(--solza-indigo-blue);
  outline-offset: 2px;
}

.solza-door-pill--unavailable .m-product-option--node__label {
  opacity: 0.4;
  text-decoration: line-through;
  cursor: not-allowed;
}

/* "Niet van toepassing" is nooit een zichtbare keuze */
.solza-door-pill--na {
  display: none;
}

/* -- stappen 4-6: pillen met een subregel (RAL-code/toeslag), de
      bewerkingen-aanvinklijst en de retourmelding ----------------- */
.solza-door-pill--stacked .m-product-option--node__label {
  text-align: left;
}

.solza-door-pill--stacked .m-product-option--node__label small {
  display: block;
  font-size: 11px;
  opacity: 0.75;
  margin-top: 2px;
  font-weight: 400;
}

.solza-door-proc-list {
  max-width: 520px;
}

.solza-door-proc {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 0;
  font-size: 14px;
  color: var(--solza-color-text);
  border-bottom: 1px solid rgba(var(--solza-indigo-blue-rgb), 0.06);
  cursor: pointer;
}

.solza-door-proc:last-child {
  border-bottom: none;
}

.solza-door-proc input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  margin: 0;
  pointer-events: none;
}

.solza-door-proc__box {
  width: 19px;
  height: 19px;
  border: 1.5px solid rgba(var(--solza-indigo-blue-rgb), 0.3);
  border-radius: 3px;
  flex-shrink: 0;
  position: relative;
}

.solza-door-proc input[type="checkbox"]:checked ~ .solza-door-proc__box {
  background: var(--solza-indigo-blue);
  border-color: var(--solza-indigo-blue);
}

.solza-door-proc input[type="checkbox"]:checked ~ .solza-door-proc__box::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 3px;
  width: 9px;
  height: 5px;
  border-left: 2px solid var(--solza-white);
  border-bottom: 2px solid var(--solza-white);
  transform: rotate(-45deg);
}

.solza-door-proc input[type="checkbox"]:focus-visible ~ .solza-door-proc__box {
  outline: 2px solid var(--solza-indigo-blue);
  outline-offset: 2px;
}

.solza-door-proc__price {
  margin-left: auto;
  font-size: 13.5px;
  color: var(--solza-color-text-muted);
  white-space: nowrap;
}

.solza-door-proc input[type="checkbox"]:checked ~ .solza-door-proc__price {
  color: var(--solza-color-text);
}

/* -- reviewblok (referentie .rev): groot cijfer + sterren + aantal,
      verdeling met balkjes, drie kaarten. Rendert alleen bij echte
      Loox-data; sterren conventioneel goud (rating-uitzondering). -- */
.solza-door-reviews__heading {
  margin-bottom: 20px;
}

.solza-door-reviews__top {
  display: flex;
  gap: 26px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.solza-door-reviews__score {
  font-size: 40px;
  font-weight: 800;
  line-height: 1;
  color: var(--solza-color-text);
}

.solza-door-reviews__score small {
  font-size: 15px;
  font-weight: 500;
  color: var(--solza-color-text-muted);
}

.solza-door-reviews__stars-track {
  position: relative;
  display: inline-block;
  color: rgba(var(--solza-indigo-blue-rgb), 0.15);
  font-size: 16px;
  letter-spacing: 2px;
}

.solza-door-reviews__stars-fill {
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  white-space: nowrap;
  color: var(--solza-golden-mango);
}

.solza-door-reviews__count {
  font-size: 13px;
  color: var(--solza-color-text-muted);
  margin-top: 3px;
}

.solza-door-reviews__dist {
  flex: 1;
  min-width: 210px;
  max-width: 420px;
}

.solza-door-reviews__dist-row {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  color: var(--solza-color-text-muted);
  margin-bottom: 4px;
}

.solza-door-reviews__bar {
  flex: 1;
  height: 6px;
  background: rgba(var(--solza-indigo-blue-rgb), 0.08);
  border-radius: 99px;
  overflow: hidden;
}

.solza-door-reviews__bar span {
  display: block;
  height: 100%;
  background: var(--solza-golden-mango);
}

.solza-door-reviews__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

@media (max-width: 820px) {
  .solza-door-reviews__cards {
    grid-template-columns: 1fr;
  }
}

.solza-door-reviews__card {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 14px 15px;
}

.solza-door-reviews__card-stars {
  color: var(--solza-golden-mango);
  font-size: 13px;
  letter-spacing: 1.5px;
}

.solza-door-reviews__card b {
  display: block;
  font-size: 13.5px;
  margin: 6px 0 3px;
  color: var(--solza-color-text);
}

.solza-door-reviews__card p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(var(--solza-indigo-blue-rgb), 0.8);
}

.solza-door-reviews__who {
  font-size: 12px;
  color: var(--solza-color-text-muted);
  margin-top: 9px;
}

/* lopende tekst in de omschrijving op ~68 tekens per regel houden,
   ook als de kolom zelf breder is */
.solza-door-details__prose p,
.solza-door-details__prose li {
  max-width: 68ch;
}

/* -- eerder door jou bekeken: kop + gedempte subregel boven de
      bestaande productkaartenrij -- */
.solza-door-recent__heading {
  margin-bottom: 2px;
}

.solza-door-recent__hint {
  margin: 0 0 10px;
  font-size: 13.5px;
  color: var(--solza-color-text-muted);
}

/* retourmelding: crème blok met gele linkerrand (referentie
   .melding); geel hier als functioneel let-op-signaal */
.solza-door-return-note {
  background: var(--solza-color-surface-muted);
  border-left: 3px solid var(--solza-golden-mango);
  padding: 11px 13px;
  border-radius: 3px;
  font-size: 12.5px;
  line-height: 1.55;
  margin: 12px 0 var(--door-step-gap);
  max-width: 68ch;
  color: var(--solza-color-text);
}

/* -- bestelblok (referentie .afsluit/.som): scheidingslijn erboven,
      label "Totaal inclusief btw" klein en gedempt links, bedrag
      groot en vet rechts (row-reverse: de DOM houdt prijs-eerst
      voor de vendor-prijsupdates bij variantwissels) -- */
.binnendeur .main-product__block-price {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 0;
  border-top: 1px solid var(--solza-color-border);
  padding-top: 18px;
  margin-top: 8px;
}

.binnendeur .main-product__block-price .m-product-tax {
  font-size: 13px;
  font-weight: 400;
  color: var(--solza-color-text-muted);
  margin: 0;
}

/* het (op deuren toch al onzichtbare) shoppay/proefmonster-element is
   anders een derde flex-kind dat het label uit de linkerhoek duwt */
.binnendeur .main-product__block-price .installment-shoppay {
  display: none;
}

/* de proefmonster-app injecteert zijn bestelknop in elk
   productformulier; proefmonsters zijn een vloerenconcept en horen
   niet op de deuren-PDP (duwde ook de Toevoegen-knop van de
   toebehoren-kaarten uit z'n volle breedte) */
.binnendeur .product-samples-button-wrap {
  display: none;
}

.binnendeur .main-product__block-price .m-price-item {
  font-size: 26px;
  font-weight: 600;
  color: var(--solza-color-text);
}

/* -- knoppenrij: winkelwagenknop en bied-knop naast elkaar zodra het
      bied-blok aan staat (main-product__block--bid-inline komt
      server-side uit main-product-blocks). Zonder :has-ondersteuning
      blijven de knoppen gestapeld -- functioneel gelijkwaardig. -- */
.binnendeur .m-main-product__info:has(.main-product__block--bid-inline) .main-product__block-buy_buttons {
  float: left;
  width: calc(55% - 5px);
}

.binnendeur .main-product__block--bid-inline {
  float: right;
  width: calc(45% - 5px);
}

.binnendeur .main-product__block--bid-inline + .main-product__block,
.binnendeur .main-product__block-custom_liquid {
  clear: both;
}

@media (max-width: 479px) {
  .binnendeur .m-main-product__info:has(.main-product__block--bid-inline) .main-product__block-buy_buttons,
  .binnendeur .main-product__block--bid-inline {
    float: none;
    width: 100%;
  }
}

/* bied-launcher als secundaire knop met navy rand (referentie
   .knop.sec), even hoog als de primaire knop ernaast */
.binnendeur .main-product__block--bid-inline .solza-bid-block__launcher {
  width: 100%;
  background: var(--solza-color-surface);
  border: 1.5px solid var(--solza-indigo-blue);
  color: var(--solza-indigo-blue);
  font-weight: 500;
}

/* -- bestelblok-informatie -- */
.solza-door-order-info {
  margin: 14px 0;
}

.solza-door-order-info .solza-pcard-status__text {
  font-size: 14px;
}

.solza-door-delivery {
  margin: 6px 0 0;
  font-size: 14px;
  color: var(--solza-color-text);
}

.solza-door-bid-note {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--solza-color-text-muted);
  max-width: 68ch;
}

/* primaire knop op de deur-PDP in oranje, met navy label
   (zelfde contrastkeuze als de filterbevestigknop: 5,14:1).
   !important omdat de site-brede groene koopknop-regel
   (.m-add-to-cart, regel ~1608) ook !important draagt. */
.binnendeur .m-product-form--main .m-add-to-cart:not(.disabled):not([disabled]) {
  background-color: var(--solza-color-cta) !important;
  border-color: var(--solza-color-cta);
  color: var(--solza-indigo-blue);
}

.binnendeur .m-product-form--main .m-add-to-cart:not(.disabled):not([disabled]):hover {
  background-color: rgba(237, 105, 70, 0.88) !important;
  border-color: transparent;
}

/* de bied-launcher van de app als secundaire knop direct onder de
   primaire (zelfde knoppenblok, 8px ertussen) */
.binnendeur .shopify-app-block .solza-bid-block__launcher {
  margin-top: 8px;
}

/* -- toebehoren-rij in de productkolom (referentie .ckaart):
      compacte omkaderde kaarten, bewust geen productgrid ("voeg dit
      erbij", niet "bekijk dit in plaats van") -- */
.solza-door-acc-block {
  margin-top: 20px;
  border-top: 1px solid var(--solza-color-border);
  padding-top: 17px;
}

.solza-door-acc-block__heading {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 3px;
  color: var(--solza-color-text);
}

.solza-door-acc-block__hint {
  font-size: 12.5px;
  color: var(--solza-color-text-muted);
  margin: 0 0 11px;
  line-height: 1.5;
}

.solza-door-acc-list {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.solza-door-acc {
  display: flex;
  align-items: center;
  gap: 13px;
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 10px 12px;
}

/* het maatfilter werkt met het hidden-attribuut; display:flex/block
   zou dat anders overrulen */
.solza-door-acc[hidden],
.solza-door-acc-block[hidden] {
  display: none;
}

.solza-door-acc__media {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 4px;
  overflow: hidden;
  background: var(--solza-color-surface-warm);
}

.solza-door-acc__media img,
.solza-door-acc__media-empty {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.solza-door-acc__text {
  flex: 1 1 auto;
  min-width: 0;
}

.solza-door-acc__title {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--solza-color-text);
  line-height: 1.4;
  margin-bottom: 2px;
}

.solza-door-acc__reason {
  margin: 0;
  font-size: 12.5px;
  color: var(--solza-color-text-muted);
  line-height: 1.4;
}

.solza-door-acc__price {
  font-size: 15px;
  font-weight: 600;
  color: var(--solza-color-text);
  white-space: nowrap;
}

.solza-door-acc__form {
  flex: 0 0 auto;
}

.solza-door-acc__addform {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.solza-door-acc__variant {
  max-width: 110px;
  min-height: 37px;
  padding: 4px 8px;
  font-size: 12.5px;
  border: 1px solid rgba(24, 31, 62, 0.25);
  border-radius: 4px;
  background: var(--solza-color-surface);
  color: var(--solza-color-text);
}

/* Toevoegen-knop met navy rand (referentie .ckaart .add); hover
   inverteert. De !important is nodig tegen de site-brede groene
   koopknop-regel op .m-add-to-cart. */
.binnendeur .solza-door-acc__add:not(.disabled):not([disabled]) {
  background-color: var(--solza-color-surface) !important;
  border: 1.5px solid var(--solza-indigo-blue);
  color: var(--solza-indigo-blue);
}

.binnendeur .solza-door-acc__add:not(.disabled):not([disabled]):hover {
  background-color: var(--solza-indigo-blue) !important;
  color: #fff;
}

.solza-door-acc__add {
  border-radius: 999px;
  min-height: 0;
  min-width: 0;
  width: auto;
  padding: 8px 15px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
}

/* onder 520px breekt de knop naar een eigen regel over de volle
   breedte (referentie) */
@media (max-width: 520px) {
  .solza-door-acc {
    flex-wrap: wrap;
  }

  .solza-door-acc__form,
  .solza-door-acc__addform,
  .solza-door-acc__add {
    width: 100%;
  }
}

/* -- sticky balk: mini-foto en totaal ook op mobiel; geen
      variantdropdown of aantal in de balk (alleen totaal + knop) -- */
.m-sticky-addtocart--door .m-sticky-addtocart--leftblock {
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.m-sticky-addtocart--door .m-sticky-addtocart--image {
  flex: 0 0 40px;
  width: 40px;
}

.m-sticky-addtocart--door .m-sticky-addtocart--title h2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.m-sticky-addtocart--door .m-product-option--dropdown-select,
.m-sticky-addtocart--door .m-sticky-addtocart--quantity {
  display: none !important;
}

/* balkknop in dezelfde CTA-stijl als het inline bestelblok
   (alleen de bestelbare staat; disabled volgt de vendor-stijl) */
.m-sticky-addtocart--door .m-add-to-cart:not(.disabled):not([disabled]) {
  background-color: var(--solza-color-cta) !important;
  border-color: var(--solza-color-cta);
  color: var(--solza-indigo-blue);
}

@media screen and (max-width: 767px) {
  .m-sticky-addtocart--door .m-sticky-addtocart--title h2 {
    font-size: 13px;
  }
}

/* -- onder de vouw: omschrijving + specificaties ----------------------
      referentie .duo: omschrijving links op 1,35fr tegen 1fr specs,
      38px ertussen, op alle breedtes vanaf 768px -- */
.solza-door-details__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 38px;
  align-items: start;
}

.solza-door-details__grid--specs-only {
  grid-template-columns: minmax(0, 720px);
}

.solza-door-details__prose {
  max-width: 68ch;
}

@media screen and (min-width: 768px) {
  .solza-door-details__specs {
    position: sticky;
    top: 90px;
  }
}

@media screen and (max-width: 767px) {
  .solza-door-details__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}

.solza-door-specs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.solza-door-specs-table td {
  padding: 8px 0;
  border-bottom: 1px solid var(--solza-color-border);
  vertical-align: top;
}

.solza-door-specs-table tr:last-child td {
  border-bottom: none;
}

.solza-door-specs-table td:first-child {
  color: var(--solza-color-text-muted);
  padding-right: 16px;
  white-space: nowrap;
}

/* -- FAQ -- */
.solza-door-faq__heading {
  margin-bottom: 16px;
}

.solza-door-faq .solza-acc__inner p {
  max-width: 68ch;
}

/* -- maatwerkband -- */
/* maatwerkband als omkaderd blok, tekst links en knop rechts
   (referentie .maatw) */
.solza-cta-band .solza-cta-band__inner {
  background: var(--solza-color-surface);
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 17px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.solza-cta-band__prose {
  max-width: 52ch;
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.7;
}

/* -- adviesband: creme band, burgundy uitsluitend als accent op het
      label en de categorielabels (eerste toepassing van burgundy) -- */
.solza-advice-band {
  background: var(--solza-driftwood-cream-light);
}

/* kopregel: kop links, label ernaast met burgundy onderstreping
   (referentie .burgkop) */
.solza-advice-band__head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.solza-advice-band__label {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--solza-burgundy);
  border-bottom: 2px solid var(--solza-burgundy);
  padding-bottom: 2px;
}

.solza-advice-band__heading {
  margin: 0;
}

.solza-advice-band__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

@media screen and (max-width: 767px) {
  .solza-advice-band__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
}

/* hoofdartikel als witte kaart (referentie .lead) */
.solza-advice-band__main {
  display: block;
  color: var(--solza-color-text);
  background: var(--solza-color-surface);
  border: 1px solid rgba(116, 26, 33, 0.15);
  border-radius: 5px;
  overflow: hidden;
}

.solza-advice-band__main:hover {
  border-color: var(--solza-burgundy);
}

.solza-advice-band__main-text {
  padding: 15px 17px 17px;
}

.solza-advice-band__image {
  overflow: hidden;
  margin-bottom: 0;
}

.solza-advice-band__category {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--solza-burgundy);
  margin-bottom: 4px;
}

.solza-advice-band__title {
  margin: 0 0 6px;
}

.solza-advice-band__excerpt {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--solza-color-text-muted);
  max-width: 68ch;
}

.solza-advice-band__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.solza-advice-band__list li {
  border-bottom: 1px solid rgba(116, 26, 33, 0.14);
}

.solza-advice-band__list li:last-child {
  border-bottom: none;
}

.solza-advice-band__link {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 13px 0;
  color: var(--solza-color-text);
}

.solza-advice-band__link:hover .solza-advice-band__link-title {
  color: var(--solza-burgundy);
}

.solza-advice-band__link-title {
  display: block;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.4;
}

.solza-advice-band__link-sub {
  display: block;
  font-size: 12.5px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.6);
  margin-top: 3px;
  line-height: 1.45;
}

.solza-advice-band__chevron {
  flex-shrink: 0;
  color: var(--solza-burgundy);
  font-size: 17px;
  line-height: 1.2;
}

@media (prefers-reduced-motion: reduce) {
  .solza-door-pill .m-product-option--node__label {
    transition: none;
  }
}

/* ==== adviespagina (page.advies, referentie adviespagina-variant-1
        en -varianten-2-3) — metafield-gevoed, alles self-hiding ==== */
.solza-advies-kruimelbalk {
  background: var(--solza-color-surface-warm);
}

.solza-advies-kruimels {
  padding-top: 11px;
  padding-bottom: 11px;
  font-size: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.solza-advies-kruimels a {
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-advies-kruimels a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.solza-advies-kruimels span[aria-hidden] {
  color: rgba(var(--solza-indigo-blue-rgb), 0.35);
  font-size: 11px;
}

.solza-advies-kruimels b {
  color: rgba(var(--solza-indigo-blue-rgb), 0.55);
  font-weight: 400;
}

.solza-advies {
  padding-top: 30px;
  padding-bottom: 60px;
}

.solza-advies__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 48px;
  align-items: start;
}

@media screen and (max-width: 900px) {
  .solza-advies__cols {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
}

.solza-advies__label {
  font-size: 12px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--solza-burgundy);
  font-weight: 600;
  margin: 0 0 8px;
}

.solza-advies__titel {
  font-size: 32px;
  line-height: 1.2;
  margin: 0 0 16px;
  font-weight: 800;
  letter-spacing: -0.015em;
  max-width: 22ch;
}

@media screen and (max-width: 600px) {
  .solza-advies__titel {
    font-size: 25px;
  }
}

.solza-advies__meta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 13.5px;
  color: var(--solza-color-text-muted);
  margin: 0 0 20px;
}

.solza-advies__hero {
  margin: 0 0 24px;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
  background: var(--solza-color-surface-warm);
}

.solza-advies__hero img {
  display: block;
  width: 100%;
  aspect-ratio: 21 / 9;
  object-fit: cover;
}

.solza-advies__hero-bij {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 24px 16px 10px;
  color: var(--solza-white);
  font-size: 12.5px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
}

/* antwoordblok: creme met burgundy linkerrand; eerste regel groot */
.solza-advies__antwoord {
  background: var(--solza-color-surface-muted);
  border-left: 4px solid var(--solza-burgundy);
  border-radius: 0 5px 5px 0;
  padding: 18px 22px;
  margin: 0 0 26px;
}

.solza-advies__antwoord p {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 500;
  max-width: 60ch;
}

.solza-advies__antwoord p + p {
  margin-top: 9px;
  font-size: 15px;
  font-weight: 400;
  color: rgba(var(--solza-indigo-blue-rgb), 0.78);
}

.solza-advies__feiten,
.solza-advies__inhoud {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 16px 18px;
  margin: 0 0 26px;
  max-width: 68ch;
}

.solza-advies__feiten b,
.solza-advies__inhoud b {
  display: block;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--solza-color-text-muted);
  margin-bottom: 9px;
  font-weight: 600;
}

.solza-advies__feiten dl {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 18px;
  font-size: 15px;
}

.solza-advies__feiten dt {
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
}

.solza-advies__feiten dd {
  margin: 0;
  font-weight: 500;
}

.solza-advies__inhoud ol {
  margin: 0;
  padding-left: 20px;
  font-size: 14.5px;
  line-height: 1.9;
}

.solza-advies__inhoud a {
  color: var(--solza-color-text);
}

/* lopende tekst */
.solza-advies__body h2 {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 34px 0 10px;
  line-height: 1.3;
  scroll-margin-top: 90px;
}

.solza-advies__body h3 {
  font-size: 17px;
  font-weight: 600;
  margin: 22px 0 6px;
}

.solza-advies__body p,
.solza-advies__body ul,
.solza-advies__body ol,
.solza-advies__body table {
  max-width: 68ch;
}

.solza-advies__body p {
  margin: 0 0 14px;
}

.solza-advies__body a {
  color: var(--solza-color-text);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: rgba(var(--solza-indigo-blue-rgb), 0.35);
}

.solza-advies__body a:hover {
  text-decoration-color: var(--solza-color-text);
}

.solza-advies__body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  margin: 0 0 18px;
}

.solza-advies__body th {
  text-align: left;
  font-weight: 800;
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  padding: 10px 12px;
}

.solza-advies__body th:first-child {
  border-radius: 5px 0 0 0;
}

.solza-advies__body th:last-child {
  border-radius: 0 5px 0 0;
}

.solza-advies__body td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(var(--solza-indigo-blue-rgb), 0.08);
  vertical-align: top;
}

.solza-advies__body tr:nth-child(even) td {
  background: rgba(var(--solza-indigo-blue-rgb), 0.025);
}

/* stappenplan: h2's in de body worden genummerde stappen */
.solza-advies--stappen .solza-advies__body {
  counter-reset: adviesstap;
}

.solza-advies--stappen .solza-advies__body h2 {
  counter-increment: adviesstap;
  position: relative;
  padding-left: 22px;
  font-size: 19px;
}

.solza-advies--stappen .solza-advies__body h2::before {
  content: counter(adviesstap);
  position: absolute;
  left: -15px;
  top: -1px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  font-size: 14px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 600px) {
  .solza-advies--stappen .solza-advies__body h2 {
    padding-left: 26px;
  }

  .solza-advies--stappen .solza-advies__body h2::before {
    left: -8px;
  }
}

/* productsectie */
.solza-advies__producten {
  border-top: 1px solid var(--solza-color-border);
  margin-top: 40px;
  padding-top: 26px;
}

.solza-advies__producten h2 {
  margin: 0 0 16px;
  font-weight: 800;
  font-size: 22px;
}

.solza-advies__bron {
  font-size: 13.5px;
  color: var(--solza-color-text-muted);
  border-top: 1px solid var(--solza-color-border);
  margin-top: 26px;
  padding-top: 14px;
  max-width: 68ch;
}

.solza-advies__auteur {
  display: flex;
  gap: 14px;
  align-items: center;
  border-top: 1px solid var(--solza-color-border);
  margin-top: 40px;
  padding-top: 22px;
}

.solza-advies__auteur-foto {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--solza-color-surface-warm);
  flex-shrink: 0;
}

.solza-advies__auteur-foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.solza-advies__auteur b {
  display: block;
  font-size: 15px;
}

.solza-advies__auteur span {
  display: block;
  font-size: 14px;
  color: var(--solza-color-text-muted);
  line-height: 1.5;
}

.solza-advies__auteur a {
  color: var(--solza-color-text);
}

.solza-advies__faq {
  border-top: 1px solid var(--solza-color-border);
  margin-top: 40px;
  padding-top: 26px;
}

.solza-advies__faq h2 {
  margin: 0 0 14px;
  font-weight: 800;
  font-size: 22px;
}

/* zijkolom */
.solza-advies__zij {
  position: sticky;
  top: 90px;
}

@media screen and (max-width: 900px) {
  .solza-advies__zij {
    position: static;
  }
}

.solza-advies__kaart {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 17px 19px;
  margin-bottom: 14px;
}

.solza-advies__kaart h2 {
  font-size: 15.5px;
  margin: 0 0 9px;
  font-weight: 800;
}

.solza-advies__kaart p {
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 12px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.75);
}

.solza-advies__kaart ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14.5px;
  line-height: 1.9;
}

.solza-advies__kaart ul a {
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-advies__kaart ul a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.solza-advies__kaart--cta {
  background: var(--solza-indigo-blue);
  border-color: var(--solza-indigo-blue);
}

.solza-advies__kaart--cta h2 {
  color: var(--solza-white);
}

.solza-advies__kaart--cta p {
  color: rgba(255, 255, 255, 0.82);
}

/* oranje uitsluitend voor deze primaire knop */
.solza-advies__ctaknop {
  display: inline-block;
  background: var(--solza-color-cta);
  color: var(--solza-white);
  text-decoration: none;
  border-radius: 999px;
  padding: 11px 20px;
  font-weight: 600;
  font-size: 14.5px;
}

/* ==== vernieuwde footer + showroombanner (referentie:
        solza-footer-definitief.html) — secties solza-showroombanner
        en solza-footer, alles self-hiding en instelbaar ==== */

/* Caveat alleen voor het handgeschreven accent in de showroombanner;
   zelf-gehost (assets), swap zodat tekst nooit onzichtbaar wacht. */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('solza-caveat-600.woff2') format('woff2');
}

/* -- showroombanner: creme band, tekst links, foto rechts tot de
      schermrand met verloop van creme naar transparant -- */
.solza-showroomband {
  background: var(--solza-color-surface-muted);
  overflow: hidden;
  position: relative;
}

.solza-showroomband__in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  align-items: center;
  min-height: 300px;
  position: relative;
  z-index: 2;
}

.solza-showroomband__foto {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 50%;
}

.solza-showroomband__foto img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--band-focus, 35% 30%);
}

.solza-showroomband__foto::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    var(--solza-driftwood-cream-light) 0%,
    rgba(249, 241, 237, 0.75) 30%,
    transparent 66%
  );
}

.solza-showroomband__tekst {
  color: var(--solza-color-text);
  padding: 44px 0;
}

.solza-showroomband__accent {
  font-family: 'Caveat', cursive;
  font-size: 28px;
  color: var(--solza-burgundy);
  line-height: 1.2;
  display: block;
  margin-bottom: 4px;
  font-weight: 600;
}

.solza-showroomband__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 26px;
  font-weight: 800;
  margin: 0 0 10px;
  line-height: 1.25;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-showroomband__alinea {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(var(--solza-indigo-blue-rgb), 0.78);
  max-width: 42ch;
}

.solza-showroomband__knop {
  display: inline-block;
  background: var(--solza-color-cta);
  color: var(--solza-white);
  text-decoration: none;
  border-radius: 999px;
  padding: 13px 26px;
  font-weight: 600;
  font-size: 15px;
}

.solza-showroomband__knop:hover {
  color: var(--solza-white);
  opacity: 0.92;
}

.solza-showroomband__sub {
  display: block;
  margin-top: 12px;
  font-size: 13.5px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
}

@media (max-width: 760px) {
  .solza-showroomband__in {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 0;
    padding-bottom: 30px;
  }

  .solza-showroomband__foto {
    position: static;
    aspect-ratio: 19 / 10;
    margin: 0 -20px;
  }

  /* foto los boven de tekst: de wrapper zit buiten de container, dus
     op mobiel gewoon als blok in de flow (DOM-volgorde: foto eerst) */
  .solza-showroomband__foto img {
    position: static;
    height: 100%;
    object-position: var(--band-focus-mobiel, 38% 28%);
  }

  .solza-showroomband__foto::after {
    background: linear-gradient(transparent 55%, var(--solza-driftwood-cream-light) 100%);
  }

  .solza-showroomband__tekst {
    padding: 20px 0 0;
  }

  .solza-showroomband__kop {
    font-size: 21px;
  }

  .solza-showroomband__accent {
    font-size: 24px;
  }

  .solza-showroomband__alinea {
    font-size: 14.5px;
    margin-bottom: 15px;
  }

  .solza-showroomband__knop {
    width: 100%;
    text-align: center;
  }
}

/* mobiel zit de foto-wrapper (position:static) boven de container met
   z-index 2; het verloop mag de tekst nooit afdekken */
@media (max-width: 760px) {
  .solza-showroomband__foto::after {
    pointer-events: none;
  }
}

/* -- footer: navy blok -- */
.solza-footer {
  background: var(--solza-indigo-blue);
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
  line-height: 1.6;
}

.solza-footer a {
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
}

.solza-footer a:hover {
  color: var(--solza-white);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.solza-footer__kolomkop {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: var(--solza-white);
  margin: 0 0 12px;
  text-transform: none;
}

/* nieuwsbriefstrook met scheidingslijn binnen de container */
.solza-footer__nieuws-in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 20px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px 40px;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.solza-footer__nieuws-tekst {
  flex: 1 1 300px;
  min-width: 0;
}

.solza-footer__nieuws-kop {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--solza-white);
  margin: 0;
  text-transform: none;
}

.solza-footer__nieuws-uitleg {
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.72);
}

.solza-footer__nieuws-klein {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  margin: 7px 0 0;
}

.solza-footer__nieuws-klein p {
  margin: 0;
  font-size: inherit;
  color: inherit;
}

.solza-footer__nieuws-klein a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.solza-footer__nieuwsform-wrap {
  flex: 0 1 420px;
  min-width: 280px;
}

.solza-footer__nieuwsform-rij {
  display: flex;
  gap: 8px;
}

.solza-footer__nieuwsform-rij input[type="email"] {
  flex: 1;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  padding: 12px 18px;
  font-family: inherit;
  font-size: 14px;
  color: var(--solza-white);
  min-width: 0;
}

.solza-footer__nieuwsform-rij input[type="email"]::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.solza-footer__nieuwsform-rij button {
  background: var(--solza-color-cta);
  color: var(--solza-white);
  border: none;
  border-radius: 999px;
  padding: 12px 22px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

/* kolommen */
.solza-footer__in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 20px 0;
}

.solza-footer__kolommen {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr 1fr 1fr;
  gap: 32px;
}

.solza-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.55;
}

.solza-footer__links li {
  margin-bottom: 8px;
}

.solza-footer__adresregel {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.55;
  color: inherit;
}

.solza-footer__open {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.6;
  margin: 0 0 14px;
}

.solza-footer__contact {
  font-size: 14px;
  line-height: 1.75;
  margin: 0 0 16px;
}

.solza-footer__contact a {
  display: block;
}

.solza-footer__adresknop {
  display: inline-block;
  margin-top: 6px;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  border-radius: 999px;
  padding: 9px 17px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--solza-white);
}

.solza-footer__adresknop:hover {
  background: var(--solza-white);
  color: var(--solza-indigo-blue);
  text-decoration: none;
}

/* veel gezocht */
.solza-footer__pop {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin-top: 30px;
  padding-top: 22px;
}

.solza-footer__pop .solza-footer__kolomkop {
  margin-bottom: 11px;
}

.solza-footer__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.solza-footer__tags a {
  font-size: 13px;
  padding: 6px 13px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.4;
}

.solza-footer__tags a:hover {
  background: var(--solza-white);
  color: var(--solza-indigo-blue);
  border-color: var(--solza-white);
  text-decoration: none;
}

/* keurmerken en score */
.solza-footer__keur {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin-top: 38px;
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.solza-footer__score {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}

.solza-footer__score b {
  font-size: 20px;
  font-weight: 800;
  color: var(--solza-white);
}

.solza-footer__sterren {
  position: relative;
  display: inline-block;
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.25);
}

.solza-footer__sterren-vol {
  position: absolute;
  inset: 0;
  overflow: hidden;
  white-space: nowrap;
  color: var(--solza-golden-mango);
}

.solza-footer__score-tekst {
  display: block;
  color: rgba(255, 255, 255, 0.65);
  font-size: 13px;
}

.solza-footer__keurlogos {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.solza-footer__keurmerk {
  background: var(--solza-white);
  border-radius: 4px;
  padding: 8px 12px;
  font-size: 11px;
  color: var(--solza-indigo-blue);
  font-weight: 600;
  display: flex;
  align-items: center;
}

a.solza-footer__keurmerk:hover {
  color: var(--solza-indigo-blue);
  text-decoration: none;
}

.solza-footer__keurmerk img {
  display: block;
  max-height: 28px;
  width: auto;
}

/* onderbalk */
.solza-footer__onder {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding: 16px 0 26px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
}

.solza-footer__onder ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 13px;
}

.solza-footer__onder li {
  margin: 0;
}

/* tablet: adreskolom over de volle breedte in drie kolommen met
   scheidingslijn; de vier linkkolommen in drie kolommen eronder */
@media (max-width: 1050px) {
  .solza-footer__kolommen {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 28px;
  }

  .solza-footer__adres {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px 28px;
    align-items: start;
    padding-bottom: 26px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .solza-footer__adres .solza-footer__kolomkop {
    grid-column: 1 / -1;
    margin-bottom: 6px;
  }

  .solza-footer__adresregel,
  .solza-footer__open,
  .solza-footer__contact {
    margin-bottom: 0;
  }

  .solza-footer__adresknop {
    margin-top: 12px;
  }
}

/* mobiel: nieuwsbrief een kolom, banner stapelt (hierboven),
   keurmerken en onderbalk stapelen */
@media (max-width: 760px) {
  .solza-footer__nieuws-in {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 24px 20px 26px;
  }

  .solza-footer__nieuwsform-wrap {
    flex: 1 1 auto;
    min-width: 0;
  }

  .solza-footer__keur {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .solza-footer__onder {
    flex-direction: column;
    gap: 12px;
    padding-bottom: 30px;
  }

  .solza-footer__onder ul {
    gap: 14px;
  }
}

/* mobiel: adres onder elkaar, links in twee kolommen */
@media (max-width: 640px) {
  .solza-footer__kolommen {
    grid-template-columns: 1fr 1fr;
    gap: 26px 20px;
  }

  .solza-footer__adres {
    grid-template-columns: 1fr;
    gap: 0;
    padding-bottom: 22px;
  }

  .solza-footer__adresregel {
    margin-bottom: 12px;
  }

  .solza-footer__open {
    margin-bottom: 12px;
  }

  .solza-footer__contact {
    margin-bottom: 14px;
  }

  .solza-footer__adres .solza-footer__kolomkop {
    font-size: 14.5px;
  }

  .solza-footer__links {
    font-size: 13.5px;
  }

  .solza-footer__links li {
    margin-bottom: 7px;
  }
}

/* smalle telefoons: knop onder het invoerveld */
@media (max-width: 420px) {
  .solza-footer__nieuwsform-rij {
    flex-direction: column;
  }

  .solza-footer__nieuwsform-rij button {
    width: 100%;
  }
}

/* kleine telefoons: alles onder elkaar */
@media (max-width: 400px) {
  .solza-footer__kolommen {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}

/* Lees-verder-links op artikelkaarten: navy i.p.v. koraal -- koraal
   haalt als lopende linktekst de contrasteis niet en is gereserveerd
   voor badges en primaire knoppen (besluit 2026-08-04). */
body .m-article-card .m-article-card__readmore.m-button--link {
  color: var(--solza-indigo-blue);
}

/* ==== contactpagina (page.contact, referentie solza-contactpagina-v4)
        — sectie solza-contactpagina, alles instelbaar en self-hiding ==== */
.solza-contact {
  color: var(--solza-color-text);
  font-size: 16px;
  line-height: 1.65;
}

.solza-contact__in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
}

/* introtekst onder de paginatitel */
.solza-contact__intro p {
  margin: 0;
  max-width: 62ch;
  color: rgba(var(--solza-indigo-blue-rgb), 0.75);
}

/* -- drie contactkaarten -- */
.solza-contact__kaarten {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding-top: 24px;
  padding-bottom: 8px;
}

.solza-contact__kaart {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  background: var(--solza-white);
}

.solza-contact__kaart--creme {
  background: var(--solza-color-surface-muted);
  border-color: transparent;
}

.solza-contact__kaartkop {
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 800;
  margin: 0 0 4px;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-contact__kaartsub {
  font-size: 13.5px;
  color: var(--solza-color-text-muted);
  margin: 0 0 12px;
}

.solza-contact__groot {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 3px;
  display: block;
  color: var(--solza-color-text);
  text-decoration: none;
}

a.solza-contact__groot:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.solza-contact__kaartopen {
  font-size: 13.5px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
  margin: 0 0 12px;
  line-height: 1.55;
}

.solza-contact__status {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 13.5px;
  margin: 0 0 10px;
  color: var(--solza-color-text-muted);
}

.solza-contact__status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--solza-color-text-muted);
  flex-shrink: 0;
}

.solza-contact__status--open {
  color: var(--solza-color-text);
}

.solza-contact__status--open .solza-contact__status-dot {
  background: var(--solza-color-stock-available);
}

.solza-contact__kaartknop {
  margin-top: auto;
  align-self: flex-start;
  background: var(--solza-color-cta);
  color: var(--solza-white);
  text-decoration: none;
  border-radius: 999px;
  padding: 11px 20px;
  font-weight: 600;
  font-size: 14.5px;
}

.solza-contact__kaartknop:hover {
  color: var(--solza-white);
  opacity: 0.92;
}

.solza-contact__kaartknop--omlijnd {
  background: var(--solza-white);
  color: var(--solza-color-text);
  border: 1.5px solid var(--solza-indigo-blue);
  font-weight: 500;
}

.solza-contact__kaartknop--omlijnd:hover {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  opacity: 1;
}

/* -- teamband: creme, foto links -- */
.solza-contact__band {
  background: var(--solza-color-surface-muted);
  margin-top: 26px;
}

.solza-contact__band-in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 0.85fr 1fr;
  gap: 38px;
  align-items: center;
  min-height: 230px;
}

.solza-contact__bandfoto {
  align-self: stretch;
  position: relative;
  overflow: hidden;
}

.solza-contact__bandfoto img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--band-focus, 58% 40%);
}

.solza-contact__bandfoto img.solza-contact__bandfoto-m {
  display: none;
}

.solza-contact__bandtekst {
  padding: 30px 0;
}

.solza-contact__bandaccent {
  font-family: 'Caveat', cursive;
  font-size: 26px;
  color: var(--solza-burgundy);
  display: block;
  line-height: 1.2;
  margin-bottom: 2px;
  font-weight: 600;
}

.solza-contact__bandkop {
  font-family: 'Poppins', sans-serif;
  font-size: 23px;
  font-weight: 800;
  margin: 0 0 9px;
  line-height: 1.3;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-contact__bandalinea {
  margin: 0 0 6px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(var(--solza-indigo-blue-rgb), 0.78);
  max-width: 46ch;
}

.solza-contact__bandwie {
  font-size: 13.5px;
  color: var(--solza-color-text-muted);
  margin: 10px 0 0;
}

/* -- formulier en zijkolom -- */
.solza-contact__twee {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 40px;
  padding-top: 34px;
  padding-bottom: 34px;
  align-items: start;
}

.solza-contact__seckop {
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-contact__secsub {
  color: rgba(var(--solza-indigo-blue-rgb), 0.72);
  margin: 0 0 18px;
  font-size: 15px;
}

.solza-contact__form label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 5px;
  color: var(--solza-color-text);
}

.solza-contact__optioneel {
  font-weight: 400;
  color: var(--solza-color-text-muted);
}

.solza-contact__veld {
  margin-bottom: 14px;
}

.solza-contact__form input,
.solza-contact__form select,
.solza-contact__form textarea {
  width: 100%;
  border: 1px solid rgba(var(--solza-indigo-blue-rgb), 0.18);
  border-radius: 5px;
  padding: 11px 14px;
  font-family: inherit;
  font-size: 15px;
  color: var(--solza-color-text);
  background: var(--solza-white);
}

.solza-contact__form textarea {
  min-height: 120px;
  resize: vertical;
}

.solza-contact__form select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--solza-indigo-blue) 50%),
    linear-gradient(135deg, var(--solza-indigo-blue) 50%, transparent 50%);
  background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.solza-contact__rij2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 14px;
}

.solza-contact__verstuur {
  background: var(--solza-color-cta);
  color: var(--solza-white);
  border: none;
  border-radius: 999px;
  padding: 13px 28px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.solza-contact__klein {
  font-size: 12.5px;
  color: var(--solza-color-text-muted);
  margin: 10px 0 0;
}

.solza-contact__klein p {
  margin: 0;
  font-size: inherit;
  color: inherit;
}

.solza-contact__klein a {
  color: var(--solza-color-text);
}

/* zijkolom */
.solza-contact__blok {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 14px;
  background: var(--solza-white);
}

.solza-contact__kaartbeeld {
  aspect-ratio: 4 / 3;
  background: var(--solza-color-surface-muted);
  position: relative;
}

.solza-contact__kaartbeeld img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.solza-contact__pin {
  position: absolute;
  left: 52%;
  top: 47%;
  transform: translate(-50%, -100%);
  text-align: center;
}

.solza-contact__pin-dot {
  width: 17px;
  height: 17px;
  border-radius: 999px;
  background: var(--solza-color-cta);
  border: 3px solid var(--solza-white);
  box-shadow: 0 2px 8px rgba(var(--solza-indigo-blue-rgb), 0.3);
  margin: 0 auto;
}

.solza-contact__pin-label {
  background: var(--solza-white);
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--solza-color-text);
  box-shadow: 0 2px 10px rgba(var(--solza-indigo-blue-rgb), 0.16);
  margin-bottom: 6px;
  white-space: nowrap;
}

.solza-contact__adres {
  padding: 18px 20px;
}

.solza-contact__blokkop {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 8px;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-contact__adresregel {
  margin: 0 0 12px;
  font-size: 14.5px;
  line-height: 1.55;
}

.solza-contact__adresextra {
  font-size: 14px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
  margin: 0 0 12px;
  line-height: 1.6;
}

.solza-contact__adresextra:last-child {
  margin-bottom: 0;
}

.solza-contact__route {
  display: inline-block;
  border: 1.5px solid var(--solza-indigo-blue);
  border-radius: 999px;
  padding: 9px 18px;
  font-size: 14px;
  font-weight: 500;
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-contact__route:hover {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
}

/* -- faq: twee kolommen op het gedeelde accordeon -- */
.solza-contact__faq {
  border-top: 1px solid var(--solza-color-border);
  padding-top: 30px;
  margin-top: 10px;
  padding-bottom: 40px;
}

.solza-contact__faqgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
  margin-top: 16px;
  align-items: start;
}

/* -- breakpoints -- */
@media (max-width: 900px) {
  .solza-contact__twee {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 800px) {
  .solza-contact__kaarten {
    grid-template-columns: 1fr;
  }

  .solza-contact__band {
    margin-top: 22px;
  }

  .solza-contact__band-in {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 0;
    padding-bottom: 26px;
  }

  .solza-contact__bandfoto {
    order: -1;
    margin: 0 -20px;
    aspect-ratio: 19 / 10;
  }

  .solza-contact__bandfoto img {
    object-position: var(--band-focus-mobiel, 50% 35%);
  }

  /* alleen wisselen als er ook echt een mobielfoto gekozen is
     (--duo wordt server-side gezet) */
  .solza-contact__bandfoto--duo .solza-contact__bandfoto-d {
    display: none;
  }

  .solza-contact__bandfoto--duo img.solza-contact__bandfoto-m {
    display: block;
  }

  .solza-contact__bandtekst {
    padding: 20px 0 0;
  }

  .solza-contact__bandkop {
    font-size: 20px;
  }

  .solza-contact__bandaccent {
    font-size: 23px;
  }
}

@media (max-width: 760px) {
  .solza-contact__faqgrid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .solza-contact__rij2 {
    grid-template-columns: 1fr;
  }
}

/* ==== klantenservicepagina (page.klantenservice, referentie
        solza-klantenservice-v6) — routeringslaag vóór de bestaande
        servicepagina's, alles instelbaar en self-hiding ====

   Let op bij onderhoud: containers hebben hier bewust GEEN gedeelde
   theme-klasse ernaast (geen .m-page-width erbij). Elke container zet
   zijn eigen max-width en horizontale padding, en verticale ruimte
   gaat altijd via padding-top/padding-bottom apart -- nooit via de
   padding-shorthand, want die zou de horizontale padding wissen. */

.solza-service-kruimelbalk {
  background: var(--solza-color-surface-warm);
}

.solza-service-kruimels {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 11px;
  padding-bottom: 11px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.solza-service-kruimels a {
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-service-kruimels a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.solza-service-kruimels span[aria-hidden] {
  color: rgba(var(--solza-indigo-blue-rgb), 0.35);
  font-size: 11px;
}

.solza-service-kruimels b {
  color: rgba(var(--solza-indigo-blue-rgb), 0.55);
  font-weight: 400;
}

/* -- zoekblok: creme, vol breed, gecentreerd -- */
.solza-service-hero {
  background: var(--solza-color-surface-muted);
  color: var(--solza-color-text);
}

.solza-service-hero__in {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 40px;
  padding-bottom: 44px;
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
}

.solza-service-hero__accent {
  font-family: 'Caveat', cursive;
  font-size: 26px;
  color: var(--solza-burgundy);
  display: block;
  line-height: 1.2;
  margin-bottom: 2px;
  font-weight: 600;
}

.solza-service-hero__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 33px;
  font-weight: 800;
  margin: 0 auto 10px;
  line-height: 1.2;
  color: var(--solza-color-text);
  text-transform: none;
  max-width: 34ch;
  text-wrap: balance;
}

.solza-service-hero__intro {
  margin: 0 auto;
  color: rgba(var(--solza-indigo-blue-rgb), 0.75);
  max-width: 56ch;
  font-size: 15.5px;
  text-wrap: balance;
}

/* zoekveld */
.solza-service-zoek {
  margin: 22px auto 0;
  max-width: 600px;
  position: relative;
}

.solza-service-zoek input[type="search"] {
  width: 100%;
  border: 1px solid rgba(var(--solza-indigo-blue-rgb), 0.12);
  border-radius: 999px;
  background: var(--solza-white);
  padding: 16px 54px 16px 22px;
  font-family: inherit;
  font-size: 16px;
  color: var(--solza-color-text);
}

.solza-service-zoek input[type="search"]::placeholder {
  color: var(--solza-color-text-muted);
}

.solza-service-zoek__icoon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--solza-color-text-muted);
  display: flex;
  pointer-events: none;
}

.solza-service-zoek__icoon svg {
  width: 19px;
  height: 19px;
}

.solza-service-zoek__melding {
  max-width: 600px;
  margin: 12px auto 0;
  font-size: 14px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.75);
}

.solza-service-zoek__melding a {
  color: var(--solza-color-text);
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.solza-service-pillen {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  font-size: 13.5px;
  align-items: center;
  justify-content: center;
}

.solza-service-pillen b {
  font-weight: 500;
  color: var(--solza-color-text-muted);
  margin-right: 3px;
}

.solza-service-pillen a {
  padding: 7px 14px;
  border: 1px solid rgba(var(--solza-indigo-blue-rgb), 0.16);
  border-radius: 999px;
  text-decoration: none;
  color: var(--solza-color-text);
  background: var(--solza-white);
}

.solza-service-pillen a:hover {
  border-color: var(--solza-indigo-blue);
}

/* -- hoofdinhoud -- */
.solza-service-body {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 40px;
  padding-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
}

.solza-service-seckop {
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 4px;
  color: var(--solza-color-text);
  text-transform: none;
  text-wrap: balance;
}

.solza-service-secsub {
  color: rgba(var(--solza-indigo-blue-rgb), 0.72);
  margin: 0 0 18px;
  font-size: 15px;
}

/* fase-routering */
.solza-service-fases {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  padding-top: 6px;
  padding-bottom: 8px;
}

.solza-service-fase {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 18px 20px;
  background: var(--solza-white);
  display: flex;
  flex-direction: column;
}

.solza-service-fase__label {
  font-size: 11.5px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--solza-burgundy);
  font-weight: 600;
  margin: 0 0 6px;
}

.solza-service-fase__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 16.5px;
  font-weight: 800;
  margin: 0 0 10px;
  line-height: 1.3;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-service-fase ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14.5px;
  line-height: 1.55;
}

.solza-service-fase li {
  margin-bottom: 8px;
}

.solza-service-fase a {
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-service-fase a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* splitsing service tegenover advies */
.solza-service-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 34px;
}

.solza-service-paneel {
  border-radius: 5px;
  padding: 24px 26px;
}

.solza-service-paneel--serv {
  background: var(--solza-color-surface-muted);
}

.solza-service-paneel--adv {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
}

.solza-service-paneel__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 19px;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-service-paneel--adv .solza-service-paneel__kop {
  color: var(--solza-white);
}

.solza-service-paneel__tekst {
  margin: 0 0 14px;
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(var(--solza-indigo-blue-rgb), 0.75);
}

.solza-service-paneel--adv .solza-service-paneel__tekst {
  color: rgba(255, 255, 255, 0.8);
}

.solza-service-paneel ul {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  font-size: 14.5px;
  line-height: 1.9;
}

.solza-service-paneel a {
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-service-paneel--adv a {
  color: var(--solza-white);
}

.solza-service-paneel a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.solza-service-paneel__knop {
  display: inline-block;
  border-radius: 999px;
  padding: 11px 20px;
  font-weight: 600;
  font-size: 14.5px;
  text-decoration: none;
}

.solza-service-paneel--serv .solza-service-paneel__knop {
  background: var(--solza-color-cta);
  color: var(--solza-white);
}

.solza-service-paneel--serv .solza-service-paneel__knop:hover {
  color: var(--solza-white);
  opacity: 0.92;
  text-decoration: none;
}

.solza-service-paneel--adv .solza-service-paneel__knop {
  background: var(--solza-white);
  color: var(--solza-color-text);
}

.solza-service-paneel--adv .solza-service-paneel__knop:hover {
  color: var(--solza-color-text);
  opacity: 0.92;
  text-decoration: none;
}

/* veelgestelde vragen */
.solza-service-faq {
  border-top: 1px solid var(--solza-color-border);
  padding-top: 30px;
  margin-top: 36px;
}

.solza-service-faqgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
  margin-top: 16px;
  align-items: start;
}

/* contactblok onderaan */
.solza-service-slot {
  background: var(--solza-color-surface-muted);
  border-radius: 5px;
  margin-top: 34px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
}

.solza-service-slot--foto {
  grid-template-columns: 280px 1fr auto;
}

.solza-service-slot__foto {
  align-self: stretch;
  position: relative;
  min-height: 210px;
}

.solza-service-slot__foto img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--slot-focus, 50% 30%);
}

.solza-service-slot__foto img.solza-service-slot__foto-m {
  display: none;
}

.solza-service-slot__tekst {
  padding-top: 30px;
  padding-bottom: 30px;
}

.solza-service-slot:not(.solza-service-slot--foto) .solza-service-slot__tekst {
  padding-left: 28px;
}

.solza-service-slot__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 5px;
  color: var(--solza-color-text);
  text-transform: none;
  text-wrap: balance;
}

.solza-service-slot__tekst p {
  margin: 0;
  font-size: 14.5px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.75);
  max-width: 52ch;
}

.solza-service-slot__knoppen {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding-right: 28px;
}

.solza-service-slot__knop {
  background: var(--solza-color-cta);
  color: var(--solza-white);
  text-decoration: none;
  border-radius: 999px;
  padding: 12px 22px;
  font-weight: 600;
  font-size: 14.5px;
  white-space: nowrap;
}

.solza-service-slot__knop:hover {
  color: var(--solza-white);
  opacity: 0.92;
}

.solza-service-slot__knop--sec {
  background: var(--solza-white);
  color: var(--solza-color-text);
  border: 1.5px solid var(--solza-indigo-blue);
  font-weight: 500;
}

.solza-service-slot__knop--sec:hover {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  opacity: 1;
}

/* -- breakpoints -- */
@media (max-width: 900px) {
  .solza-service-fases {
    grid-template-columns: 1fr 1fr;
  }

  .solza-service-slot,
  .solza-service-slot--foto {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .solza-service-slot__foto {
    min-height: 0;
    aspect-ratio: 19 / 9;
    order: -1;
  }

  .solza-service-slot__foto img {
    position: static;
    height: 100%;
    object-position: var(--slot-focus-mobiel, 50% 30%);
  }

  /* alleen wisselen als er echt een mobielfoto gekozen is */
  .solza-service-slot__foto--duo .solza-service-slot__foto-d {
    display: none;
  }

  .solza-service-slot__foto--duo img.solza-service-slot__foto-m {
    display: block;
  }

  .solza-service-slot__tekst,
  .solza-service-slot:not(.solza-service-slot--foto) .solza-service-slot__tekst {
    padding-top: 22px;
    padding-bottom: 0;
    padding-left: 26px;
    padding-right: 26px;
  }

  .solza-service-slot__knoppen {
    padding-top: 0;
    padding-bottom: 26px;
    padding-left: 26px;
    padding-right: 26px;
  }
}

@media (max-width: 800px) {
  .solza-service-split {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .solza-service-faqgrid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .solza-service-hero__in {
    padding-top: 32px;
    padding-bottom: 34px;
  }

  .solza-service-hero__kop {
    font-size: 25px;
  }
}

@media (max-width: 560px) {
  .solza-service-fases {
    grid-template-columns: 1fr;
  }
}

/* filterstand: verborgen items en lege groepen vallen weg */
[data-solza-service] [hidden] {
  display: none !important;
}

/* ==== advies-hub (page.advies, referentie solza-advies-hub) —
        overkoepelende hub voor gidsen, adviespagina's en blog.

   De kruimelbalk, het zoekblok en de zoekmelding hergebruiken bewust de
   .solza-service-*-klassen van de klantenservicepagina: twee hubs die
   herkenbaar bij elkaar horen, en een plek waar dat onderhouden wordt.

   Zelfde onderhoudsregel als daar: containers dragen geen tweede,
   gedeelde theme-klasse, en verticale ruimte gaat via padding-top/
   padding-bottom apart -- nooit via de padding-shorthand. ==== */

.solza-hub-intro {
  max-width: 58ch;
}

.solza-hub-body {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
}

.solza-hub-blok {
  padding-top: 40px;
}

.solza-hub-seckop {
  font-family: 'Poppins', sans-serif;
  font-size: 23px;
  font-weight: 800;
  margin: 0 0 4px;
  color: var(--solza-color-text);
  text-transform: none;
  text-wrap: balance;
}

.solza-hub-secsub {
  color: rgba(var(--solza-indigo-blue-rgb), 0.72);
  margin: 0 0 20px;
  font-size: 15px;
  max-width: 62ch;
}

/* -- gidsen -- */
.solza-hub-gidsen {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.solza-hub-gids {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  background: var(--solza-white);
}

.solza-hub-gids:hover {
  border-color: var(--solza-indigo-blue);
}

.solza-hub-gids__beeld {
  aspect-ratio: 16 / 10;
  background: var(--solza-color-surface-warm);
  position: relative;
}

.solza-hub-gids__beeld img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.solza-hub-gids__tekst {
  padding: 13px 15px 15px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.solza-hub-gids__tekst b {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 15.5px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--solza-color-text);
}

.solza-hub-gids__tekst span {
  display: block;
  font-size: 13px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
  margin-top: 4px;
  line-height: 1.5;
}

.solza-hub-gids__lees {
  margin-top: auto;
  padding-top: 10px;
  font-size: 13.5px;
  color: var(--solza-burgundy);
  font-weight: 600;
}

/* -- routering op vraagsoort -- */
.solza-hub-soorten {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.solza-hub-soort {
  border-radius: 5px;
  padding: 22px 24px;
  background: var(--solza-color-surface-muted);
}

.solza-hub-soort__label {
  font-size: 11.5px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--solza-burgundy);
  font-weight: 600;
  margin: 0 0 6px;
}

.solza-hub-soort__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 800;
  margin: 0 0 10px;
  line-height: 1.3;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-hub-soort ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14.5px;
  line-height: 1.55;
}

.solza-hub-soort li {
  margin-bottom: 8px;
}

.solza-hub-soort a {
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-hub-soort a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* -- per assortiment -- */
.solza-hub-assort {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.solza-hub-as {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 18px 20px;
}

.solza-hub-as__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 800;
  margin: 0 0 9px;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-hub-as ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.55;
}

.solza-hub-as li {
  margin-bottom: 7px;
}

.solza-hub-as a {
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-hub-as a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.solza-hub-as__meer {
  font-size: 13.5px;
  color: var(--solza-burgundy);
  font-weight: 600;
  margin-top: 10px;
  display: block;
  text-decoration: none;
}

.solza-hub-as__meer:hover {
  color: var(--solza-burgundy);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* -- blogartikelen -- */
.solza-hub-blogs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.solza-hub-blog {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  overflow: hidden;
  text-decoration: none;
  display: block;
  background: var(--solza-white);
}

.solza-hub-blog:hover {
  border-color: var(--solza-indigo-blue);
}

.solza-hub-blog__beeld {
  aspect-ratio: 16 / 9;
  background: var(--solza-color-surface-warm);
  position: relative;
}

.solza-hub-blog__beeld img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.solza-hub-blog__tekst {
  padding: 14px 16px 16px;
}

.solza-hub-blog__cat {
  font-size: 11px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--solza-burgundy);
  margin: 0 0 5px;
}

.solza-hub-blog__tekst b {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 15.5px;
  font-weight: 800;
  line-height: 1.35;
  color: var(--solza-color-text);
  margin-bottom: 5px;
}

.solza-hub-blog__tekst p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
}

/* -- auteursblok -- */
.solza-hub-auteur {
  background: var(--solza-color-surface-muted);
  border-radius: 5px;
  margin-top: 40px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 290px 1fr;
  gap: 36px;
  align-items: center;
}

.solza-hub-auteur__foto {
  align-self: stretch;
  position: relative;
  min-height: 230px;
}

.solza-hub-auteur__foto img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--auteur-focus, 50% 24%);
}

.solza-hub-auteur__foto img.solza-hub-auteur__foto-m {
  display: none;
}

.solza-hub-auteur__tekst {
  padding-top: 32px;
  padding-bottom: 32px;
  padding-left: 0;
  padding-right: 34px;
}

.solza-hub-auteur__accent {
  font-family: 'Caveat', cursive;
  font-size: 25px;
  color: var(--solza-burgundy);
  display: block;
  line-height: 1.2;
  margin-bottom: 3px;
  font-weight: 600;
}

.solza-hub-auteur blockquote {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 500;
  color: var(--solza-color-text);
}

.solza-hub-auteur__wie {
  margin: 0;
  font-size: 14px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
}

.solza-hub-auteur__wie b {
  display: block;
  color: var(--solza-color-text);
  font-weight: 600;
  font-size: 14.5px;
}

.solza-hub-auteur__wie a {
  color: var(--solza-color-text);
}

/* -- navy afsluiting -- */
.solza-hub-slot {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  border-radius: 5px;
  padding: 26px 28px;
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
}

.solza-hub-slot__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 5px;
  color: var(--solza-white);
  text-transform: none;
  text-wrap: balance;
}

.solza-hub-slot p {
  margin: 0;
  font-size: 14.5px;
  color: rgba(255, 255, 255, 0.8);
  max-width: 54ch;
}

.solza-hub-slot__knoppen {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.solza-hub-slot__knop {
  background: var(--solza-color-cta);
  color: var(--solza-white);
  text-decoration: none;
  border-radius: 999px;
  padding: 12px 22px;
  font-weight: 600;
  font-size: 14.5px;
  white-space: nowrap;
}

.solza-hub-slot__knop:hover {
  color: var(--solza-white);
  opacity: 0.92;
}

.solza-hub-slot__knop--sec {
  background: transparent;
  color: var(--solza-white);
  border: 1.5px solid rgba(255, 255, 255, 0.45);
  font-weight: 500;
}

.solza-hub-slot__knop--sec:hover {
  background: var(--solza-white);
  color: var(--solza-indigo-blue);
  opacity: 1;
}

/* -- breakpoints -- */
@media (max-width: 1000px) {
  .solza-hub-gidsen {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .solza-hub-assort {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 860px) {
  .solza-hub-soorten {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .solza-hub-blogs {
    grid-template-columns: 1fr;
  }

  .solza-hub-auteur {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .solza-hub-auteur__foto {
    min-height: 0;
    aspect-ratio: 19 / 9;
    order: -1;
  }

  .solza-hub-auteur__foto img {
    position: static;
    height: 100%;
    object-position: var(--auteur-focus-mobiel, 50% 24%);
  }

  /* alleen wisselen als er echt een mobielfoto gekozen is */
  .solza-hub-auteur__foto--duo .solza-hub-auteur__foto-d {
    display: none;
  }

  .solza-hub-auteur__foto--duo img.solza-hub-auteur__foto-m {
    display: block;
  }

  .solza-hub-auteur__tekst {
    padding-top: 22px;
    padding-bottom: 26px;
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (max-width: 760px) {
  .solza-hub-gidsen {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}

@media (max-width: 700px) {
  .solza-hub-slot {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .solza-hub-assort {
    grid-template-columns: 1fr;
  }
}

/* ==== showroompagina (page.find-a-store, referentie solza-showroom)

   Onderhoudsregel (zie CLAUDE.md): containers dragen geen tweede
   gedeelde klasse en verticale ruimte gaat via padding-top/
   padding-bottom apart -- nooit via de padding-shorthand. ==== */

.solza-sr-kruimelbalk {
  background: var(--solza-color-surface-warm);
}

.solza-sr-kruimels {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 11px;
  padding-bottom: 11px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.solza-sr-kruimels a {
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-sr-kruimels a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.solza-sr-kruimels span[aria-hidden] {
  color: rgba(var(--solza-indigo-blue-rgb), 0.35);
  font-size: 11px;
}

.solza-sr-kruimels b {
  color: rgba(var(--solza-indigo-blue-rgb), 0.55);
  font-weight: 400;
}

/* -- hero: beeld met verloop, tekst eroverheen --
   Het verloop hangt aan de fotocontainer, niet aan de sectie: aan de
   sectie ligt hij op mobiel over de tekst heen. */
.solza-sr-hero {
  position: relative;
  background: var(--solza-indigo-blue);
}

.solza-sr-hero__foto {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.solza-sr-hero__foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.solza-sr-hero__foto img.solza-sr-hero__foto-m {
  display: none;
}

.solza-sr-hero__foto::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(var(--solza-indigo-blue-rgb), 0.92) 0%,
    rgba(var(--solza-indigo-blue-rgb), 0.78) 38%,
    rgba(var(--solza-indigo-blue-rgb), 0.25) 72%,
    rgba(var(--solza-indigo-blue-rgb), 0.1) 100%
  );
}

.solza-sr-hero__in {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 56px;
  padding-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  z-index: 2;
  min-height: 380px;
  display: flex;
  align-items: center;
}

.solza-sr-hero__tekst {
  color: var(--solza-white);
  max-width: 54ch;
}

.solza-sr-hero__accent {
  font-family: 'Caveat', cursive;
  font-size: 26px;
  color: var(--solza-golden-mango);
  display: block;
  line-height: 1.2;
  margin-bottom: 2px;
  font-weight: 600;
}

.solza-sr-hero__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 36px;
  font-weight: 800;
  margin: 0 0 12px;
  line-height: 1.15;
  color: var(--solza-white);
  text-transform: none;
  max-width: 20ch;
  text-wrap: balance;
}

.solza-sr-hero__alinea {
  margin: 0 0 20px;
  font-size: 15.5px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.85);
}

.solza-sr-hero__knoppen {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.solza-sr-knop {
  display: inline-block;
  background: var(--solza-color-cta);
  color: var(--solza-white);
  text-decoration: none;
  border-radius: 999px;
  padding: 13px 24px;
  font-weight: 600;
  font-size: 15px;
  white-space: nowrap;
}

.solza-sr-knop:hover {
  color: var(--solza-white);
  opacity: 0.92;
}

.solza-sr-knop--sec {
  background: transparent;
  color: var(--solza-white);
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  font-weight: 500;
}

.solza-sr-knop--sec:hover {
  background: var(--solza-white);
  color: var(--solza-indigo-blue);
  opacity: 1;
}

.solza-sr-hero__sub {
  display: block;
  margin-top: 14px;
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.7);
}

/* -- body -- */
.solza-sr-body {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
}

.solza-sr-blok {
  padding-top: 44px;
}

.solza-sr-seckop {
  font-family: 'Poppins', sans-serif;
  font-size: 23px;
  font-weight: 800;
  margin: 0 0 4px;
  color: var(--solza-color-text);
  text-transform: none;
  text-wrap: balance;
}

.solza-sr-secsub {
  color: rgba(var(--solza-indigo-blue-rgb), 0.72);
  margin: 0 0 20px;
  font-size: 15px;
  max-width: 68ch;
}

.solza-sr-secsub p {
  margin: 0;
  font-size: inherit;
  color: inherit;
}

.solza-sr-blokkop {
  font-family: 'Poppins', sans-serif;
  font-size: 15.5px;
  font-weight: 800;
  margin: 0 0 8px;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-sr-blokkop--vervolg {
  margin-top: 16px;
}

/* praktische balk */
.solza-sr-prak {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.solza-sr-prak > div {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 16px 18px;
  background: var(--solza-white);
}

.solza-sr-prak b {
  display: block;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--solza-color-text-muted);
  font-weight: 600;
  margin-bottom: 6px;
}

.solza-sr-prak span {
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--solza-color-text);
}

/* wat je bij ons vindt */
.solza-sr-vindt {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items: center;
}

.solza-sr-vindt__beeld {
  aspect-ratio: 4 / 3;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
  background: var(--solza-color-surface-warm);
}

.solza-sr-vindt__beeld img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.solza-sr-vindt__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 8px;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-sr-vindt__tekst p {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(var(--solza-indigo-blue-rgb), 0.78);
}

.solza-sr-vinklijst {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14.5px;
  line-height: 1.5;
}

.solza-sr-vinklijst li {
  margin-bottom: 8px;
  display: flex;
  gap: 9px;
  align-items: flex-start;
}

.solza-sr-vinklijst span {
  color: var(--solza-color-stock-available);
  font-weight: 700;
  flex-shrink: 0;
}

/* sfeerbeelden */
.solza-sr-beelden {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.solza-sr-beelden figure {
  margin: 0;
}

.solza-sr-beelden img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 5px;
  display: block;
}

.solza-sr-beelden figcaption {
  margin-top: 8px;
  font-size: 13.5px;
  line-height: 1.5;
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
}

/* twee kolommen lopende tekst */
.solza-sr-over {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  margin-top: 6px;
}

.solza-sr-over p {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(var(--solza-indigo-blue-rgb), 0.82);
}

.solza-sr-over p:last-child {
  margin-bottom: 0;
}

.solza-sr-over a {
  color: var(--solza-color-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* assortimentskaarten */
.solza-sr-ass {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.solza-sr-ass a {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 15px 17px;
  text-decoration: none;
  background: var(--solza-white);
  display: block;
}

.solza-sr-ass a:hover {
  border-color: var(--solza-indigo-blue);
}

.solza-sr-ass b {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: var(--solza-color-text);
  line-height: 1.3;
}

.solza-sr-ass span {
  display: block;
  font-size: 13px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
  margin-top: 3px;
  line-height: 1.45;
}

/* kaart en route */
.solza-sr-kaartblok {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}

.solza-sr-kaartkader {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  overflow: hidden;
  background: var(--solza-white);
}

.solza-sr-kaartbeeld {
  aspect-ratio: 4 / 3;
  background: var(--solza-color-surface-muted);
  position: relative;
}

.solza-sr-kaartbeeld img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.solza-sr-pin {
  position: absolute;
  left: 52%;
  top: 47%;
  transform: translate(-50%, -100%);
  text-align: center;
}

.solza-sr-pin__label {
  background: var(--solza-white);
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--solza-color-text);
  box-shadow: 0 2px 10px rgba(var(--solza-indigo-blue-rgb), 0.16);
  margin-bottom: 6px;
  white-space: nowrap;
}

.solza-sr-pin__dot {
  width: 17px;
  height: 17px;
  border-radius: 999px;
  background: var(--solza-color-cta);
  border: 3px solid var(--solza-white);
  box-shadow: 0 2px 8px rgba(var(--solza-indigo-blue-rgb), 0.3);
  margin: 0 auto;
}

.solza-sr-kaartadres {
  padding: 18px 20px;
}

.solza-sr-adresregel {
  margin: 0 0 12px;
  font-size: 14.5px;
  line-height: 1.55;
}

.solza-sr-adresextra {
  font-size: 14px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
  margin: 0 0 12px;
  line-height: 1.6;
}

.solza-sr-route {
  display: inline-block;
  border: 1.5px solid var(--solza-indigo-blue);
  border-radius: 999px;
  padding: 9px 18px;
  font-size: 14px;
  font-weight: 500;
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-sr-route:hover {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
}

.solza-sr-routetekst p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.65;
  color: rgba(var(--solza-indigo-blue-rgb), 0.78);
}

/* met of zonder afspraak */
.solza-sr-afspraak {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.solza-sr-afsp {
  border-radius: 5px;
  padding: 22px 24px;
}

.solza-sr-afsp--zonder {
  background: var(--solza-color-surface-muted);
}

.solza-sr-afsp--met {
  border: 1px solid var(--solza-color-border);
  background: var(--solza-white);
}

.solza-sr-afsp__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 800;
  margin: 0 0 8px;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-sr-afsp p {
  margin: 0 0 14px;
  font-size: 14.5px;
  line-height: 1.65;
  color: rgba(var(--solza-indigo-blue-rgb), 0.78);
}

.solza-sr-feest {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 16px 20px;
  margin-top: 16px;
}

.solza-sr-feest b {
  display: block;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--solza-color-text-muted);
  font-weight: 600;
  margin-bottom: 8px;
}

.solza-sr-feest ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4px 20px;
  font-size: 14.5px;
  line-height: 1.5;
}

/* merken */
.solza-sr-merken {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.solza-sr-merken a {
  padding: 8px 16px;
  border: 1px solid rgba(var(--solza-indigo-blue-rgb), 0.16);
  border-radius: 999px;
  text-decoration: none;
  color: var(--solza-color-text);
  background: var(--solza-white);
  font-size: 14px;
}

.solza-sr-merken a:hover {
  border-color: var(--solza-indigo-blue);
}

.solza-sr-merken__slot {
  margin-top: 16px;
  margin-bottom: 0;
}

.solza-sr-merken__slot a {
  color: var(--solza-color-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* veelgestelde vragen */
.solza-sr-faq {
  border-top: 1px solid var(--solza-color-border);
  padding-top: 30px;
  margin-top: 44px;
}

.solza-sr-faqgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
  margin-top: 16px;
  align-items: start;
}

/* -- breakpoints -- */
@media (max-width: 1050px) {
  .solza-sr-prak {
    grid-template-columns: 1fr 1fr;
  }

  .solza-sr-ass {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .solza-sr-hero__in {
    min-height: 320px;
    padding-top: 44px;
    padding-bottom: 46px;
  }

  .solza-sr-hero__kop {
    font-size: 30px;
  }

  .solza-sr-vindt,
  .solza-sr-over,
  .solza-sr-kaartblok,
  .solza-sr-afspraak {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .solza-sr-over {
    gap: 0;
  }
}

@media (max-width: 760px) {
  .solza-sr-hero__foto--duo .solza-sr-hero__foto-d {
    display: none;
  }

  .solza-sr-hero__foto--duo img.solza-sr-hero__foto-m {
    display: block;
  }

  /* op mobiel loopt het verloop van onder naar boven, zodat de tekst
     onderin leesbaar blijft in plaats van over het gezicht */
  .solza-sr-hero__foto::after {
    background: linear-gradient(
      180deg,
      rgba(var(--solza-indigo-blue-rgb), 0.55) 0%,
      rgba(var(--solza-indigo-blue-rgb), 0.82) 55%,
      rgba(var(--solza-indigo-blue-rgb), 0.94) 100%
    );
  }

  .solza-sr-hero__kop {
    font-size: 25px;
  }

  .solza-sr-beelden {
    grid-template-columns: 1fr;
  }

  .solza-sr-faqgrid {
    grid-template-columns: 1fr;
  }

  .solza-sr-ass {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .solza-sr-prak {
    grid-template-columns: 1fr;
  }

  .solza-sr-feest ul {
    grid-template-columns: 1fr;
  }

  .solza-sr-hero__knoppen {
    display: grid;
    grid-template-columns: 1fr;
  }

  .solza-sr-knop {
    text-align: center;
  }
}

@media (max-width: 400px) {
  .solza-sr-ass {
    grid-template-columns: 1fr;
  }
}

/* ==== bewaard voor later (page.wishlist, referentie solza-bewaard)

   De weergave is nieuw; de bewaarfunctie blijft van het theme. De
   selectors .m-wishlist-page-content(__wrapper), .m-wishlist-count en
   .m-wishlist-no-products worden door assets/wishlist.js gebruikt en
   mogen niet hernoemd worden.

   Onderhoudsregel (CLAUDE.md): containers dragen geen tweede gedeelde
   klasse; verticale ruimte via padding-top/padding-bottom apart. ==== */

.solza-bewaard-kruimelbalk {
  background: var(--solza-color-surface-warm);
}

.solza-bewaard-kruimels {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 11px;
  padding-bottom: 11px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.solza-bewaard-kruimels a {
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-bewaard-kruimels a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.solza-bewaard-kruimels span[aria-hidden] {
  color: rgba(var(--solza-indigo-blue-rgb), 0.35);
  font-size: 11px;
}

.solza-bewaard-kruimels b {
  color: rgba(var(--solza-indigo-blue-rgb), 0.55);
  font-weight: 400;
}

.solza-bewaard-body {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 32px;
  padding-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
}

/* blokken die alleen bij een gevulde lijst horen; standaard verborgen
   tot het script heeft vastgesteld dat er iets in staat */
.solza-bewaard-alleen-gevuld {
  display: none;
}

.solza-bewaard--gevuld .solza-bewaard-alleen-gevuld {
  display: grid;
}

.solza-bewaard--gevuld .solza-bewaard-kop__acties {
  display: block;
}

.solza-bewaard-kop {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 22px;
}

.solza-bewaard-titel {
  font-family: 'Poppins', sans-serif;
  font-size: 30px;
  font-weight: 800;
  margin: 0 0 4px;
  line-height: 1.2;
  color: var(--solza-color-text);
  text-transform: none;
  text-wrap: balance;
}

.solza-bewaard-teller {
  margin: 0;
  font-size: 15px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.72);
}

.solza-bewaard-knop {
  display: inline-block;
  background: var(--solza-color-cta);
  color: var(--solza-white);
  text-decoration: none;
  border: none;
  border-radius: 999px;
  padding: 12px 22px;
  font-family: inherit;
  font-weight: 600;
  font-size: 14.5px;
  cursor: pointer;
  white-space: nowrap;
}

.solza-bewaard-knop:hover {
  color: var(--solza-white);
  opacity: 0.92;
}

.solza-bewaard-knop--sec {
  background: var(--solza-white);
  color: var(--solza-color-text);
  border: 1.5px solid var(--solza-indigo-blue);
  font-weight: 500;
}

.solza-bewaard-knop--sec:hover {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  opacity: 1;
}

/* balk: verlies je lijst niet */
.solza-bewaard-balk {
  background: var(--solza-color-surface-muted);
  border-radius: 5px;
  padding: 20px 24px;
  margin-bottom: 22px;
  grid-template-columns: 1fr auto;
  gap: 18px 26px;
  align-items: center;
}

.solza-bewaard-balk b {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 800;
  color: var(--solza-color-text);
  margin-bottom: 4px;
}

.solza-bewaard-balk p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(var(--solza-indigo-blue-rgb), 0.78);
  max-width: 68ch;
}

.solza-bewaard-melding {
  margin-top: 8px !important;
  font-size: 13.5px !important;
  color: var(--solza-color-stock-available) !important;
  font-weight: 500;
}

.solza-bewaard-balk__knoppen {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* productraster: vier per rij, twee op mobiel */
.solza-bewaard-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px 16px;
}

/* lege staat */
.solza-bewaard-leeg {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 40px 32px;
  text-align: center;
  background: var(--solza-white);
}

.solza-bewaard-leeg__accent {
  font-family: 'Caveat', cursive;
  font-size: 26px;
  color: var(--solza-burgundy);
  display: block;
  line-height: 1.2;
  margin-bottom: 4px;
  font-weight: 600;
}

.solza-bewaard-leeg__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 23px;
  font-weight: 800;
  margin: 0 auto 10px;
  color: var(--solza-color-text);
  text-transform: none;
  max-width: 26ch;
  text-wrap: balance;
}

.solza-bewaard-leeg__tekst {
  margin: 0 auto 20px;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(var(--solza-indigo-blue-rgb), 0.75);
  max-width: 56ch;
}

.solza-bewaard-leeg__knoppen {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.solza-bewaard-routes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 30px;
  text-align: left;
}

.solza-bewaard-routes a {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 15px 17px;
  text-decoration: none;
  display: block;
}

.solza-bewaard-routes a:hover {
  border-color: var(--solza-indigo-blue);
}

.solza-bewaard-routes b {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: var(--solza-color-text);
}

.solza-bewaard-routes span {
  display: block;
  font-size: 13px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
  margin-top: 3px;
  line-height: 1.5;
}

/* vergelijkblok */
.solza-bewaard-verg {
  background: var(--solza-color-surface-muted);
  border-radius: 5px;
  padding: 24px 26px;
  margin-top: 30px;
  grid-template-columns: 1fr auto;
  gap: 18px 26px;
  align-items: center;
}

.solza-bewaard-verg__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 19px;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-bewaard-verg p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(var(--solza-indigo-blue-rgb), 0.78);
  max-width: 68ch;
}

.solza-bewaard-verg__knoppen {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* drie vervolgblokken */
.solza-bewaard-hulp {
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 16px;
}

.solza-bewaard-hulp__kaart {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 20px 22px;
  background: var(--solza-white);
}

.solza-bewaard-hulp__label {
  font-size: 11.5px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--solza-burgundy);
  font-weight: 600;
  margin: 0 0 6px;
}

.solza-bewaard-hulp__kop {
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 800;
  margin: 0 0 8px;
  line-height: 1.3;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-bewaard-hulp__kaart p {
  margin: 0 0 12px;
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(var(--solza-indigo-blue-rgb), 0.78);
}

.solza-bewaard-hulp__link {
  font-size: 14px;
  color: var(--solza-burgundy);
  font-weight: 600;
  text-decoration: none;
}

.solza-bewaard-hulp__link:hover {
  color: var(--solza-burgundy);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.solza-bewaard-printadres {
  display: none;
}

/* -- breakpoints -- */
@media (max-width: 1050px) {
  .solza-bewaard-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .solza-bewaard--gevuld .solza-bewaard-hulp {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .solza-bewaard-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .solza-bewaard--gevuld .solza-bewaard-balk,
  .solza-bewaard--gevuld .solza-bewaard-verg {
    grid-template-columns: 1fr;
  }

  .solza-bewaard-routes {
    grid-template-columns: 1fr;
  }

  .solza-bewaard-titel {
    font-size: 25px;
  }
}

@media (max-width: 560px) {
  .solza-bewaard-leeg {
    padding-left: 22px;
    padding-right: 22px;
  }

  .solza-bewaard-kop__acties .solza-bewaard-knop,
  .solza-bewaard-balk__knoppen .solza-bewaard-knop,
  .solza-bewaard-verg__knoppen .solza-bewaard-knop,
  .solza-bewaard-leeg__knoppen .solza-bewaard-knop {
    width: 100%;
    text-align: center;
  }

  .solza-bewaard-balk__knoppen,
  .solza-bewaard-verg__knoppen,
  .solza-bewaard-leeg__knoppen {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* afdruk: alleen de lijst met het adres, zonder navigatie en knoppen */
@media print {
  .solza-bewaard-kruimelbalk,
  .solza-bewaard-balk,
  .solza-bewaard-verg,
  .solza-bewaard-hulp,
  .solza-bewaard-kop__acties,
  .solza-bewaard-leeg,
  header,
  footer,
  .solza-footer,
  .solza-showroomband {
    display: none !important;
  }

  .solza-bewaard-printadres {
    display: block;
    margin-bottom: 18px;
    font-size: 12px;
    color: #000;
  }

  .solza-bewaard-printadres p {
    margin: 0;
  }

  .solza-bewaard-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .solza-bewaard-body {
    padding-top: 0;
    padding-bottom: 0;
  }

  .m-wishlist-remove-button {
    display: none !important;
  }
}

/* ==== servicepagina's (gedeeld template page.service, referentie
        solza-servicepagina) — vervangt negen losse templates.

   Onderhoudsregel (CLAUDE.md): containers dragen geen tweede gedeelde
   klasse; verticale ruimte via padding-top/padding-bottom apart. ==== */

.solza-svc-kruimelbalk {
  background: var(--solza-color-surface-warm);
}

.solza-svc-kruimels {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 11px;
  padding-bottom: 11px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.solza-svc-kruimels a {
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-svc-kruimels a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.solza-svc-kruimels span[aria-hidden] {
  color: rgba(var(--solza-indigo-blue-rgb), 0.35);
  font-size: 11px;
}

.solza-svc-kruimels b {
  color: rgba(var(--solza-indigo-blue-rgb), 0.55);
  font-weight: 400;
}

.solza-svc-body {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 32px;
  padding-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
  line-height: 1.7;
}

.solza-svc-label {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--solza-burgundy);
  font-weight: 600;
  margin: 0 0 8px;
}

.solza-svc-titel {
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 16px;
  color: var(--solza-color-text);
  text-transform: none;
  max-width: 24ch;
}

/* het directe antwoord bovenaan */
.solza-svc-antwoord {
  background: var(--solza-color-surface-muted);
  border-left: 4px solid var(--solza-burgundy);
  border-radius: 0 5px 5px 0;
  padding: 18px 22px;
  margin: 0 0 26px;
  max-width: 72ch;
}

.solza-svc-antwoord p {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 500;
  color: var(--solza-color-text);
}

.solza-svc-antwoord p + p {
  margin-top: 9px;
  font-size: 15px;
  font-weight: 400;
  color: rgba(var(--solza-indigo-blue-rgb), 0.78);
}

.solza-svc-cols {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 48px;
  align-items: start;
}

/* feitenblok */
.solza-svc-feiten {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 16px 18px;
  margin: 0 0 26px;
  max-width: 68ch;
}

.solza-svc-feiten b {
  display: block;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--solza-color-text-muted);
  margin-bottom: 9px;
  font-weight: 600;
}

.solza-svc-feiten dl {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 18px;
  font-size: 15px;
}

.solza-svc-feiten dt {
  color: rgba(var(--solza-indigo-blue-rgb), 0.7);
}

.solza-svc-feiten dd {
  margin: 0;
  font-weight: 500;
}

/* lopende tekst */
.solza-svc-h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  font-weight: 800;
  margin: 32px 0 10px;
  line-height: 1.3;
  color: var(--solza-color-text);
  text-transform: none;
  scroll-margin-top: 20px;
}

.solza-svc-tekst p {
  margin: 0 0 14px;
  max-width: 68ch;
  font-size: 15.5px;
}

.solza-svc-tekst ul,
.solza-svc-tekst ol {
  margin: 0 0 16px;
  padding-left: 22px;
  max-width: 68ch;
  font-size: 15.5px;
}

.solza-svc-tekst li {
  margin-bottom: 6px;
}

.solza-svc-tekst h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  font-weight: 800;
  margin: 32px 0 10px;
  line-height: 1.3;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-svc-tekst h3 {
  font-size: 17px;
  font-weight: 600;
  margin: 22px 0 6px;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-svc-tekst a,
.solza-svc-antwoord a,
.solza-svc-slot a,
.solza-svc-let a {
  color: var(--solza-color-text);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: rgba(var(--solza-indigo-blue-rgb), 0.35);
}

/* stappen */
.solza-svc-stap {
  border-left: 2px solid rgba(var(--solza-indigo-blue-rgb), 0.08);
  padding-top: 0;
  padding-bottom: 4px;
  padding-left: 22px;
  padding-right: 0;
  margin: 0 0 22px;
  position: relative;
  max-width: 68ch;
}

.solza-svc-stap::before {
  content: attr(data-n);
  position: absolute;
  left: -15px;
  top: 0;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.solza-svc-stap h3 {
  font-family: 'Poppins', sans-serif;
  margin: 2px 0 6px;
  font-size: 17px;
  font-weight: 800;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-svc-stap p {
  margin: 0 0 8px;
  font-size: 15.5px;
}

.solza-svc-stap p:last-child {
  margin-bottom: 0;
}

/* let-op-blok */
.solza-svc-let {
  background: var(--solza-color-surface-muted);
  border-left: 3px solid var(--solza-golden-mango);
  padding: 14px 18px;
  border-radius: 0 4px 4px 0;
  margin: 0 0 20px;
  max-width: 68ch;
}

.solza-svc-let b {
  display: block;
  margin-bottom: 3px;
  color: var(--solza-color-text);
}

.solza-svc-let p {
  margin: 0;
  font-size: 15px;
}

/* veelgestelde vragen */
.solza-svc-faq {
  border-top: 1px solid var(--solza-color-border);
  margin-top: 34px;
  padding-top: 26px;
}

.solza-svc-faq .solza-svc-h2 {
  margin-top: 0;
}

.solza-svc-faq > div {
  max-width: 68ch;
}

/* afsluiting */
.solza-svc-slot {
  border-top: 1px solid var(--solza-color-border);
  margin-top: 34px;
  padding-top: 24px;
  max-width: 68ch;
}

.solza-svc-slot p {
  margin: 0;
  font-size: 15px;
}

/* zijkolom */
.solza-svc-zij {
  position: sticky;
  top: 20px;
}

.solza-svc-kaart {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 17px 19px;
  margin-bottom: 14px;
  background: var(--solza-white);
}

.solza-svc-kaart--actie {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  border-color: var(--solza-indigo-blue);
}

.solza-svc-kaartkop {
  font-family: 'Poppins', sans-serif;
  font-size: 15.5px;
  margin: 0 0 9px;
  font-weight: 800;
  color: var(--solza-color-text);
  text-transform: none;
}

.solza-svc-kaart--actie .solza-svc-kaartkop {
  color: var(--solza-white);
}

.solza-svc-kaart p {
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 12px;
  color: rgba(var(--solza-indigo-blue-rgb), 0.75);
}

.solza-svc-kaart--actie p {
  color: rgba(255, 255, 255, 0.82);
}

.solza-svc-kaart ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14.5px;
  line-height: 1.85;
}

.solza-svc-kaart ul a {
  color: var(--solza-color-text);
  text-decoration: none;
}

.solza-svc-kaart ul a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.solza-svc-knop {
  display: inline-block;
  background: var(--solza-color-cta);
  color: var(--solza-white);
  text-decoration: none;
  border-radius: 999px;
  padding: 11px 20px;
  font-weight: 600;
  font-size: 14.5px;
}

.solza-svc-knop:hover {
  color: var(--solza-white);
  opacity: 0.92;
}

/* -- breakpoints -- */
@media (max-width: 940px) {
  .solza-svc-cols {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .solza-svc-zij {
    position: static;
  }
}

@media (max-width: 760px) {
  .solza-svc-h2,
  .solza-svc-tekst h2 {
    font-size: 19px;
    margin-top: 26px;
  }

  .solza-svc-antwoord {
    padding-left: 18px;
    padding-right: 18px;
  }

  .solza-svc-antwoord p {
    font-size: 16px;
  }
}

@media (max-width: 600px) {
  .solza-svc-titel {
    font-size: 25px;
  }
}

@media (max-width: 560px) {
  .solza-svc-feiten dl {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .solza-svc-feiten dd {
    margin-bottom: 8px;
  }
}
