/*
 Theme Name:   Avada Child Orban SA
 Description:  Custom Child Theme for Orban SA dynamic portfolio
 Author:       Your Name
 Template:     Avada
 Version:      1.0.0
 Text Domain:  orban-child
*/

/* Custom styles can be added below this line */

/* =================================================================
   1. CORRECTIFS MOBILES & TABLETTES (Inchangé, ça marche bien)
   ================================================================= */
.home header img { display:none !important; }


#gallery .awb-image-frame, #gallery span.fusion-imageframe.imageframe-none {
    width: 100%;
}


/* Force l'affichage du slider sur Tablette */
@media only screen and (max-width: 1024px) {
    #sliders-container, .fusion-slider-visibility { display: block!important; visibility: visible!important; }
}


/* =================================================================
   2. LE MOTEUR ÉLASTIQUE (PC & ECRANS GEANTS)
   ================================================================= */
@media only screen and (min-width: 1025px) {
    
    /* --- A. LA MAGIE DU ZOOM (SCALING) --- */
    /* On dit : "La taille de base du texte est égale à 0.8% de la largeur de l'écran" */
    /* Sur 1920px = 15px. Sur 7680px (8K) = 61px. TOUT va grandir automatiquement. */
    html { font-size: 0.8vw !important; }


    /* --- C. GALERIE & IMAGES (REMPLISSAGE) --- */
    /* On force TOUTES les images de contenu à remplir leur colonne */
    /* C'est ça qui va agrandir tes photos "timbres poste" */
    .fusion-image-element img, 
    .fusion-imageframe img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }
    
    
    /* --- F. MENU --- */
    /* On l'aère */
    .fusion-main-menu > ul > li > a {
        padding: 0 1.5vw !important;
        height: 6rem !important; line-height: 6rem !important;
    }
}

#contact .fusion-checklist,
    .coordonnees-list {
			align-self: center;
    --awb-size: 1rem !important;
    --awb-item-padding-left: 0px !important;
    --awb-iconcolor: var(--awb-color6) !important;
    --awb-line-height: 1.2rem !important;
    --awb-icon-width: 1rem !important;
    --awb-icon-height: 1rem !important;
    --awb-icon-margin: .5rem !important;
    --awb-content-margin: 1.5rem !important;
			
    }

a[href*="vauban"] img {
        height: 3.5rem !important; /* Hauteur fixe relative au texte */
        width: auto !important;  /* Largeur automatique (ratio respecté) */
        max-width: none !important; /* On débloque les limites */
    }


/* --- PATCH FLÈCHES CAROUSEL 8K --- */
@media only screen and (min-width: 1920px) {
    
    /* 1. Configuration commune des boutons (Gros + Centrés verticalement) */
    .fusion-image-carousel .awb-swiper-button {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 5rem !important;  /* Zone de clic plus grande */
        height: 5rem !important;
        background-color: rgba(255, 255, 255, 0.2) !important; /* Petit fond discret */
        border-radius: 50%;      /* Rond */
        z-index: 100 !important; /* Passe devant l'image */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* 2. Taille de l'icône (la flèche elle-même) */
    .fusion-image-carousel .awb-swiper-button i {
        font-size: 2rem !important; /* Flèche bien visible */
        line-height: 1 !important;
    }

    /* 3. Placement Flèche GAUCHE */
    .fusion-image-carousel .awb-swiper-button-prev {
        left: 20px !important;   /* Reste à 20px du bord gauche de l'image */
        right: auto !important;
    }

    /* 4. Placement Flèche DROITE */
    .fusion-image-carousel .awb-swiper-button-next {
        right: 20px !important;  /* Reste à 20px du bord droit de l'image */
        left: auto !important;
    }
}





.fusion-logo img, 
    .fusion-standard-logo, 
    .fusion-mobile-logo, 
    .fusion-sticky-logo {
        /* On écrase le "90px" d'Avada */
        max-height: none !important; 
        
        /* On lui donne une hauteur relative à la largeur de l'écran */
        height: 6rem !important; 
        
        width: auto !important;
    }




/* On applique ça partout SAUF sur la page d'accueil (qui a un slider) */
    body:not(.home) #main {
        /* On pousse le contenu vers le bas d'une valeur supérieure à la hauteur du menu */
        padding-top: 10rem !important; 
    }
    
    /* Optionnel : Si le titre "RÉFÉRENCES" est encore trop haut */
    body:not(.home) .fusion-page-title-bar {
        margin-top: 2rem !important;
    }
