
 
    @import 'bootstrap3-modal.css';


    * {
        font-family: var(--font);
        font-size: 12px;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        text-decoration: none;
        outline: none;

        transition: all .2s linear;
    }

    body {
        background-color: #ffffff;
        margin: 0;
        padding: 0;
        overflow-x: hidden !important;
    }

    section {
        padding: 25px 0;
    }

    section:nth-child(2n+1) {
        background-color: #F5F7FC;
    }

    @media (max-width: 992px) {
        section {
            padding: 45px 0;
        }
    }





    a:focus {
        outline: none;


    }





    /* Style de la section principale */
    .title-section {
        text-align: center;
        /* Centre le titre et le paragraphe */
        max-width: 600px;
        /* Évite que le texte s'étale trop sur grand écran */
        margin: 10px auto;
        /* Centre le bloc horizontalement et ajoute de l'espace haut/bas */

    }

    /* Gestion du titre principal (H1) */
    .title-section h1 {
        font-size: 40px;
        /* Converti : 2.5rem -> 40px */
        color: #2c3e50;
        /* Couleur sombre et élégante pour le texte principal */
        margin-bottom: 12px;
        line-height: 1.2;
    }

    .title-section span {
        font-size: 40px;
        /* Converti : 2.5rem -> 40px */
        color: var(--color-site-1);
        /* Couleur sombre et élégante pour le texte principal */
        margin-bottom: 12px;
        line-height: 1.2;
    }

    /* Le sous-titre "Nos Meilleurs" (Créatif & Léger) */
    .title-section .sous-titre {
        display: block;
        font-family: 'Caveat', 'Comic Sans MS', cursive;
        /* Ajout de la police manuscrite */
        font-size: 26px;
        /* Augmenté car les polices manuscrites taillent souvent plus petit */
        font-weight: 600;
        /* Ajusté pour une meilleure lisibilité en manuscrit */
        color: var(--color-site-1);
        text-transform: none;
        /* RECOMMANDÉ : Supprime l'uppercase, le manuscrit TOUT EN MAJUSCULES est souvent illisible */
        letter-spacing: 1px;
        /* Réduit l'espacement pour que les lettres s'attachent mieux */
        margin-bottom: 5px;
    }

    /* La partie "Hôtels Recommandés" (Uniforme & Impactante) */
    .title-section .fw-semibold {
        font-weight: 700;
        /* Met en valeur le sujet principal */
        letter-spacing: -0.5px;
    }

    /* Le paragraphe de description (Simple & Lisible) */
    .title-section p {
        font-size: 17px;
        /* Converti : 1.05rem -> ~17px (exactement 16.8px) */
        color: #7f8c8d;
        /* Un gris doux pour que le titre reste la priorité visuelle */
        font-weight: 300;
        margin-top: 0;
        position: relative;
        display: inline-block;
        padding-bottom: 15px;
    }

    /* Petite touche créative : Une fine ligne décorative sous le paragraphe */
    .title-section p::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 50px;
        /* Largeur de la ligne */
        height: 3px;
        /* Épaisseur de la ligne */
        background-color: var(--color-site-1);
        /* Rappel de la couleur d'accent */
        border-radius: 2px;
    }




    /* Style de base du masque pour l'icône monochrome */
    #search .img-filtre-mask {
        width: 16px;
        height: 16px;
        display: inline-block;
        background-color: #5a738e;
        /* Couleur par défaut du texte de l'onglet (Gris Houzez) */

        /* Propriétés du masque CSS */
        -webkit-mask-image: var(--icon-url);
        mask-image: var(--icon-url);
        -webkit-mask-size: contain;
        mask-size: contain;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;

        transition: background-color 0.25s ease, transform 0.2s ease;
    }

    /* Couleur au Survol (Hover) -> Bascule sur var(--color-site-2) ou color-site-1 */
    #search .nav-tabs.all li a:hover .img-filtre-mask {
        background-color: var(--color-site-2);
        transform: scale(1.05);
    }

    /* Couleur à l'état Actif -> Devient blanche pour trancher avec le fond bleu de l'onglet */
    #search .nav-tabs.all li.active a .img-filtre-mask,
    #search .nav-tabs.all li a.active .img-filtre-mask {
        background-color: #ffffff !important;
        transform: scale(1);
    }

    /* ==========================================================================
   CONFORMITÉ ET DESIGN DE LA SECTION HERO (SLIDER DE FOND)
   ========================================================================== */
    .hero {
        position: relative;
        width: 100%;
        background-color: #f4f7f9;
        /* Marge basse pour laisser respirer le contenu suivant (Hôtels, etc.) 
     car le moteur de recherche va dépasser en absolu vers le bas */

    }

    /* --- 1. Gestion des Sliders de fond --- */
    .hero .full-slider,
    .hero .banner-bg-wrap {
        width: 100%;
        height: 520px;
        /* Hauteur fixe idéale pour un bandeau panoramique pro */
        overflow: hidden;
        position: relative;
    }

    /* Forçage et uniformisation des images du slider principal */
    .hero .owl-image,
    .hero .hero-inner {
        width: 100%;
        height: 100%;
    }

    .hero .owl-image img,
    .hero .hero-inner img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* L'image s'adapte à la largeur et hauteur sans être écrasée */
        object-position: center;
        /* Reste centrée horizontalement et verticalement */
    }

    /* Optionnel : Effet d'assombrissement léger sur l'image pour que les onglets se détachent mieux */
    .hero .owl-image::after,
    .hero .hero-inner::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.4) 100%);
        pointer-events: none;
    }


































    .btn-list a {
        color: white !important;
        font-size: 16px !important;

    }

    .description a :hover {
        color: var(--color-site-1) !important;

    }















    .modal.swal2-backdrop-show {
        background: rgba(35, 87, 132, .6);
    }

    .swal2-container {
        display: grid;
        position: fixed;
        z-index: 100000;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        grid-template-areas:
            "top-start top top-end"
            "center-start center center-end"
            "bottom-start bottom-center bottom-end";
        grid-template-rows: minmax(-webkit-min-content, auto) minmax(-webkit-min-content, auto) minmax(-webkit-min-content, auto);
        grid-template-rows: minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);
        height: 100%;
        overflow-x: hidden;
        padding: 1.25rem;
    }

    .swal2-container.swal2-center>.swal2-popup {
        grid-column: 2;
        grid-row: 2;
        align-self: center;
        justify-self: center;
    }

    @media screen and (min-width: 991.98px) {
        .modal_popup--promo {
            max-height: 600px;
            max-width: 970px;
        }
    }

    .modal_popup {
        background: #fff;
        border-radius: 8px;
        position: relative;
    }

    /* .swal2-popup {
            display: none;
            position: relative;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            grid-template-columns: minmax(0,100%);
            max-width: 100%;
        }*/
    @media screen and (min-width: 575.98px) {
        .modal_popup--promo .modal_popup-close {
            top: 30px;
            right: 30px;
        }
    }

    .modal_popup--promo .modal_popup-close {
        position: absolute;
        font-size: 32px;
        top: 20px;
        right: 20px;
        color: #000;
    }

    .swal2-close {
        z-index: 2;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-self: end;
    }

    .modal_popup--promo .modal_popup-close {
        position: absolute;
        font-size: 32px;
        top: 20px;
        right: 20px;
        color: #000;
    }

    @media (min-width: 992px) {
        .d-lg-flex {
            display: -webkit-box !important;
            display: -ms-flexbox !important;
            /* display: flex!important; */
        }
    }

    @media screen and (min-width: 991.98px) {
        .modal_popup--promo .media img {
            height: 100%;
        }
    }

    .media img {
        position: relative;
        z-index: 1;
    }

    .modal_popup--promo .main_subtitle {
        color: #235784;
        margin-bottom: 30px;
        height: 46px;
        border-left: 3px solid #235784;
        padding-left: 10px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    @media screen and (min-width: 991.98px) {
        .modal_popup--promo .main_title {
            font-size: 40px;
            line-height: 44px;
        }
    }

    @media screen and (min-width: 991.98px) {
        .modal_popup--promo .main_text {
            margin: 20px 0 30px;
        }
    }


    @media (max-width: 767px) {
        .popup-promo {
            width: 64% !important;
        }

        .popup-home-close {
            position: sticky !important;
        }
    }

    .jsuite-home {
        width: auto !important;
        min-width: 241px !important;
    }

    .etiquettes-home {
        position: absolute;
        top: 12px;
        left: 12px;
        z-index: 2;
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .label-success {
        background-color: #10b981;
        /* Vert épuré moderne */
        color: #ffffff;
        font-size: 12px;
        font-weight: 600;
        padding: 6px 10px;
        border-radius: var(--border-radius);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        align-self: flex-start;
    }


    .label-danger {
        font-size: 12px;
    }

    #disponible {
        font-size: 18px;
    }




    .dropdown-select-open {
        position: absolute;
        left: -20px;
        right: 0;
        top: 84px;
        background: #fff;
        z-index: 999;
        -webkit-border-radius: 0px;
        -moz-border-radius: 0px;
        border-radius: 0px;
        -webkit-box-shadow: 0px 8px 20px 0px rgb(0 0 0 / 15%);
        -moz-box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15);
        box-shadow: 0px 8px 20px 0px rgb(0 0 0 / 15%);
        /* padding: 5px; */
        margin: 0 20px;
        width: 140%;
        border-bottom: 1px solid var(--color-site-1);

    }

    @media only screen and (max-width: 991px) {
        .dropdown-select-open {
            width: 100%;
        }
    }








    .btn-block {
        width: 100%;
    }


    .drp-buttons .applyBtn {
        color: #fff;
        background-color: var(--color-site-2);
        border-color: var(--color-site-2);
    }


    .bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {

        width: 100%;
    }













    .bootstrap-select>select {
        opacity: 1 !important;
    }

    .scrolltop-btn {
        position: fixed;
        right: 30px;
        bottom: 30px;
        width: 40px;
        height: 40px;
        text-align: center;
        font-size: 24px;
        background-color: var(--color-site-2);
        color: #fff;
        padding: 0;
        z-index: 999;
        font-size: 12px;
    }

    .tab-content {
        display: flex;
        flex-direction: column;
    }







    /* Style global de la carte */
    .card {

        /* Largeur idéale pour une disposition en grille (Grid) */
        background-color: #ffffff;
        border-radius: calc(var(--border-radius) * 2);
        overflow: hidden;
        /* Permet à l'image de suivre l'arrondi des coins de la carte */
        border: 1px solid var(--color-border);
        /* Ombre douce autour de la carte */

        transition: transform 0.3s ease, box-shadow 0.3s ease;
        ;
    }

    /* Effet de survol sur la carte */
    .card:hover {
        transform: translateY(-5px);
        /* La carte monte légèrement */
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        /* L'ombre devient plus profonde */
    }

    /* Image principale de l'hôtel */
    .img-hotel {
        display: block;
        /* Supprime l'espace vide parasite sous l'image */
        width: 100%;
        /* Prend toute la largeur de la carte (360px) */
        height: 220px;
        /* Force TOUTES les images à faire exactement 220px de haut */
        min-height: 220px;
        /* Sécurité : empêche l'image de s'écraser */
        max-height: 220px;
        /* Sécurité : empêche l'image de dépasser */
        object-fit: cover;
        /* Coupe proprement l'image (haut/bas ou gauche/droite) sans la déformer */
    }

    /* Zone de contenu sous l'image */
    .details {
        padding: 20px;
    }

    /* Titre de l'hôtel */
    .hotel-title {
        font-size: 18px;
        font-weight: 700;
        color: #2c3e50;
        margin: 0 0 5px 0;
    }

    /* Étoiles de notation */
    .details-rating {
        margin: 0 0 15px 0;
    }

    .star-rating {
        color: #FFD700;
        /* Belle couleur or pour les étoiles */
        font-size: 14px;
        margin-right: 2px;
    }

    /* Ligne de séparation fine */
    .hr-separator {
        height: 1px;
        background-color: #eceff1;
        margin-bottom: 15px;
    }

    /* Localisation (Hammamet) */
    .localisation {
        font-size: 14px;
        color: #7f8c8d;
        display: flex;
        align-items: center;
        gap: 6px;
        margin-bottom: 20px;
    }

    .img-detail-hotel {
        width: 16px;
        height: 16px;
    }

    /* Pied de la carte (Conteneur Prix + Bouton) */
    .card-footer {
        display: flex;
        justify-content: space-between;
        /* Aligne le prix à gauche et le bouton à droite */
        align-items: center;
        padding: 0;
        background: none;
        border: none;
    }

    /* Badge du Prix (Style léger) */
    .btn-light {
        background-color: #f8f9fa;
        color: #2c3e50;
        font-size: 13px;
        font-weight: 600;
        padding: 8px 12px;
        border-radius: var(--border-radius);
        border: 1px solid #e9ecef;
        pointer-events: none;
        /* Désactive le clic puisqu'il s'agit d'une information */
    }

    /* Bouton Réserver (Créatif et visible) */
    .btn-list {
        background-color: var(--color-site-1);
        /* Orange dynamique */
        color: #ffffff;
        font-size: 14px;
        font-weight: 700;
        text-decoration: none;
        padding: 10px 18px;
        border-radius: var(--border-radius);
        letter-spacing: 1px;
        transition: background-color 0.2s ease;
        display: inline-block;
    }

    /* Changement de couleur au survol du bouton */
    .btn-list:hover {
        background-color: #e65100;
        /* Orange plus foncé */
        color: #ffffff;
    }

    /* Nettoyage des floats pour la compatibilité */
    .clearfix {
        clear: both;
    }

    /* Conteneur principal de la liste des onglets */
    .houzez-tabs.nav-tabs {
        border-bottom: none !important;
        /* Supprime la ligne grise par défaut de Bootstrap */
        gap: 10px;
        /* Espace entre chaque onglet */
        padding: 15px 0;
        flex-wrap: wrap;
        /* Permet aux onglets de passer à la ligne proprement sur mobile */
    }

    /* Style de base de chaque élément de liste (li) */
    .houzez-tabs.nav-tabs li {
        margin: 0;
        list-style: none;
    }

    /* Style des liens / boutons d'onglets (par défaut) */
    .houzez-tabs.nav-tabs .nav-link {
        display: inline-block;
        padding: 10px 20px;

        font-size: 14px;
        font-weight: 600;
        color: #5a738e;
        /* Couleur du texte non sélectionné */
        background-color: #f4f7f9;
        /* Fond gris très clair par défaut */
        border: 1px solid #e1e8ed !important;
        /* Bordure fine et uniforme */
        border-radius: var(--border-radius) !important;
        /* Coins très arrondis style "pilule/badge" */
        text-decoration: none;
        text-align: center;
        transition: all 0.25s ease;
    }

    /* Effet au survol des onglets (Hover) */
    .houzez-tabs.nav-tabs .nav-link:hover {
        color: var(--color-site-1);
        /* Rappel du orange pour la cohérence */
        background-color: #ffffff;
        border-color: var(--color-site-1) !important;
        transform: translateY(-1px);
        /* Léger effet de soulèvement */
    }

    /* Style de l'onglet Actif / Sélectionné */
    /* Prise en compte du cas où la classe 'active' est sur le 'li' ou sur le 'a' */
    .houzez-tabs.nav-tabs li.active .nav-link,
    .houzez-tabs.nav-tabs .nav-link.active {
        color: #ffffff !important;
        background-color: var(--color-site-1) !important;
        /* Fond orange vif pour l'élément actif */
        border-color: var(--color-site-1) !important;
        box-shadow: 0 4px 10px rgba(255, 152, 0, 0.25);
        /* Ombre légère lumineuse sous l'actif */
    }

    /* Retrait des contours d'accessibilité bleus au clic (focus) */
    .houzez-tabs.nav-tabs .nav-link:focus {
        outline: none;
        box-shadow: none;
    }

    /* ==========================================================================
   1. SECTION HERO & BANNIÈRE PANORAMIQUE
   ========================================================================== */
    .hero {
        position: relative;
        width: 100%;

    }

    /* Uniformisation des sliders (Desktop) */
    .hero .full-slider,
    .hero .banner-bg-wrap {
        width: 100%;
        height: 520px;
        /* Hauteur fixe idéale */
        overflow: hidden;
        position: relative;
    }

    .hero .owl-image,
    .hero .hero-inner,
    .hero .owl-image img,
    .hero .hero-inner img {
        width: 100%;
        height: 100%;
    }

    .hero .owl-image img,
    .hero .hero-inner img {
        object-fit: cover;
        /* Recadrage parfait sans déformation */
        object-position: center;
        /* Centrage automatique de la photo */
    }

    /* Voile d'assombrissement pour faire ressortir les onglets du filtre */
    .hero .owl-image::after,
    .hero .hero-inner::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.35) 100%);
        pointer-events: none;
    }




    /* ==========================================================================
   RESPONSIVE CARDS & CAROUSEL ON MOBILE (PRECONNECT MAX 767PX)
   ========================================================================== */
    @media (max-width: 767px) {


        /* Scale down the hotel image proportionally on mobile */
        .img-hotel {
            width: 100%;
            height: auto;
            min-height: 180px;
            max-height: 220px;
        }

        /* Prevent card-footer elements from overflowing when screen is narrow */
        .card-footer {
            flex-wrap: wrap;
            gap: 8px;
        }

        /* Reduce card margin and text sizes on small screens */
        .details {
            padding: 15px;
        }

        .hotel-title {
            font-size: 16px;
        }

        .btn-light {
            font-size: 11px;
            padding: 6px 10px;
        }

        .btn-list {
            font-size: 12px;
            padding: 8px 14px;
        }

        .star-rating {
            font-size: 12px;
        }

        .localisation {
            font-size: 12px;
        }

        /* Reduce title-section spacing on mobile */
        .title-section {
            max-width: 100%;
            padding: 0 15px;
            margin: 25px auto;
        }

        .title-section h1 {
            font-size: 28px;
        }

        .title-section p {
            font-size: 14px;
        }
    }




    @media only screen and (min-width: 992px) {


        #search .form {
            position: relative;
            z-index: 3;
            margin-top: -16%;
        }
    }




    @media (min-width: 992px) {

        /* Cible toutes les colonnes directes à l'intérieur de la ligne du filtre */
        #search .tab-pane .row>[class*="col-"] {
            padding-left: 2.5px !important;
            padding-right: 2.5px !important;
        }

        /* Optionnel : Aligne parfaitement le premier et le dernier bloc avec les bords du conteneur bleu */
        #search .tab-pane .row {
            margin-left: -2.5px !important;
            margin-right: -2.5px !important;
        }


    }

    #search {
        background: #fff;
        padding: 20px 0;
        font-family: var(--font);
    }

    #search .container {
        max-width: 1200px;
        margin: 0 auto;
    }

    /* Encadrement global du formulaire (Bordure bleue de la maquette) */
    #search .panel-body#form-search {
        border: 1px solid var(--color-border);
        border-radius: calc(var(--border-radius) * 2);
        /* Légèrement plus arrondi pour le conteneur */
        padding: 20px 15px;
        background: #ffffff;
    }

    /* Alignement vertical Bootstrap 3 (Flexbox safe sur .row pour l'alignement des bas de champs) */
    #search .tab-pane .row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    /* Annulation du display: table de Bootstrap 3 qui casse le flex sur le .row */
    #search .tab-pane .row::before,
    #search .tab-pane .row::after {
        display: none !important;
    }

    /* Nettoyage des anciennes bordures Bootstrap */
    #search .borderright {
        border-right: none !important;
    }

    #search #number-night input {
        text-align: center;
    }

    /* --- Structure des Blocs de Saisie --- */

    #search .form-group {
        margin-bottom: 0;
        /* Annule le margin-bottom natif de BS3 */
        position: relative;
    }

    /* Libellés (DESTINATION, DATES DU SÉJOUR, CHAMBRE(S)) */
    #search .form-group label,
    #search .form-group .label-filtre {
        display: block;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        color: #4a5568;
        margin-bottom: 8px;
        letter-spacing: 0.5px;
    }

    /* Conteneur de l'input (Bordure fine de la maquette) */
    #search .input-group,
    #search #tab-transfert .form-group {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        border: 1px solid var(--color-border);
        border-radius: var(--border-radius);
        background-color: #ffffff;
        height: 54px;
        /* Hauteur fixe alignée sur la maquette */
        -webkit-transition: border-color 0.2s;
        transition: border-color 0.2s;
    }

    /* Focus sur le bloc complet */
    #search .input-group:focus-within {
        border-color: var(--color-site-2);
    }

    /* Icônes de gauche */
    #search .input-group-addon {
        background: transparent !important;
        border: none !important;
        padding-left: 15px !important;
        padding-right: 10px !important;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        float: none !important;
        width: auto !important;
    }

    #search .contact-form-action .form-control {
        border: 1px solid var(--color-border);
    }

    #search .input-group-addon img,
    #search .input-group-addon .social-icon-svg {
        width: 18px;
        height: 18px;
    }

    #tab-transfert .contact-form-action .dropdown-btn,
    #tab-transfert .form-control.read-only,
    #tab-transfert .typeahead__container .typeahead__field input,
    .contact-form-action .form-control {
        border: transparent !important;
    }

    /* Champs de texte et Triggers (Typeahead, Daterange, Passagers) */

    #tab-search .form-control,
    #tab-search input[type="text"],
    #tab-search .typeahead__container input,
    #tab-voyages .form-control,
    #tab-voyages input[type="text"],
    #tab-voyages .typeahead__container input {
        border: none !important;
        height: 50px !important;
        background: transparent !important;
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        padding: 10px 15px 10px 0 !important;
        font-size: 14px;
        color: var(--text-color);
        width: 100% !important;
        display: block !important;
    }

    #search .form-control.read-only {
        cursor: pointer;
    }

    /* Gestion du plugin Typeahead / Conteneurs internes */
    #tab-search .typeahead__container,
    #tab-search .typeahead__field,
    #tab-search .typeahead__query {
        width: 100%;
        min-height: 50px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    /* --- Bouton Rechercher Principal --- */

    #search .btn-list,
    #search button[id^="btnSearch"],
    #search button[id^="Search"] {
        background: var(--color-site-1) !important;
        /* #ff6e00 */
        color: #ffffff !important;
        border: none !important;
        border-radius: var(--border-radius) !important;
        height: 54px !important;
        /* Même hauteur exacte que les .input-group */
        padding: 0 15px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        text-transform: capitalize !important;
        /* Transforme "RECHERCHER" en "Recherche" */
        width: 100%;
        cursor: pointer;
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        -webkit-transition: background-color 0.2s;
        transition: background-color 0.2s;
    }

    #search .btn-list:hover,
    #search button[id^="btnSearch"]:hover,
    #search button[id^="Search"]:hover {
        filter: brightness(0.9);
        /* Assombrit légèrement l'orange au survol */
    }

    /* Onglets du formulaire (Panel Headings si présents) */
    #search .panel-heading {
        border: none;
        background: transparent;
        padding: 0;
        margin-bottom: 4px;
    }

    #search .nav-tabs.all {
        border-bottom: 2px solid var(--color-border);
    }

    #search .nav-tabs.all>li>a {
        border: none !important;
        color: var(--text-color);
        font-weight: 600;
        background: #fff !important;
    }

    #search .nav-tabs.all>li.active>a,
    #search .nav-tabs.all>li.active>a:hover,
    #search .nav-tabs.all>li.active>a:focus {
        border: none !important;
        color: #ffffff !important;
        border-bottom: 3px solid var(--color-site-2) !important;
        background: var(--color-site-2) !important;
    }

    /* Ajustements Responsive pour les versions Tablettes / Mobiles */
    @media (max-width: 991px) {
        #search .tab-pane .row {
            display: block;
            /* Désactive le flex pour retrouver le comportement grid BS3 */
        }

        #search .tab-pane .row>[class*="col-"] {
            margin-bottom: 15px;
        }

        #search .tab-pane .row>[class*="col-"]:last-child {
            margin-bottom: 0;
        }
    }

    section .tab-content {
        display: flex;
        flex-direction: column;
    }

    section .tab-content>.tab-pane {
        display: block !important;
        height: 0;
    }

    section .tab-content>.active {
        display: block !important;
        height: auto;
    }

    /* Carte façon "image arrondie + texte en bas" */
    .voyage-card {
        display: block;
        border-radius: var(--border-radius);
        /* arrondi comme sur la photo */
        overflow: hidden;
        position: relative;
        text-decoration: none;
        height: 360px;
        /* adapte selon ton besoin */
        background: #0b2a3a;
        box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
        transform: translateZ(0);
        transition: transform .25s ease, box-shadow .25s ease;
    }

    .voyage-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 45px rgba(0, 0, 0, .22);
    }

    /* Média */
    .voyage-card__media {
        position: absolute;
        inset: 0;
    }

    .voyage-card__img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* image couvrante comme photo */
        display: block;
        transform: scale(1.02);
        transition: transform .35s ease;
    }

    .voyage-card:hover .voyage-card__img {
        transform: scale(1.07);
    }

    /* Overlay sombre/bleu pour rendre le texte lisible */
    .voyage-card__overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top,
                rgba(0, 0, 0, 0.70) 0%,
                rgba(0, 0, 0, 0.20) 55%,
                rgba(0, 0, 0, 0.05) 100%);
    }

    /* Texte en bas, centré */
    .voyage-card__content {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;

        padding: 18px 18px 16px;
        color: #fff;

        text-align: center;
    }

    /* Titres */
    .voyage-title {
        margin: 0 0 6px;
        font-size: 34px;
        /* comme "Croatie" */
        font-weight: 700;
        letter-spacing: .2px;
        line-height: 1.1;
    }

    .voyage-subtitle {
        font-size: 16px;
        /* comme "32 voyages" */
        font-weight: 600;
        opacity: .95;
    }

    /* Footer / CTA (petit badge) */
    .voyage-card__footer {
        margin-top: 14px;
    }

    .voyage-cta {
        color: #fff;
        display: inline-block;
        padding: 10px 18px;
        border-radius: var(--border-radius);
        background: var(--color-site-1);
        border: 1px solid var(--color-site-1);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .6px;
    }

    /* Responsive */
    @media (max-width: 576px) {
        .voyage-card {
            height: 300px;
        }

        .voyage-title {
            font-size: 28px;
        }
        
    }

