/* =====================================================================
   Bosstad Tweewielers – ronde 2 (navigatie, categorieën, merken, video,
   werken bij, footer). Alle waarden via de --bs-* tokens uit het designsysteem.
   ===================================================================== */

.bs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bs-wrap{max-width:var(--bs-wrap);margin:0 auto;padding-left:var(--bs-gutter);padding-right:var(--bs-gutter)}

.bs-eyebrow{margin:0 0 12px;font-family:var(--bs-font-body);font-size:11.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--bs-teal)}
.bs-eyebrow--light{color:var(--bs-turquoise-light)}
.bs-h2{margin:0 0 18px;font-family:var(--bs-font-display);font-weight:400;font-size:46px;line-height:1.1;color:var(--bs-ink)}
.bs-h3{margin:0 0 10px;font-family:var(--bs-font-display);font-weight:400;font-size:24px;line-height:1.25;color:var(--bs-ink)}
.bs-lead{margin:0 0 20px;font-family:var(--bs-font-body);font-size:18px;line-height:1.65;color:var(--bs-text)}
@media(max-width:1024px){.bs-h2{font-size:38px}.bs-h3{font-size:22px}}
@media(max-width:767px){.bs-h2{font-size:32px}.bs-lead{font-size:16.5px}}

.bs-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 28px;border-radius:var(--bs-radius-sm);font-family:var(--bs-font-body);font-size:12.5px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;text-decoration:none;line-height:1;border:1px solid transparent;cursor:pointer;transition:background-color .18s var(--bs-ease),color .18s var(--bs-ease),border-color .18s var(--bs-ease)}
.bs-btn svg{width:14px;height:14px;fill:currentColor;transition:transform .18s var(--bs-ease)}
.bs-btn:hover svg{transform:translateX(3px)}
.bs-btn--teal{background:var(--bs-turquoise);color:var(--bs-btn-ink)}
.bs-btn--teal:hover,.bs-btn--teal:focus-visible{background:var(--bs-turquoise-light);color:var(--bs-btn-ink)}
.bs-btn--ghost{background:transparent;color:#fff;border-color:#6E7071}
.bs-btn--ghost:hover,.bs-btn--ghost:focus-visible{background:var(--bs-teal-deep);color:#fff}
.bs-btn--ghost-ink{background:transparent;color:var(--bs-ink);border-color:#C9CDCB}
.bs-btn--ghost-ink:hover,.bs-btn--ghost-ink:focus-visible{background:var(--bs-surface-soft);color:var(--bs-teal)}
.bs-btn--block{display:flex;width:100%}
@media(max-width:767px){.bs-btn{width:100%}}

/* Klikbare Elementor-kaarten (homepage) */
.bs-link-card{position:relative;overflow:hidden;transition:transform .25s var(--bs-ease),box-shadow .25s var(--bs-ease)}
.bs-link-card .elementor-heading-title a::after{content:"";position:absolute;inset:0;z-index:2}
.bs-link-card .elementor-widget-icon-list{position:relative;z-index:3}
.bs-link-card:hover,.bs-link-card:focus-within{transform:translateY(-3px);box-shadow:var(--bs-shadow-soft)}
.bs-link-card::before{content:"";position:absolute;inset:0;background:inherit;background-size:cover;background-position:center;transition:transform .6s var(--bs-ease);z-index:0}
.bs-link-card:hover::before,.bs-link-card:focus-within::before{transform:scale(1.04)}
.bs-link-card>.elementor-background-overlay{z-index:1}
.bs-link-card>.elementor-widget{z-index:2}
.bs-link-card .elementor-icon-list-item .elementor-icon-list-icon{transition:transform .18s var(--bs-ease)}
.bs-link-card:hover .elementor-icon-list-item .elementor-icon-list-icon{transform:translateX(3px)}

/* Categorieoverzicht (hergebruikt catalogue.css) */
.bs-catview{scroll-margin-top:110px}
.bs-catview .bt-toolbar{margin-top:0}
.bs-catview .bt-pagination{margin-top:36px}
.bs-catview .bt-pagination .nav-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.bs-catview .bt-pagination ul.page-numbers{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;justify-content:center}
.bs-catview .bt-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border:1px solid var(--bs-border);border-radius:var(--bs-radius-sm);font-family:var(--bs-font-body);font-weight:600;font-size:14px;color:var(--bs-ink);text-decoration:none;background:var(--bs-surface);transition:border-color .15s var(--bs-ease),background-color .15s var(--bs-ease)}
.bs-catview .bt-pagination a.page-numbers:hover{border-color:var(--bs-turquoise);background:var(--bs-surface-soft)}
.bs-catview .bt-pagination .page-numbers.current{background:var(--bs-ink);color:#fff;border-color:var(--bs-ink)}

/* Merkpagina: fietsen van één merk */
.bs-brandbikes .bt-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.bs-brandbikes .bt-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.bs-brandbikes .bt-grid{grid-template-columns:1fr}}
.bs-brandbikes__foot{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}
.bs-brandbikes__empty{padding:32px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface-soft);font-family:var(--bs-font-body);font-size:16.5px;line-height:1.65;color:var(--bs-text)}
.bs-brandbikes__empty strong{display:block;margin-bottom:8px;font-family:var(--bs-font-display);font-weight:400;font-size:24px;color:var(--bs-ink)}

/* Merkenoverzicht */
.bs-brands{font-family:var(--bs-font-body);color:var(--bs-text)}
.bs-brands__head{max-width:720px;margin-bottom:34px}
.bs-brands__head--others{margin-top:88px;padding-top:64px;border-top:1px solid var(--bs-border)}
.bs-brands__grid{display:grid;gap:20px}
.bs-brands__grid--featured{grid-template-columns:repeat(3,1fr)}
.bs-brands__grid--others{grid-template-columns:repeat(4,1fr);gap:16px}
.bs-brandcard{position:relative;display:flex;flex-direction:column;gap:8px;padding:28px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface);text-decoration:none;color:var(--bs-text);min-height:100%}
.bs-brandcard--featured{padding:34px 30px 30px;background:var(--bs-surface-soft);min-height:230px}
.bs-brandcard--featured::before{content:"";position:absolute;top:0;left:30px;width:34px;height:3px;background:var(--bs-turquoise)}
.bs-brandcard__name{font-family:var(--bs-font-display);font-weight:400;font-size:30px;line-height:1.1;color:var(--bs-ink);letter-spacing:-.2px}
.bs-brandcard--featured .bs-brandcard__name{font-size:36px}
.bs-brandcard__tag{font-size:16px;line-height:1.5;color:var(--bs-text)}
.bs-brandcard__meta{font-size:13.5px;font-weight:500;color:var(--bs-muted)}
.bs-brandcard__cta{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px;font-size:12px;font-weight:700;letter-spacing:1.9px;text-transform:uppercase;color:var(--bs-teal)}
.bs-brandcard__cta svg{width:13px;height:13px;fill:currentColor;transition:transform .18s var(--bs-ease)}
.bs-brandcard:hover .bs-brandcard__cta svg{transform:translateX(3px)}
.bs-brandcard:hover .bs-brandcard__name{color:var(--bs-teal)}
/* 2026-09-25: hoofdmerken met logo; overige merken als rustige, compacte rij (naam · aantal · pijl) i.p.v. grote kaarten */
.bs-brandcard__logo{display:flex;align-items:center;height:52px;margin-bottom:6px}
.bs-brandcard__logo img{display:block;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .25s ease,opacity .25s ease}
.bs-brandcard--featured:hover .bs-brandcard__logo img{filter:none;opacity:1}
.bs-brands__grid--others{grid-template-columns:repeat(3,1fr);gap:10px 14px}
.bs-brands__grid--others .bs-brandcard{flex-direction:row;align-items:center;gap:12px;padding:14px 18px;min-height:0}
.bs-brands__grid--others .bs-brandcard__name{font-size:19px;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bs-brands__grid--others .bs-brandcard__meta{font-size:12.5px;white-space:nowrap}
.bs-brands__grid--others .bs-brandcard__cta{margin:0;padding:0;font-size:0;gap:0}
.bs-brands__grid--others .bs-brandcard__cta svg{width:14px;height:14px}
@media(max-width:1024px){.bs-brands__grid--featured{grid-template-columns:repeat(2,1fr)}.bs-brands__grid--others{grid-template-columns:repeat(2,1fr)}.bs-brands__head--others{margin-top:64px;padding-top:48px}}
@media(max-width:767px){.bs-brands__grid--featured{grid-template-columns:1fr}.bs-brands__grid--others{grid-template-columns:repeat(2,1fr);gap:12px}.bs-brandcard--featured{padding:28px 24px 24px;min-height:0}.bs-brandcard--featured .bs-brandcard__name{font-size:30px}.bs-brands__grid--others .bs-brandcard{padding:18px 16px 16px}.bs-brands__grid--others .bs-brandcard__name{font-size:20px}}

/* Play-knop */
.bs-play{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--bs-turquoise);box-shadow:0 8px 30px rgba(0,0,0,.28);transition:transform .2s var(--bs-ease),background-color .2s var(--bs-ease)}
.bs-play::after{content:"";display:block;width:0;height:0;margin-left:5px;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent var(--bs-btn-ink)}
button:hover .bs-play,button:focus-visible .bs-play{transform:scale(1.06);background:var(--bs-turquoise-light)}

