:root {
    --bs-bleu: #1B2644;
    --bs-jaune: #FFCC00;
    --bs-gris: #f4f4f8;
    --bs-blanc: #ffffff;
}

.couleur-gris {
    color: var(--bs-gris);
}

.couleur-texte-bleu {
    color: var(--bs-bleu);
}

.couleur-texte-jaune {
    color: var(--bs-jaune);
}

.background-gris {
    background-color: var(--bs-gris);
}

.background-bleu {
    background-color: var(--bs-bleu);
}

.btn {
    font-weight: bold;
    padding: 11px 20px;
    text-decoration: none;
    border-radius: 6px;
    border: none;
}
.btn-outline-part{
    border: 1px solid var(--bs-bleu);
    color: var(--bs-bleu);
}

.btn-outline-part:hover, .btn-outline-part:focus, .btn-outline-part:active{
    border: 1px solid var(--bs-jaune);
    color: var(--bs-bleu) !important;
}

.btn-gris {
    font-weight: bold;
    padding: 9px 20px;
    text-decoration: none;
    border-radius: 6px;
    border: none;
}

.btn-modal {
    font-weight: 600;
    padding: 11px 20px;
    text-decoration: none;
    border-radius: 6px;
    border: none;
}
.header-mobile .badge {
    font-weight: normal !important;
    height: 19px;
    text-decoration: none;
    border-radius: 6px;
    border: none;
}

.btn-primary, .btn-primary2 {
    color: var(--bs-blanc);
    background-color: var(--bs-bleu);
}
.btn-primary2:hover, .btn-primary2:focus, .btn-primary2:active{
    color: var(--bs-bleu) !important;
    background-color: var(--bs-jaune) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.btn:active {
    color: var(--bs-bleu);
    background-color: var(--bs-blanc);
}

.btn-warning, .btn-warning2 {
    background-color: var(--bs-jaune);
    color: var(--bs-bleu);
}
.btn-warning2:hover, .btn-warning2:focus, .btn-warning2:active{
    background-color: var(--bs-blanc);
    color: var(--bs-bleu) !important;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn:active,
.btn-warning.btn:active {
    background-color: var(--bs-bleu);
    color: var(--bs-blanc) !important;
}

@font-face {
    font-family: 'Montserrat';
    src: url("../fonts/Montserrat/Montserrat-Regular-IsraW4M.ttf") format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url("../fonts/Montserrat/Montserrat-Bold-I9n6UNk.ttf") format('truetype');
    font-weight: 700;
    font-style: normal;
}

.fs-texte {
    font-size: 8px;
}

.fs-bouton {
    font-size: 10px;
}

.fs-input {
    font-size: 9px !important;
}

.fs-13 {
    font-size: 13px;
}

.fs-18 {
    font-size: 15px;
}

.fs-12 {
    font-size: 12px;
}
.fs-16 {
    font-size: 12px;
}
.fs-titre-cheque {
    font-size: 9px;
}

.fs-titre {
    font-size: 15px;
}

.fs-sous-titre {
    font-size: 10px;
}

.fs-footer {
    font-size: 11px;
}

.fs-15 {
    font-size: 10px;
}

.fs-14 {
    font-size: 14px;
}

.fs-26 {
    font-size: 14px;
}

.fs-22 {
    font-size: 14px;
}

.fs-10 {
    font-size: 10px;
}

body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
    min-height: 100vh !important;
    color: var(--bs-bleu);
    width: 100%;
}

html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}
.container-bandeau{
    margin-top:40px;
}
.container-bandeau h2{
    margin-bottom:0.1rem;
}
.titre-wrapper {
    display: inline-block;
    position: relative;
}
.petales_cheque {
    position: absolute;
    top: -15px;
    right: 1px;
    width: 22px;
    height: 23px;
}
.petales_devis {
    position: absolute;
    top: -15px;
    right: 90px;
    width: 22px;
    height: 23px;
}
.petales_partenaire {
    position: absolute;
    top: -15px;
    right: 5px;
    width: 22px;
    height: 23px;
}

.petales_mention {
    position: absolute;
    top: -15px;
    right: -20px;
    width: 22px;
    height: 23px;
}

.petales {
    position: absolute;
    top: -15px;
    right: -10px;
    width: 22px;
    height: 23px;
}
.container-cheque .text-warning {
    color: var(--bs-jaune) !important;
}

.container-cheque a {
    color: var(--bs-bleu) !important;
}

a {
    text-decoration: none;
}

a:hover, a:focus {
    color: var(--bs-jaune) !important;
}