.fusion-fullwidth.fullwidth-box.fusion-builder-row-1.fusion-flex-container.has-pattern-background.has-mask-background.nonhundred-percent-fullwidth.non-hundred-percent-height-scrolling {
    margin-top: 0;
}




/* 1. Les Dates (Titres) */
    .fusion-content-boxes .content-box-heading {
        font-size: 2rem !important; /* Deviendra énorme en 8K */
        line-height: 1.2 !important;
        margin-bottom: 0.5rem !important;
    }

.content-box-shortcode-timeline-vertical {
    top: 5rem !important;
}

/* 1. On débloque tous les conteneurs parents (Div + Span) */
    .fusion-content-boxes .fusion-image-element,
    .fusion-content-boxes .fusion-imageframe {
        display: block !important;       /* Transforme le span en bloc */
        width: 70% !important;          /* Force la largeur totale */
        max-width: 100% !important;      /* Fait sauter les verrous */
    }

    /* 2. On étire l'image elle-même */
    .fusion-content-boxes img {
        width: 100% !important;          /* Remplit le bloc parent */
        height: auto !important;         /* Garde les proportions */
        display: block !important;
        object-fit: cover !important;    /* Remplit proprement */
        margin-top: 1.5rem !important;   /* Espace avec le texte */
    }



/* --- FIX TIMELINE FINAL (AXE FIXE + NETTOYAGE) --- */

    /* 0. NETTOYAGE GLOBAL */
    .fusion-content-boxes .content-box-column,
    .fusion-content-boxes .content-box-wrapper {
        padding: 0 !important;
        --awb-content-padding-left: 0px !important;
        margin-left: 0 !important;
    }

    /* 1. LA LIGNE VERTICALE (L'Axe principal) */
    /* On la fixe à 3rem (env. 50px) du bord gauche */
    .content-box-shortcode-timeline-vertical {
        border-left-width: 0.2rem !important; 
        border-left-style: solid !important;
        
        /* Position exacte : 3rem - (0.1rem demi-largeur) */
        left: 2.9rem !important; 
        
        top: 2rem !important; 
        bottom: 0 !important;
        height: 100% !important;
        z-index: 0 !important; 
    }

    /* 2. LE CONTENEUR DU POINT (Nettoyage du "Double Cercle") */
    .fusion-content-boxes .heading .icon {
        display: block !important;
        position: static !important;
        width: auto !important;
        
        /* C'est ICI qu'on tue le double cercle d'Avada */
        border: none !important;      
        background: transparent !important;
        box-shadow: none !important;
        
        /* On place le conteneur pour que le point tombe sur l'axe */
        margin-left: 2.4rem !important; /* 3rem - 0.6rem (demi-point) */
        margin-right: 0 !important;
    }

    /* 3. LE POINT (Le seul, l'unique) */
    .fusion-content-boxes .heading .icon span {
        display: block !important;
        width: 1.2rem !important;
        height: 1.2rem !important;
        
        border-radius: 50% !important;
        border-width: 0.25rem !important; 
        border-style: solid !important;
        background-color: #fff !important; 
        
        padding: 0 !important;
        margin: 0 !important;
        z-index: 10 !important; 
        box-sizing: border-box !important;
    }
    
    /* On cache l'icône intérieure (le 2ème cercle ou l'étoile) */
    .fusion-content-boxes .heading .icon i,
    .fusion-content-boxes .heading .icon .fontawesome-icon { 
        display: none !important; 
    }

    /* 4. LE HEADER (Date) */
    .fusion-content-boxes .heading {
        display: flex !important;
        align-items: center !important;
        margin-bottom: 1.5rem !important; /* Espace sous la date */
    }
    
    .content-box-heading {
        margin: 0 !important;
        padding: 0 !important;
        padding-left: 2rem !important; /* Espace entre le point et la Date */
    }

    /* 5. LE CONTENU (Texte + Image) */
    /* On décale tout le bloc de texte vers la droite */
    .fusion-content-boxes .content-container {
        /* Axe (3rem) + Espace voulu (3rem) = 6rem */
        padding-left: 6rem !important; 
        padding-top: 0 !important;
    }