/* YouTube-facade */
.bs-yt{position:relative;display:block;width:100%;height:auto;min-height:0;overflow:hidden;border-radius:var(--bs-radius);background:var(--bs-dark)}
.bs-yt::after{content:"";display:block;width:100%;padding-top:56.25%;pointer-events:none}
.bs-yt__thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--bs-ease)}
.bs-yt:hover .bs-yt__thumb{transform:scale(1.03)}
.bs-yt::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,18,20,.05) 0%,rgba(14,18,20,.55) 100%);pointer-events:none}
.bs-yt__play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;border:0;background:transparent;cursor:pointer;padding:0}
.bs-yt__label{font-family:var(--bs-font-body);font-size:12.5px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;color:#fff}
.bs-yt__ext{position:absolute;right:16px;bottom:14px;font-family:var(--bs-font-body);font-size:12.5px;font-weight:600;color:var(--bs-on-dark);text-decoration:none;opacity:.85}
.bs-yt__ext:hover{color:var(--bs-turquoise);opacity:1}
.bs-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bs-yt.is-playing .bs-yt__thumb,.bs-yt.is-playing .bs-yt__play,.bs-yt.is-playing .bs-yt__ext,.bs-yt.is-playing::before{display:none}

/* Instagram-reels – premium slider: scroll-snap track, pijlen bij overflow, mobiel swipebaar, geen dots */
.bs-reels{position:relative;font-family:var(--bs-font-body);--bs-reel-gap:20px;--bs-reel-w:calc((100% - 2*var(--bs-reel-gap))/3)}
.bs-reels[data-count="4"]{--bs-reel-w:calc((100% - 3*var(--bs-reel-gap))/4)}
.bs-reels[data-count="1"],.bs-reels[data-count="2"]{--bs-reel-w:min(300px,calc((100% - var(--bs-reel-gap))/2))}
.bs-reels__kop{margin:0 0 18px;font-size:15px;font-weight:600;color:var(--bs-muted)}
.bs-reels__nav{display:none;position:absolute;top:-64px;right:0;gap:8px}
.bs-reels.has-overflow .bs-reels__nav{display:flex}
.bs-reels__arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:transparent;color:var(--bs-on-dark);cursor:pointer;padding:0;transition:border-color .18s var(--bs-ease),color .18s var(--bs-ease),background-color .18s var(--bs-ease),opacity .18s var(--bs-ease)}
.bs-reels__arrow svg{width:16px;height:16px;fill:currentColor}
.bs-reels__arrow:hover:not(:disabled),.bs-reels__arrow:focus-visible{border-color:var(--bs-turquoise);color:var(--bs-turquoise);background:rgba(51,199,183,.1)}
.bs-reels__arrow:disabled{opacity:.3;cursor:default}
.bs-reels--light .bs-reels__arrow{border-color:var(--bs-border);color:var(--bs-ink)}
.bs-reels__track{display:flex;gap:var(--bs-reel-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;outline:none}
.bs-reels__track::-webkit-scrollbar{display:none}
.bs-reels__track:focus-visible{outline:2px solid var(--bs-teal);outline-offset:6px;border-radius:var(--bs-radius)}
.bs-reel{position:relative;flex:0 0 var(--bs-reel-w);width:var(--bs-reel-w);aspect-ratio:9/16;overflow:hidden;border-radius:var(--bs-radius);background:var(--bs-dark);border:1px solid rgba(255,255,255,.06);scroll-snap-align:start;transition:transform .25s var(--bs-ease),border-color .25s var(--bs-ease)}
.bs-reel:hover{border-color:rgba(255,255,255,.16);transform:translateY(-3px)}
.bs-reel__poster{position:absolute;inset:0;background:radial-gradient(120% 80% at 20% 0%,rgba(51,199,183,.35) 0%,rgba(14,18,20,0) 55%),linear-gradient(180deg,#1C2022 0%,#0E1214 100%)}
.bs-reel__poster.has-img{background-image:linear-gradient(180deg,rgba(14,18,20,.04) 0%,rgba(14,18,20,.18) 55%,rgba(14,18,20,.86) 100%),var(--bs-poster)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.bs-reel__poster.has-img .bs-reel__mark{filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.bs-reel:hover .bs-reel__poster.has-img{filter:brightness(1.06)}
.bs-reel__mark{position:absolute;top:16px;left:16px;width:26px;height:26px}
.bs-reel__mark svg{width:26px;height:26px;fill:var(--bs-on-dark)}
.bs-reel__num{position:absolute;top:19px;right:16px;font-size:11.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--bs-on-dark-muted)}
.bs-reel__play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;border:0;background:transparent;cursor:pointer;padding:0}
.bs-reel__label{font-size:12.5px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;color:#fff}
.bs-reel__ext{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;font-size:12.5px;font-weight:600;color:var(--bs-on-dark);text-decoration:none;text-align:center;background:linear-gradient(180deg,rgba(14,18,20,0) 0%,rgba(14,18,20,.9) 100%)}
.bs-reel__ext:hover{color:var(--bs-turquoise)}
.bs-reel iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.bs-reel.is-playing{transform:none}
.bs-reel.is-playing .bs-reel__poster,.bs-reel.is-playing .bs-reel__play,.bs-reel.is-playing .bs-reel__ext{display:none}
.bs-reels__foot{display:flex;align-items:center;flex-wrap:wrap;gap:16px 22px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}
.bs-reels__follow{font-size:12.5px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;color:#fff}
.bs-reels--light .bs-reels__foot{border-top-color:var(--bs-border)}
.bs-reels--light .bs-reels__follow{color:var(--bs-ink)}
.bs-reels--light .bs-reel__num{color:var(--bs-on-dark-muted)}
@media(max-width:1024px){.bs-reels,.bs-reels[data-count="4"]{--bs-reel-w:calc((100% - var(--bs-reel-gap))/2)}.bs-reels[data-count="1"]{--bs-reel-w:min(300px,60%)}.bs-reels__nav{top:-56px}}
@media(max-width:767px){
	.bs-reels{--bs-reel-gap:12px}
	.bs-reels,.bs-reels[data-count="4"],.bs-reels[data-count="2"],.bs-reels[data-count="1"]{--bs-reel-w:min(72vw,300px)}
	.bs-reels__track{margin:0 -16px;padding:0 16px 6px;scroll-padding:0 16px}
	.bs-reels__nav{display:none!important}
	.bs-reels__foot{margin-top:24px}
}
@media(prefers-reduced-motion:reduce){.bs-reel,.bs-reels__arrow{transition:none}.bs-reel:hover{transform:none}}

/* Social-links */
.bs-socials{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.bs-socials li,.bs-fnav__list li,.bs-vac__facts li,.bs-checklist li,.bs-legal li{list-style:none;margin:0;padding:0}
.bs-socials li::marker,.bs-fnav__list li::marker{content:""}
.bs-reels__socials{gap:12px}
.bs-socials a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--bs-border);color:var(--bs-ink);transition:background-color .18s var(--bs-ease),color .18s var(--bs-ease),border-color .18s var(--bs-ease)}
.bs-socials a svg{width:20px;height:20px;fill:currentColor}
.bs-socials a:hover,.bs-socials a:focus-visible{color:var(--bs-turquoise);border-color:var(--bs-turquoise);background:rgba(51,199,183,.08)}
.bs-socials--light a{border-color:rgba(255,255,255,.18);color:var(--bs-on-dark)}
.bs-socials--light a:hover,.bs-socials--light a:focus-visible{color:var(--bs-turquoise);border-color:var(--bs-turquoise);background:rgba(51,199,183,.12)}

/* Vacatures */
.bs-vacatures{font-family:var(--bs-font-body)}
.bs-vacatures__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bs-vacature{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface)}
.bs-vacature__meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--bs-teal)}
.bs-vacature__meta span+span::before{content:"·";margin-right:14px;color:var(--bs-border)}
.bs-vacature__title{margin:0;font-family:var(--bs-font-display);font-weight:400;font-size:26px;line-height:1.2}
.bs-vacature__title a{color:var(--bs-ink);text-decoration:none}
.bs-vacature__title a::after{content:"";position:absolute;inset:0}
.bs-vacature:hover .bs-vacature__title a{color:var(--bs-teal)}
.bs-vacature__intro{margin:0;font-size:16px;line-height:1.65;color:var(--bs-text)}
.bs-vacature__cta{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px;font-size:12px;font-weight:700;letter-spacing:1.9px;text-transform:uppercase;color:var(--bs-teal)}
.bs-vacature__cta svg{width:13px;height:13px;fill:currentColor}
.bs-vacatures__empty{max-width:640px;padding:36px 32px;border:1px dashed var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface-soft);font-size:16.5px;line-height:1.65;color:var(--bs-text)}
.bs-vacatures__status{margin:0 0 8px;font-family:var(--bs-font-display);font-size:24px;color:var(--bs-ink)}
.bs-vacatures__empty p{margin:0 0 18px}
@media(max-width:1024px){.bs-vacatures__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.bs-vacatures__grid{grid-template-columns:1fr}.bs-vacatures__empty{padding:28px 22px}}

