/* First slide is readable before JavaScript; secondary slides must not stack. */
.carousel-nav:not(.slick-initialized) > div:not(:first-child),
.carousel-nonav:not(.slick-initialized) > div:not(:first-child) {
    display: none;
}
#banner-top.stable-banner,
#banner-top-responsivo.stable-banner {
    visibility: visible;
    position: relative;
    width: 100%;
    overflow: hidden;
}
.stable-banner img {
    display: block;
    width: 100%;
    height: auto;
}
/* Keep one frame size through image loading, Slick initialization and autoplay. */
.stable-banner.has-banner-ratio > div:not(.slick-list),
.stable-banner.has-banner-ratio .slick-list,
.stable-banner.has-banner-ratio .slick-track,
.stable-banner.has-banner-ratio .slick-slide,
.stable-banner.has-banner-ratio .item,
.stable-banner.has-banner-ratio a,
.stable-banner.has-banner-ratio picture {
    height: 100%;
}
.stable-banner.has-banner-ratio a,
.stable-banner.has-banner-ratio picture {
    display: block;
}
.stable-banner.has-banner-ratio img {
    height: 100%;
    object-fit: contain;
}
.carousel-list-products:not(.slick-initialized),
.marcas:not(.slick-initialized) {
    display: flex;
    overflow: hidden;
}
.carousel-list-products:not(.slick-initialized) > div {
    flex: 0 0 25%;
    min-width: 0;
}
#marcas:not(.slick-initialized) {
    visibility: visible;
    min-height: 100px;
}
.marcas:not(.slick-initialized) > div {
    flex: 0 0 14.285714%;
}
.marcas img {
    width: 100px;
    max-width: 100%;
    height: auto;
    max-height: 100px;
    object-fit: contain;
}
/* The third-party iframe replaces the fallback without pushing the footer down. */
.facebook-container .fb-page {
    min-height: 130px;
}
@media (max-width: 1000px) {
    .marcas:not(.slick-initialized) > div { flex-basis: 20%; }
}
@media (max-width: 800px) {
    .carousel-list-products:not(.slick-initialized) > div { flex-basis: 33.333333%; }
    .marcas:not(.slick-initialized) > div { flex-basis: 33.333333%; }
}
@media (max-width: 640px) {
    .marcas:not(.slick-initialized) > div { flex-basis: 50%; }
}
@media (max-width: 480px) {
    .marcas:not(.slick-initialized) > div { flex-basis: 100%; }
}
@media (max-width: 400px) {
    .carousel-list-products:not(.slick-initialized) > div { flex-basis: 50%; }
}
/* Match the 275x210 image cache before decoding, even if a plugin rewrites width. */
.cms-index-index .category-products-grid .product-image picture img {
    width: 275px;
    max-width: 100%;
    height: auto;
    aspect-ratio: 275 / 210;
    object-fit: contain;
}
/* Width transitions on Slick slides move the entire page during initialization. */
#chamadaList .gridChamada {
    transition: transform 300ms ease;
}
#chamadaList.carousel-nav:not(.slick-initialized) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    visibility: visible;
}
#chamadaList.carousel-nav:not(.slick-initialized) > .gridChamada {
    display: block;
    grid-area: 1 / 1;
    width: 100%;
    visibility: hidden;
}
#chamadaList.carousel-nav:not(.slick-initialized) > .gridChamada:first-child {
    visibility: visible;
}
#chamadaList .gridChamada img {
    display: block;
}

/* Keep the logo's original proportions after adding intrinsic HTML dimensions. */
.header-primary-container .logo-wrapper img {
    height: auto;
    object-fit: contain;
}
@media (max-width: 769px) {
    .header-primary-container .logo-wrapper img {
        width: var(--logo-mobile-width, auto);
    }
}