/* =================================================================
   FIX LOGO ACCUEIL (Centrage Total & Non-déformé)
   ================================================================= */

/* 1. ON OUVRE LES PARENTS (Colonne & Wrapper) */
/* On s'assure que la colonne prend toute la largeur et centre le contenu */
.home .fusion-builder-row-1 .fusion-layout-column,
.home .fusion-builder-row-1 .fusion-column-wrapper {
    width: 100% !important;
    max-width: 100vw !important; /* Force la largeur d'écran totale */
    display: flex !important;
    justify-content: center !important; /* Centre horizontalement */
    align-items: center !important;
    overflow: visible !important; /* INTERDIT de couper le contenu */
    padding: 0 !important; /* Enlève les marges latérales d'Avada */
}

/* 2. LE CONTENEUR DU LOGO */
.home .main-logo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important; /* Prend toute la place dispo */
    
    /* Les marges demandées */
    padding-top: 2.5vh !important;
    padding-bottom: 2.5vh !important;
    
    /* Nettoyage */
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 3. L'IMAGE ELLE-MÊME */
.home .main-logo img {
    /* La hauteur qui commande tout */
    height: 15vh !important; 
    
    /* Largeur automatique = Ratio respecté (Pas déformé) */
    width: auto !important; 
    
    /* On fait sauter TOUS les verrous de taille */
    max-width: none !important; 
    max-height: none !important;
    min-width: 0 !important;
    
    /* Sécurité d'affichage */
    display: block !important;
    object-fit: contain !important; 
}

/* 4. PATCH OVERFLOW GLOBAL */
/* On s'assure que l'élément image d'Avada ne bloque pas */
.home .fusion-image-element {
    max-width: 100% !important;
    overflow: visible !important;
    text-align: center !important;
}


/* =================================================================
   PAGE D'ACCUEIL : SLIDER 80% HAUTEUR
   ================================================================= */

.home .fusion-slider-container,
.home .tfs-slider,
.home .flex-viewport,
.home .fusion-slider-loading {
    height: 80vh !important;
    min-height: 80vh !important;
    max-height: 80vh !important;
}

/* =================================================================
   DÉSACTIVER LE MENU MOBILE (HAMBURGER) ET FORCER LE MENU PC
   ================================================================= */
@media only screen and (max-width: 1024px) {
    
    /* 1. On cache définitivement le bouton Hamburger et le menu déroulant mobile */
    .fusion-mobile-menu-icons,
    .fusion-mobile-nav-holder {
        display: none !important;
    }

    /* 2. On FORCE le menu classique (PC) à rester visible */
    .fusion-main-menu {
        display: block !important;
        width: 100% !important; /* Prend la place dispo */
    }
/* 3. On met les liens en ligne et on INTERDIT le retour à la ligne */
    .fusion-main-menu > ul {
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important; 
        flex-wrap: nowrap !important; /* Ne passe PLUS JAMAIS à la ligne */
        gap: 10px !important; /* Espace propre et régulier entre les mots */
        padding: 0 !important;
        margin: 0 !important;
    }

    /* 4. On tasse au maximum pour que ça rentre sur les petits téléphones */
    .fusion-main-menu > ul > li > a {
        padding: 0 !important; /* On enlève les marges latérales (gérées par le gap) */
        font-size: 12px !important; /* Texte un chouia plus petit sur smartphone */
        white-space: nowrap !important; /* Le mot "Références" ne peut pas se couper en deux */
        height: auto !important; 
        line-height: normal !important;
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }
}