/* Vacature-detail */
.bs-vac{font-family:var(--bs-font-body);color:var(--bs-text)}
.bs-vac__hero{background:var(--bs-dark);color:var(--bs-on-dark);padding:64px 0 72px;border-bottom:4px solid var(--bs-turquoise)}
.bs-vac__crumbs{margin-bottom:26px;font-size:13.5px;color:var(--bs-on-dark-muted)}
.bs-vac__crumbs a{color:var(--bs-on-dark-muted);text-decoration:none}
.bs-vac__crumbs a:hover{color:var(--bs-turquoise)}
.bs-vac__crumbs span[aria-hidden]{margin:0 8px}
.bs-vac__title{margin:0 0 18px;font-family:var(--bs-font-display);font-weight:300;font-size:52px;line-height:1.05;color:#fff;max-width:14ch}
.bs-vac__facts{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:0 0 30px;padding:0;font-size:15px;font-weight:500;color:var(--bs-on-dark)}
.bs-vac__facts li{padding-left:14px;position:relative}
.bs-vac__facts li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--bs-turquoise)}
.bs-vac__body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;padding-top:64px;padding-bottom:88px}
.bs-vac__content{font-size:16.5px;line-height:1.7}
.bs-vac__content p{margin:0 0 16px}
.bs-vac__section{margin-top:40px}
.bs-checklist{list-style:none;margin:0;padding:0}
.bs-checklist li{position:relative;padding:8px 0 8px 30px;font-size:16.5px;line-height:1.55;border-bottom:1px solid var(--bs-border-soft)}
.bs-checklist li::before{content:"";position:absolute;left:0;top:14px;width:16px;height:16px;border-radius:50%;background:var(--bs-turquoise) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2306110F' d='M6.5 11.2 3.3 8l1.1-1.1 2.1 2.1 5-5L12.6 5z'/%3E%3C/svg%3E") center/16px no-repeat}
.bs-vac__aside{position:relative}
.bs-vac__card{position:sticky;top:110px;padding:28px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface-soft)}
.bs-vac__card p{margin:0 0 20px;font-size:16px;line-height:1.6}
.bs-vac__card .bs-btn+.bs-btn{margin-top:10px}
@media(max-width:1024px){.bs-vac__body{grid-template-columns:1fr;gap:40px;padding-top:48px;padding-bottom:64px}.bs-vac__title{font-size:42px}.bs-vac__card{position:static}}
@media(max-width:767px){.bs-vac__hero{padding:44px 0 48px}.bs-vac__title{font-size:34px}}

