.bshhero{box-sizing:border-box;position:relative;max-width:1394px;width:calc(100% - 72px);margin:20px auto 0;color:#6d6561}
.bshhero *{box-sizing:border-box}
.bshhero__viewport{display:flex;gap:24px;padding:0 12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-left:12px;scrollbar-width:none;position:relative;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.bshhero__viewport::-webkit-scrollbar{display:none}
.bshhero__slide{flex:0 0 calc((100% - 48px)/3);min-width:0;aspect-ratio:438/458;scroll-snap-align:start;border-radius:24px;overflow:hidden;background:#f3f3ee}
.bshhero__link,.bshhero picture,.bshhero img{display:block;width:100%;height:100%;margin:0;padding:0}
.bshhero img{object-fit:fill;border-radius:24px}
.bshhero button{appearance:none;border:0;box-shadow:none;font:inherit;padding:0;cursor:pointer}
.bshhero__arrow{display:none;position:absolute;top:calc((100% - 26px)/2);transform:translateY(-50%);width:44px;height:56px;border-radius:16px;background:rgba(255,255,255,.85);color:#6d6561;z-index:2;align-items:center;justify-content:center}
.bshhero__prev{left:0}.bshhero__next{right:0}
.bshhero__arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.bshhero__arrow:hover{background:#f3faf3;color:#317239}
.bshhero__controls{display:none;visibility:hidden;height:26px;align-items:center;justify-content:center;position:relative}
.bshhero__dots{display:flex;gap:0;align-items:center;justify-content:center}
.bshhero__dot{display:flex;align-items:center;justify-content:center;width:14px;height:26px;background:transparent}
.bshhero__dot::after{content:"";display:block;width:6px;height:6px;background:#c7c4c1;border-radius:10px}
.bshhero__dot[aria-current=true]{width:38px}.bshhero__dot[aria-current=true]::after{width:30px;background:var(--bfc-h-green,#6a9d13)}
.bshhero[data-ready][data-loop=true] .bshhero__arrow{display:flex}
.bshhero[data-many=true] .bshhero__controls{display:flex}
.bshhero[data-ready][data-loop=true] .bshhero__controls{visibility:visible}
.bshhero[data-autoplay=true] .bshhero :focus-visible{outline:2px solid #317239;outline-offset:-3px}
@media(max-width:1023px){
 .bshhero{width:100%;max-width:none;margin:16px 0 0}
 .bshhero__viewport{gap:22px;padding:0 20px;scroll-padding-left:20px;scroll-snap-type:x proximity}
 .bshhero__slide{flex-basis:438px;width:438px;height:458px;aspect-ratio:auto}
 .bshhero .bshhero__arrow{display:none!important}
 .bshhero[data-multiple=true] .bshhero__controls{display:flex}
 .bshhero[data-ready][data-multiple=true] .bshhero__controls{visibility:visible}
 .bshhero[data-multiple=true] .bshhero__viewport::after{content:"";flex:0 0 max(0px,calc(100% - 460px));pointer-events:none}
}
@media(max-width:743px){.bshhero__viewport{gap:10px}.bshhero__slide{flex-basis:268px;width:268px;height:336px}.bshhero[data-multiple=true] .bshhero__viewport::after{flex-basis:max(0px,calc(100% - 278px))}}
@media(prefers-reduced-motion:reduce){.bshhero__viewport{scroll-behavior:auto}}

/* UniTheme's layout grid adds spacing outside the hero's own margin.
   Limit the override to a grid cell directly containing this carousel. */
.row-fluid > .ut2-bottom:has(> .bshhero),
.row-fluid > .ut2-bottom:has(> div > .bshhero){margin-bottom:12px}
@media(max-width:767px){
 .row-fluid > .ut2-bottom:has(> .bshhero),
 .row-fluid > .ut2-bottom:has(> div > .bshhero){margin-bottom:8px}
}

/* MP4 reuses the exact reserved slide box; the poster remains below it. */
.bshhero__slide{position:relative}
.bshhero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}
.bshhero__slide[data-video-state=playing] .bshhero__video{opacity:1}
.bshhero .bshhero__video-toggle{display:none;position:absolute;right:14px;bottom:14px;z-index:1;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#365615}
.bshhero[data-ready] .bshhero__video-toggle{display:flex}
.bshhero__video-toggle svg{width:20px;height:20px;fill:currentColor}
.bshhero .bshhero__video-pause{display:none}
.bshhero__slide[data-video-state=playing] .bshhero__video-play{display:none}
.bshhero__slide[data-video-state=playing] .bshhero__video-pause{display:block}
.bshhero__video-toggle:focus-visible{outline:3px solid #fff;outline-offset:-5px}
