/* ========= Bootstrap Critical CSS ========= */
* {
    margin: 0;
    padding: 0;
    outline: none;
    box-sizing: border-box;
}

body {
    font-size: 16px;
    font-family: 'Nunito', sans-serif;
}

#getPriceBotaoDesktop,
.btn-getprice-mobile {
    display: none;
}

/* INICIOS BOOSTRAP */
.d-none {
    display: none !important;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    display: none;
}

/* Utility classes */
.d-flex {
    display: flex !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.align-items-center {
    align-items: center !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.flex-row {
    flex-direction: row !important;
}

.flex-column {
    flex-direction: column !important;
}

.flex-column-reverse {
    flex-direction: column-reverse !important;
}

.text-center {
    text-align: center !important;
}

.text-white {
    --bs-text-opacity: 1;
    color: #fff !important;
}

.text-uppercase {
    text-transform: uppercase !important;
}

.fw-bold {
    font-weight: 700 !important;
}

.fs-2 {
    font-size: calc(1.325rem + .9vw) !important;
}

.mt-3 {
    margin-top: 1rem !important;
}

.mt-5 {
    margin-top: 3rem !important;
}

.mb-3 {
    margin-bottom: 1rem !important;
}

.mb-4 {
    margin-bottom: 1.5rem !important;
}

.mb-5 {
    margin-bottom: 3rem !important;
}

.my-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.my-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
}

.gap-2 {
    gap: .5rem !important;
}

.gap-3 {
    gap: 1rem !important;
}

.gap-5 {
    gap: 3rem !important;
}

/* Container & Grid */
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-right: auto;
    margin-left: auto;
}

.container {
    padding-right: 1rem;
    padding-left: 1rem;
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}

.row>* {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}

/* Bootstrap CSS Media Queries */
@media (min-width: 576px) {

    .container,
    .container-sm {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .d-md-block {
        display: block !important;
    }

    .container,
    .container-md,
    .container-sm {
        max-width: 720px;
    }

    .ps-md-4 {
        padding-left: 1.5rem !important;
    }

    .py-md-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .pt-md-5 {
        padding-top: 3rem !important;
    }

    .offset-md-1 {
        margin-left: 8.33333333%;
    }
}

@media (min-width: 992px) {
    .justify-content-lg-start {
        justify-content: flex-start !important;
    }

    .flex-lg-row {
        flex-direction: row !important;
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .py-lg-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }

    .me-lg-auto {
        margin-right: auto !important;
    }

    .order-lg-1 {
        order: 1 !important;
    }

    .navbar-expand-lg {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }

    .navbar-expand-lg .navbar-nav {
        flex-direction: row;
    }

    .navbar-expand-lg .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }
}

@media (min-width: 1200px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 1280px !important;
    }
}

@media (min-width: 1400px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1320px;
    }
}

/* MODAL BOOTSTRAP CSS */
.modal {
    --bs-modal-zindex: 1055;
    --bs-modal-width: 500px;
    --bs-modal-padding: 1rem;
    --bs-modal-margin: 0.5rem;
    --bs-modal-color: ;
    --bs-modal-bg: var(--bs-body-bg);
    --bs-modal-border-color: var(--bs-border-color-translucent);
    --bs-modal-border-width: var(--bs-border-width);
    --bs-modal-border-radius: var(--bs-border-radius-lg);
    --bs-modal-box-shadow: var(--bs-box-shadow-sm);
    --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
    --bs-modal-header-padding-x: 1rem;
    --bs-modal-header-padding-y: 1rem;
    --bs-modal-header-padding: 1rem 1rem;
    --bs-modal-header-border-color: var(--bs-border-color);
    --bs-modal-header-border-width: var(--bs-border-width);
    --bs-modal-title-line-height: 1.5;
    --bs-modal-footer-gap: 0.5rem;
    --bs-modal-footer-bg: ;
    --bs-modal-footer-border-color: var(--bs-border-color);
    --bs-modal-footer-border-width: var(--bs-border-width);
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--bs-modal-zindex);
    display: none;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0;
}

.navbar>.container,
.navbar>.container-fluid,
.navbar>.container-lg,
.navbar>.container-md,
.navbar>.container-sm,
.navbar>.container-xl,
.navbar>.container-xxl {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between;
}

.w-100 {
    width: 100% !important;
}

/* FINAL BOOTSTRAP CSS */

/* ========= Banner Home Critical CSS - Prevent Layout Shift ========= */

/* Prevent banner layout shift with fixed heights */
.banner-home {
    position: relative;
    min-height: 400px;
    contain: layout style paint;
    isolation: isolate;
}

@media (min-width: 768px) {
    .banner-home {
        min-height: 500px;
    }
}

@media (min-width: 1200px) {
    .banner-home {
        min-height: 600px;
    }
}

.banner-home .swiper {
    min-height: 400px;
    overflow: hidden;
    will-change: transform;
    transform: translateZ(0);
}

@media (min-width: 768px) {
    .banner-home .swiper {
        min-height: 500px;
    }
}

@media (min-width: 1200px) {
    .banner-home .swiper {
        min-height: 600px;
    }
}

.banner-home .swiper-wrapper {
    min-height: 400px;
}

@media (min-width: 768px) {
    .banner-home .swiper-wrapper {
        min-height: 500px;
    }
}

@media (min-width: 1200px) {
    .banner-home .swiper-wrapper {
        min-height: 600px;
    }
}

.banner-home .slide {
    min-height: 400px;
    display: flex;
    align-items: center;
    background-color: #FFF1E3;
}

@media (min-width: 768px) {
    .banner-home .slide {
        min-height: 500px;
    }
}

@media (min-width: 1200px) {
    .banner-home .slide {
        min-height: 600px;
    }
}

/* Prevent font layout shift */
body {
    font-family: "Source Sans 3 Fallback", Arial, sans-serif;
}

/* Reserve space for text content */
.banner-home h1 {
    min-height: 80px;
}

.banner-home .fs-md {
    min-height: 72px;
    line-height: 1.5;
}

/* Visibility optimization - hide non-active slides */
.banner-home .swiper-slide:not(.swiper-slide-active) {
    visibility: hidden;
}

/* Force GPU acceleration */
.banner-home .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