#tab-transfert .form-control,#tab-transfert .form-control.read-only{
    padding-left: 35px;
}


    /* Votre classe de carte doit être en hauteur 100% */

    .hotel-card {
        width: 100%;

        background: #fff;
        border: 1px solid var(--color-border);
        border-radius: var(--border-radius);
        overflow: hidden;
        display: flex;
        flex-direction: column;
        font-family: var(--font);
        color: var(--text-color);
    }

    .hotel-card__img-wrap {
        position: relative;
        height: 190px;
        overflow: hidden;
    }

    .hotel-card__img-wrap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.4s ease;
    }

    .hotel-card:hover .hotel-card__img-wrap img {
        transform: scale(1.04);
    }

    .hotel-card__tags {
        position: absolute;
        top: 10px;
        left: 10px;
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
    }

    .tag {
        font-family: var(--font);
        font-size: 10px;
        font-weight: 600;
        padding: 3px 8px;
        border-radius: var(--border-radius);
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

    .tag--promo {
        background: red;
        color: #fff;
    }

    .tag--info {
        background: rgb(135, 211, 0);
        color: #fff;
    }

    .hotel-card__body {
        padding: 14px 16px 12px;
        display: flex;
        flex-direction: column;
        gap: 9px;
        flex: 1;
    }

    .hotel-card__header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px;
    }

    .hotel-card__name,
    .hotel-card__name a {
        font-size: 14px;
        font-weight: 600;
        color: var(--text-color);
        margin: 0;
        line-height: 1.35;
    }

    .hotel-card__stars {
        display: flex;
        gap: 1px;
        flex-shrink: 0;
        margin-top: 2px;
    }

    .hotel-card__stars i {
        font-size: 12px;
        color: #FFD700;
    }

    .hotel-card__stars i.empty {
        color: var(--color-border);
    }

    .hotel-card__location {
        display: flex;
        align-items: center;
        gap: 5px;
        font-size: 12px;
        color: var(--text-color);
        margin: 0;
    }

    .hotel-card__location i {
        font-size: 13px;
        color: var(--color-site-3);
    }

    .hotel-card__divider {
        height: 1px;
        background: var(--color-border);
    }

    .hotel-card__footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .hotel-card__price {
        font-size: 11px;
        color: #6b8aaa;
        line-height: 1.3;
    }

    .hotel-card__price strong {
        display: block;
        font-size: 20px;
        font-weight: 600;
        color: var(--color-site-1);
        letter-spacing: -0.02em;
        line-height: 1.1;
    }

    .hotel-card__price span {
        font-size: 11px;
        color: #9ab3c8;
    }

    .hotel-card__login-hint {
        font-size: 11px;
        color: #9ab3c8;
    }

    .hotel-card__login-hint a {
        color: var(--color-site-2);
        font-weight: 500;
        text-decoration: none;
    }

    .btn-reserve {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 9px 16px;
        border-radius: var(--border-radius);
        border: none;
        background: var(--color-site-2);
        color: #fff;
        font-family: var(--font);
        font-size: 12px;
        font-weight: 600;
        text-decoration: none;
        letter-spacing: 0.02em;
        transition: background 0.15s;
    }


    .btn-reserve:hover {
        color: #fff;
        background-color: color-mix(in srgb, var(--color-site-2), black 15%) !important;
        box-shadow: 0 6px 16px color-mix(in srgb, var(--color-site-2), transparent 60%);
        transform: translateY(-1px);
    }