/* Sollicitatie / Typeform */
.bs-sollicitatie{scroll-margin-top:110px}
.bs-sollicitatie iframe{width:100%;height:640px;border:0;border-radius:var(--bs-radius);background:var(--bs-surface)}
.bs-sollicitatie.bt-tf--pending{padding:36px 32px;border:1px dashed var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface);font-family:var(--bs-font-body);font-size:16.5px;line-height:1.65;color:var(--bs-text)}
.bs-sollicitatie .bt-tf--pending__status{margin:0 0 10px;font-size:11.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--bs-teal)}
.bs-sollicitatie h3{margin:0 0 10px;font-family:var(--bs-font-display);font-weight:400;font-size:26px;color:var(--bs-ink)}
.bs-sollicitatie p{margin:0 0 20px}
.bs-sollicitatie .bt-tf__actions{display:flex;flex-wrap:wrap;gap:12px}
.bs-sollicitatie .bt-tf__btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:var(--bs-radius-sm);font-size:12.5px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;text-decoration:none;border:1px solid transparent}
.bs-sollicitatie .bt-tf__btn--teal{background:var(--bs-turquoise);color:var(--bs-btn-ink)}
.bs-sollicitatie .bt-tf__btn--teal:hover{background:var(--bs-turquoise-light)}
.bs-sollicitatie .bt-tf__btn--ghost{color:var(--bs-ink);border-color:#C9CDCB}
.bs-sollicitatie .bt-tf__btn--ghost:hover{background:var(--bs-surface-soft);color:var(--bs-teal)}
.bs-sollicitatie .bt-tf__fallback{margin:12px 0 0;font-size:14px;color:var(--bs-muted)}
@media(max-width:767px){.bs-sollicitatie.bt-tf--pending{padding:28px 22px}.bs-sollicitatie .bt-tf__btn{width:100%}}

/* Scroll-reveal */
.bs-reveal{opacity:0;transform:translateY(14px);transition:opacity .5s var(--bs-ease),transform .5s var(--bs-ease)}
.bs-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.bs-reveal{opacity:1;transform:none;transition:none}.bs-link-card,.bs-link-card::before,.bs-yt__thumb,.bs-play,.bs-btn svg,.bs-brandcard__cta svg{transition:none}.bs-link-card:hover{transform:none}.bs-link-card:hover::before{transform:none}}

