/* Bosstad – homeronde 19-10-2026 (bosstad-homeronde.php). Minder zwart, keuzehulp in een venster, reviewstrook. */

/* ================================================================== home: USP-strook en hero-score weg */
html body.bs-hr.home .elementor-element-usp-strip,
html body.bs-hr.home .elementor-element-hero-score { display: none !important; }
html body.bs-hr.home .elementor-element-khblok,
html body.bs-hr.home .elementor-element-khblok > .e-con-inner { padding: 0 !important; gap: 0 !important; background: none !important; }
html body.bs-hr.home .elementor-element-khblok .elementor-widget,
html body.bs-hr.home .elementor-element-khblok .elementor-widget > .elementor-widget-container { width: 100%; margin: 0 !important; padding: 0 !important; }

/* ================================================================== Google-reviewstrook */
.bs-hr-rv { background: var(--bs-surface, #fff); border-bottom: 1px solid var(--bs-border, #E3E4E2); }
.bs-hr-rv__in { max-width: 1440px; margin: 0 auto; padding: 16px max(24px, calc((100vw - 1440px) / 2)); display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 14px; color: var(--bs-ink, #1C2022); text-decoration: none; font-family: var(--bs-font-body, Barlow, sans-serif); }
.bs-hr-rv__g { width: 24px; height: 24px; flex: none; }
.bs-hr-rv__score { font-size: 22px; font-weight: 700; line-height: 1; letter-spacing: -.01em; }
.bs-hr-rv__sterren { font-size: 18px; line-height: 1; letter-spacing: 2px; color: #F5B301; }
.bs-hr-rv__tekst { font-size: 15.5px; color: var(--bs-text, #4A5356); }
.bs-hr-rv__tekst strong { color: var(--bs-ink, #1C2022); font-weight: 600; }
.bs-hr-rv__link { display: inline-flex; align-items: center; gap: 6px; margin-left: 8px; padding-left: 22px; border-left: 1px solid var(--bs-border, #E3E4E2); font-size: 14.5px; font-weight: 600; color: var(--bs-teal, #2E9E92); }
.bs-hr-rv__link svg { width: 14px; height: 14px; transition: transform .2s ease; }
.bs-hr-rv__in:hover .bs-hr-rv__link svg { transform: translateX(3px); }
@media (max-width: 767px) {
	.bs-hr-rv__in { padding: 13px 16px; gap: 4px 10px; }
	.bs-hr-rv__g { width: 20px; height: 20px; }
	.bs-hr-rv__score { font-size: 19px; }
	.bs-hr-rv__sterren { font-size: 15px; letter-spacing: 1px; }
	.bs-hr-rv__tekst { font-size: 14px; }
	.bs-hr-rv__link { display: none; }
}

/* ================================================================== keuzehulp: compacte band met startknop */
.bs-hr-kb { background: var(--bs-surface-soft, #F6F5F2); padding: 36px max(48px, calc((100vw - 1440px) / 2)); font-family: var(--bs-font-body, Barlow, sans-serif); }
.bs-hr-kb__in { max-width: 1440px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px clamp(28px, 4vw, 64px); }
.bs-hr-kb__tekst { flex: 1 1 auto; min-width: 0; max-width: 620px; }
.bs-hr-kb__eyebrow { margin: 0 0 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--bs-teal, #2E9E92); }
.bs-hr-kb h2.bs-hr-kb__h2 { margin: 0 0 8px; font-family: var(--bs-font-display, Newsreader, serif); font-weight: 300; font-size: clamp(28px, 2.4vw, 36px); line-height: 1.1; color: var(--bs-ink, #1C2022); }
.bs-hr-kb__meta { margin: 0; font-size: 15.5px; line-height: 1.5; color: var(--bs-text, #4A5356); }
.bs-hr-kb__actie { flex: 0 0 auto; display: flex; align-items: center; gap: 18px 32px; }
ul.bs-hr-kb__punten { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
ul.bs-hr-kb__punten li { display: flex; align-items: center; gap: 9px; margin: 0; list-style: none; font-size: 14.5px; font-weight: 500; color: var(--bs-ink, #1C2022); }
ul.bs-hr-kb__punten svg { flex: none; width: 18px; height: 18px; padding: 3px; border-radius: 50%; background: rgba(46, 158, 146, .12); color: var(--bs-teal, #2E9E92); }
a.bs-hr-kb__start { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 30px; border-radius: 3px; background: var(--bs-teal, #2E9E92); color: #fff; font-size: 15px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; white-space: nowrap; box-shadow: 0 12px 26px -16px rgba(46, 158, 146, .8); transition: background .2s ease, transform .2s ease; }
a.bs-hr-kb__start:hover, a.bs-hr-kb__start:focus-visible { background: #25867B; color: #fff; transform: translateY(-1px); }
a.bs-hr-kb__start svg { width: 17px; height: 17px; transition: transform .2s ease; }
a.bs-hr-kb__start:hover svg { transform: translateX(3px); }
@media (max-width: 1024px) {
	.bs-hr-kb { padding: 30px 24px; }
	.bs-hr-kb__in { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
	.bs-hr-kb { padding: 24px 16px 26px; }
	.bs-hr-kb__in { gap: 16px; }
	.bs-hr-kb h2.bs-hr-kb__h2 { font-size: 27px; }
	.bs-hr-kb__meta { font-size: 14.5px; }
	.bs-hr-kb__actie { width: 100%; flex-direction: column; align-items: stretch; gap: 14px; }
	ul.bs-hr-kb__punten { display: flex; flex-wrap: wrap; gap: 6px 14px; }
	ul.bs-hr-kb__punten li { font-size: 13.5px; }
	a.bs-hr-kb__start { width: 100%; min-height: 52px; }
}

/* ================================================================== keuzehulp-venster */
html.bs-khv-open { overflow: hidden; }
dialog.bs-khv { box-sizing: border-box; width: min(1120px, calc(100vw - 48px)); max-width: none; height: auto; max-height: calc(100dvh - 48px); margin: auto; padding: 0; border: 0; background: transparent; overflow: visible; color: inherit; }
dialog.bs-khv::backdrop { background: rgba(14, 18, 20, .55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
dialog.bs-khv[open] { animation: bs-khv-in .22s ease-out; }
@keyframes bs-khv-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.bs-khv__paneel { display: flex; flex-direction: column; max-height: calc(100dvh - 48px); background: var(--bs-surface-soft, #F6F5F2); border-radius: 10px; overflow: hidden; box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .55); }
.bs-khv__kop { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px 14px clamp(18px, 3vw, 32px); background: var(--bs-surface, #fff); border-bottom: 1px solid var(--bs-border, #E3E4E2); }
.bs-khv__eyebrow { margin: 0 0 2px; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--bs-teal, #2E9E92); }
.bs-khv__titel { margin: 0; font-family: var(--bs-font-display, Newsreader, serif); font-size: 22px; font-weight: 400; line-height: 1.15; color: var(--bs-ink, #1C2022); }
dialog.bs-khv button.bs-khv__sluit { min-width: 0; min-height: 0; box-shadow: none !important; background: #fff !important; color: var(--bs-ink, #1C2022) !important; border: 1px solid var(--bs-border, #E3E4E2) !important; border-radius: 50% !important; }
dialog.bs-khv button.bs-khv__sluit:hover { background: var(--bs-surface-soft, #F6F5F2) !important; border-color: #C9CDCB !important; }
.bs-khv__sluit { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--bs-border, #E3E4E2); border-radius: 50%; background: #fff; color: var(--bs-ink, #1C2022); cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.bs-khv__sluit:hover { background: var(--bs-surface-soft, #F6F5F2); border-color: #C9CDCB; }
dialog.bs-khv button.bs-khv__sluit { padding: 0 !important; width: 44px; height: 44px; }
dialog.bs-khv .bs-khv__sluit svg { flex: none; display: block; width: 18px !important; min-width: 18px; height: 18px; }
.bs-khv__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.bs-khv .bs-kh { background: transparent; }
.bs-khv .bs-kh__sec { padding: clamp(16px, 2.4vw, 28px) 0 clamp(24px, 3vw, 40px); }
.bs-khv .bs-kh__wrap { max-width: none; padding: 0 clamp(14px, 2.6vw, 32px); }
.bs-khv .bs-kh__kaart { margin-top: 0; box-shadow: none; }
.bs-khv .bs-kh__resultaat { padding-top: 4px; scroll-margin-top: 0; }
@media (max-width: 767px) {
	dialog.bs-khv { width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; }
	.bs-khv__paneel { height: 100%; max-height: 100dvh; border-radius: 0; }
	.bs-khv__kop { padding: 10px 10px 10px 16px; }
	.bs-khv__titel { font-size: 19px; }
	.bs-khv .bs-kh__kaart { padding-left: 14px; padding-right: 14px; }
}

/* ================================================================== keuzehulp-kaart tussen de fietsen */
.bt-card.bs-hr-khk { display: flex; padding: 0; overflow: hidden; background: var(--bs-surface, #fff); border: 1px solid rgba(46, 158, 146, .45); }
.bs-hr-khk__in { display: flex; flex-direction: column; width: 100%; color: var(--bs-ink, #1C2022); text-decoration: none; }
.bs-hr-khk__foto { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bs-surface-soft, #F6F5F2); }
.bs-hr-khk__foto img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .5s ease; }
.bs-hr-khk__in:hover .bs-hr-khk__foto img { transform: scale(1.04); }
.bs-hr-khk__chip { position: absolute; left: 12px; top: 12px; padding: 5px 10px; border-radius: 99px; background: rgba(255, 255, 255, .94); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-teal, #2E9E92); }
.bs-hr-khk__body { display: flex; flex-direction: column; flex: 1 1 auto; gap: 10px; padding: 18px 18px 20px; }
.bs-hr-khk__kop { font-family: var(--bs-font-display, Newsreader, serif); font-size: 23px; font-weight: 400; line-height: 1.15; color: var(--bs-ink, #1C2022); }
.bs-hr-khk__tekst { font-size: 14.5px; line-height: 1.5; color: var(--bs-text, #4A5356); }
.bs-hr-khk__punten { display: flex; flex-wrap: wrap; gap: 6px; }
.bs-hr-khk__punten span { padding: 4px 9px; border-radius: 99px; background: var(--bs-surface-soft, #F6F5F2); font-size: 12.5px; font-weight: 600; color: var(--bs-ink-2, #2C3235); }
.bs-hr-khk__knop { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: auto; min-height: 46px; padding: 0 16px; border-radius: 3px; background: var(--bs-teal, #2E9E92); color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; transition: background .2s ease; }
.bs-hr-khk__knop svg { width: 15px; height: 15px; }
.bs-hr-khk__in:hover .bs-hr-khk__knop { background: var(--bs-teal-deep, #25867B); }
@media (max-width: 767px) {
	.bs-hr-khk__body { padding: 12px 12px 14px; gap: 8px; }
	.bs-hr-khk__kop { font-size: 18px; }
	.bs-hr-khk__tekst { font-size: 13px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.bs-hr-khk__punten { display: none; }
	.bs-hr-khk__knop { min-height: 40px; font-size: 12px; padding: 0 8px; }
	.bs-hr-khk__chip { left: 8px; top: 8px; font-size: 9.5px; padding: 4px 8px; }
}

/* ================================================================== videoslider: licht, overal */
html body.bs-hr .e-con.e-parent:has(.bs-r3) { background-color: var(--bs-surface, #fff) !important; background-image: none !important; }
html body.bs-hr .e-con.e-parent:has(.bs-r3)::before, html body.bs-hr .e-con.e-parent:has(.bs-r3)::after { display: none !important; }
html body.bs-hr .e-con.e-parent:has(.bs-r3) :is(h1, h2, h3, h4, .elementor-heading-title):not(.bs-r3 *) { color: var(--bs-ink, #1C2022) !important; }
html body.bs-hr .e-con.e-parent:has(.bs-r3) :is(p, li, .elementor-widget-text-editor):not(.bs-r3 *):not([class*="eyebrow"]) { color: var(--bs-text, #4A5356) !important; }
html body.bs-hr .bs-r3__hint { display: none !important; }

/* ================================================================== proefritstrook boven de footer: licht grijs, overal */
html body.bs-hr .bs-prs--dark.bs-px { background: var(--bs-surface-soft, #F6F5F2) !important; background-image: none !important; border-top: 1px solid var(--bs-border, #E3E4E2); }
html body.bs-hr .bs-px .bs-px__beeld::after { display: none; }
html body.bs-hr .bs-prs--dark .bs-prs__eyebrow { color: var(--bs-teal, #2E9E92); }
html body.bs-hr .bs-prs--dark h2.bs-prs__kop { color: var(--bs-ink, #1C2022); }
html body.bs-hr.bs-cx .bs-px .bs-prs__sub { color: var(--bs-text, #4A5356); }
html body.bs-hr .bs-px ul.bs-px__punten li { color: var(--bs-ink, #1C2022); }
html body.bs-hr .bs-px ul.bs-px__punten svg { background: rgba(46, 158, 146, .12); color: var(--bs-teal, #2E9E92); }
html body.bs-hr .bs-prs--dark .bs-prs__lbl { color: var(--bs-ink-2, #2C3235); }
html body.bs-hr .bs-prs--dark .bs-prs__or { color: var(--bs-muted, #697478); }
html body.bs-hr .bs-prs--dark .bs-prs__or::before, html body.bs-hr .bs-prs--dark .bs-prs__or::after { background: var(--bs-border, #E3E4E2); }
html body.bs-hr .bs-prs--dark .bs-pr__select, html body.bs-hr .bs-prs--dark .bs-zw__form input { border: 1px solid #D5D8D6 !important; background-color: #fff; color: var(--bs-ink, #1C2022); }
html body.bs-hr .bs-prs--dark .bs-zw--strip .bs-zw__btn { color: var(--bs-ink, #1C2022) !important; border-color: #C9CDCB !important; background: #fff !important; }
html body.bs-hr .bs-prs--dark .bs-zw--strip .bs-zw__btn:hover { background: var(--bs-ink, #1C2022) !important; border-color: var(--bs-ink, #1C2022) !important; color: #fff !important; }
html body.bs-hr .bs-prs--dark .bs-zw--strip .bs-zw__found { color: var(--bs-ink-2, #2C3235); }
html body.bs-hr .bs-prs--dark .bs-prs__link { color: var(--bs-ink, #1C2022); }
html body.bs-hr .bs-prs--dark .bs-prs__hours { color: var(--bs-muted, #697478); }
html body.bs-hr .bs-prs--dark .bs-prs__hours svg, html body.bs-hr .bs-prs--dark .bs-prs__link--wp svg:first-child { color: var(--bs-teal, #2E9E92); }
html body.bs-hr .bs-prs--dark .bs-prs__extra { border-top-color: var(--bs-border, #E3E4E2); }
@media (min-width: 768px) {
	html body.bs-hr.bs-cx .bs-px .bs-prs__act.bs-prs__act--v2 { padding: 24px; background: var(--bs-surface, #fff); border: 1px solid var(--bs-border, #E3E4E2); border-radius: 6px; box-shadow: 0 18px 40px -28px rgba(28, 32, 34, .35); }
}

/* ================================================================== productpagina: grijs – wit (vergelijkbare fietsen) – grijs */
html body.bs-hr main.bt-single { background: var(--bs-surface-soft, #F6F5F2) !important; background-image: none !important; }
html body.bs-hr main.bt-single .bt-related { position: relative; margin-top: clamp(40px, 5vw, 64px); background: var(--bs-surface, #fff); box-shadow: 0 0 0 100vmax var(--bs-surface, #fff); clip-path: inset(0 -100vmax); }
html body.bs-hr main.bt-single .bt-gallery img { background: #fff; }

/* productpagina: proefrit-blok en accu-vak zonder turquoise gloed */
html body.bs-hr main.bt-single .bt-cta { background: var(--bs-surface, #fff) !important; background-image: none !important; border: 1px solid var(--bs-border, #E3E4E2) !important; box-shadow: 0 14px 34px -26px rgba(28, 32, 34, .35); }
html body.bs-hr main.bt-single .bt-cta::before { color: var(--bs-teal, #2E9E92) !important; }
html body.bs-hr main.bt-single .bt-cta .bt-cta__note { color: var(--bs-muted, #697478) !important; }
html body.bs-hr main.bt-single .bt-battery { background: var(--bs-surface, #fff) !important; border: 1px solid var(--bs-border, #E3E4E2) !important; border-left: 4px solid var(--bs-teal, #2E9E92) !important; }

/* ================================================================== minder zwart (19-10, ronde 3)
   Paginakoppen: zwart met de turquoise gloed van de collectiekoppen (round11-aurora), overal gelijk (.bs-hr-kop uit PHP). Donkere blokken halverwege of onderaan
   (.bs-hr-licht + eigen modules) worden licht; wit of grijs komt uit bosstad_hr_om_en_om() (.bs-hr-alt--wit/grijs).
   Koppen met een foto (home, vestigingen, landingspagina) blijven zoals ze zijn. */
html body.bs-hr :is(.bs-hr-kop, .bs-kh__kop, .bs-dp__sec--aanvraag, .bs-archero) {
	background-color: #0E1214 !important; background-repeat: no-repeat !important; background-size: cover !important;
	background-image: var(--bs-aurora-glow, radial-gradient(120% 90% at 18% 0%, rgba(46, 158, 146, .34) 0%, rgba(46, 158, 146, 0) 60%)), var(--bs-aurora-base, linear-gradient(180deg, #1C2022 0%, #0E1214 100%)) !important;
}
html body.bs-hr :is(.bs-hr-kop, .bs-kh__kop, .bs-dp__sec--aanvraag, .bs-archero)::before,
html body.bs-hr :is(.bs-hr-kop, .bs-kh__kop, .bs-dp__sec--aanvraag, .bs-archero)::after { background: none !important; box-shadow: none !important; }

html body.bs-hr :is(.bs-hr-licht, .bs-dp__sec--donker:not(.bs-lp__hero):not(.bs-dp__sec--aanvraag), .bs-vh__reserveren, .bs-prs--dark.bs-wkl) {
	background-color: transparent !important; background-image: none !important; color: var(--bs-text, #4A5356);
}
html body.bs-hr :is(.bs-hr-licht, .bs-dp__sec--donker:not(.bs-lp__hero):not(.bs-dp__sec--aanvraag), .bs-vh__reserveren, .bs-prs--dark.bs-wkl)::before,
html body.bs-hr :is(.bs-hr-licht, .bs-dp__sec--donker:not(.bs-lp__hero):not(.bs-dp__sec--aanvraag), .bs-vh__reserveren, .bs-prs--dark.bs-wkl)::after { background: none !important; box-shadow: none !important; }

/* om en om: wint van alle achtergronden hierboven en van Elementor */
html body.bs-hr .bs-hr-alt.bs-hr-alt.bs-hr-alt--wit { background-color: var(--bs-surface, #fff) !important; background-image: none !important; border-top: 0 !important; }
html body.bs-hr .bs-hr-alt.bs-hr-alt.bs-hr-alt--grijs { background-color: var(--bs-surface-soft, #F6F5F2) !important; background-image: none !important; border-top: 0 !important; }
html body.bs-hr .bs-hr-alt.bs-hr-alt.bs-hr-alt--leeg { background-color: transparent !important; background-image: none !important; }
html body.bs-hr .bs-hr-alt--grijs.bs-hr-alt--grijs > .e-con-inner { background: transparent !important; }

/* tekst: koppen donker, labels teal, lopende tekst grijs; knoppen en tekst op foto's blijven zoals ze zijn */
html body.bs-hr :is(.bs-hr-licht, .bs-dp__sec--donker:not(.bs-lp__hero):not(.bs-dp__sec--aanvraag), .bs-vh__reserveren, .bs-prs--dark.bs-wkl)
	:is(p, li, dt, span, em, small, label, .elementor-widget-text-editor, .elementor-widget-text-editor *):not(:is([class*="btn"], [class*="knop"], .elementor-button, [class*="badge"], .bs-yt__play, [class*="stars"], [class*="sterren"]), :is([class*="btn"], [class*="knop"], .elementor-button, [class*="badge"], .bs-yt__play) *) {
	color: var(--bs-text, #4A5356) !important;
}
html body.bs-hr :is(.bs-hr-licht, .bs-dp__sec--donker:not(.bs-lp__hero):not(.bs-dp__sec--aanvraag), .bs-vh__reserveren, .bs-prs--dark.bs-wkl)
	:is(h1, h2, h3, h4, h5, h6, strong, b, dd, summary, .bs-zw__kop, .bs-lp__vraagtekst):not(:is([class*="btn"], [class*="knop"], .elementor-button, .bs-yt__play) *) {
	color: var(--bs-ink, #1C2022) !important;
}
html body.bs-hr :is(.bs-hr-licht, .bs-dp__sec--donker:not(.bs-lp__hero):not(.bs-dp__sec--aanvraag), .bs-vh__reserveren, .bs-prs--dark.bs-wkl)
	:is(div.elementor-heading-title, p.elementor-heading-title, span.elementor-heading-title, [class*="eyebrow"], [class*="__label"], [class*="vraag-kop"]):not(:is([class*="btn"], [class*="knop"], .elementor-button, .bs-yt__play) *) {
	color: var(--bs-teal, #2E9E92) !important;
}
html body.bs-hr :is(.bs-hr-licht, .bs-dp__sec--donker:not(.bs-lp__hero):not(.bs-dp__sec--aanvraag), .bs-vh__reserveren, .bs-prs--dark.bs-wkl)
	a:not(:is(.elementor-button, [class*="btn"], [class*="knop"], .bs-cxb__in, .bs-yt__play, .bs-yt__play)):not(:is([class*="btn"], [class*="knop"], .elementor-button) *) {
	color: var(--bs-teal, #2E9E92) !important;
}

/* knoppen: teal blijft; omlijnde knoppen (rand zit op het widget-blok) worden donker omlijnd */
html body.bs-hr .bs-hr-licht .elementor-widget-button:not(.bs-btn-primary):not([data-id$="-cta1"]) { border-color: rgba(28, 32, 34, .32) !important; background: transparent !important; transition: background .2s ease, border-color .2s ease; }
html body.bs-hr .bs-hr-licht .elementor-widget-button:not(.bs-btn-primary):not([data-id$="-cta1"]) .elementor-button { background: transparent !important; color: var(--bs-ink, #1C2022) !important; box-shadow: none !important; }
html body.bs-hr .bs-hr-licht .elementor-widget-button:not(.bs-btn-primary):not([data-id$="-cta1"]) .elementor-button * { color: inherit !important; fill: currentColor; }
html body.bs-hr .bs-hr-licht .elementor-widget-button:not(.bs-btn-primary):not([data-id$="-cta1"]):hover { background: var(--bs-ink, #1C2022) !important; border-color: var(--bs-ink, #1C2022) !important; }
html body.bs-hr .bs-hr-licht .elementor-widget-button:not(.bs-btn-primary):not([data-id$="-cta1"]):hover .elementor-button { color: #fff !important; }
html body.bs-hr :is(.bs-hr-licht, .bs-dp__sec--donker:not(.bs-lp__hero):not(.bs-dp__sec--aanvraag), .bs-vh__reserveren, .bs-prs--dark.bs-wkl) .bs-dp__knop--opdonker,
html body.bs-hr .bs-prs--dark.bs-wkl .bs-btn--ghost { background: transparent !important; color: var(--bs-ink, #1C2022) !important; border: 1px solid rgba(28, 32, 34, .32) !important; box-shadow: none !important; }
html body.bs-hr .bs-prs--dark.bs-wkl .bs-btn--ghost * { color: inherit !important; }
html body.bs-hr :is(.bs-hr-licht, .bs-dp__sec--donker:not(.bs-lp__hero):not(.bs-dp__sec--aanvraag), .bs-vh__reserveren, .bs-prs--dark.bs-wkl) .bs-dp__knop--opdonker:hover,
html body.bs-hr .bs-prs--dark.bs-wkl .bs-btn--ghost:hover { background: var(--bs-ink, #1C2022) !important; color: #fff !important; border-color: var(--bs-ink, #1C2022) !important; }

/* kaartjes die doorschijnend wit op zwart waren: nu witte kaarten */
html body.bs-hr :is(.bs-hr-licht, .bs-dp__sec--donker:not(.bs-lp__hero):not(.bs-dp__sec--aanvraag), .bs-vh__reserveren, .bs-prs--dark.bs-wkl) :is(.bs-uren__card, .bs-cxb__in, .bs-dp__kiezer, .bs-dp__vgl, .bs-vh__bellen, .bs-dp__bellen, .bs-cx-score, [class*="__card"], [class*="-card"]):not(.bs-yt__play) {
	background: var(--bs-surface, #fff) !important; border-color: var(--bs-border, #E3E4E2) !important; box-shadow: 0 14px 34px -28px rgba(28, 32, 34, .35);
}
html body.bs-hr :is(.bs-hr-licht, .bs-dp__sec--donker:not(.bs-lp__hero):not(.bs-dp__sec--aanvraag), .bs-vh__reserveren, .bs-prs--dark.bs-wkl) .bs-dp__vgl--hier { background: rgba(46, 158, 146, .06) !important; border-color: rgba(46, 158, 146, .45) !important; }
html body.bs-hr .bs-hr-licht .bs-cxb__ico { color: var(--bs-teal, #2E9E92); }
/* openingstijden in de werkplaatsstrook van een vestiging */
html body.bs-hr :is(.bs-hr-licht, .bs-prs--dark.bs-wkl) :is(.bs-uren__closed, .bs-uren__note, .bs-vuren__sub) { color: var(--bs-muted, #697478) !important; }
html body.bs-hr :is(.bs-hr-licht, .bs-prs--dark.bs-wkl) .bs-uren__row.is-today { background: rgba(46, 158, 146, .07) !important; }
html body.bs-hr :is(.bs-hr-licht, .bs-prs--dark.bs-wkl) :is(.bs-uren__row, .bs-uren li, dl > div, .bs-vuren__voet) { border-color: var(--bs-border, #E3E4E2) !important; }
/* video-sectie merkpagina: label en knop op de videofoto blijven wit */
html body.bs-hr .bs-hr-licht :is(.bs-yt__play, .bs-yt__label) { color: #fff !important; }
html body.bs-hr .bs-hr-licht .bs-yt__ext { color: var(--bs-teal, #2E9E92) !important; }

/* videoslider binnen een om-en-om-blok: neemt de kleur van het blok over (geen witte doos in grijs) */
html body.bs-hr .bs-hr-alt .e-con.e-parent:has(.bs-r3), html body.bs-hr .bs-hr-alt.bs-hr-alt .e-con.e-parent:has(.bs-r3) { background-color: transparent !important; }
html body.bs-hr .bs-hr-alt--grijs .bs-r3__ring::before { background: linear-gradient(90deg, #F6F5F2, rgba(246, 245, 242, 0)) !important; }
html body.bs-hr .bs-hr-alt--grijs .bs-r3__ring::after { background: linear-gradient(270deg, #F6F5F2, rgba(246, 245, 242, 0)) !important; }

/* "Alle fietsen" (/fietsen/, archiefkop .bs-archero): foto niet meer zwaar bijgesneden, en op mobiel weer zichtbaar */
html body.bs-hr.bs-cx .bs-archero { padding: 56px 0; }
html body.bs-hr.bs-cx .bs-archero__img { height: auto; aspect-ratio: 16 / 10; max-height: 380px; object-position: 50% 40%; }
@media (max-width: 1024px) { html body.bs-hr.bs-cx .bs-archero { padding: 44px 0; } }
@media (max-width: 767px) {
	html body.bs-hr.bs-cx .bs-archero { padding: 22px 0 24px; }
	html body.bs-hr.bs-cx .bs-archero__inner { gap: 16px; }
	html body.bs-hr.bs-cx .bs-archero__media { display: block !important; }
	html body.bs-hr.bs-cx .bs-archero__img { aspect-ratio: 16 / 9; max-height: 220px; }
}

/* ================================================================== knoppen: witte tekst op turquoise (19-10, ronde 5)
   Ook voor bezochte links: het thema kleurt "body a:visited" turquoise, waardoor de tekst van een turquoise knop
   na een bezoek aan die pagina wegviel en pas bij hover terugkwam. Omlijnde knoppen op lichte vlakken blijven donker. */
html body.bs-hr { --bs-btn-ink: #fff; }
html body.bs-hr :is(.elementor-widget:is(.bs-btn-primary, [data-id^="cat-"][data-id$="-hero-cta1"]) .elementor-button, .bs-btn--teal, .bt-btn--primary, .bs-cxb__knop, .bs-dp__knop:not(.bs-dp__knop--opdonker):not(.bs-dp__knop--licht), .bs-gf__btn, .bt-vest-btn--teal, .bs-kh__knop:not(.bs-kh__knop--lijn):not([disabled]), .bs-kx__knop, .bs-hr-kb__start, .bs-hr-khk__knop, .bs-r3__play, .search-submit, .bt-tag--ebike:not(.bt-card *), .bs-cx-prs__knop),
html body.bs-hr :is(.elementor-widget:is(.bs-btn-primary, [data-id^="cat-"][data-id$="-hero-cta1"]) .elementor-button, .bs-btn--teal, .bt-btn--primary, .bs-dp__knop:not(.bs-dp__knop--opdonker):not(.bs-dp__knop--licht), .bt-vest-btn--teal, .bs-kx__knop, .bs-hr-kb__start, .bs-cx-prs__knop):is(:link, :visited, :hover, :focus, :focus-visible, :active) {
	color: #fff !important;
}
html body.bs-hr :is(.elementor-widget:is(.bs-btn-primary, [data-id^="cat-"][data-id$="-hero-cta1"]) .elementor-button, .bs-btn--teal, .bt-btn--primary, .bs-cxb__knop, .bs-dp__knop:not(.bs-dp__knop--opdonker):not(.bs-dp__knop--licht), .bs-gf__btn, .bt-vest-btn--teal, .bs-kh__knop:not(.bs-kh__knop--lijn):not([disabled]), .bs-kx__knop, .bs-hr-kb__start, .bs-hr-khk__knop, .bs-cx-prs__knop) :is(span, svg, i) { color: inherit !important; }
/* hover: iets donkerder turquoise i.p.v. lichter, zodat de witte tekst leesbaar blijft */
html body.bs-hr :is(.bs-btn--teal, .bt-btn--primary, .bs-dp__knop:not(.bs-dp__knop--opdonker):not(.bs-dp__knop--licht), .bs-gf__btn, .bt-vest-btn--teal, .bs-kh__knop:not(.bs-kh__knop--lijn):not([disabled]), .bs-kx__knop, .bs-cx-prs__knop):is(:hover, :focus-visible),
html body.bs-hr .bs-cxb__in:hover .bs-cxb__knop { background: var(--bs-knop-hover, #25867B) !important; }

/* ================================================================== icoontjes en tekst op turquoise: wit (19-10, ronde 6) */
/* Elementor tekent knop-icoontjes met een vaste vulkleur (zwart): in turquoise knoppen wit maken */
html body.bs-hr .elementor-widget:is(.bs-btn-primary, [data-id^="cat-"][data-id$="-hero-cta1"]) .elementor-button-icon :is(svg, svg *),
html body.bs-hr .elementor-widget:is(.bs-btn-primary, [data-id^="cat-"][data-id$="-hero-cta1"]) .elementor-button-icon i { fill: #fff !important; color: #fff !important; }
/* turquoise badges ("10 jaar" op home, "7" op Over ons) */
html body.bs-hr .elementor-element:is(.elementor-element-over-badge, .elementor-element-hero-badge) :is(.elementor-heading-title, .elementor-heading-title *, p, span) { color: #fff !important; }
/* videoslider: play-driehoek wit, hover iets donkerder turquoise */
html body.bs-hr .bs-r3__play::before { border-left-color: #fff !important; }
html body.bs-hr .bs-r3__card:not(.is-playing) .bs-r3__play:hover { background: var(--bs-knop-hover, #25867B) !important; }

/* ================================================================== ronde 7 (19-10): videoslider-bediening + één knopkleur */
/* pijltjes: altijd gevuld turquoise met wit pijltje (zoals voorheen alleen bij hover) */
html body.bs-hr .bs-r3 button.bs-r3__arrow { background: var(--bs-knop, #2E9E92) !important; border-color: var(--bs-knop, #2E9E92) !important; color: #fff !important; }
html body.bs-hr .bs-r3 button.bs-r3__arrow svg, html body.bs-hr .bs-r3 button.bs-r3__arrow svg * { fill: #fff !important; }
html body.bs-hr .bs-r3 button.bs-r3__arrow:is(:hover, :focus-visible) { background: var(--bs-knop-hover, #25867B) !important; border-color: var(--bs-knop-hover, #25867B) !important; }
/* stippen: de huidige video weer als langer turquoise streepje (thema-regel won van .is-on) */
html body.bs-hr .bs-r3 .bs-r3__dots button.is-on { width: 26px !important; background: var(--bs-knop, #2E9E92) !important; }
/* keuzehulp-knoppen in dezelfde turquoise als alle andere knoppen */
html body.bs-hr :is(a.bs-hr-kb__start, .bs-hr-khk__knop) { background: var(--bs-knop, #2E9E92) !important; color: #fff !important; box-shadow: none !important; }
html body.bs-hr a.bs-hr-kb__start:is(:hover, :focus-visible), html body.bs-hr .bs-hr-khk__in:hover .bs-hr-khk__knop { background: var(--bs-knop-hover, #25867B) !important; }
/* "Filter fietsen": witte tekst en icoon, rand in dezelfde kleur */
html body.bs-hr .bs-filter__open.bs-btn, html body.bs-hr .bs-filter__open.bs-btn :is(span, svg) { color: #fff !important; }
html body.bs-hr .bs-filter__open.bs-btn { border-color: var(--bs-knop, #2E9E92) !important; }
html body.bs-hr .bs-filter__open.bs-btn:is(:hover, :focus-visible) { background: var(--bs-knop-hover, #25867B) !important; border-color: var(--bs-knop-hover, #25867B) !important; }

/* ================================================================== ronde 8 (19-10): één rustigere knopkleur voor ALLE knoppen
   Was het felle merkturquoise #33C7B7 (ook "Filter fietsen"). Nu iets donkerder en minder verzadigd; witte tekst leest
   daardoor ook beter. Accenten (labels, icoontjes, gloed) houden het merkturquoise; alleen knoppen veranderen. */
html body { --bs-knop: #2E9E92; --bs-knop-hover: #25867B; }
html body.bs-hr :is(
	.elementor-widget:is(.bs-btn-primary, [data-id^="cat-"][data-id$="-hero-cta1"]) .elementor-button,
	.bs-btn--teal, .bt-btn--primary, .bs-cxb__knop, .bs-dp__knop:not(.bs-dp__knop--opdonker):not(.bs-dp__knop--licht), .bs-gf__btn,
	.bt-vest-btn--teal, .bs-kh__knop:not(.bs-kh__knop--lijn):not([disabled]), .bs-kx__knop, a.bs-hr-kb__start, .bs-hr-khk__knop,
	.bs-r3__card:not(.is-playing) .bs-r3__play, .bs-r3 button.bs-r3__arrow, .search-submit, .bs-filter__open.bs-btn, .bs-cx-prs__knop,
	.bs-play, .bs-vh__knop, .bt-tag--ebike:not(.bt-card *), .bs-dp__nr
) { background-color: var(--bs-knop) !important; border-color: var(--bs-knop) !important; }
html body.bs-hr :is(
	.elementor-widget:is(.bs-btn-primary, [data-id^="cat-"][data-id$="-hero-cta1"]) .elementor-button,
	.bs-btn--teal, .bt-btn--primary, .bs-dp__knop:not(.bs-dp__knop--opdonker):not(.bs-dp__knop--licht), .bs-gf__btn, .bt-vest-btn--teal,
	.bs-kh__knop:not(.bs-kh__knop--lijn):not([disabled]), .bs-kx__knop, a.bs-hr-kb__start, .bs-r3__card:not(.is-playing) .bs-r3__play,
	.bs-r3 button.bs-r3__arrow, .search-submit, .bs-filter__open.bs-btn, .bs-cx-prs__knop, .bs-vh__knop
):is(:hover, :focus-visible),
html body.bs-hr .bs-cxb__in:hover .bs-cxb__knop, html body.bs-hr .bs-hr-khk__in:hover .bs-hr-khk__knop {
	background-color: var(--bs-knop-hover) !important; border-color: var(--bs-knop-hover) !important; background-image: none !important;
}
html body.bs-hr :is(.bs-vh__knop, .bs-play) { color: #fff !important; }

/* ================================================================== ronde 9 (19-10): overal dezelfde rustige turquoise
   Alle kleurvariabelen die het felle merkturquoise (#33C7B7 / #4FD8C8) gaven, wijzen nu naar --bs-knop (#2E9E92):
   designsysteem, Elementor-huisstijlkleuren (kit 6), Solace-thema, catalogus, formulieren, chat en de gloed in de koppen. */
html body.bs-hr, html body.bs-hr.elementor-kit-6 {
	--bs-turquoise: #2E9E92; --bs-turquoise-light: #2E9E92;
	--e-global-color-primary: #2E9E92; --e-global-color-bsteallight: #2E9E92;
	--sol-color-button-initial: #2E9E92; --sol-color-selection-high: #2E9E92;
	--e-global-color-solcolorbuttoninitial: #2E9E92; --e-global-color-solcolorselectionhigh: #2E9E92;
	--link-hover-color: #2E9E92;
	--bs-aurora-glow: radial-gradient(120% 90% at 18% 0%, rgba(46, 158, 146, .34) 0%, rgba(46, 158, 146, 0) 60%);
	--bs-aurora-glow-soft: radial-gradient(90% 70% at 85% 100%, rgba(46, 158, 146, .16) 0%, rgba(46, 158, 146, 0) 60%);
	--bs-accent-line: linear-gradient(90deg, #2E9E92 0%, #2E9E92 100%);
}
html body.bs-hr :is(.footer-top, .footer-main, .footer-bottom) { --link-hover-color: #2E9E92; }
html body.bs-hr chat-widget { --chat-widget-button-color: #2E9E92; --ion-color-primary: #2E9E92; }
html body.bs-hr .bt-cs-catalogue { --bt-teal-bright: #2E9E92; --bt-teal-light: #2E9E92; }
html body.bs-hr .bs-gf { --gf-turq: #2E9E92; --gf-turq-light: #2E9E92; }

/* vaste (niet-variabele) felle tinten, schaduwen en gloeden → rustige turquoise (gemeten op 11 pagina's, 19-10) */
html body.bs-hr .bs-vdlbar__btn { background-color: var(--bs-knop, #2E9E92) !important; color: #fff !important; }
html body.bs-hr .bs-vdlbar__btn:is(:hover, :focus-visible) { background-color: var(--bs-knop-hover, #25867B) !important; }
html body.bs-hr .elementor-item::after { background-color: #2E9E92 !important; }
html body.bs-hr .elementor-icon { box-shadow: rgba(46, 158, 146, 0.5) 0px 0px 0px 1px inset !important; }
html body.bs-hr .bs-hl__check { background-color: rgba(46, 158, 146, 0.22) !important; }
html body.bs-hr .bs-vrev__avatar { background-color: rgba(46, 158, 146, 0.16) !important; }
html body.bs-hr .bs-r3__play { box-shadow: rgba(46, 158, 146, 0.35) 0px 10px 30px 0px !important; }
html body.bs-hr .bs-uren__today { background-color: rgba(46, 158, 146, 0.18) !important; }
html body.bs-hr .bs-btn.bs-btn--ghost-ink:not(.bs-zw__btn) { background-color: var(--bs-knop, #2E9E92) !important; border-color: var(--bs-knop, #2E9E92) !important; color: #fff !important; }
html body.bs-hr .bs-btn.bs-btn--ghost-ink:not(.bs-zw__btn):is(:hover, :focus-visible) { background-color: var(--bs-knop-hover, #25867B) !important; }
html body.bs-hr .bs-chat { border-color: rgba(46, 158, 146, 0.6) !important; }
html body.bs-hr .bs-chat__spin { border-right-color: rgba(46, 158, 146, 0.3) !important; border-bottom-color: rgba(46, 158, 146, 0.3) !important; border-left-color: rgba(46, 158, 146, 0.3) !important; }
html body.bs-hr .bs-cxb__ico { box-shadow: rgba(46, 158, 146, 0.55) 0px 0px 0px 1px inset !important; }
html body.bs-hr .bs-dp__bento-paneel { background-image: radial-gradient(120% 80% at 100% 100%, rgba(46, 158, 146, 0.2) 0%, rgba(46, 158, 146, 0) 55%), linear-gradient(165deg, rgb(23, 48, 45) 0%, rgb(17, 26, 27) 55%, rgb(14, 18, 20) 100%) !important; }
html body.bs-hr :is(.bs-dp__rond, .bs-vh__rond, .bs-wk__ico) { background-color: rgba(46, 158, 146, 0.14) !important; }
html body.bs-hr .bs-vh__tarief.bs-vh__tarief--ebike { background-image: radial-gradient(120% 80% at 100% 100%, rgba(46, 158, 146, 0.18) 0%, rgba(46, 158, 146, 0) 55%), linear-gradient(165deg, rgb(23, 48, 45) 0%, rgb(17, 26, 27) 55%, rgb(14, 18, 20) 100%) !important; }
html body.bs-hr .bs-wk__leerbadge { box-shadow: rgba(46, 158, 146, 0.08) 0px 0px 0px 6px inset !important; border-color: rgba(46, 158, 146, 0.55) !important; }
html body.bs-hr .bs-soll__nr { border-color: rgba(46, 158, 146, 0.55) !important; }
html body.bs-hr .bs-kh__klaar { background-color: rgba(46, 158, 146, 0.12) !important; }
html body.bs-hr .bs-dp__sec.bs-dp__sec--donker.bs-lp__hero { background-image: radial-gradient(90% 70% at 100% 0%, rgba(46, 158, 146, 0.14) 0%, rgba(46, 158, 146, 0) 60%), linear-gradient(170deg, rgb(20, 39, 37) 0%, rgb(14, 18, 20) 70%) !important; }
html body.bs-hr .bs-dp__knop.bs-lp__cta { box-shadow: rgba(46, 158, 146, 0.28) 0px 14px 34px 0px !important; }
/* de lichte varianten (lichte vlakken en kaarten) moeten blijven winnen van de regels hierboven */
html body.bs-hr :is(.bs-hr-licht, .bs-vh__reserveren, .bs-prs--dark.bs-wkl) .bs-uren__card { background-image: none !important; }
html body.bs-hr .bs-hr-alt.bs-hr-alt.bs-dp__sec--donker { background-image: none !important; }
html body.bs-hr .bs-vh__optie-kop > svg { background-color: rgba(46, 158, 146, 0.16) !important; }

/* ================================================================== ronde 10 (19-10): ook kleine labels en links in dezelfde rustige turquoise
   --bs-teal (#0F8A7C, labels/links/eyebrows) + Elementor-kit "secondary" + menu-hoverkleur van het thema → #2E9E92. */
html body.bs-hr, html body.bs-hr.elementor-kit-6 { --bs-teal: #2E9E92; --e-global-color-secondary: #2E9E92; }
html body.bs-hr :is(.header-main, .builder-item--primary-menu) { --link-hover-color: #2E9E92; --hovertextcolor: #2E9E92; }
html body.bs-hr .bt-cs-catalogue { --bt-teal: #2E9E92; }
html body.bs-hr .bs-gf { --gf-teal: #2E9E92; }
html body.bs-hr, html body.bs-hr.elementor-kit-6 { --sol-color-link-button-initial: #2E9E92; --sol-color-link-button-hover: #25867B; }
html body.bs-hr .elementor-nav-menu--main .elementor-item.elementor-item-active, html body.bs-hr .elementor-nav-menu--main .elementor-item.elementor-item-active :is(.sub-arrow, .sub-arrow *, i, svg) { color: #2E9E92 !important; fill: #2E9E92 !important; }
html body.bs-hr .elementor-element[class*="elementor-element-vtile-"]::before { color: #2E9E92 !important; }
html body.bs-hr :is(.bs-dp__stappen, .bs-vh__stappen)::before { background-image: repeating-linear-gradient(90deg, rgba(46, 158, 146, 0.45) 0px, rgba(46, 158, 146, 0.45) 6px, rgba(0, 0, 0, 0) 6px, rgba(0, 0, 0, 0) 12px) !important; }
html body.bs-hr :is(.bs-dp__nr, .bs-vh__nr) { box-shadow: rgb(246, 245, 242) 0px 0px 0px 8px, rgba(46, 158, 146, 0.25) 0px 0px 0px 9px !important; }
html body.bs-hr .bs-gf__link.bs-gf__note-link { border-color: rgba(46, 158, 146, 0.35) !important; }

/* ================================================================== ronde 12 (19-10): openingstijden-kaart (o.a. home "Kom langs")
   Weer doorzichtig glas over de foto, zonder gloed over de hele kaart; alleen de rij van VANDAAG krijgt een turquoise lijn
   en een zachte gloed. Tekst altijd goed leesbaar, ook als vandaag gesloten is. */
html body.bs-hr .bs-uren:not(.bs-uren--licht) .bs-uren__card { background: rgba(14, 18, 20, .42) !important; background-image: none !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-color: rgba(255, 255, 255, .16) !important; }
html body.bs-hr .bs-uren__card::before { display: none !important; }
html body.bs-hr .bs-uren__row.is-closed:not(.is-today) { background: none !important; }
html body.bs-hr .bs-uren__row.is-today { background: linear-gradient(90deg, rgba(46, 158, 146, .42) 0%, rgba(46, 158, 146, .12) 100%) !important; box-shadow: inset 3px 0 0 #2E9E92; border-radius: 4px; }
html body.bs-hr .bs-uren:not(.bs-uren--licht) .bs-uren__row.is-today :is(dt, dd) { color: #fff !important; }
html body.bs-hr :is(.bs-hr-licht, .bs-prs--dark.bs-wkl, .bs-uren--licht) .bs-uren__row.is-today { background: linear-gradient(90deg, rgba(46, 158, 146, .16) 0%, rgba(46, 158, 146, .04) 100%) !important; }
html body.bs-hr :is(.bs-hr-licht, .bs-prs--dark.bs-wkl, .bs-uren--licht) .bs-uren__row.is-today :is(dt, dd) { color: var(--bs-ink, #1C2022) !important; }
