/** Shopify CDN: Minification failed

Line 599: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;
  }
}

/* Breadcrumbbalk (Solza 3.0) -- EEN vaste opmaak, sitewide.

   Deze regels staan bewust op .m-breadcrumb zelf en niet op een wrapper.
   De breadcrumb wordt namelijk vanuit drie plekken gerenderd -- de
   breadcrumb-sectie, main-product.liquid en article.liquid -- en zolang
   de opmaak aan een wrapper hing, kreeg alleen het pad met die wrapper
   de beige balk. Blogartikelen kregen daardoor een kale, gecentreerde
   kruimel en de rest een balk.

   Padding en uitlijning zijn niet langer per template instelbaar; zie de
   toelichting in sections/breadcrumb.liquid. */
.m-breadcrumb {
  background: var(--solza-driftwood-cream);
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 12px;
  padding-bottom: 12px;
}

/* De sectie eromheen mag geen ruimte boven de balk maken. Dat was de
   witte strook tussen header en balk: de sectie is transparant en had
   --section-padding-top 14px staan, wat als 12px wit tussen de header
   (onderkant 61,5) en de beige balk (bovenkant 73,5) uitpakte. Gemeten
   op /pages/contact. De instelling is uit het schema; deze regel vangt
   af wat er nog in bestaande templates staat. */
.m-section--breadcrumb.m-section--padding,
.solza-breadcrumb-bar.m-section--padding {
  padding-top: 0;
  padding-bottom: 0;
}

.m-breadcrumb--wrapper {
  margin-left: 0;
  margin-right: 0;
  /* Altijd links, ook wanneer een aanroeper iets anders meegeeft. */
  justify-content: flex-start;
}

/* 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. */
.m-breadcrumb--home {
  padding-left: 16px;
}

.m-breadcrumb--item {
  color: var(--solza-indigo-blue);
  font-size: 13px;
}

.m-breadcrumb--item-current {
  color: rgba(var(--solza-indigo-blue-rgb), 0.65);
  font-size: 13px;
}