/* =====================================================================
   FOOTER (Solace HFG) – merkrij, 5 linkgroepen, onderbalk
   ===================================================================== */
#site-footer .footer-top .footer-top-inner .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
#site-footer .footer-top .hfg-slot{width:auto;flex:0 1 auto}
#site-footer .footer-top .hfg-slot.left{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px}
#site-footer .footer-top .hfg-slot.left .builder-item{padding:0}
#site-footer .builder-item--logo-footer{--margin:0}
#site-footer .builder-item--footer_html1{--margin:0;--padding:0}
#site-footer .footer-top .component-wrap-footer-social .box-social:first-child a.link{margin-left:0}
#site-footer .footer-main .builder-item{padding:0}
#site-footer .footer-top .hfg-slot.left .builder-item--logo-footer .site-logo img{max-width:236px}
#site-footer .footer-top .footer-top-inner .row{padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.08)}
#site-footer .footer-main .widget h5{display:none}

.bs-fnav{display:grid;grid-template-columns:repeat(5,1fr);gap:24px 32px;font-family:var(--bs-font-body)}
.bs-fnav__title{margin:0 0 14px;font-family:var(--bs-font-body);font-size:11.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#fff}
.bs-fnav__toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;letter-spacing:inherit;text-transform:inherit;cursor:default}
.bs-fnav__chev{display:none}
.bs-fnav__list{list-style:none;margin:0;padding:0}
.bs-fnav__list li{margin:0;padding:0}
.bs-fnav__list a{display:inline-block;padding:5px 0;font-size:15.5px;line-height:1.45;color:var(--bs-on-dark-muted);text-decoration:none;transition:color .15s var(--bs-ease)}
.bs-fnav__list a:hover,.bs-fnav__list a:focus-visible{color:var(--bs-turquoise)}

