/* ==========================================================================
   PUBLIC OWNER DOMAIN: BUILDER SHARED CAROUSEL
   Shared carousel viewport/navigation used only by carousel-capable blocks.
   ========================================================================== */
html[data-salyss-theme="dark"] .salyssbp-document :where(
    .salyssbp-banner-grid .salyssbp-carousel-arrow,
    .salyssbp-trust-bar .salyssbp-carousel-arrow,
    .salyssbp-carousel-arrow
){
    background: var(--salyss-surface);
    color: var(--salyss-ink);
    border-color: var(--salyss-line);
    box-shadow: var(--salyss-shadow-sm);
}
html[data-salyss-theme="dark"] .salyssbp-document :where(
    .salyssbp-banner-grid .salyssbp-carousel-dots button,
    .salyssbp-trust-bar .salyssbp-carousel-dots button,
    .salyssbp-carousel-dots button
){
    background: var(--salyss-line);
}
html[data-salyss-theme="dark"] .salyssbp-document :where(
    .salyssbp-banner-grid .salyssbp-carousel-dots button.is-active,
    .salyssbp-trust-bar .salyssbp-carousel-dots button.is-active,
    .salyssbp-carousel-dots button.is-active
){
    background: var(--salyss-accent);
}
.salyssbp-carousel-viewport{overflow:auto hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}
.salyssbp-carousel-viewport::-webkit-scrollbar{display:none}
.salyssbp-carousel-arrow{position:absolute;z-index:5;top:50%;display:grid;width:42px;height:42px;place-items:center;transform:translateY(-50%);border:1px solid rgba(15,23,42,.08);border-radius:50%;background:var(--salyssbp-carousel-arrow-bg,var(--salyss-content-surface,#fff));color:var(--salyssbp-carousel-arrow-color,#111827);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.12)}
.salyssbp-carousel-arrow.is-prev{inset-inline-start:10px}
.salyssbp-carousel-arrow.is-next{inset-inline-end:10px}
.salyssbp-carousel-dots{display:flex;justify-content:center;gap:7px;margin-top:14px}
.salyssbp-carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--salyssbp-carousel-dot,#cbd5e1);cursor:pointer}
.salyssbp-carousel-dots button.is-active{width:22px;border-radius:999px;background:var(--salyssbp-carousel-dot-active,#2563eb)}
@media (max-width:640px){
.salyssbp-carousel-arrow{width:36px;height:36px;font-size:24px}
}