/* Layout Workspace Container Structure */
.orban-references-workspace {
    display: flex;
    gap: 40px;
    margin: 40px 0;
    align-items: flex-start;
}

/* Sidebar List Framework */
.orban-sidebar-filter {
    flex: 0 0 280px;
    background: #f8f9fa;
    padding: 25px;
    border-radius: 6px;
    border: 1px solid #e4e6eb;
    position: sticky;
    top: 100px;
}
.orban-sidebar-filter h3 {
    margin-top: 0;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 2px solid #1c1e21;
    padding-bottom: 10px;
}
.orban-villes-list {
    list-style: none;
    padding: 0;
    margin: 15px 0 0 0;
    max-height: 450px;
    overflow-y: auto;
}
.orban-villes-list li { margin-bottom: 8px; }
.orban-filter-btn {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.95rem;
    transition: all 0.2s ease;
}
.orban-filter-btn:hover, .orban-filter-btn.active {
    background: #1c1e21;
    color: #ffffff !important;
}
.orban-count { font-size: 0.8rem; opacity: 0.6; float: right; margin-top: 2px; }

/* Structural Custom Data Table */
.orban-table-container { flex: 1; background: #ffffff; }
.orban-custom-table { width: 100%; border-collapse: collapse; }
.orban-custom-table th {
    padding: 12px 15px;
    border-bottom: 2px solid #1c1e21;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.85rem;
}
.orban-custom-table td {
    padding: 20px 15px;
    border-bottom: 1px solid #e4e6eb;
    vertical-align: top;
}
.orban-project-title {
    font-weight: bold;
    font-size: 1.1rem;
    color: #1c1e21;
    display: block;
    margin-bottom: 5px;
}
.orban-project-desc { font-size: 0.95rem; color: #555; line-height: 1.5; }

/* Dynamic Status Badges */
.orban-badge-photo {
    background: #e3f2fd;
    color: #0d47a1;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: bold;
    text-transform: uppercase;
}
.orban-badge-empty {
    background: #f5f5f5;
    color: #9e9e9e;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    text-transform: uppercase;
}

/* ==========================================================================
   ORBAN SA - MODERN ARCHITECTURAL ACCORDION & FONTS INHERITANCE
   ========================================================================== */

/* Alignement global sur la charte typographique du site */
.orban-legacy-container,
.orban-accordion-title,
.orban-project-grid-title,
.orban-project-grid-text {
    font-family: inherit !important; /* Force l'utilisation de la police globale d'Avada */
    -webkit-font-smoothing: antialiased;
}

.orban-legacy-container {
    width: 100%;
    margin: 40px 0;
}

/* Structure de l'accordéon : Style Ligne épurée */
.orban-accordion-item {
    border-bottom: 1px solid #1c1e2130; /* Ligne fine noire style croquis d'architecte */
    margin-bottom: 0;
}

.orban-accordion-header {
    width: 100%;
    background: transparent !important; /* Suppression du fond gris lourd */
    border: none !important;
    padding: 24px 0px !important; /* Padding plus généreux et aérien */
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    box-shadow: none !important;
}

.orban-accordion-title {
    font-size: 1.4rem;
    font-weight: 500; /* Poids élégant, pas trop lourd */
    color: #1c1e21;
    text-transform: uppercase;
    letter-spacing: 1.5px; /* Espacement moderne des lettres */
    transition: letter-spacing 0.25s ease;
}

/* Effet discret au survol de la ligne */
.orban-accordion-header:hover .orban-accordion-title {
    letter-spacing: 2px; 
}

/* Remplacement du "+" texte par une icône géométrique animée en CSS */
.orban-accordion-icon {
    position: relative;
    width: 16px;
    height: 16px;
    display: inline-block;
    margin-right: 10px;
}

/* Ligne horizontale de l'icône */
.orban-accordion-icon::before {
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    width: 16px;
    height: 1px;
    background-color: #1c1e21;
    transition: transform 0.3s ease;
}

/* Ligne verticale de l'icône */
.orban-accordion-icon::after {
    content: '';
    position: absolute;
    top: 0;
    left: 7px;
    width: 1px;
    height: 16px;
    background-color: #1c1e21;
    transition: transform 0.3s ease, opacity 0.2s ease;
}

/* Animation lors de l'ouverture (Le + se transforme en - proprement) */
.orban-accordion-header[aria-expanded="true"] .orban-accordion-icon::after {
    transform: rotate(90deg);
    opacity: 0; /* Fait disparaître la barre verticale */
}

.orban-accordion-header[aria-expanded="true"] .orban-accordion-icon::before {
    transform: rotate(180deg); /* Légère rotation de la barre restante pour le style */
}

/* Zone de contenu déroulant */
.orban-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    background: transparent;
}

/* Grille interne de projets */
.orban-projects-clean-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 30px; /* Plus d'espace vertical entre les rangées de chantiers */
    padding: 30px 0px 50px 0px;
}