#site-footer .footer-bottom .footer-bottom-inner .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}
#site-footer .footer-bottom .hfg-slot{width:auto;flex:0 1 auto}
#site-footer .builder-item--footer_html2 .bs-legal{display:flex;flex-wrap:wrap;gap:6px 20px;list-style:none;margin:0;padding:0;font-size:13.5px;font-weight:500}
#site-footer .builder-item--footer_html2 .bs-legal a{color:var(--bs-on-dark-muted);text-decoration:none}
#site-footer .builder-item--footer_html2 .bs-legal a:hover{color:var(--bs-turquoise)}

@media(max-width:1024px){.bs-fnav{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){
	#site-footer .footer-top .hfg-slot.left{gap:12px 20px}
	#site-footer .footer-top .footer-top-inner .row{gap:18px;padding-bottom:8px;border-bottom:0}
	#site-footer .footer-top .hfg-slot.c-left{margin-left:0;width:100%}
	#site-footer .footer-top .hfg-slot.c-left .builder-item{text-align:left}
	#site-footer .component-wrap-footer-social{justify-content:flex-start}
	.bs-fnav{display:block}
	.bs-fnav__group{border-top:1px solid rgba(255,255,255,.1)}
	.bs-fnav__group:last-child{border-bottom:1px solid rgba(255,255,255,.1)}
	.bs-fnav__title{margin:0}
	.bs-fnav__toggle{min-height:52px;padding:14px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}
	.bs-fnav__toggle:focus-visible{outline:2px solid var(--bs-teal);outline-offset:-2px}
	.bs-fnav__chev{display:block;position:relative;width:20px;height:20px;flex:0 0 20px}
	.bs-fnav__chev::before,.bs-fnav__chev::after{content:"";position:absolute;top:9px;left:4px;width:12px;height:2px;background:var(--bs-turquoise);transition:transform .25s var(--bs-ease)}
	.bs-fnav__chev::after{transform:rotate(90deg)}
	.bs-fnav__toggle[aria-expanded="true"] .bs-fnav__chev::after{transform:rotate(0)}
	.bs-fnav__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--bs-ease)}
	.bs-fnav__panel>.bs-fnav__list{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .3s}
	.bs-fnav__group.is-open .bs-fnav__panel{grid-template-rows:1fr}
	.bs-fnav__group.is-open .bs-fnav__panel>.bs-fnav__list{visibility:visible;transition-delay:0s}
	.bs-fnav__list a{display:block;padding:11px 0;font-size:15.5px}
	.bs-fnav__list li:last-child a{padding-bottom:18px}
	#site-footer .footer-bottom .footer-bottom-inner .row{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){.bs-fnav__panel,.bs-fnav__panel>.bs-fnav__list,.bs-fnav__chev::before,.bs-fnav__chev::after{transition:none}}