/******header mobile*****/
#mobileMenu .nav-link {
    padding-top: 0.25rem; /* ou moins si nécessaire */
    padding-bottom: 0.25rem;
    line-height: 1.2; /* facultatif pour resserrer encore */
}

.marge-menu {
    margin-top: 59px;
    width: 100vw;
}
.marge-btn{
    margin-top: 2rem !important;
}
.mobile-menu-toggle {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 1051; /* plus que le z-index du menu Bootstrap (1050 par défaut) */
    position: relative; /* nécessaire pour que z-index fonctionne */
}

.logo-container {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1052; /* Plus que le menu mobile et le bouton */
}

.logo-container-orleans {
    padding: 0px 30px 0px;
}
.logo-container-orleans img {
    max-height: 113px;
}

.margin-titre{
    margin-left: 0.5rem !important;
}

.logo-mobile {
    width: 54px;
    height: 39px;
}
.header-mobile .icone-utilisateur svg{
    width: 7px;
    height: 8px;
}
.header-mobile .icone-devis svg, .icone-devis svg path{
    width: 6px;
    height: 7px;
    fill: var(--bs-blanc) !important;
}
.logo-footer {
    width: 69px;
    height: 50px;
}

/*******fin header***************/
.tab-item {
    position: relative;
    cursor: pointer;
    padding: 8px 0;

}

.image-container {
    z-index: 1;
}

.image-container img {
    position: relative;
    z-index: 2; /* l’image reste visible au-dessus de l’overlay */
    height:81px;
}

.active-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 28px;
    background-color: var(--bs-gris);
    border-radius: 10px;
    z-index: -1;
    transform: scaleX(1.30); /* élargit l’overlay*/
    transform-origin: center;
    border: 2px solid var(--bs-blanc);
    box-shadow: 5px 5px 5px #00000029;
}

.tab-item .active-overlay {
    display: block;
    animation: fadeIn 0.3s ease;
}

.tab-item.active .active-overlay {
    background-color: var(--bs-jaune);
}

.tab-item:hover .tab-content-wrapper {
    background-color: rgba(200, 200, 200, 0.1);
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Style existant à conserver */
.cheque-tabs {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    width: 90%;
   /* z-index: 20;*/
}

/******/
.marge-titre {
    margin-top: 35px;
}

.container-cheque .petales-bleu {
    text-align: right;
    margin-right: 56px;
}

.icone-panier svg, .icone-mode svg, .icone-brico svg, .icone-tech svg, .icone-jouets svg, .icone-bijoux svg, .icone-sports svg, .icone-magasins svg, .icone-voyages svg {
    width: 12px;
    height: 12px;
}

.blue-banner {
    padding-bottom: 49px !important;
}


/************menu search*********/
.search-bar-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 30px;
}

.search-bar-container .dropdown-menu{
    z-index: 9999;
}

.choix-activite, .selectionner-tout{
    width: 14px;
    height: 14px;
    margin-right: 10px;
}

.choix-activite:checked, .selectionner-tout:checked {
    background-color: var(--bs-bleu);
}

.search-bar-container .dropdown-item.active, .search-bar-container .dropdown-item:active {
    background-color: var(--bs-bleu);
}

.search-input-group input.form-control {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.search-input-group {
    flex: 1;
    display: flex;
}

.search-input-group .form-control {
    border: none;
    padding: 10px 14px;
}
.recherche-enseigne{
    padding: 5px!important;
    padding-left: 13px!important;
    padding-bottom: 7px!important;
    overflow: hidden!important;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 28px;
    font-weight: var(--bs-body-font-weight);
}
.recherche-enseigne::placeholder{
    color: #999;
}
.select2-selection--single {
    border: 0 !important;
    height: 100% !important;
    padding: 5px;
}
.select2-selection__rendered{
    font-size: 9px;
}
.select2-selection--single .select2-selection__arrow {
    display: none;
}

.select2-container .select2-search--inline .select2-search__field {
    height: 25px !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--bs-bleu) !important;
}

.filter-dropdown {
    position: relative;
}

.filter-dropdown .dropdown-menu {
    min-width: 220px;
}

