.blfc {
 --blfc-center:56%; --blfc-side:30%; --blfc-overlap:8%; --blfc-side-opacity:.65;
 --blfc-effective-side:min(var(--blfc-side), calc(var(--blfc-center) * .85));
 --blfc-speed:450ms; --blfc-fit:cover; --blfc-position:center center;
 --blfc-caption-color:#fff; --blfc-caption-gradient:rgba(0,0,0,.78);
 --blfc-caption-padding:24px; --blfc-caption-align:left; --blfc-caption-space:64px;
 --blfc-arrow-color:#fff; --blfc-arrow-bg:rgba(0,0,0,.25); --blfc-arrow-border:rgba(255,255,255,.45);
 --blfc-arrow-hover:#fff; --blfc-arrow-hover-bg:rgba(0,0,0,.65); --blfc-arrow-size:48px; --blfc-arrow-inset:12px;
 --blfc-dot-color:#8b969d; --blfc-dot-active:#fff; --blfc-dot-size:8px; --blfc-active-dot-width:28px;
 --blfc-focus:#39b8ff; --blfc-nav-space:20px;
 position:relative; width:100%; min-width:0; background:transparent; isolation:isolate;
}
.blfc *, .blfc *::before, .blfc *::after { box-sizing:border-box; }
.blfc__stage { position:relative; width:100%; overflow:hidden; }
/* Percentage padding resolves against width, including on older browsers. */
.blfc__stage { aspect-ratio:auto; height:0; padding-bottom:calc(var(--blfc-center) * .5625); }
.blfc .blfc__slide {
 position:absolute; top:50%; left:50%; width:var(--blfc-effective-side); aspect-ratio:16 / 9;
 margin:0; padding:0; overflow:hidden; border-radius:var(--border-radious, 20px);
 transform:translate(0,-50%); opacity:0; visibility:hidden; z-index:0;
 transition:left var(--blfc-speed) ease, width var(--blfc-speed) ease, opacity var(--blfc-speed) ease;
 background:transparent;
}
.blfc .blfc__slide[data-position="left"] {
 left:calc((100% - var(--blfc-center)) / 2 - var(--blfc-effective-side) + var(--blfc-overlap));
 opacity:var(--blfc-side-opacity); visibility:visible; z-index:1;
}
.blfc .blfc__slide[data-position="right"] {
 left:calc((100% + var(--blfc-center)) / 2 - var(--blfc-overlap));
 opacity:var(--blfc-side-opacity); visibility:visible; z-index:1;
}
.blfc .blfc__slide[data-position="center"] {
 left:calc((100% - var(--blfc-center)) / 2); width:var(--blfc-center);
 opacity:1; visibility:visible; z-index:2;
}
.blfc[data-click-sides="true"] .blfc__slide[data-position="left"],
.blfc[data-click-sides="true"] .blfc__slide[data-position="right"] { cursor:pointer; }
.blfc .blfc__image { display:block; width:100%; height:100%; aspect-ratio:16 / 9; object-fit:var(--blfc-fit); object-position:var(--blfc-position); user-select:none; -webkit-user-drag:none; }
.blfc__stage { touch-action:pan-y pinch-zoom; }
.blfc .blfc__caption {
 position:absolute; inset:auto 0 0; margin:0; padding:calc(var(--blfc-caption-padding) * 2) var(--blfc-caption-padding) var(--blfc-caption-padding);
 color:var(--blfc-caption-color); background:linear-gradient(transparent,var(--blfc-caption-gradient));
 font-size:clamp(13px,1.4vw,18px); line-height:1.4; font-weight:500; text-align:var(--blfc-caption-align);
 overflow-wrap:anywhere; display:none; pointer-events:none;
}
.blfc[data-caption="overlay"] .blfc__slide[data-position="center"] .blfc__caption { display:block; }
.blfc[data-caption="below"] .blfc__slide[data-position="center"] .blfc__caption {
 display:block; position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%);
}
.blfc__below { min-height:var(--blfc-caption-space); padding:12px 0 0; width:var(--blfc-center); margin:auto; color:var(--blfc-caption-color); font-size:16px; line-height:1.5; text-align:var(--blfc-caption-align); overflow-wrap:anywhere; }
.blfc button { appearance:none; -webkit-appearance:none; margin:0; font:inherit; box-shadow:none; cursor:pointer; text-decoration:none; text-transform:none; letter-spacing:normal; }
.blfc .blfc__arrow {
 position:absolute; top:50%; transform:translateY(-50%); z-index:3; display:flex; align-items:center; justify-content:center;
 width:var(--blfc-arrow-size); height:var(--blfc-arrow-size); padding:0; border:1px solid var(--blfc-arrow-border);
 border-radius:var(--border-radious, 20px); background:var(--blfc-arrow-bg); color:var(--blfc-arrow-color);
 transition:background-color .2s,color .2s;
}
.blfc__arrow--prev { left:var(--blfc-arrow-inset); }
.blfc__arrow--next { right:var(--blfc-arrow-inset); }
.blfc .blfc__arrow:hover { background:var(--blfc-arrow-hover-bg); color:var(--blfc-arrow-hover); }
.blfc__arrow svg { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.blfc__navigation { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:var(--blfc-nav-space); }
.blfc__dots { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:0; max-width:100%; }
.blfc .blfc__dot { display:flex; align-items:center; justify-content:center; padding:0 8px; min-width:32px; min-height:44px; border:0; border-radius:8px; background:transparent; }
.blfc__dot span { display:block; width:var(--blfc-dot-size); height:var(--blfc-dot-size); border-radius:999px; background:var(--blfc-dot-color); transition:width var(--blfc-speed) ease,background-color .2s; }
.blfc__dot[aria-current="true"] span { width:var(--blfc-active-dot-width); background:var(--blfc-dot-active); }
.blfc .blfc__dot:hover span { background:var(--blfc-dot-active); }
.blfc .blfc__pause { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid var(--blfc-arrow-border); border-radius:var(--border-radious,20px); background:var(--blfc-arrow-bg); color:var(--blfc-arrow-color); }
.blfc button:focus-visible, .blfc:focus-visible { outline:2px solid var(--blfc-focus); outline-offset:3px; }
.blfc__status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.blfc__notice { padding:16px; border:1px dashed #aaa; }
@media (max-width:1024px) { .blfc { --blfc-center:72%; --blfc-side:48%; --blfc-caption-padding:20px; } }
@media (max-width:767px) {
 .blfc { --blfc-center:92%; --blfc-side:70%; --blfc-caption-padding:14px; }
 .blfc .blfc__arrow { display:none !important; }
 .blfc__caption { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { .blfc { --blfc-speed:0ms !important; } .blfc *, .blfc *::before { transition:none !important; } }