.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 {
  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,
.solza-footer__pop .solza-vg__kop {
  margin-bottom: 11px;
}

.solza-footer__tags,
.solza-footer__pop .solza-vg__pillen {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.solza-footer__tags a,
.solza-footer__pop .solza-vg__pil {
  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,
.solza-footer__pop .solza-vg__pil: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);
}

/* font-size: 0 is hier geen opmaak maar een correctie. icon.liquid geeft
   newlines rond elke SVG mee, en tussen inline-block-elementen renderen die
   als spaties. Met vijf sterren gaf dat 15px extra breedte -- genoeg om de
   afgeknipte bovenlaag bij 4,3 van 5 alsnog alle sterren te laten vullen. */
.solza-footer__sterren {
  position: relative;
  display: inline-block;
  font-size: 0;
  line-height: 0;
  color: rgba(255, 255, 255, 0.25);
}

/* De sterren zijn SVG's, geen tekens. De breedte staat daarom hier vast en
   niet via font-size: de bovenste laag wordt op een percentage afgeknipt en
   dan moeten beide lagen exact even breed zijn. */
.solza-footer__ster {
  width: 14px;
  height: 14px;
  display: inline-block;
  margin-right: 1px;
}

.solza-footer__ster:last-child {
  margin-right: 0;
}

.solza-footer__sterren-vol {
  position: absolute;
  inset: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 0;
  line-height: 0;
  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;
  }

  /* In een kolom leest flex-basis als hoogte, niet als breedte. Het
     tekstblok houdt op desktop `flex: 1 1 300px`; zonder deze reset krijgt
     het op mobiel dus 300px hoogte toebedeeld plus flex-grow, terwijl de
     inhoud maar een fractie daarvan is. Dat gat viel tussen de
     privacyregel en het invoerveld. */
  .solza-footer__nieuws-tekst {
    flex: 0 0 auto;
  }

  .solza-footer__nieuwsform-wrap {
    flex: 0 0 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. */

/* -- 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.

   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. ==== */

/* -- 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;
}

/* Het vinkje is een SVG uit de icoonset, geen teken -- vandaar een vaste
   maat in plaats van font-weight. De marge bovenin lijnt het uit met de
   eerste tekstregel, die hoger is dan het icoon. */
.solza-sr-vinklijst__vink {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 4px;
  color: var(--solza-color-stock-available);
}

/* 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-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-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-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;
  }
}

/* ==========================================================================
   Over-onspagina (sections/solza-over-ons.liquid)

   Containerregel: .solza-oo-wrap is de enige container en staat nooit samen
   met een tweede breedteklasse op hetzelfde element. Daarom hier overal
   padding-left/right los, nooit de shorthand -- die wist eerder de
   horizontale padding en liet tekst op mobiel tegen de rand lopen.
   ========================================================================== */

.solza-oo-wrap {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

.solza-oo-h1,
.solza-oo-h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  color: var(--solza-indigo-blue);
  margin: 0;
  text-wrap: balance;
}

.solza-oo-h1 {
  font-size: clamp(28px, 5vw, 44px);
  line-height: 1.15;
  max-width: 20ch;
}

.solza-oo-h2 {
  font-size: clamp(22px, 3.4vw, 32px);
  line-height: 1.2;
  max-width: 26ch;
}

.solza-oo-kras {
  display: block;
  font-family: 'Caveat', cursive;
  font-size: clamp(21px, 3vw, 27px);
  font-weight: 600;
  color: var(--solza-burgundy);
  line-height: 1;
  margin-bottom: 6px;
}

.solza-oo-sub,
.solza-oo-rt {
  color: var(--solza-color-text-muted);
  font-size: 15px;
  line-height: 1.65;
}

.solza-oo-rt p {
  margin: 0 0 12px;
}

.solza-oo-rt p:last-child {
  margin-bottom: 0;
}

.solza-oo-knop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--solza-color-cta);
  color: var(--solza-white);
  border-radius: 999px;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 24px;
  padding-right: 24px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

.solza-oo-knop--sec {
  background: transparent;
  color: var(--solza-indigo-blue);
  box-shadow: inset 0 0 0 1px rgba(24, 31, 62, 0.25);
}

/* --- 1. hero met cijferbalk --- */

.solza-oo-hero {
  background: var(--solza-driftwood-cream-light);
  padding-top: 44px;
  padding-bottom: 44px;
}

.solza-oo-intro {
  margin-top: 14px;
  max-width: 62ch;
  font-size: 16px;
  line-height: 1.7;
  color: var(--solza-color-text-muted);
}

.solza-oo-cijfers {
  list-style: none;
  margin-top: 30px;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.solza-oo-cijfer {
  border-radius: 8px;
  padding-top: 18px;
  padding-bottom: 18px;
  padding-left: 16px;
  padding-right: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.solza-oo-cijfer--navy {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
}

.solza-oo-cijfer--beige {
  background: var(--solza-driftwood-cream);
  color: var(--solza-indigo-blue);
}

.solza-oo-cijfer--wit {
  background: var(--solza-white);
  color: var(--solza-indigo-blue);
  box-shadow: 0 1px 3px rgba(24, 31, 62, 0.09);
}

.solza-oo-cijfer__getal {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: clamp(19px, 2.2vw, 25px);
  line-height: 1.1;
}

.solza-oo-cijfer__label {
  font-size: 12.5px;
  line-height: 1.35;
  opacity: 0.78;
}

/* --- 2. tijdlijn --- */

.solza-oo-tl-sec {
  padding-top: 52px;
  padding-bottom: 52px;
}

.solza-oo-tl-sec .solza-oo-sub {
  margin-top: 8px;
}

.solza-oo-tl {
  list-style: none;
  margin-top: 46px;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  align-items: center;
  position: relative;
  min-height: 250px;
}

.solza-oo-tl::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  border-top: 2px dotted rgba(24, 31, 62, 0.28);
}

.solza-oo-tl__item {
  position: relative;
  padding-left: 6px;
  padding-right: 6px;
  min-width: 0;
}

.solza-oo-tl__stip {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 11px;
  height: 11px;
  margin-left: -5.5px;
  margin-top: -5.5px;
  border-radius: 50%;
  background: var(--solza-white);
  box-shadow: inset 0 0 0 2px rgba(24, 31, 62, 0.4);
}

.solza-oo-tl__item.is-hoog .solza-oo-tl__stip {
  background: var(--solza-golden-mango);
  box-shadow: inset 0 0 0 2px var(--solza-golden-mango);
  width: 13px;
  height: 13px;
  margin-left: -6.5px;
  margin-top: -6.5px;
}

.solza-oo-tl__in {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.solza-oo-tl__item.is-boven .solza-oo-tl__in {
  position: absolute;
  bottom: calc(50% + 18px);
  left: 6px;
  right: 6px;
}

.solza-oo-tl__item.is-onder .solza-oo-tl__in {
  position: absolute;
  top: calc(50% + 18px);
  left: 6px;
  right: 6px;
}

.solza-oo-tl__jaar {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 15px;
  color: var(--solza-color-text-muted);
}

.solza-oo-tl__item.is-hoog .solza-oo-tl__jaar {
  color: var(--solza-burgundy);
}

.solza-oo-tl__tekst {
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--solza-color-text-muted);
}

/* --- 3. Jorik --- */

.solza-oo-jorik {
  background: var(--solza-driftwood-cream-light);
  padding-top: 48px;
  padding-bottom: 48px;
}

.solza-oo-jorik__grid,
.solza-oo-belofte__grid,
.solza-oo-show__grid {
  display: grid;
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
  gap: 34px;
  align-items: center;
}

/* Zonder foto houdt het grid anders een lege eerste kolom over. */
.solza-oo-jorik__grid.is-solo,
.solza-oo-belofte__grid.is-solo,
.solza-oo-show__grid.is-solo {
  grid-template-columns: minmax(0, 1fr);
}

.solza-oo-jorik__foto img,
.solza-oo-belofte__foto img,
.solza-oo-show__foto img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* De showroomfoto van Jorik is 2:3 staand. In een 4:5 kader sneed cover
   er boven en onder samen 640 van de 3840 pixels af, precies de lucht
   boven zijn hoofd. Het kader volgt nu de foto. Dit is een gewone
   omgevingsfoto, geen uitgeknipt portret, dus contain zou hier juist
   lelijke balken geven. */
.solza-oo-jorik__foto img {
  aspect-ratio: 2 / 3;
  object-fit: cover;
}

/* De handdrukfoto is ook 2:3, maar staat naast twee korte alinea's: op
   zijn natuurlijke hoogte werd hij 630px tegenover 207px tekst, en dan
   is het blok een foto met een bijschrift. Hier dus wel een 4:5 kader.
   De handen zitten rond 45% hoogte, dus de 160px die er boven en onder
   afgaan raken het onderwerp niet. */
.solza-oo-belofte__foto img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.solza-oo-citaat {
  margin-top: 14px;
  margin-bottom: 14px;
  padding-left: 16px;
  border-left: 3px solid var(--solza-burgundy);
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 17px;
  line-height: 1.45;
  color: var(--solza-burgundy);
}

.solza-oo-jorik__meta {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(24, 31, 62, 0.14);
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  font-size: 13.5px;
  color: var(--solza-color-text-muted);
}

.solza-oo-jorik__functie {
  font-weight: 600;
  color: var(--solza-indigo-blue);
}

.solza-oo-jorik__links {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.solza-oo-jorik__links a {
  color: var(--solza-indigo-blue);
}

/* --- 4. waar we voor staan --- */

.solza-oo-waarden {
  padding-top: 52px;
  padding-bottom: 52px;
}

.solza-oo-wgrid {
  list-style: none;
  margin-top: 26px;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.solza-oo-wkaart {
  background: var(--solza-white);
  border: 1px solid var(--solza-color-border);
  border-radius: 8px;
  padding-top: 22px;
  padding-bottom: 22px;
  padding-left: 20px;
  padding-right: 20px;
}

.solza-oo-wkaart__nr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 14px;
  margin-bottom: 12px;
}

.solza-oo-wkaart__kop {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 16px;
  line-height: 1.3;
  color: var(--solza-indigo-blue);
  margin-top: 0;
  margin-bottom: 8px;
}

.solza-oo-wkaart__tekst {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--solza-color-text-muted);
}

/* --- 5. afspraak is afspraak --- */

.solza-oo-belofte {
  background: var(--solza-driftwood-cream-light);
  padding-top: 48px;
  padding-bottom: 48px;
}

/* --- 6. teamslider --- */

.solza-oo-team {
  padding-top: 52px;
  padding-bottom: 52px;
}

.solza-oo-team .solza-oo-sub {
  margin-top: 8px;
  max-width: 64ch;
}

/* De slider houdt dezelfde breedte aan als de rest van de pagina. Het
   spoor liep eerder van schermrand tot schermrand met een interne
   padding om de eerste kaart uit te lijnen; daardoor plakten er links en
   rechts halve kaarten tegen de vensterrand, ver buiten de kolom waar de
   kop en de tekst in staan. Nu worden ze op de containerrand afgesneden
   en schuift er niets meer voorbij de inhoud. */
.solza-oo-slider {
  position: relative;
  margin-top: 26px;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

.solza-oo-spoor {
  list-style: none;
  margin: 0;
  /* Geen eigen padding meer: de slider eromheen bepaalt de uitlijning. */
  padding-left: 0;
  padding-right: 0;
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: none;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.solza-oo-spoor::-webkit-scrollbar {
  display: none;
}

.solza-oo-tk {
  flex: 0 0 auto;
  width: calc((min(100vw, 1180px) - 104px) / 4.35);
  min-width: 168px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* De teamportretten zijn 3:2 liggend met de persoon van kruin tot heup
   in beeld, op een egale studio-achtergrond. In een 4:5 kader met
   object-fit: cover blijft de volle hoogte staan en valt er alleen
   breedte weg -- technisch niets kwijt, maar dan staat de kruin tegen de
   bovenrand en is iedereen bij de heup afgekapt.

   Daarom contain in plaats van cover: de hele foto past, met lucht
   eromheen. De kaderkleur is de achtergrond van de foto's zelf,
   uitgelezen uit de bestanden (rgb 254,243,240) en niet onze eigen
   creme, want dan zie je een naad rond de persoon. Komt er een portret
   met een andere achtergrond bij, dan moet deze waarde mee. */
.solza-oo-tk__im {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background: rgb(254, 243, 240);
  aspect-ratio: 4 / 5;
}

.solza-oo-tk__im img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.solza-oo-tk__im.is-leeg {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  color: var(--solza-indigo-blue);
}

.solza-oo-tk__noot {
  font-size: 12px;
  color: var(--solza-color-text-muted);
}

.solza-oo-tk__naam {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 15px;
  color: var(--solza-indigo-blue);
}

.solza-oo-tk__rol {
  font-size: 13px;
  line-height: 1.4;
  color: var(--solza-color-text-muted);
}

.solza-oo-pijl {
  position: absolute;
  top: 34%;
  z-index: 2;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid var(--solza-color-border);
  background: var(--solza-white);
  color: var(--solza-indigo-blue);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(24, 31, 62, 0.12);
}

/* De pijlen horen in de witruimte naast de kaarten, niet erbovenop: op de
   eerste kaart dekken ze anders een gezicht af. Onder 1240px is die marge
   er niet, dan blijven ze weg en swipe of sleep je. */
.solza-oo-pijl {
  display: none;
}

@media (min-width: 1240px) {
  .solza-oo-pijl {
    display: flex;
  }

  .solza-oo-pijl--l {
    left: calc((100% - 1140px) / 2 - 46px);
  }

  .solza-oo-pijl--r {
    right: calc((100% - 1140px) / 2 - 46px);
  }
}

/* --- 7. showroomband --- */

.solza-oo-show {
  background: var(--solza-indigo-blue);
  padding-top: 48px;
  padding-bottom: 48px;
}

.solza-oo-show .solza-oo-h2,
.solza-oo-show .solza-oo-rt {
  color: var(--solza-white);
}

.solza-oo-show .solza-oo-rt {
  opacity: 0.82;
}

.solza-oo-feiten {
  margin-top: 20px;
  margin-bottom: 22px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 20px;
}

.solza-oo-feit dt {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 2px;
}

.solza-oo-feit dd {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--solza-white);
}

/* --- 8. social --- */

.solza-oo-social {
  padding-top: 52px;
  padding-bottom: 56px;
}

.solza-oo-social__intro {
  margin-top: 12px;
  max-width: 64ch;
}

.solza-oo-skn {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.solza-oo-sgrid {
  list-style: none;
  margin-top: 26px;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.solza-oo-reel img {
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

/* --- 1000px: tien kolommen naast elkaar wordt te krap --- */

@media (max-width: 1000px) {
  .solza-oo-tl {
    grid-auto-flow: row;
    grid-auto-columns: auto;
    min-height: 0;
    padding-left: 22px;
    gap: 20px;
  }

  .solza-oo-tl::before {
    left: 5px;
    right: auto;
    top: 4px;
    bottom: 4px;
    border-top: 0;
    border-left: 2px dotted rgba(24, 31, 62, 0.28);
  }

  .solza-oo-tl__item,
  .solza-oo-tl__item.is-boven,
  .solza-oo-tl__item.is-onder {
    padding-left: 0;
    padding-right: 0;
  }

  .solza-oo-tl__item .solza-oo-tl__in,
  .solza-oo-tl__item.is-boven .solza-oo-tl__in,
  .solza-oo-tl__item.is-onder .solza-oo-tl__in {
    position: static;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
  }

  .solza-oo-tl__stip {
    left: -22px;
    top: 7px;
    margin-left: 0;
    margin-top: 0;
  }

  .solza-oo-tl__item.is-hoog .solza-oo-tl__stip {
    left: -23px;
    margin-left: 0;
    margin-top: -1px;
  }

  .solza-oo-cijfers {
    grid-template-columns: repeat(3, 1fr);
  }

  .solza-oo-wgrid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- 900px: tweekolomsblokken stapelen --- */

@media (max-width: 900px) {
  .solza-oo-jorik__grid,
  .solza-oo-belofte__grid,
  .solza-oo-show__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  .solza-oo-jorik__foto img {
    max-width: 340px;
  }

  .solza-oo-tk {
    width: 44vw;
  }

  .solza-oo-sgrid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- 560px: alles in een kolom --- */

@media (max-width: 560px) {
  .solza-oo-hero,
  .solza-oo-jorik,
  .solza-oo-belofte,
  .solza-oo-show {
    padding-top: 34px;
    padding-bottom: 34px;
  }

  .solza-oo-tl-sec,
  .solza-oo-waarden,
  .solza-oo-team,
  .solza-oo-social {
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .solza-oo-cijfers {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .solza-oo-cijfer:first-child {
    grid-column: 1 / -1;
  }

  .solza-oo-wgrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .solza-oo-feiten {
    grid-template-columns: minmax(0, 1fr);
  }

  .solza-oo-tk {
    width: 62vw;
  }

  .solza-oo-skn .solza-oo-knop {
    flex: 1 1 auto;
  }
}

/* --- reels: zelf gehoste video met posterbeeld ---------------------------
   De video laadt pas bij klik (zie assets/solza-reels.js); tot dan zie je
   het posterframe met een afspeelknop. Vier reels die vanzelf laden zou
   tientallen megabytes kosten voordat iemand iets aanklikt.
   ----------------------------------------------------------------------- */

.solza-oo-reel__speler {
  position: relative;
  display: block;
  aspect-ratio: 9 / 16;
  border-radius: 8px;
  overflow: hidden;
  background: var(--solza-driftwood-cream);
}

.solza-oo-reel__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.solza-oo-reel__knop {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--solza-indigo-blue);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 10px rgba(24, 31, 62, 0.22);
  /* Het driehoekje staat optisch links van het midden in een cirkel. */
  padding-left: 4px;
}

.solza-oo-reel__knop:hover {
  background: var(--solza-white);
}

/* Tijdens het afspelen verdwijnt de knop, maar hij blijft bereikbaar voor
   toetsenbord en muis: opacity in plaats van display, zodat je kunt
   pauzeren zonder eerst te hoeven raden waar de knop stond. */
.solza-oo-reel__speler.is-speelt .solza-oo-reel__knop {
  opacity: 0;
}

.solza-oo-reel__speler.is-speelt:hover .solza-oo-reel__knop,
.solza-oo-reel__speler .solza-oo-reel__knop:focus-visible {
  opacity: 1;
}

.solza-oo-reel__bron {
  display: inline-block;
  margin-top: 7px;
  font-size: 13px;
  color: var(--solza-color-text-muted);
  text-decoration: none;
}

.solza-oo-reel__bron:hover {
  color: var(--solza-indigo-blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Het stilstaande beeld ligt als losse img over de video heen in plaats van
   in het poster-attribuut. Zo kan het lazy laden -- de reels staan onderaan
   de pagina en een poster-attribuut wordt altijd meteen opgehaald.
   Bij het afspelen fadet het weg; de video eronder staat er al. */
.solza-oo-reel__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.2s ease;
}

.solza-oo-reel__speler.is-speelt .solza-oo-reel__poster {
  opacity: 0;
  pointer-events: none;
}


/* ---- Tekens die icoon waren, nu SVG ---------------------------------- */

/* Het sluitkruisje van de voorraadmodals stond als &times; in de markup en
   werd op font-size geschaald. Een SVG trekt zich daar niets van aan, dus
   staat de maat hier. De kleur erft van .close, die de hoverstaat regelt. */
.solza-modal-kruis {
  width: 20px;
  height: 20px;
  display: block;
}

/* Plus en min bij "meer/minder tonen" in de filterkolom. Vertical-align
   houdt ze op de tekstregel; ze staan naast een label, niet erboven. */
.solza-facet-teken {
  width: 10px;
  height: 10px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
}


/* ====================================================================== */
/* Legservicepagina (sections/solza-legservice.liquid)                    */
/*                                                                        */
/* De containerklasse .solza-ls-wrap zet de breedte en de horizontale     */
/* padding; .solza-ls-blok staat er op sommige elementen naast en zet     */
/* alleen padding-top en padding-bottom. Nooit de shorthand gebruiken:    */
/* die wist de horizontale padding en dan loopt de tekst op mobiel tegen  */
/* de schermrand, wat op desktop niet opvalt.                             */
/* ====================================================================== */

.solza-ls {
  --ls-pad: 24px;
  color: var(--solza-indigo-blue);
  /* Ruimte onder het laatste blok. Die hoort hier en niet op .solza-ls-blok:
     welk onderdeel als laatste overblijft hangt af van wat er is ingevuld --
     elk blok verbergt zichzelf als het leeg is. Zonder deze regel sloot het
     navy slotblok naadloos aan op de showroomband uit de footergroep. */
  padding-bottom: 52px;
}

.solza-ls-wrap {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--ls-pad);
  padding-right: var(--ls-pad);
}

.solza-ls-blok {
  padding-top: 52px;
  padding-bottom: 0;
}

.solza-ls-kop {
  font-family: var(--font-heading-family, inherit);
  font-weight: 800;
  font-size: 24px;
  line-height: 1.25;
  margin: 0 0 6px;
  /* balance houdt een gecentreerde of korte kop bij elkaar in plaats van
     een los woord op de tweede regel te laten staan */
  text-wrap: balance;
  max-width: 34ch;
}

.solza-ls-sub {
  margin: 0 0 22px;
  font-size: 15.5px;
  line-height: 1.65;
  color: rgba(24, 31, 62, 0.72);
  max-width: 88ch;
}

.solza-ls-kras {
  font-family: 'Caveat', cursive;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--solza-burgundy);
  display: block;
  margin-bottom: 2px;
}

.solza-ls-noot {
  margin: 12px 0 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--solza-color-text-muted);
}

/* ---- knoppen --------------------------------------------------------- */

.solza-ls-knop {
  display: inline-block;
  background: var(--solza-tuscan-terra);
  color: var(--solza-white);
  text-decoration: none;
  border-radius: 999px;
  padding: 13px 26px;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.2;
  border: 1.5px solid transparent;
}

.solza-ls-knop:hover,
.solza-ls-knop:focus-visible {
  color: var(--solza-white);
  filter: brightness(0.94);
}

/* De tweede knop is bewust geen oranje: per blok hoort er hoogstens een
   oranje element te staan, anders concurreren ze om dezelfde aandacht. */
.solza-ls-knop--tweede {
  background: var(--solza-white);
  color: var(--solza-indigo-blue);
  border-color: var(--solza-indigo-blue);
  font-weight: 500;
}

.solza-ls-knop--tweede:hover,
.solza-ls-knop--tweede:focus-visible {
  color: var(--solza-indigo-blue);
  background: var(--solza-driftwood-cream-light);
  filter: none;
}

/* ---- 1. hero --------------------------------------------------------- */

.solza-ls-hero {
  background: var(--solza-driftwood-cream-light);
}

.solza-ls-hero__in {
  max-width: 1180px;
  margin: 0 auto;
  padding-left: var(--ls-pad);
  padding-right: var(--ls-pad);
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 44px;
  align-items: center;
  min-height: 380px;
}

.solza-ls-hero__tekst {
  padding-top: 42px;
  padding-bottom: 42px;
}

.solza-ls-hero__kras {
  font-family: 'Caveat', cursive;
  font-size: 27px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--solza-burgundy);
  display: block;
  margin-bottom: 2px;
}

.solza-ls-hero__kop {
  font-family: var(--font-heading-family, inherit);
  font-size: 33px;
  font-weight: 800;
  line-height: 1.18;
  margin: 0 0 12px;
  max-width: 20ch;
  text-wrap: balance;
}

.solza-ls-hero__tx {
  margin-bottom: 14px;
  font-size: 16.5px;
  line-height: 1.6;
  color: rgba(24, 31, 62, 0.78);
  max-width: 46ch;
}

.solza-ls-hero__tx p {
  margin: 0 0 10px;
}

.solza-ls-hero__tx p:last-child {
  margin-bottom: 0;
}

.solza-ls-hero__pil {
  display: inline-block;
  background: var(--solza-white);
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 20px;
}

.solza-ls-hero__knoppen {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.solza-ls-hero__beeld {
  align-self: stretch;
  position: relative;
  min-height: 340px;
}

.solza-ls-hero__beeld img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---- 2. prijsbepalers ------------------------------------------------ */

.solza-ls-factoren {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.solza-ls-fk {
  border: 1px solid var(--solza-color-border);
  border-radius: 8px;
  padding: 20px 22px;
}

.solza-ls-fk h3 {
  font-family: var(--font-heading-family, inherit);
  font-size: 16.5px;
  font-weight: 800;
  line-height: 1.3;
  margin: 0 0 6px;
}

.solza-ls-fk p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(24, 31, 62, 0.75);
}

/* ---- 3. twee routes -------------------------------------------------- */

.solza-ls-routes {
  background: var(--solza-driftwood-cream-light);
  margin-top: 52px;
  padding-top: 48px;
  padding-bottom: 52px;
}

.solza-ls-routes__kop {
  max-width: 64ch;
  margin-bottom: 26px;
}

.solza-ls-routes__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}

.solza-ls-route {
  background: var(--solza-white);
  border-radius: 8px;
  padding: 26px 28px;
  position: relative;
}

.solza-ls-route--hoofd {
  border: 2px solid var(--solza-indigo-blue);
}

.solza-ls-route__label {
  position: absolute;
  top: -11px;
  left: 26px;
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 999px;
}

.solza-ls-route h3 {
  font-family: var(--font-heading-family, inherit);
  font-size: 19px;
  font-weight: 800;
  margin: 0 0 8px;
}

.solza-ls-route > p {
  margin: 0 0 16px;
  font-size: 14.5px;
  line-height: 1.65;
  color: rgba(24, 31, 62, 0.75);
}

.solza-ls-route .solza-ls-knop {
  margin-top: 16px;
}

/* ---- 4 en 6. kaarten met lijsten ------------------------------------- */

.solza-ls-tweekol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}

.solza-ls-kaart {
  border: 1px solid var(--solza-color-border);
  border-radius: 8px;
  padding: 22px 24px;
}

.solza-ls-kaart h3 {
  font-family: var(--font-heading-family, inherit);
  font-size: 17px;
  font-weight: 800;
  margin: 0 0 12px;
}

.solza-ls-kaart__tx {
  font-size: 14.5px;
  line-height: 1.7;
  color: rgba(24, 31, 62, 0.8);
}

.solza-ls-kaart__tx p {
  margin: 0 0 10px;
}

.solza-ls-kaart__tx p:last-child {
  margin-bottom: 0;
}

/* ---- 5. stappen ------------------------------------------------------ */

.solza-ls-stappen {
  list-style: none;
  margin: 0;
  padding-left: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.solza-ls-stap {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  border: 1px solid var(--solza-color-border);
  border-radius: 8px;
  padding: 18px 20px;
}

.solza-ls-stap__n {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  font-weight: 800;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* zonder line-height: 1 zakt het cijfer een pixel uit het midden */
  line-height: 1;
}

.solza-ls-stap h3 {
  font-family: var(--font-heading-family, inherit);
  font-size: 16px;
  font-weight: 800;
  margin: 0 0 4px;
  line-height: 1.3;
}

.solza-ls-stap p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(24, 31, 62, 0.75);
}

.solza-ls-inspectie {
  background: var(--solza-driftwood-cream-light);
  border-left: 3px solid var(--solza-burgundy);
  border-radius: 0 8px 8px 0;
  padding: 20px 24px;
  margin-top: 22px;
  max-width: 74ch;
}

.solza-ls-inspectie b {
  display: block;
  font-family: var(--font-heading-family, inherit);
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 4px;
}

.solza-ls-inspectie p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.65;
  color: rgba(24, 31, 62, 0.78);
}

/* ---- 7. veelgestelde vragen ------------------------------------------ */

/* Paginabreed in twee kolommen, niet in een smalle kolom. Met columns in
   plaats van grid vullen de items zich vanzelf uit over beide kolommen,
   ook als de ene vraag een langer antwoord heeft dan de andere. */
.solza-ls-faq {
  columns: 2;
  column-gap: 16px;
}

.solza-ls-faq > * {
  break-inside: avoid;
  margin-bottom: 12px;
}

/* ---- 8. afsluitend blok ---------------------------------------------- */

.solza-ls-slot {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  border-radius: 8px;
  padding: 32px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.solza-ls-slot h2 {
  font-family: var(--font-heading-family, inherit);
  font-size: 23px;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--solza-white);
  line-height: 1.25;
}

.solza-ls-slot p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.82);
  max-width: 60ch;
}

/* ---- iconenlijst (gedeeld snippet) ----------------------------------- */

.solza-ilijst {
  list-style: none;
  margin: 0;
  padding-left: 0;
  font-size: 14.5px;
  line-height: 1.55;
}

.solza-ilijst li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 8px;
}

.solza-ilijst li:last-child {
  margin-bottom: 0;
}

/* Vaste maat, want het is een SVG: die trekt zich niets aan van
   font-size. De marge bovenin lijnt hem uit met de eerste tekstregel. */
.solza-ilijst__icoon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 4px;
}

.solza-ilijst--ja .solza-ilijst__icoon {
  color: var(--solza-color-stock-available);
}

.solza-ilijst--nee .solza-ilijst__icoon {
  color: var(--solza-burgundy);
}

/* ---- contactformulier (gedeeld snippet) ------------------------------ */

.solza-cform__rij {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.solza-cform__veld {
  margin-bottom: 13px;
}

.solza-cform__veld label {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  margin-bottom: 5px;
}

.solza-cform__optioneel {
  font-weight: 400;
  color: var(--solza-color-text-muted);
}

.solza-cform__veld input,
.solza-cform__veld select,
.solza-cform__veld textarea {
  width: 100%;
  font-family: inherit;
  font-size: 15px;
  color: var(--solza-indigo-blue);
  background: var(--solza-white);
  border: 1px solid rgba(24, 31, 62, 0.18);
  border-radius: 6px;
  padding: 11px 13px;
  resize: vertical;
}

.solza-cform__veld input:focus,
.solza-cform__veld select:focus,
.solza-cform__veld textarea:focus {
  outline: 2px solid var(--solza-indigo-blue);
  outline-offset: 1px;
  border-color: transparent;
}

.solza-cform__knop {
  display: inline-block;
  background: var(--solza-white);
  color: var(--solza-indigo-blue);
  border: 1.5px solid var(--solza-indigo-blue);
  border-radius: 999px;
  padding: 12px 26px;
  font-family: inherit;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  margin-top: 4px;
}

.solza-cform__knop:hover,
.solza-cform__knop:focus-visible {
  background: var(--solza-driftwood-cream-light);
}

.solza-cform__klein {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--solza-color-text-muted);
}

/* ---- breakpoints ----------------------------------------------------- */

@media (max-width: 900px) {
  .solza-ls-hero__in {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 0;
  }

  .solza-ls-hero__tekst {
    padding-top: 26px;
    padding-bottom: 30px;
  }

  /* De foto gaat boven de tekst en loopt van rand tot rand. De negatieve
     marge compenseert precies de padding van de container erboven. */
  .solza-ls-hero__beeld {
    min-height: 0;
    aspect-ratio: 16 / 9;
    order: -1;
    margin-left: calc(var(--ls-pad) * -1);
    margin-right: calc(var(--ls-pad) * -1);
  }

  .solza-ls-hero__beeld img {
    position: static;
    height: 100%;
  }

  .solza-ls-factoren,
  .solza-ls-stappen {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 860px) {
  .solza-ls-routes__grid,
  .solza-ls-tweekol {
    grid-template-columns: 1fr;
  }

  .solza-ls-faq {
    columns: 1;
  }
}

@media (max-width: 760px) {
  .solza-ls {
    padding-bottom: 36px;
  }

  .solza-ls-blok {
    padding-top: 36px;
  }

  .solza-ls-routes {
    margin-top: 36px;
    padding-top: 32px;
    padding-bottom: 36px;
  }

  .solza-ls-kop {
    font-size: 20px;
  }

  .solza-ls-slot {
    padding: 26px 24px;
  }

  .solza-ls-slot h2 {
    font-size: 20px;
  }
}

@media (max-width: 600px) {
  .solza-ls {
    --ls-pad: 16px;
  }

  .solza-ls-hero__kop {
    font-size: 25px;
  }

  .solza-ls-route {
    padding: 24px 20px;
  }
}

@media (max-width: 560px) {
  .solza-ls-factoren,
  .solza-ls-stappen {
    grid-template-columns: 1fr;
  }

  /* Naast elkaar worden deze velden onder 560px te smal om nog een
     leesbaar label te dragen. */
  .solza-cform__rij {
    grid-template-columns: 1fr;
    gap: 0;
  }
}



/* ==========================================================================
   404-pagina (sections/solza-404.liquid) â€” volgt solza-404.html

   Containerregel: .solza-404__wrap en .solza-404__heroin zijn de enige
   containers en staan nooit samen met een tweede breedteklasse. Overal
   losse padding-left/right, nooit de shorthand.

   Twee afwijkingen van het ontwerpbestand, bewust:
   - Kaarten hebben border-radius 5px en de grids 12px gap, conform de
     kaartconventie. Het ontwerp tekende 8px/6px en 12/14px.
   - De productrij gebruikt de bestaande productkaart, dus de .pk-regels
     uit het ontwerp zijn hier niet overgenomen.
   ========================================================================== */

.solza-404__wrap,
.solza-404__heroin {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.solza-404__blok {
  padding-top: 52px;
}

.solza-404__sec {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 23px;
  line-height: 1.25;
  color: var(--solza-indigo-blue);
  margin-top: 0;
  margin-bottom: 4px;
}

.solza-404__sub {
  margin-top: 0;
  margin-bottom: 20px;
  max-width: 60ch;
  font-size: 15.5px;
  line-height: 1.6;
  color: rgba(var(--solza-indigo-blue-rgb), 0.72);
}

.solza-404__verborgen {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* --- 1. hero --- */

.solza-404__hero {
  background: var(--solza-driftwood-cream-light);
}

.solza-404__heroin {
  padding-top: 44px;
  padding-bottom: 46px;
}

.solza-404__kras {
  display: block;
  font-family: 'Caveat', cursive;
  font-size: 27px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--solza-burgundy);
  margin-bottom: 2px;
}

.solza-404__h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 32px;
  line-height: 1.2;
  color: var(--solza-indigo-blue);
  margin-top: 0;
  margin-bottom: 12px;
  max-width: 20ch;
  text-wrap: balance;
}

.solza-404__uitleg {
  margin-top: 0;
  margin-bottom: 4px;
  font-size: 16.5px;
  line-height: 1.65;
  color: rgba(var(--solza-indigo-blue-rgb), 0.78);
  max-width: 46ch;
}

.solza-404__herorij {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  align-items: start;
  margin-top: 20px;
}

/* zoekveld: pil met de knop erin, zoals in de header */
.solza-404__zveld {
  position: relative;
}

.solza-404__zveld input {
  width: 100%;
  border: 1px solid rgba(var(--solza-indigo-blue-rgb), 0.14);
  border-radius: 999px;
  background: var(--solza-white);
  font-family: inherit;
  font-size: 16px;
  color: var(--solza-indigo-blue);
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 20px;
  padding-right: 54px;
}

.solza-404__zveld input:focus {
  outline: none;
  border-color: var(--solza-indigo-blue);
}

.solza-404__zveld button {
  position: absolute;
  right: 6px;
  top: 6px;
  bottom: 6px;
  width: 44px;
  border: none;
  border-radius: 999px;
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.solza-404__zveld button svg {
  width: 16px;
  height: 16px;
}

/* veel gezocht, inline naast het label */
.solza-vg--inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 13.5px;
}

.solza-vg--inline .solza-vg__kop {
  font-weight: 500;
  color: var(--solza-color-text-muted);
  margin: 0 2px 0 0;
}

.solza-vg--inline .solza-vg__pillen {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.solza-vg--inline .solza-vg__pil {
  padding-top: 7px;
  padding-bottom: 7px;
  padding-left: 14px;
  padding-right: 14px;
  border: 1px solid rgba(var(--solza-indigo-blue-rgb), 0.16);
  border-radius: 999px;
  text-decoration: none;
  color: var(--solza-indigo-blue);
  background: var(--solza-white);
  line-height: 1.4;
}

.solza-vg--inline .solza-vg__pil:hover {
  border-color: var(--solza-indigo-blue);
}

/* bedoelde je dit? */
.solza-404__gok {
  background: var(--solza-white);
  border: 1px solid var(--solza-indigo-blue);
  border-radius: 5px;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 15.5px;
  line-height: 1.55;
}

.solza-404__gok b {
  display: block;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--solza-burgundy);
  font-weight: 600;
  margin-bottom: 4px;
}

.solza-404__gok a {
  color: var(--solza-indigo-blue);
  font-weight: 700;
}

/* --- 2. categoriekaarten --- */

.solza-404__cats {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 12px;
}

.solza-404__ck {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding: 12px;
  text-decoration: none;
  display: block;
  background: var(--solza-white);
}

.solza-404__ck:hover {
  border-color: var(--solza-indigo-blue);
}

.solza-404__ckim {
  display: block;
  aspect-ratio: 1;
  border-radius: 5px;
  overflow: hidden;
  background: var(--solza-driftwood-cream);
}

.solza-404__ckim img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.solza-404__ckr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.solza-404__ckr b {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--solza-indigo-blue);
}

.solza-404__ckr svg {
  flex-shrink: 0;
  color: var(--solza-indigo-blue);
  width: 13px;
  height: 13px;
}

/* --- 3. hardlopers --- */

.solza-404__kopbalk {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 20px;
}

.solza-404__kopbalk .solza-404__sub {
  margin-bottom: 0;
}

.solza-404__meer {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--solza-indigo-blue);
  text-decoration: none;
  white-space: nowrap;
}