.filter-dropdown .dropdown-menu li {
    padding: 6px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.dropdown-toggle::after {
    display: none !important;
}

.icone-trait {
    width: 27px;
    height: 27px;
}

.dropdown .btn {
    padding: 4px 8px;
}

.svg-icone-enseigne svg, .svg-icone-position svg {
    width: 25px;
    height: 14px;
}

.toggle-button:active .svg-icone-enseigne svg path, .toggle-button:focus .svg-icone-enseigne svg path, .toggle-button:active .svg-icone-position svg path, .toggle-button:focus .svg-icone-position svg path {
    fill: var(--bs-blanc) !important;
}

.toggle-button {
    background-color: white;
    color: var(--bs-bleu);
}

.btn-check:checked + .toggle-button {
    background-color: var(--bs-bleu);
    color: white;
}

.btn-check:checked + .toggle-button .svg-icone-enseigne svg path, .btn-check:checked + .toggle-button .svg-icone-position svg path {
    fill: var(--bs-blanc) !important;
}

.serach-bar-mobile {
    margin-right: 5%;
    margin-left: 5%;
}

.btn-loupe {
    padding: 4px 8px;
    border-radius: 0px 6px 6px 0px;
    box-shadow: 5px 5px 20px #1B264417;
}

.pied-page a, .section-cheque a, .accordion a, .custom-container a {
    color: var(--bs-bleu);
}

.footer-copyright {
    height: 42px;
}

.list-footer {
    list-style: none;
    text-align: left;
}

.section-cheque {
    padding-right: 6%;
    padding-left: 6%;
    padding-top: 28px;
    padding-bottom: 10px;
}
.section-offres {
    padding-right: 6%;
    padding-left: 6%;
    padding-top: 50px;
    padding-bottom: 35px;
}

.bandeau-pied-page {
    padding-top: 28px;
}

.icone-sav svg {
    width: 20px;
    height: 20px;
}

.icone-partenaire svg {
    width: 30px;
    height: 30px;
}

.badge-sav {
    padding-right: 5%;
    padding-left: 5%;
}
.container-partenaire{
    padding-right: 3%;
    padding-left: 3%;
}

.marge-badge-top {
    margin-top: 6px;
}

.custom-sur-footer {
    margin-top: 17px;
}

.custom-sur-footer-question {
    margin-top: 40px;
    margin-bottom: 40px;
}

.custom-container {
    padding-right: 7%;
    padding-left: 7%;
}
.custom-container-faq {
    padding-right: 7%;
    padding-left: 7%;
}


.container-cheque {
    padding-right: 7%;
    padding-left: 7%;
}

.espace {
    margin-top: 23px;
}

.bg-offres {
    background-color: rgba(255, 204, 0, 0.13);
}

#newsletterEmail {
    width: 220px;
}

.bloc-card-img {
    height: 110px; /* ajuste cette hauteur selon ta taille d'image idéale */
    display: flex;
    justify-content: center;
    align-items: center;
}

.bloc-card-img img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain; /* pour que l'image garde son ratio sans déformer */
}

/*****menu***/
.close-icon {
    /*position: absolute;*/
    height: 52px !important;
    margin-left: 10px !important;
    z-index: 1051;
    cursor: pointer;
}
.close-icon svg {
    margin-top: 10px !important;
}

.active-mobile, .active-mobile:focus, .active-mobile:hover {
    background-color: var(--bs-bleu);
    padding-left: 1rem;
    color: var(--bs-blanc) !important;
    height: 30px;
    display: flex;
    align-items: center;
}

.sous-card {
    max-height: 140px;
    height: 140px
}

/*****faq**/
.faq .fac-ul{
    border: 1px solid var(--bs-blanc);
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 6px;
}
.faq .nav-pills .nav-link {
    border-radius: 6px;
    padding: 8px 16px;
    color: var(--bs-bleu) ;
}

.faq .nav-pills .nav-link.active {
    background-color: var(--bs-bleu);
    color: var(--bs-blanc) !important;
    box-shadow: 5px 5px 20px #1B264417;
}

/******************/
.icon-activite svg, .icone-panier svg, .icone-mode svg, .icone-brico svg, .icone-tech svg, .icone-jouets svg, .icone-bijoux svg, .icone-sports svg, .icone-magasins svg, .icone-voyages svg {
    width: 12px;
    height: 12px;
}

.search-input-group input[type="text"]:focus {
    box-shadow: none;
}
@media (min-width: 576px) {
    .container-cheque .petales-bleu {
        margin-right: 136px;
    }
}

