.abilnova-carousel { --carousel-brand:#064b7c; width:100%; min-width:0; margin-block:2rem; color:#333; }
.abilnova-carousel [hidden] { display:none !important; }
.abilnova-carousel__stage { position:relative; background:#fff; }
.abilnova-carousel .abilnova-carousel__slide { margin:0; height:auto; }
.abilnova-carousel:not(.is-ready) .swiper-wrapper { display:block; transform:none !important; }
.abilnova-carousel:not(.is-ready) .abilnova-carousel__slide { margin-bottom:1rem; }
.abilnova-carousel__open { position:relative; display:block; cursor:zoom-in; }
.abilnova-carousel .abilnova-carousel__image { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center; background:#f5f5f5; }
.abilnova-carousel figcaption { padding:16px 20px; background:#fff; font-size:max(1rem,16px); line-height:1.5; overflow-wrap:anywhere; }
.abilnova-carousel__controls { position:absolute; z-index:2; top:0; left:0; width:100%; aspect-ratio:4/3; pointer-events:none; }
.abilnova-carousel__controls button { position:absolute; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:48px; height:48px; min-height:44px; padding:0; border:1px solid #064b7c20; border-radius:50%; background:#fff; color:var(--carousel-brand); box-shadow:0 3px 16px #0003; cursor:pointer; pointer-events:auto; transition:background .15s,color .15s; }
.abilnova-carousel__controls [data-carousel-prev] { left:16px; }
.abilnova-carousel__controls [data-carousel-next] { right:16px; }
.abilnova-carousel__controls button svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; }
.abilnova-carousel__controls button:hover { background:#fff; color:var(--carousel-brand); box-shadow:0 4px 18px #0004; }
body .abilnova-carousel .abilnova-carousel__controls button:focus:not(:focus-visible) { outline:none !important; }
body .abilnova-carousel .abilnova-carousel__controls button:focus-visible,
body .abilnova-carousel a.abilnova-carousel__open:focus-visible { outline:3px solid var(--carousel-brand) !important; outline-offset:-6px; box-shadow:0 0 0 3px #fff; }
.abilnova-carousel .abilnova-carousel__status { margin:12px 0 0; text-align:center; font-size:max(1rem,14px); line-height:1.5; color:#5f5f5f; font-variant-numeric:tabular-nums; }
.abilnova-carousel-popup { z-index:2147483647; }
.abilnova-carousel-popup .fancybox__counter { display:block; }
.abilnova-carousel-popup .fancybox__caption { font-size:16px; }
@media(max-width:480px) { .abilnova-carousel__controls button { width:44px; height:44px; } .abilnova-carousel__controls [data-carousel-prev] { left:10px; } .abilnova-carousel__controls [data-carousel-next] { right:10px; } }
@media(prefers-reduced-motion:reduce) { .abilnova-carousel__controls button { transition:none; } .abilnova-carousel-popup * { animation:none !important; transition:none !important; } }