/* Titre des chantiers dans la grille */
.orban-project-grid-title {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    color: #1c1e21;
    letter-spacing: 1px;
    margin: 0 0 10px 0 !important;
    border-bottom: 1px solid #e4e6eb;
    padding-bottom: 8px;
}

/* Project Column Block Elements */
.orban-project-column {
    display: flex;
    flex-direction: column;
    background: #ffffff;
}
.orban-project-grid-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    margin: 0 0 12px 0 !important;
    color: #1c1e21;
    letter-spacing: 0.5px;
}
.orban-project-grid-text {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #4f545c;
    margin-bottom: 15px;
}
.orban-project-grid-text p { margin: 0 0 8px 0; }

/* Visual Asset Elements Code */
.orban-project-grid-media {
    margin-top: auto; /* Pousse l'image tout en bas pour aligner la grille */
}
.orban-responsive-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* Hardware-Accelerated Native CSS Scroll-Snap Slider */
.orban-native-slider {
    position: relative;
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
}
.orban-slider-track {
    display: flex;
    overflow-x: auto;
    scroll-visibility: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}
.orban-slider-track::-webkit-scrollbar { display: none; } /* Cache la scrollbar moche */
.orban-slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
}
.orban-slide img {
    width: 100%;
    height: auto;
    display: block;
}
.orban-slider-hint {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    padding: 3px 8px;
    font-size: 0.7rem;
    border-radius: 10px;
    text-transform: uppercase;
    pointer-events: none;
    letter-spacing: 0.5px;
}

/* Responsive Breakdown Rule Layers */
@media (max-width: 1024px) {
    .orban-projects-clean-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .orban-projects-clean-grid { grid-template-columns: 1fr; gap: 40px; }
}

/* Ajoutez ces définitions à la suite de vos styles orban précédents */

.orban-project-grid-media a.fusion-lightbox {
    display: block;
    position: relative;
    cursor: zoom-in; /* Curseur sous forme de loupe pour indiquer le clic */
}

/* Positionnement et Style des Flèches sur le Slider */
.orban-native-slider {
    position: relative;
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
}

.orban-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.85);
    color: #1c1e21;
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    z-index: 10;
    transition: all 0.2s ease;
}

.orban-slider-arrow:hover {
    background: #1c1e21;
    color: #ffffff;
}

.orban-slider-arrow.prev { left: 10px; }
.orban-slider-arrow.next { right: 10px; }

/* Supprime l'ancien texte indicateur "Défiler" devenu obsolète */
.orban-slider-hint { display: none; }