@media (min-width: 768px) {
    .fs-texte {
        font-size: 12px;
    }

    .fs-titre {
        font-size: 30px;
    }

    .fs-titre-cheque {
        font-size: 12px;
    }

    .fs-sous-titre {
        font-size: 20px;
    }

    .fs-bouton {
        font-size: 14px;
    }

    .icone-partenaire svg {
        width: 44px;
        height: 44px;
    }

    .fs-15 {
        font-size: 15px;
    }
    .fs-16 {
        font-size: 16px;
    }

    .fs-13 {
        font-size: 15px;
    }

    .fs-12 {
        font-size: 15px;
    }

    .fs-18 {
        font-size: 18px;
    }

    .fs-input {
        font-size: 13px !important;
    }

    .fs-footer {
        font-size: 14px;
    }

    .fs-10 {
        font-size: 13px;
    }

    .fs-14 {
        font-size: 20px;
    }

    .fs-26 {
        font-size: 26px;
    }

    .fs-22 {
        font-size: 22px;
    }

    .marge-titre {
        margin-top: 96px;
    }

    .sous-card {
        max-height: 170px;
        height: 170px;
    }

    /******header*****/


    .logo-container {
        background: #ffffff;
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
        padding: 0px 30px 20px;
        max-height: none;
        z-index: 10;
        position: relative;
        margin-bottom: -30px;
        transform: none;
        height: auto;
        left: auto;
    }

    .nav-tabs .nav-link {
        border: none;
        background-color: transparent;
        text-transform: uppercase;
        color: var(--bs-bleu);
        border-bottom: 4px solid transparent;
    }

    .nav-tabs .nav-link.active {
        font-weight: bold;
        border-bottom: 4px solid var(--bs-jaune);
    }

    /*******fin header***************/
    .select2-selection__rendered{
        font-size: 13px;
    }
    .blue-banner {
        padding-bottom: 86px !important;
    }

    .cheque-tabs {
        background-color: var(--bs-blanc);
    }

    .cheque-tabs {
        background-color: var(--bs-blanc);
    }

    .cheque-tabs .cheque-tab {
        height: 68px;
    }

    .tab-item .active-overlay {
        display: none;
    }

    .tab-item.active .active-overlay {
        height: 83px;
        transform: scaleX(1.1);
        background-color: var(--bs-gris);
        display: block;
        animation: fadeIn 0.3s ease;
    }

    .container-cheque .petales-bleu {
        margin-right: -8px;
    }
    .container-bandeau{
        margin-top:80px;
    }
    .petales_cheque {
        width: 55px;
        height: 59px;
        top: -30px;
        right: -1px;
    }
    .petales_devis {
        width: 55px;
        height: 59px;
        top: -30px;
        right: 253px;
    }
    .petales_partenaire {
        width: 55px;
        height: 59px;
        top: -30px;
        right: 215px;
    }
    .petales_mention {
        width: 55px;
        height: 59px;
        top: -30px;
        right: -45px;
    }

    .petales {
        width: 55px;
        height: 59px;
        top: -30px;
        right: -30px;
    }

    .svg-icone-enseigne svg, .svg-icone-position svg {
        width: 35px;
        height: 24px;
    }

    .icon-activite svg, .icone-panier svg, .icone-mode svg, .icone-brico svg, .icone-tech svg, .icone-jouets svg, .icone-bijoux svg, .icone-sports svg, .icone-magasins svg, .icone-voyages svg {
        width: 20px;
        height: 20px;
    }

    .search-bar-container {
        gap: 8px;
        width: 80%;
        margin-right: 10%;
        margin-left: 10%;
        margin-top: 85px;
    }

    .dropdown .btn {
        padding: 9px 10px;
    }

    .btn-gris {
        padding: 11px 20px;
    }

    .bandeau-pied-page {
        padding-right: 10%;
        padding-left: 10%;
        padding-top: 33px;
    }

    .section-cheque {
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .section-offres {
        padding-top: 100px;
        padding-bottom: 70px;
    }

    .list-footer {
        padding-left: 0;
    }
    .logo-footer {
        width: 156px;
        height: 113px;
    }

    .custom-container {
        padding-right: 10%;
        padding-left: 10%;
    }
    .custom-container-faq {
        padding-right: 20%;
        padding-left: 20%;
    }

    .container-cheque {
        padding-right: 11.5%;
        padding-left: 11.5%;
    }

    .icone-sav svg {
        width: 32px;
        height: 32px;
    }

    .marge-badge-top {
        margin-top: 13px;
    }

    .custom-sur-footer {
        margin-top: 70px;
    }

    .custom-sur-footer-question {
        margin-top: 129px;
        margin-bottom: 129px;
    }

    .espace {
        margin-top: 63px;
    }

    #newsletterEmail {
        width: 342px;
    }
}

@media (min-width: 992px) {
    .tab-item.active .active-overlay {
        transform: scaleX(1.3);
    }

    .fs-titre-cheque {
        font-size: 16px;
    }
    .container-cheque .petales-bleu {
        margin-right: 37px;
    }

}

@media (min-width: 1200px) {
    .tab-item.active .active-overlay {
        transform: scaleX(1.5);
    }

    .container-cheque .petales-bleu{
        margin-right : 315px;
    }
    .logo-container-orleans img {
        max-height: 153px;
    }
}

@media (min-width: 1400px) {

}