.solza-404__meer:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.solza-404__meer svg {
  width: 12px;
  height: 12px;
}

.solza-404__rij {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

/* --- 4. hulpblok --- */

.solza-404__hulp {
  background: var(--solza-indigo-blue);
  color: var(--solza-white);
  border-radius: 5px;
  padding-top: 26px;
  padding-bottom: 26px;
  padding-left: 30px;
  padding-right: 30px;
  margin-top: 52px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: center;
}

.solza-404__pf {
  display: flex;
  align-items: center;
  gap: 13px;
}

.solza-404__pf img {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid rgba(255, 255, 255, 0.25);
}

.solza-404__pf b {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--solza-white);
}

.solza-404__pf span {
  display: block;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 1px;
}

.solza-404__hulptekst h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 21px;
  font-weight: 800;
  margin-top: 0;
  margin-bottom: 6px;
  color: var(--solza-white);
}

.solza-404__hulptekst p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.82);
  max-width: 54ch;
}

.solza-404__kn {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.solza-404__k {
  background: var(--solza-color-cta);
  color: var(--solza-white);
  text-decoration: none;
  border-radius: 999px;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 24px;
  padding-right: 24px;
  font-weight: 600;
  font-size: 14.5px;
  white-space: nowrap;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Een oranje knop per blok: de tweede is een omlijnde variant. */
.solza-404__k--sec {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.45);
  font-weight: 500;
}

/* --- 1050px --- */

@media (max-width: 1050px) {
  .solza-404__rij {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* --- 1000px --- */

@media (max-width: 1000px) {
  .solza-404__cats {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* --- 900px --- */

@media (max-width: 900px) {
  .solza-404__heroin {
    padding-top: 32px;
    padding-bottom: 34px;
  }
}

/* --- 860px: knoppen onder de tekst --- */

@media (max-width: 860px) {
  .solza-404__hulp {
    grid-template-columns: auto 1fr;
    gap: 18px;
  }

  .solza-404__kn {
    grid-column: 1 / -1;
  }
}

/* --- 820px: hero naar een kolom --- */

@media (max-width: 820px) {
  .solza-404__herorij {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* --- 760px --- */

@media (max-width: 760px) {
  .solza-404__blok {
    padding-top: 36px;
  }

  .solza-404__sec {
    font-size: 20px;
  }
}

/* --- 640px --- */

@media (max-width: 640px) {
  .solza-404__kopbalk {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .solza-404__cats,
  .solza-404__rij {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- 600px --- */

@media (max-width: 600px) {
  .solza-404__wrap,
  .solza-404__heroin {
    padding-left: 16px;
    padding-right: 16px;
  }

  .solza-404__h1 {
    font-size: 24px;
  }

  .solza-404__hulp {
    grid-template-columns: 1fr;
    margin-top: 36px;
    padding-left: 22px;
    padding-right: 22px;
    padding-top: 22px;
    padding-bottom: 22px;
  }
}

/* ==========================================================================
   Zoekresultaten (sections/page-search.liquid) â€” volgt
   solza-zoekresultaten.html

   De filters, de productkaart, de toolbar en het bottom sheet komen
   ongewijzigd van de collectiepagina; hier staat alleen wat de
   zoekpagina eigen is: de kop en de lege staat.
   ========================================================================== */

/* --- zoekkop: creme band over de volle breedte --- */

.solza-zkop {
  background: var(--solza-driftwood-cream-light);
  margin-bottom: 26px;
}

.solza-zkop__in {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 30px;
  padding-bottom: 30px;
  /* De theme-header zette dit blok gecentreerd; de zoekkop staat links,
     gelijk met de filterkolom eronder. */
  display: block;
  text-align: left;
}

.solza-zkop__h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 26px;
  line-height: 1.25;
  color: var(--solza-indigo-blue);
  margin-top: 0;
  margin-bottom: 14px;
  max-width: 30ch;
  text-wrap: balance;
}

.solza-zkop__h1 em {
  font-style: normal;
  color: var(--solza-burgundy);
}

/* Het zoekformulier komt uit het theme; hier alleen uitlijnen en de
   pilvorm gelijktrekken met de header en de 404. */
.solza-zkop main-search,
.solza-zkop predictive-search {
  justify-content: flex-start;
  max-width: 620px;
}

.solza-zkop .m-search-form {
  width: 100%;
}

/* Geen overflow: hidden om de pilvorm te forceren -- dat knipt de
   focusring af. De knop is zelf rond, zie hieronder. */
.solza-zkop .m-search-form__wrapper {
  border-radius: 999px;
}

.solza-zkop .m-search__input {
  border-radius: 999px;
  min-height: 52px;
}

/* De knoppen liepen over de volle hoogte tot tegen de rechterrand, met
   een rechte linkerkant en 5px rechts. Binnen een pil hoort daar een
   ronde knop met lucht eromheen, zoals in de header en op de 404. */
.solza-zkop .m-search-form__buttons {
  top: 6px;
  bottom: 6px;
  right: 6px;
  height: auto;
  align-items: center;
  gap: 2px;
}

.solza-zkop .m-search-form__search--button {
  border-radius: 999px;
  width: 44px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.solza-zkop .m-search-form__reset--button {
  border-radius: 999px;
  padding-left: 10px;
  padding-right: 10px;
}

/* search.css centreert de dropdown vanaf 1280px onder het veld met
   left: 50%, translateX(-50%) en min-width 750px. Dat klopt voor de
   smalle zoekbalk in de header, maar op de zoekpagina staat het veld
   links: de dropdown schoot daardoor 65px buiten de linkerrand --
   gemeten -41..709 bij een veld op 24..644. Hier lijnt hij links uit met
   het veld en volgt hij de breedte ervan. */
.solza-zkop .m-predictive-search {
  left: 0;
  right: auto;
  transform: none;
  min-width: 0;
  width: 100%;
}

/* Het sorteermenu klapt absoluut uit binnen een wrapper van 100px, maar is
   zelf 203px breed. Met left: 0 stak het op 768px 104px voorbij de
   rechterrand en scrolde de hele pagina 75px horizontaal mee -- ook met
   het menu dicht, want het staat op visibility: hidden en niet op
   display: none. Gemeten op /search?q=visgraat; de collectiepagina heeft
   het niet omdat de toolbar daar breder uitvalt. Rechts uitlijnen houdt
   het binnen, ongeacht de wrapperbreedte. */
.m-search-template .m-select-custom--options {
  left: auto;
  right: 0;
}

/* --- lege staat --- */

.solza-leeg {
  padding-top: 8px;
  padding-bottom: 24px;
  max-width: 760px;
}

.solza-leeg__kras {
  display: block;
  font-family: 'Caveat', cursive;
  font-size: 27px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--solza-burgundy);
  margin-bottom: 2px;
}

.solza-leeg__kop {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 23px;
  line-height: 1.25;
  color: var(--solza-indigo-blue);
  margin-top: 0;
  margin-bottom: 8px;
}

.solza-leeg__tekst {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 15.5px;
  line-height: 1.6;
  color: rgba(var(--solza-indigo-blue-rgb), 0.72);
  max-width: 60ch;
}

.solza-leeg__wis {
  display: block;
  margin-bottom: 22px;
}

.solza-leeg__label {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--solza-indigo-blue);
}

.solza-leeg__vg {
  margin-bottom: 26px;
}

.solza-leeg__vg .solza-vg__pillen {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.solza-leeg__vg .solza-vg__pil {
  font-size: 13.5px;
  line-height: 1.4;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 999px;
  border: 1px solid rgba(var(--solza-indigo-blue-rgb), 0.16);
  background: var(--solza-white);
  color: var(--solza-indigo-blue);
  text-decoration: none;
}

.solza-leeg__vg .solza-vg__pil:hover {
  border-color: var(--solza-indigo-blue);
}

.solza-leeg__cats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.solza-leeg__cats a {
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 18px;
  padding-right: 18px;
  text-decoration: none;
  background: var(--solza-white);
  display: block;
  min-height: 78px;
}

.solza-leeg__cats a:hover {
  border-color: var(--solza-indigo-blue);
}

.solza-leeg__cats b {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--solza-indigo-blue);
  margin-bottom: 3px;
}

.solza-leeg__cats span {
  display: block;
  font-size: 13.5px;
  line-height: 1.45;
  color: rgba(var(--solza-indigo-blue-rgb), 0.72);
}

/* --- 760px --- */

@media (max-width: 760px) {
  .solza-zkop__in {
    padding-top: 22px;
    padding-bottom: 22px;
  }

  .solza-zkop__h1 {
    font-size: 21px;
  }

  .solza-leeg__kop {
    font-size: 20px;
  }
}

/* --- 600px --- */

@media (max-width: 600px) {
  .solza-zkop__in {
    padding-left: 16px;
    padding-right: 16px;
  }

  .solza-leeg__cats {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ==========================================================================
   Predictive search in de header â€” naar de Solza 3.0-vormtaal

   Het paneel kwam nog uit het basistheme: 16px grijsblauwe titels, een
   70px thumbnail zonder radius, en een lijst die met max-height en
   overflow-y: auto (search.css) een scrollbar kreeg zodra er meer dan
   een handvol treffers waren.

   Scrollen is eruit. Het aantal resultaten is in
   sections/predictive-search.liquid begrensd tot vijf producten en vier
   suggesties, en die passen altijd. Wie meer wil, klikt de knop onderaan
   naar de volledige zoekpagina. Verandert die limiet, pas dan ook de
   max-height hieronder aan.
   ========================================================================== */

.m-predictive-search {
  border-color: var(--solza-color-border);
  border-radius: 5px;
  box-shadow: 0 8px 28px rgba(24, 31, 62, 0.1);
  /* Geen scrollbaar paneel: de inhoud is begrensd en past. De max-height
     blijft staan als vangnet voor een heel kleine viewport, maar ligt zo
     hoog dat hij bij de huidige limieten nooit aanslaat. */
  overflow: hidden;
}

predictive-search[open] .m-predictive-search {
  max-height: none;
}

@media screen and (max-width: 767px) {
  predictive-search[open] .m-predictive-search {
    max-height: calc(100vh - var(--search-modal-height, 120px) - 20px);
    overflow-y: auto;
  }
}

/* --- kolommen --- */

.m-predictive-search__result-group {
  padding-top: 16px;
  padding-bottom: 16px;
  gap: 16px;
}

.m-predictive-search__result-group:nth-child(2) {
  border-left-color: var(--solza-color-border);
}

/* --- kopjes boven de kolommen --- */

.m-predictive-search__heading {
  font-family: 'Poppins', sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--solza-color-text-muted);
  margin-left: 16px;
  margin-right: 16px;
  margin-bottom: 8px;
}

/* --- regels --- */

.m-predictive-search__list-item {
  text-transform: none;
}

.m-predictive-search__item {
  padding-top: 7px;
  padding-bottom: 7px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 5px;
}

.m-predictive-search__list-item:hover > * {
  background-color: var(--solza-driftwood-cream-light);
}

.m-predictive-search__list-item:hover .m-predictive-search__item-heading {
  text-decoration: none;
}

.m-predictive-search__item-heading {
  font-size: 14px;
  line-height: 1.4;
  color: var(--solza-indigo-blue);
  margin: 0;
}

.m-predictive-search__item-vendor {
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--solza-color-text-muted);
  margin-bottom: 2px;
}

/* --- productregels met thumbnail --- */

.m-predictive-search__item--link-with-thumbnail {
  grid-template-columns: 56px 1fr;
  grid-column-gap: 12px;
  align-items: center;
  margin-bottom: 2px;
}

.m-predictive-search__image {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 5px;
  border: 1px solid var(--solza-color-border);
  background: var(--solza-driftwood-cream);
}

.m-predictive-search__item .m-price {
  margin-top: 2px;
  font-size: 13.5px;
}

/* --- knop naar de volledige zoekpagina --- */

.m-predictive-search__search-for-button button {
  padding-top: 13px;
  padding-bottom: 13px;
  padding-left: 16px;
  padding-right: 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--solza-indigo-blue);
  min-height: 48px;
}

.m-predictive-search__search-for-button button::after {
  left: 16px;
  width: calc(100% - 32px);
  background-color: var(--solza-color-border);
}

.m-predictive-search__search-for-button button:hover {
  background-color: var(--solza-driftwood-cream-light);
  color: var(--solza-indigo-blue);
}

.m-predictive-search__search-for-button svg {
  flex-shrink: 0;
}

/* --- mobiel: een kolom, thumbnail iets kleiner --- */

@media screen and (max-width: 639px) {
  .m-predictive-search__heading {
    margin-left: 16px;
    margin-right: 16px;
    padding-bottom: 8px;
    border-bottom-color: var(--solza-color-border);
  }

  .m-predictive-search__item--link-with-thumbnail {
    grid-template-columns: 48px 1fr;
  }

  .m-predictive-search__image {
    width: 48px;
    height: 48px;
  }
}

/* --- "Ook gevonden": advies en blog uit dezelfde zoekopdracht ------------
   Staat onder het productgrid en heeft bewust een andere kaartvorm dan een
   productkaart: dit is leesstof, geen artikel dat je in je mandje legt.
   ----------------------------------------------------------------------- */

.solza-zoek-lees {
  margin-top: 36px;
  padding-top: 26px;
  border-top: 1px solid var(--solza-color-border);
}

.solza-zoek-lees__label {
  margin-top: 0;
  margin-bottom: 2px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--solza-burgundy);
}

.solza-zoek-lees__kop {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 20px;
  line-height: 1.25;
  color: var(--solza-indigo-blue);
  margin-top: 0;
  margin-bottom: 16px;
}

.solza-zoek-lees__rij {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.solza-zoek-lees__kaart {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border: 1px solid var(--solza-color-border);
  border-radius: 5px;
  background: var(--solza-white);
  text-decoration: none;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 18px;
  padding-right: 18px;
  min-height: 96px;
}

.solza-zoek-lees__kaart:hover {
  border-color: var(--solza-indigo-blue);
}

.solza-zoek-lees__soort {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--solza-color-text-muted);
}

.solza-zoek-lees__kaart b {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--solza-indigo-blue);
}

.solza-zoek-lees__tekst {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--solza-color-text-muted);
}

@media (max-width: 900px) {
  .solza-zoek-lees__rij {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .solza-zoek-lees__rij {
    grid-template-columns: minmax(0, 1fr);
  }

  .solza-zoek-lees {
    margin-top: 28px;
    padding-top: 20px;
  }

  .solza-zoek-lees__kop {
    font-size: 18px;
  }
}

/* --- chips om op resultaatsoort te wisselen --- */

.solza-zoek-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.solza-zoek-chips__chip {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.4;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 999px;
  border: 1px solid var(--solza-color-border);
  background: var(--solza-white);
  color: var(--solza-indigo-blue);
  text-decoration: none;
}

.solza-zoek-chips__chip:hover {
  border-color: var(--solza-indigo-blue);
}

.solza-zoek-chips__chip.is-aan {
  background: var(--solza-indigo-blue);
  border-color: var(--solza-indigo-blue);
  color: var(--solza-white);
}
