.scf-banners{position:relative;width:100%;max-width:100%;box-sizing:border-box}
.scf-banners *{box-sizing:border-box}
.scf-banners__track{display:flex;gap:24px;width:100%;max-width:100%;box-sizing:border-box}
.scf-banners__item{min-width:0;max-width:100%;box-sizing:border-box}
.scf-banners__image{display:block;width:100%;max-width:100%;height:auto;border-radius:10px}
.scf-banners__link{display:block;width:100%;max-width:100%}

.scf-banners--stack{margin:0 0 24px}
.scf-banners--stack .scf-banners__track{flex-direction:column;gap:16px}

.scf-banners--grid .scf-banners__track{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.scf-banners--single .scf-banners__track{display:block}

.scf-banners--carousel{padding:0 38px;overflow:hidden}
.scf-banners--carousel .scf-banners__track{overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;scroll-snap-type:x mandatory}
.scf-banners--carousel .scf-banners__track::-webkit-scrollbar{display:none}
.scf-banners--carousel .scf-banners__item{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start}

.scf-banners--slider{position:relative;width:100%;max-width:100%;padding:0;overflow:hidden;margin:0 0 24px}
.scf-banners--slider .scf-banners__track{position:relative;display:block;width:100%;max-width:100%;overflow:hidden;gap:0;transition:height .45s ease}
.scf-banners--slider .scf-banners__item{position:absolute;inset:0 auto auto 0;width:100%;max-width:100%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility 0s linear .45s}
.scf-banners--slider .scf-banners__item.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .45s ease}

.scf-banners__arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:rgba(20,28,40,.78);color:#fff;font-size:25px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin:0}
.scf-banners__arrow--prev{left:0}
.scf-banners__arrow--next{right:0}
.scf-banners--slider .scf-banners__arrow--prev{left:10px}
.scf-banners--slider .scf-banners__arrow--next{right:10px}

@media(max-width:991px){.scf-banners--carousel .scf-banners__item{flex-basis:calc((100% - 48px)/3)}}
@media(max-width:767px){.scf-banners--carousel .scf-banners__item{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:480px){
.scf-banners--carousel{padding:0 34px}
.scf-banners--carousel .scf-banners__item{flex-basis:100%}
.scf-banners__arrow{width:32px;height:32px;font-size:23px}
.scf-banners--slider .scf-banners__arrow--prev{left:8px}
.scf-banners--slider .scf-banners__arrow--next{right:8px}
}

.scf-banners--slider .scf-banners__indicators{
position:absolute;z-index:6;left:50%;bottom:12px;transform:translateX(-50%);
display:flex;align-items:center;justify-content:center;gap:7px;
padding:5px 8px;border-radius:999px;background:rgba(20,28,40,.28)
}
.scf-banners--slider .scf-banners__indicator{
appearance:none;-webkit-appearance:none;width:8px;height:8px;min-width:8px;
padding:0;margin:0;border:0;border-radius:999px;background:rgba(255,255,255,.58);
cursor:pointer;transition:width .25s ease,background .25s ease,opacity .25s ease
}
.scf-banners--slider .scf-banners__indicator:hover,
.scf-banners--slider .scf-banners__indicator:focus-visible{background:rgba(255,255,255,.9);outline:none}
.scf-banners--slider .scf-banners__indicator.is-active{
width:22px;background:#fff
}
@media(max-width:480px){
.scf-banners--slider .scf-banners__indicators{bottom:9px;gap:6px;padding:4px 7px}
.scf-banners--slider .scf-banners__indicator{width:7px;height:7px;min-width:7px}
.scf-banners--slider .scf-banners__indicator.is-active{width:19px}
}


/* SCF Banners 1.0.9 — título público opcional da Área */
.scf-banners__area-title{
margin:0 0 16px;
padding:0;
font:inherit;
font-size:1.25rem;
font-weight:500;
line-height:1.3;
color:#5f6368;
letter-spacing:0;
}
@media(max-width:480px){.scf-banners__area-title{font-size:1.12rem;margin-bottom:12px}}

/* SCF Banners 1.1.0 — galeria ampliada */
.scf-banners__cover{display:block;position:relative;width:100%;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:center}
.scf-banners__cover:focus-visible{outline:3px solid #2557d6;outline-offset:4px}
.scf-banners__cover-hint{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 10px;border-radius:999px;background:rgba(15,23,42,.8);color:#fff;font:600 12px/1.3 sans-serif;pointer-events:none}
.scf-banners__cover-hint svg{display:block;flex:none}
.scf-banners__cover:hover .scf-banners__cover-hint,.scf-banners__cover:focus-visible .scf-banners__cover-hint{background:rgba(15,23,42,.95)}
.scf-banner-dialog{position:fixed;inset:0;width:96vw;max-width:1200px;height:94dvh;max-height:94dvh;margin:auto;padding:0;border:0;border-radius:8px;background:#080808;color:#fff;box-sizing:border-box;overflow:hidden}
.scf-banner-dialog::backdrop{background:rgba(0,0,0,.82)}
.scf-banner-dialog__panel{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:46px 56px;box-sizing:border-box}
.scf-banner-dialog__image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;touch-action:pan-y pinch-zoom}
.scf-banner-dialog button{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fff;color:#111;font:32px/1 sans-serif;cursor:pointer}
.scf-banner-dialog button[hidden]{display:none}
.scf-banner-dialog button:focus-visible{outline:3px solid #80b4ff;outline-offset:3px}
.scf-banner-dialog__close{top:8px;right:8px}
.scf-banner-dialog__prev{left:6px;top:calc(50% - 22px)}
.scf-banner-dialog__next{right:6px;top:calc(50% - 22px)}
.scf-banner-dialog__count{position:absolute;bottom:10px;left:0;right:0;margin:0;text-align:center;font:14px/1.5 sans-serif;color:#fff}
@media(max-width:600px){.scf-banner-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.scf-banner-dialog__panel{padding:58px 4px 50px}.scf-banner-dialog__prev,.scf-banner-dialog__next{background:rgba(255,255,255,.85)!important}}

/* Galeria: mesmo espaçamento inferior do slider. */
.scf-banners--gallery{margin:0 0 24px}
