/* cs_sections: functionele basis. De echte styling komt uit het thema.
   Variabelen: het thema zet --cs-* (bijv. --cs-panel: var(--llh-promo)); zonder thema-waarde vallen ze terug op Bootstrap (--bs-*). */
.cs-sec{margin:0 0 var(--cs-section-gap,48px)}
.cs-sec img{max-width:100%;height:auto}
.cs-sec__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.cs-sec__title{margin:0}
.cs-sec__more{display:inline-flex;align-items:center;gap:4px;font-weight:700;white-space:nowrap;background:none;border:0;padding:0;color:var(--cs-link,var(--bs-link-color,#0D6EFD))}
.cs-sec-stars{display:inline-flex;gap:1px;color:var(--cs-star,var(--bs-warning,#F5A623));line-height:1}
.cs-sec-stars__star--empty{opacity:.3}
.cs-sec-stars__star--half{background:linear-gradient(90deg,currentColor 50%,rgba(0,0,0,.18) 50%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cs-sec-hero__usps,.cs-sec-tiles__list,.cs-sec-featured__list,.cs-sec-logos__list,.cs-sec-shops__list,.cs-sec-guide__chips,.cs-sec-textimage__list,.cs-sec-imagestrip__list{list-style:none;margin:0;padding:0}
/* hero: beeld in de DOM eerst (mobiel boven de tekst), vanaf 992 rechts */
.cs-sec-hero{display:grid;grid-template-columns:minmax(0,1fr);background:var(--cs-hero-bg,var(--cs-panel,var(--bs-tertiary-bg,#F8F9FA)));border-radius:var(--cs-radius,var(--bs-border-radius,10px));overflow:hidden}
.cs-sec-hero__text{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:20px}
.cs-sec-hero__title,.cs-sec-hero__subtitle{margin:0}
.cs-sec-hero__picture{display:block;height:100%}
.cs-sec-hero__media{position:relative}
.cs-sec-hero__image{display:block;width:100%;height:100%;object-fit:cover}
.cs-sec-hero__usps{display:flex;flex-direction:column;gap:10px;font-weight:600}
.cs-sec-hero__usp{display:flex;align-items:center;gap:10px}
.cs-sec-hero__usp-icon{color:var(--bs-success,#198754);flex-shrink:0}
.cs-sec-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.cs-sec-hero__rating{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:var(--cs-radius,var(--bs-border-radius,10px))}
.cs-sec-hero__score{font-size:1.75rem}
.cs-sec-hero__rating-body{display:flex;flex-direction:column}
@media (min-width:992px){
  .cs-sec-hero--has-image{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
  .cs-sec-hero--has-image .cs-sec-hero__text{order:-1}
  .cs-sec-hero__text{padding:40px 44px}
}
/* tegels: cards (standaard) en round */
.cs-sec-tiles__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:768px){.cs-sec-tiles__list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1200px){.cs-sec-tiles__list{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}}
.cs-sec-tiles__link{display:flex;flex-direction:column;align-items:center;height:100%;width:100%;padding:0;color:inherit;text-align:center;text-decoration:none}
.cs-sec-tiles--cards .cs-sec-tiles__link{background:#fff;border:1px solid var(--cs-line,var(--bs-border-color,#DEE2E6));border-radius:var(--cs-radius,var(--bs-border-radius,10px));overflow:hidden}
.cs-sec-tiles__bar{display:block;align-self:stretch;height:4px;background:var(--cs-bar-1,var(--bs-primary,#0D6EFD))}
.cs-sec-tiles__bar--2{background:var(--cs-bar-2,var(--bs-info,#0DCAF0))}.cs-sec-tiles__bar--3{background:var(--cs-bar-3,var(--bs-purple,#6F42C1))}.cs-sec-tiles__bar--4{background:var(--cs-bar-4,var(--bs-success,#198754))}.cs-sec-tiles__bar--5{background:var(--cs-bar-5,var(--bs-orange,#FD7E14))}
.cs-sec-tiles--cards .cs-sec-tiles__media{display:block;width:100%;aspect-ratio:1/.7;padding:16px}
.cs-sec-tiles--cards .cs-sec-tiles__image{width:100%;height:100%;object-fit:contain}
.cs-sec-tiles--cards .cs-sec-tiles__name{display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px 14px;font-weight:700;line-height:1.25}
.cs-sec-tiles--round .cs-sec-tiles__list{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.cs-sec-tiles--round .cs-sec-tiles__item{flex:1 0 96px;scroll-snap-align:start}
.cs-sec-tiles--round .cs-sec-tiles__media{display:block;width:clamp(64px,18vw,100px);aspect-ratio:1/1;margin-bottom:8px;border-radius:50%;overflow:hidden}
.cs-sec-tiles--round .cs-sec-tiles__image{width:100%;height:100%;object-fit:cover}
.cs-sec-tiles--round .cs-sec-tiles__name{font-weight:700}
.cs-sec-tiles__subtitle{font-size:.875em;color:var(--cs-muted,var(--bs-secondary-color,#6C757D))}
.cs-sec-tiles__cta{margin-top:8px;font-weight:800;color:var(--cs-link,var(--bs-link-color,#0D6EFD))}
/* keuzehulp */
.cs-sec-guide{display:grid;gap:24px;align-items:center;padding:32px 24px;background:var(--cs-ink,var(--bs-body-color,#212529));color:#fff;border-radius:var(--cs-radius,var(--bs-border-radius,10px))}
@media (min-width:992px){.cs-sec-guide{grid-template-columns:minmax(0,1fr) auto;padding:40px 48px}}
.cs-sec-guide__label{display:flex;align-items:center;gap:8px;margin:0;font-weight:700;color:var(--cs-accent,var(--bs-primary,#0D6EFD))}
.cs-sec-guide__title{color:inherit;margin:12px 0}
.cs-sec-guide__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cs-sec-guide__chip{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 16px;background:#fff;color:var(--cs-ink,var(--bs-body-color,#212529));border:1px solid var(--cs-line,var(--bs-border-color,#DEE2E6));border-radius:var(--cs-radius,var(--bs-border-radius,10px));font-weight:700}
/* uitgelicht: cards (standaard) en promo */
.cs-sec-featured__list{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.cs-sec-featured__link{display:flex;height:100%;width:100%;padding:0;text-align:left;color:inherit;text-decoration:none;border:1px solid var(--cs-line,var(--bs-border-color,#DEE2E6));border-radius:var(--cs-radius,var(--bs-border-radius,10px));overflow:hidden}
.cs-sec-featured__body{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0}
.cs-sec-featured__title{font-weight:800;font-size:1.25rem;margin:0}
.cs-sec-featured__cta{display:inline-flex;align-items:center;gap:4px;font-weight:700}
.cs-sec-featured--cards .cs-sec-featured__link{flex-direction:column;background:#fff}
.cs-sec-featured--cards .cs-sec-featured__image{width:100%;height:220px;object-fit:cover}
.cs-sec-featured--cards .cs-sec-featured__body{padding:20px 22px 22px}
.cs-sec-featured--cards .cs-sec-featured__cta{margin-top:auto;color:var(--cs-link,var(--bs-link-color,#0D6EFD))}
@media (min-width:768px){.cs-sec-featured--cards .cs-sec-featured__list{grid-template-columns:repeat(3,minmax(0,1fr))}.cs-sec-featured--promo .cs-sec-featured__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cs-sec-featured--promo .cs-sec-featured__link{align-items:center;gap:16px;padding:14px;background:var(--cs-panel,var(--bs-tertiary-bg,#F8F9FA))}
.cs-sec-featured--promo .cs-sec-featured__item--2 .cs-sec-featured__link{background:var(--cs-panel-2,var(--cs-panel,var(--bs-tertiary-bg,#F8F9FA)))}
.cs-sec-featured--promo .cs-sec-featured__image{width:clamp(96px,22vw,130px);aspect-ratio:1/1;object-fit:cover;flex-shrink:0;border-radius:var(--cs-radius,var(--bs-border-radius,10px))}
.cs-sec-featured--promo .cs-sec-featured__body{align-items:flex-start}
.cs-sec-featured--promo .cs-sec-featured__text{color:var(--cs-muted,var(--bs-secondary-color,#6C757D))}
/* reviews */
.cs-sec-reviews__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media (min-width:992px){.cs-sec-reviews__grid{grid-template-columns:300px repeat(3,minmax(0,1fr))}}
.cs-sec-reviews__score{margin:0}
.cs-sec-reviews__value{font-size:2.5rem}
.cs-sec-reviews__quote{display:flex;flex-direction:column;gap:12px;margin:0;padding:22px;border:1px solid var(--cs-line,var(--bs-border-color,#DEE2E6));border-radius:var(--cs-radius,var(--bs-border-radius,10px))}
.cs-sec-reviews__quote-text{margin:0}.cs-sec-reviews__quote-text p{margin:0}
.cs-sec-reviews__author{color:var(--cs-muted,var(--bs-secondary-color,#6C757D))}
/* logo's */
.cs-sec-logos__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.cs-sec-logos__link{display:flex;align-items:center;justify-content:center;height:80px;padding:10px;border:1px solid var(--cs-line,var(--bs-border-color,#DEE2E6));border-radius:var(--cs-radius,var(--bs-border-radius,10px))}
.cs-sec-logos__image{max-height:100%;object-fit:contain}
/* winkelkaarten */
.cs-sec-shops__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.cs-sec-shops__card{display:flex;flex-direction:column;height:100%;border:1px solid var(--cs-line,var(--bs-border-color,#DEE2E6));border-radius:var(--cs-radius,var(--bs-border-radius,10px));overflow:hidden;color:inherit}
.cs-sec-shops__image{width:100%;height:170px;object-fit:cover}
.cs-sec-shops__body{display:flex;flex:1;flex-direction:column;gap:10px;padding:18px 20px 20px}
.cs-sec-shops__logo{height:24px;width:auto;align-self:flex-start}
.cs-sec-shops__cta{display:inline-flex;align-items:center;gap:4px;margin-top:auto;font-weight:700;color:var(--cs-link,var(--bs-link-color,#0D6EFD))}
/* tekst met beeld (beeld links staat ook in de DOM eerst) */
.cs-sec-textimage{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}
.cs-sec-textimage--panel{gap:0;align-items:stretch;background:var(--cs-panel,var(--bs-tertiary-bg,#F8F9FA));border-radius:var(--cs-radius,var(--bs-border-radius,10px));overflow:hidden}
.cs-sec-textimage--panel .cs-sec-textimage__body{padding:20px}
.cs-sec-textimage__body{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.cs-sec-textimage__title{margin:0 0 10px}
.cs-sec-textimage__image{display:block;width:100%;height:100%;object-fit:cover}
.cs-sec-textimage:not(.cs-sec-textimage--panel) .cs-sec-textimage__image{border-radius:var(--cs-radius,var(--bs-border-radius,10px))}
.cs-sec-textimage__actions{display:flex;flex-wrap:wrap;gap:12px}
.cs-sec-textimage__list{display:flex;flex-direction:column;gap:14px}
.cs-sec-textimage__list-item{display:flex;gap:12px;align-items:flex-start}
.cs-sec-textimage__list-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#fff;color:var(--cs-link,var(--bs-link-color,#0D6EFD))}
.cs-sec-textimage__list-title{display:block}
@media (min-width:992px){
  .cs-sec-textimage{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .cs-sec-textimage--has-list{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
  .cs-sec-textimage--has-list .cs-sec-textimage__body{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
  .cs-sec-textimage--panel{gap:0}
  .cs-sec-textimage--panel .cs-sec-textimage__body{padding:26px}
}
/* beeldstrip */
.cs-sec-imagestrip{text-align:center}
.cs-sec-imagestrip__title{display:inline-flex;align-items:center;gap:8px;margin:0}
.cs-sec-imagestrip__icon{flex-shrink:0}
.cs-sec-imagestrip__subtitle{margin:0 0 12px;color:var(--cs-muted,var(--bs-secondary-color,#6C757D))}
.cs-sec-imagestrip__wide{display:block}
.cs-sec-imagestrip__wide .cs-sec-imagestrip__image{width:100%;border-radius:var(--cs-radius,var(--bs-border-radius,10px))}
.cs-sec-imagestrip__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (min-width:768px){.cs-sec-imagestrip__list{grid-template-columns:repeat(8,minmax(0,1fr))}}
.cs-sec-imagestrip__list .cs-sec-imagestrip__image{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--cs-radius,var(--bs-border-radius,10px))}
.cs-sec-imagestrip__actions{margin:12px 0 0}
/* tekst (SEO), inklappen zonder JS */
.cs-sec-text{max-width:760px;margin-left:auto;margin-right:auto;text-align:center;color:var(--cs-muted,var(--bs-secondary-color,#6C757D))}
.cs-sec-text__title{color:var(--cs-ink,var(--bs-heading-color,inherit))}
.cs-sec-text__toggle{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;font-weight:800;color:var(--cs-link,var(--bs-link-color,#0D6EFD));list-style:none}
.cs-sec-text__toggle::-webkit-details-marker{display:none}
.cs-sec-text__toggle-less,.cs-sec-text__details[open] .cs-sec-text__toggle-more{display:none}
.cs-sec-text__details[open] .cs-sec-text__toggle-less{display:inline}