/* Solace geeft elke <button> een turquoise knopstijl; facades en accordion-toggles zijn geen knoppen in die zin. */
body.solacewp .bs-yt__play,body.solacewp .bs-reel__play,body.solacewp .bs-yt__play:hover,body.solacewp .bs-reel__play:hover,body.solacewp .bs-yt__play:focus,body.solacewp .bs-reel__play:focus{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;color:#fff!important;min-height:0!important;height:auto!important;line-height:inherit!important;letter-spacing:0!important;text-transform:none!important;transform:none!important}
body.solacewp .bs-reels__arrow,body.solacewp .bs-reels__arrow:hover,body.solacewp .bs-reels__arrow:focus{background:transparent!important;box-shadow:none!important;padding:0!important;min-height:0!important;height:44px!important;width:44px!important;line-height:1!important;letter-spacing:0!important;text-transform:none!important;transform:none!important;border-radius:50%!important;border-width:1px!important;border-style:solid!important;color:var(--bs-on-dark)!important;border-color:rgba(255,255,255,.18)!important}
body.solacewp .bs-reels__arrow:hover:not(:disabled),body.solacewp .bs-reels__arrow:focus-visible{color:var(--bs-turquoise)!important;border-color:var(--bs-turquoise)!important;background:rgba(51,199,183,.1)!important}
body.solacewp .bs-reels--light .bs-reels__arrow{color:var(--bs-ink)!important;border-color:var(--bs-border)!important}
body.solacewp .bs-reels--light .bs-reels__arrow:hover:not(:disabled){color:var(--bs-teal)!important;border-color:var(--bs-turquoise)!important}
body.solacewp .bs-fnav__toggle,body.solacewp .bs-fnav__toggle:hover,body.solacewp .bs-fnav__toggle:focus{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;height:auto!important;font-family:var(--bs-font-body)!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:3px!important;text-transform:uppercase!important;line-height:1.4!important;color:#fff!important;transform:none!important}
@media(max-width:767px){body.solacewp .bs-fnav__toggle{padding:14px 0!important}}
#site-footer .footer-top .hfg-slot.c-left{margin-left:auto}



/* Shortcode-widgets (video, reels, catalogus) krijgen op mobiel van Elementor een indefinite breedte in een flex-kolom,
   waardoor percentage-hoogtes (16:9) tot 0 rekenen en de widgetwrapper 0px hoog wordt. Expliciete 100% lost dat op. */
.e-con>.elementor-widget-shortcode,.e-con-inner>.elementor-widget-shortcode{width:100%;max-width:100%;flex:0 0 auto}
.elementor-widget-shortcode>.elementor-shortcode{display:block;width:100%}

/* Productpagina: trust-regel onder CTA + sticky mobiele CTA */
.bs-trust{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;list-style:none;margin:18px 0 0;padding:0;font-family:var(--bs-font-body);font-size:14px;font-weight:500;color:var(--bs-muted)}
.bs-trust li{list-style:none;margin:0;padding:0;position:relative}
.bs-trust__item:not(.bs-trust__item--badge)::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--bs-turquoise);margin-right:9px;vertical-align:2px}
.bs-trust .bt-revbadge{font-size:14px}
.bs-sticky{position:fixed;left:0;right:0;bottom:0;z-index:98;display:none;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--bs-border);box-shadow:0 -8px 24px rgba(28,32,34,.08);transform:translateY(100%);transition:transform .25s var(--bs-ease)}
.bs-sticky.is-visible{transform:none}
.bs-sticky__info{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;font-family:var(--bs-font-body)}
.bs-sticky__title{font-size:13px;font-weight:600;color:var(--bs-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bs-sticky__price{font-size:16px;font-weight:700;color:var(--bs-ink)}
.bs-sticky__btn.bs-btn{width:auto;flex:0 0 auto;padding:14px 20px}
@media(max-width:767px){.bs-sticky:not([hidden]){display:flex}body.bs-has-sticky{padding-bottom:72px}}
@media(prefers-reduced-motion:reduce){.bs-sticky{transition:none}}
