.bg-gradient {
    background-image: var(--bs-gradient) !important;
}

div {
    display: block;
    unicode-bidi: isolate;
}

.page-estimation .col-12 {
    flex: 0 0 auto;
    width: 100%;
}

.page-estimation .row>* {
    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);
}

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

.pt-0 {
    padding-top: 0 !important;
}

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

.p-3 {
    padding: 1rem !important;
}

.p-4 {
    padding: 1.5rem !important;
}

.border-end {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.page-estimation .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.page-estimation .card {
    --bs-card-spacer-y: 1.5rem;
    --bs-card-spacer-x: 1.5rem;
    --bs-card-border-color: var(--bs-border-color);
    --bs-card-cap-bg: transform;
    --bs-card-border-radius: var(--bs-border-radius-xl);
    --bs-card-inner-border-radius: calc(var(--bs-border-radius-xl) - (var(--bs-border-width)));
}

.page-estimation .listing-form {
    position: relative;
    border: 0;
}

.shadow-lg {
    box-shadow: var(--bs-box-shadow-lg) !important;
}

.accordion-item {
    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color) !important;
}

.accordion {
    --bs-accordion-btn-icon-width: 1rem;
    --bs-accordion-btn-hover-icon: url(data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E);
}

.rounded-4 {
    border-radius: var(--bs-border-radius-xl) !important;
}

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

.accordion-collapse {
    transition: height 0.35s ease, padding 0.35s ease;
}

.accordion-collapse:not(.show) .accordion-body {
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition: padding 0.35s ease;
}

.accordion-body p {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
}

#accordionExample .accordion-body {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#accordionExample .accordion-body p {
    margin: 0 !important;
    padding: 0 !important;
}

img {
    max-width: 100%;
    height: auto;
}

#estimation-img {
    width: auto;
    height: auto;
}

.svg-container {
    width: 90%;
    /* Le conteneur prendra 90% de la largeur de l'écran */
    max-width: 1200px;
    /* Largeur maximale pour les grands écrans */
    padding: 20px;
}

/* S'assure que le SVG prend toute la largeur de son conteneur sans se déformer */
svg {
    width: 100%;
    height: auto;
    display: block;
}



@media (min-width: 992px) {
    .page-estimation .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
        margin-top: 1rem;
    }

    .page-estimation .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
        margin-top: 1rem;
    }
}

@media (max-width:768px) {

    .section-header__title {
        font-size: 1.6rem;
    }

    .section-header__subtitle {
        font-size: 1.2rem;
    }

    .sub-title {
        font-size: 14px;
    }

    .page-estimation .card-icon {
        display: none;
    }

    .page-estimation .card {
        padding: 20px;
    }

    .section-header__title {
        font-size: 1.6rem;
    }

    .accordion-button {
        font-size: 16px;
        padding: 16px;
    }

    .accordion-body {
        font-size: 14px;
    }

    .bg-gradient {
        padding: 15px;
    }

}

@media (max-width:991px) {

    .btn-estimation-mobile {
        position: fixed;
        left: 15px;
        right: 15px;
        bottom: calc(15px + env(safe-area-inset-bottom));
        z-index: 9999;

        display: flex;
        justify-content: center;
        align-items: center;

        padding: 16px;
        font-weight: 600;
        font-size: 16px;

        border-radius: 12px;

        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);

        transform: translateY(100px);
        opacity: 0;

        transition: all .35s ease;
    }

    .btn-estimation-mobile.visible {
        transform: translateY(0);
        opacity: 1;
    }



}