/* =========================================================
   ROSSETTI CORE — ARQUIVOS / COLEÇÕES
   Paginação, navegação e carrossel leve sem biblioteca externa.
   ========================================================= */
.rossetti-collection,
.rossetti-collection__viewport,
.rossetti-collection__controls,
.rossetti-collection__pages { box-sizing:border-box; }

.rossetti-collection { --rossetti-collection-slides:3; --rossetti-collection-gap:24px; width:100%; min-width:0; }
.rossetti-collection [data-collection-item][hidden], .rossetti-collection__controls[hidden], .rossetti-collection__pages[hidden], .rossetti-collection__load-more[hidden] { display:none!important; }
.rossetti-collection__viewport { width:100%; min-width:0; }

.rossetti-collection--carousel .rossetti-collection__viewport {
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
}
.rossetti-collection--carousel .rossetti-collection__viewport::-webkit-scrollbar { display:none; }
.rossetti-collection--carousel [data-collection-track] {
    display:flex!important;
    grid-template-columns:none!important;
    flex-wrap:nowrap!important;
    width:100%;
    min-width:0;
    row-gap:0!important;
}
.rossetti-collection--carousel [data-collection-item] {
    flex:0 0 calc((100% - (var(--rossetti-collection-slides) - 1) * var(--rossetti-collection-gap)) / var(--rossetti-collection-slides));
    width:calc((100% - (var(--rossetti-collection-slides) - 1) * var(--rossetti-collection-gap)) / var(--rossetti-collection-slides));
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:normal;
}
.rossetti-collection--carousel [data-collection-item] > * { height:100%; }

.rossetti-collection__controls {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    width:100%;
    margin-top:28px;
}
.rossetti-collection__nav,
.rossetti-collection__page,
.rossetti-collection__load-more {
    appearance:none;
    border:1px solid #d9d4d0;
    background:#fff;
    color:#1b1918;
    cursor:pointer;
    transition:background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease,transform .2s ease;
}
.rossetti-collection__nav {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0;
}
.rossetti-collection__nav .rsi { width:15px;height:15px; }
.rossetti-collection__nav:hover:not(:disabled),
.rossetti-collection__page:hover,
.rossetti-collection__load-more:hover { border-color:#ef3131;color:#ef3131; }
.rossetti-collection__nav:disabled { opacity:.32;cursor:default; }
.rossetti-collection__pages { display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap; }
.rossetti-collection__page {
    min-width:38px;
    height:38px;
    padding:0 10px;
    font-size:11px;
    font-weight:700;
    line-height:1;
}
.rossetti-collection__page.is-active { border-color:#ef3131;background:#ef3131;color:#fff; }
.rossetti-collection__ellipsis { display:inline-flex;align-items:center;justify-content:center;min-width:22px;color:#8b8581; }
.rossetti-collection__counter { min-width:58px;color:#77716d;font-size:11px;font-weight:700;letter-spacing:.12em;text-align:center;white-space:nowrap; }
.rossetti-collection__progress { position:relative;flex:1 1 120px;max-width:220px;height:3px;overflow:hidden;background:#e4dfdb; }
.rossetti-collection__progress > span { position:absolute;inset:0 auto 0 0;width:0;background:#ef3131;transition:width .25s ease; }
.rossetti-collection__load-more { min-height:44px;padding:0 22px;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase; }

.rossetti-collection--nav-left .rossetti-collection__controls { justify-content:flex-start; }
.rossetti-collection--nav-right .rossetti-collection__controls { justify-content:flex-end; }
.rossetti-collection--nav-between .rossetti-collection__controls { justify-content:space-between; }

@media(max-width:1024px){
    .rossetti-collection { --rossetti-collection-slides:2; }
}
@media(max-width:767px){
    .rossetti-collection { --rossetti-collection-slides:1; }
    .rossetti-collection__controls { margin-top:22px;gap:8px; }
    .rossetti-collection__nav { width:40px;height:40px; }
    .rossetti-collection__page { min-width:34px;height:34px; }
    .rossetti-collection__progress { flex-basis:90px;max-width:140px; }
}
@media(prefers-reduced-motion:reduce){
    .rossetti-collection--carousel .rossetti-collection__viewport { scroll-behavior:auto!important; }
    .rossetti-collection__nav,.rossetti-collection__page,.rossetti-collection__load-more,.rossetti-collection__progress>span { transition:none!important; }
}

/* Paginação em pontos (especialmente útil no modo carrossel). */
.rossetti-collection--pagination-dots .rossetti-collection__pages { gap:9px; }
.rossetti-collection--pagination-dots .rossetti-collection__page {
    width:8px;
    min-width:8px;
    height:8px;
    padding:0;
    border:0;
    border-radius:99px;
    background:#c9c3be;
    overflow:hidden;
    text-indent:-9999px;
}
.rossetti-collection--pagination-dots .rossetti-collection__page.is-active { width:28px;min-width:28px;background:#ef3131; }
.rossetti-collection--pagination-dots .rossetti-collection__ellipsis { display:none; }