/* Forçage Strict du Ratio 3:2 sur l'ensemble de la Médiathèque des Références */
.orban-project-grid-media img,
.orban-responsive-img,
.orban-slide img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important; /* Force le conteneur à rester au format 600x400 */
    object-fit: cover !important;   /* Recadre l'image au centre sans l'étirer ni l'écraser */
    display: block;
}

/* Amélioration de l'indicateur visuel de la Lightbox d'Avada */
.orban-project-grid-media a.fusion-lightbox {
    display: block;
    position: relative;
    cursor: zoom-in !important; /* Curseur loupe pour indiquer que la photo s'ouvre en grand */
}

/* ==========================================================================
   ORBAN SA - RÉALISATIONS RÉCENTES SHOWCASE DESIGN (STRICT 1/3 CENTRÉ)
   ========================================================================== */

.orban-recent-showcase-wrapper {
    width: 100%;
    margin-bottom: 50px;
}

/* Passage en Flexbox pour permettre le centrage dynamique des éléments */
.orban-recent-grid {
    display: flex;
    justify-content: center; /* Centre les éléments horizontalement si < 3 */
    flex-wrap: wrap;
    gap: 30px; /* Conserve le même espacement exact entre les cartes */
    padding: 0;
    width: 100%;
}

/* Verrouillage strict de la taille à exactement 1/3 de la ligne */
.orban-recent-card {
    background: #ffffff;
    display: flex;
    flex-direction: column;
    /* Calcul ultra-précis : 33.333% moins la compensation des espaces (gap) */
    flex: 0 0 calc(33.333% - 20px); 
    max-width: calc(33.333% - 20px);
    box-sizing: border-box;
}

.orban-recent-media-box {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 4px;
}

/* Forçage du ratio 3:2 */
.orban-recent-media-box img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    object-fit: cover !important;
    display: block;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), filter 0.3s ease;
}

.orban-zoom-trigger {
    display: block;
    cursor: zoom-in !important;
}

.orban-recent-media-box:hover img {
    transform: scale(1.03);
    filter: brightness(0.95);
}

/* Typographies des métas */
.orban-recent-meta {
    padding: 15px 0;
}
.orban-recent-card-title {
    font-family: inherit !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    color: #1c1e21;
    margin: 0 0 4px 0 !important;
    letter-spacing: 0.5px;
}
.orban-recent-card-city {
    font-family: inherit !important;
    font-size: 0.85rem;
    color: #70757d;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Dégradation responsive fluide */
@media (max-width: 900px) {
    .orban-recent-card {
        flex: 0 0 calc(50% - 15px);
        max-width: calc(50% - 15px);
    }
}
@media (max-width: 600px) {
    .orban-recent-card {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* ==========================================================================
   ORBAN SA - ALIGNEMENT ET RESPIRATION DES BORDS DU SITE
   ========================================================================== */

.orban-recent-showcase-wrapper,
.orban-legacy-container {
    padding-left: 10rem !important;  /* Augmente à 40px ou 50px si le client veut encore plus d'air */
    padding-right: 10rem !important;
    box-sizing: border-box !important;
}

/* Ajustement responsive pour les smartphones (on réduit un peu sur petit écran) */
@media (max-width: 640px) {
    .orban-recent-showcase-wrapper,
    .orban-legacy-container {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }
}

/* ==========================================================================
   ORBAN SA - CORRECTIF ANTI-PIÈGE À SOURIS (SCROLL-JACKING)
   ========================================================================== */

.orban-slider-track {
    display: flex !important;
    overflow-x: hidden !important; /* BLOQUE définitivement le défilement molette/trackpad */
    overflow-y: hidden !important; /* Sécurité : empêche tout débordement vertical */
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: auto !important; /* Désactive le comportement de glissement natif */
}

/* On s'assure que l'image respecte ses proportions sans jamais déborder */
.orban-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
}