﻿/* supprimer titre des images des carousels */
.sppb-carousel-caption {
    display: none !important;
}
/* FORMULAIRE */
button.rsform-submit-button.rsform-thankyou-button.btn.btn-primary {
    background-color: #d8c409 !important;
    border: none !important;
}
/* Page Collaborons : image (largeur naturelle 765px, plus etroite que le conteneur) */
/* centree sur la tranche 1024px (992-1199.98px). */
@media (min-width: 992px) and (max-width: 1199.98px) {
#sppb-addon-a30a4e4d-2510-4ec3-b5ec-4204ced887f1 .sppb-addon-content,
#sppb-addon-a30a4e4d-2510-4ec3-b5ec-4204ced887f1 .sppb-addon-single-image-container {
    display: flex !important;
    justify-content: center !important;
}
#sppb-addon-a30a4e4d-2510-4ec3-b5ec-4204ced887f1 .sppb-addon-single-image-container img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
}

/* Volet du menu burger (offcanvas) : typographie des liens, fond aligne sur le bandeau */
/* principal (#757A89, meme opacite - couleur pleine, pas de transparence separee trouvee), */
/* et couleur/soulignement au survol. */
.offcanvas-menu {
    background-color: #757A89 !important;
}
.offcanvas-menu .offcanvas-inner ul.menu > li > a,
.offcanvas-menu .offcanvas-inner ul.menu > li > span,
.offcanvas-menu .offcanvas-inner ul.menu > li > ul li a {
    font-family: "baileywick-jf-gothic", sans-serif !important;
    text-transform: uppercase !important;
}
/* Selecteurs larges (n'importe quel lien/texte, sans supposer la structure interne exacte) */
/* pour etre surs de couvrir le bon element quelle que soit sa profondeur d'imbrication. */
.offcanvas-menu a:hover,
.offcanvas-menu a:focus,
.offcanvas-menu span:hover,
.offcanvas-menu span:focus,
.sp-megamenu-wrapper a:hover,
.sp-megamenu-wrapper a:focus,
.sp-megamenu-wrapper span:hover,
.sp-megamenu-wrapper span:focus {
    color: #D8C409 !important;
    text-decoration: underline !important;
}

/* SMARTPHONE (<=600px) : bloc d'origine, perimetre inchange pour ne pas regresser le vrai mobile */

@media (max-width: 600px) {
.container, .container-sm {
        padding-top: 80px;
}
.logo-image-phone {
        padding-left: 15px !important;
    }
#sp-header {
    top: 0 !important;
    left: 0px !important;
}
  nav.sp-megamenu-wrapper.d-flex {
    margin-top: -80px;
}
.burger-icon {
    border: 1px solid #d8c409 !important;
    margin-right:20px;
   /* margin-top: -158px;*/
}
.burger-icon>span {
    background-color: #d8c409 !important;
}
/* Adresse du bandeau de contact (haut de page) : trop longue en une seule ligne sur mobile */
/* (white-space:nowrap impose par le theme), on autorise le retour a la ligne. */
.sp-contact-time {
    white-space: normal !important;
}
}
/* Selecteur de langue (drapeaux) du bandeau du haut : masque sur tous les formats utilisant */
/* le menu burger (mobile + tablette, jusqu'a 1199.98px), ou il fait doublon avec le */
/* selecteur de langue du menu burger (position "offcanvas"). Reste visible sur desktop */
/* (>=1200px), qui n'a pas d'equivalent ailleurs. */
/* "visibility:hidden" (au lieu de display:none) pour ne pas retirer l'element du flux et */
/* eviter un reflow qui deplacerait d'autres elements (ex: bouton burger) dans l'en-tete. */
@media (max-width: 1199.98px) {
#sp-top3 {
    visibility: hidden !important;
    width: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
}

/* TABLETTE (768-1199.98px, couvre 768px et 1024px) : bloc dedie, separe du bloc SMARTPHONE */
/* ci-dessus pour eviter toute regression sur le vrai mobile (375-425px). */
@media (min-width: 601px) and (max-width: 1199.98px) {
.container, .container-sm {
        padding-top: 80px;
}
#sp-header {
    top: 0 !important;
    left: 0px !important;
}
.sp-contact-time {
    white-space: normal !important;
}
}
/* Menu : le burger de Bootstrap (d-lg-none) ne se declenche qu'a 992px, donc pas encore a */
/* 1024px. On force le meme comportement (burger visible, menu horizontal masque) jusqu'a 1199.98px. */
/* Sans effet sur le vrai mobile (le burger y est deja visible nativement des 992px et moins). */
@media (max-width: 1199.98px) {
#offcanvas-toggler.d-lg-none {
    display: flex !important;
}
.sp-megamenu-parent.d-lg-block {
    display: none !important;
}
}

/* Grille de l'en-tete : #sp-logo/#sp-menu utilisent col-lg-1/col-lg-11 (Bootstrap), actives */
/* des 992px et SANS limite haute - le logo se retrouve coince dans 1/12 de la largeur du */
/* container (~90-115px selon la largeur d'ecran), trop etroit, y compris sur desktop large. */
/* En dessous de 992px ces classes n'existent pas et la ligne (flex) dimensionne les deux */
/* blocs a leur contenu naturel : on reproduit ce comportement partout ou col-lg-1 s'applique. */
@media (min-width: 992px) {
/* Sans nowrap, #sp-logo (auto) + #sp-menu (auto) peuvent depasser 100% de large cumules, */
/* ce qui declenche le retour a la ligne par defaut des rows Bootstrap (flex-wrap:wrap) - */
/* #sp-menu (et le bouton burger qu'il contient) se retrouve alors sur une 2e ligne, */
/* debordant sous l'en-tete (fixed, hauteur fixe qui ne s'adapte pas a 2 lignes). */
#sp-header .row {
    flex-wrap: nowrap !important;
}
#sp-logo.col-lg-1 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
}
#sp-menu.col-lg-11 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
}
}

/* TABLETTE UNIQUEMENT (768-1199.98px) : bouton burger et logo mobile a cette echelle - les */
/* isoler du vrai mobile evite de casser un rendu deja correct en dessous de 768px. */
@media (min-width: 768px) and (max-width: 1199.98px) {
.logo-image-phone {
    height: 36px;
    width: auto;
}
/* Bouton burger : 80px de haut par defaut (theme) contre 60px pour l'en-tete tablette */
/* (regle ci-dessus) - sans ajustement, le bouton depasse et se retrouve rogne. */
#offcanvas-toggler {
    height: 60px !important;
    line-height: 60px !important;
}
/* Style du bouton burger (couleur, marge) : present dans le bloc SMARTPHONE d'origine mais */
/* pas reporte dans ce bloc tablette lors de la separation des deux plages - le bouton */
/* reprenait donc la couleur sombre du theme et se retrouvait colle au bord droit. */
.burger-icon {
    border: 1px solid #d8c409 !important;
    margin-right: 20px;
}
.burger-icon > span {
    background-color: #d8c409 !important;
}
}
/* Bouton burger decale 20px de plus vers la gauche, uniquement sur la tranche 1024px (992-1199.98px) */
@media (min-width: 992px) and (max-width: 1199.98px) {
.burger-icon {
    margin-right: 40px;
}
}
/* Petit logo Aster (bandeau gris) decale 30px vers la droite, uniquement sur la tranche 768px (md) */
@media (min-width: 768px) and (max-width: 991.98px) {
.logo-image-phone {
    margin-left: 30px;
}
}

/* Le conteneur nav.sp-megamenu-wrapper s'etire plus haut que l'en-tete pour une raison non */
/* identifiee avec certitude (le forcer en height:60px+overflow:hidden n'a eu aucun effet, */
/* signe que ce n'est pas le bon levier). Solution robuste : positionner le bouton burger */
/* en absolu par rapport a #sp-header (deja position:fixed, donc "positioned ancestor" */
/* valide) - sa position ne depend alors plus du flux/hauteur de nav.sp-megamenu-wrapper. */
@media (min-width: 768px) and (max-width: 1199.98px) {
#offcanvas-toggler {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    right: 20px !important;
    height: 36px !important;
    line-height: 36px !important;
}
}
/* Pied de page */
#sp-footer ul.menu li {
    display: block; !important;
}
#sp-footer, #sp-bottom{
    background: #757A89 !important;
}
#sp-footer a, #sp-bottom a {
    color: #d8c409 !important;
}

/*HEADER */
#sp-header .row {
    margin-top: -10px !important;
}
div#sp-top1, div#sp-top2, div#sp-top3 {
    padding-top: 10px;
}
/*ANCRES*/
.anchor {height:0; font-size:0; visibility:hidden; display:block; position:relative; top:-100px;}

/*barre du haut */

section#sp-section-1 {
    background-color: #000000;
}
.sp-contact-info li, .sp-contact-info li a {
font-size: 16px !important;
color:#8f929b;
}
.sp-contact-info li a:hover {
color: #d8c409 !important
}

ul.social-icons a {
color: #8f929b;
font-size: 25px !important;
}
ul.social-icons a:hover {
    color: #d8c409 !important;
}
/*----*/
.page-header{
display:none !important;}
h1 {
font-family: "baileywick-jf-gothic", sans-serif;
font-weight: 400;
font-style: normal;
color: #d8c409;
}
h2{
font-family: "open-sans", sans-serif;
font-weight: 400;
font-style: normal;
}
p{
font-family: "open-sans", sans-serif;
font-weight: 400;
font-style: normal;
font-size : 20px !important;
line-height: 16px !important;
}
/* Bandeau logos Home page */
.sppb-carousel-extended-team-content.sppb-carousel-layout1{
    display: none;
}
/* Testimonial home page */
.sppb-addon-testimonial-pro-client-name{
font-family: "open-sans", sans-serif;
font-weight: 700;
font-style: normal;
font-size : 20px !important;
}
.sppb-addon-testimonial-pro-client-designation{
font-family: "open-sans", sans-serif;
font-weight: 100 !important;
font-style: normal;
font-size : 20px !important;
display : inline-block;
}
#sppb-carousel2 .sppb-carousel-inner{
border:none !important;
}
.sppb-carousel-inner {
    border: none !important;
}
/*MENU */
.sp-megamenu-parent>li>a, .sp-megamenu-parent>li>span {
    font-family: "baileywick-jf-gothic", sans-serif;
    font-weight: 400 !important;
    font-style: normal;
    text-transform: uppercase;
    display: inline-block;
    padding: 0 25px;
    line-height: 50px;
    font-size: 20px;
    margin: 0;
    font-weight: 500;
    border-right: dotted #000000 2px;
}
#sp-header {
    height: 60px;
    width: 100%;
    position: fixed;
    z-index: 99;
    animation: spFadeIn 0.5s;
    top: 50px;
}
.sp-megamenu-parent>li:before {
    background-color: #d8c409 !important;
    bottom: 12px !important;}
.logo-image {
    padding-left: 40px;
}
.sp-megamenu-parent {
    padding-right: 120px;
}
/* Supression du picto horloge */
.fa-clock, .fa-clock-four {
    --fa: "ï";
    display: none;
}

/* Sections plein ecran (hauteur uniquement, largeur non modifiee) : Industrie / Institutions / Medical */
/* Pages "Home" (UK/en-GB) et "Accueil" (FR) */

/* Le carousel remplit 100% de l'espace vertical restant entre le titre et la legende (pas de valeur fixe) */
:is(#section-id-72af8b5d-3fd0-4763-b848-81ca5b17886c,
    #section-id-b1e90cc4-0efd-4301-a7c8-b067cbd4a988,
    #section-id-b3e4f323-768e-4b17-b065-0dd25b0ea41e,
    #section-id-fb4a6236-d0cc-446f-aab9-43e08b973647,
    #section-id-0a1b5d42-2e96-4cd2-8dea-5d784a02a330,
    #section-id-2639e011-885a-41ef-9690-19a0d896657e) {
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    box-sizing: border-box;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column;

    /* Chaine flex complete : chaque niveau doit relayer l'espace disponible au suivant */
    & .sppb-container-inner,
    & .sppb-row,
    & .sppb-row-column,
    & .sppb-column,
    & .sppb-column-addons {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    /* Titre et legende : taille naturelle */
    & .addon-root-text-block {
        flex: 0 0 auto;
    }

    /* Le bloc carousel (desktop CarouselCK ou mobile SP Page Builder) prend l'espace restant, reduit de 10% */
    /* margin/padding a 0 pour supprimer l'espace par defaut entre le carousel et la legende */
    & .addon-root-module,
    & .addon-root-carousel {
        flex: 1 1 0;
        min-height: 0;
        max-height: calc(90% - 110px);
        overflow: hidden;
        display: flex;
        flex-direction: column;
        margin: 0 !important;
        padding: 0 !important;
    }
    & .addon-root-module .clearfix,
    & .addon-root-carousel .clearfix,
    & .addon-root-module .sppb-addon,
    & .addon-root-carousel .sppb-addon,
    & .addon-root-module .sppb-addon-content,
    & .addon-root-carousel .sppb-addon-content {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        min-height: 0;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Carousel desktop (CarouselCK) : remplit 100% de l'espace qui lui est alloue */
    & .carouselck_wrap,
    & .carouselck_images,
    & .carouselck_link {
        height: 100% !important;
        flex: 1 1 auto;
        min-height: 0 !important;
        overflow: hidden !important;
    }
    & .carouselck_wrap img {
        height: 100% !important;
        width: 100%;
        object-fit: cover !important;
    }

    /* Carousel mobile (SP Page Builder) : meme logique */
    & .sppb-carousel,
    & .sppb-carousel-inner,
    & .sppb-item {
        height: 100% !important;
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden !important;
    }
    & .sppb-item > img {
        height: 100% !important;
        width: 100%;
        object-fit: cover !important;
    }
}

/* Version responsive mobile (<=575px) : carousel SP Page Builder natif (CarouselCK desktop est masque en dessous de 576px) */
@media (max-width: 575px) {
    :is(#section-id-72af8b5d-3fd0-4763-b848-81ca5b17886c,
        #section-id-b1e90cc4-0efd-4301-a7c8-b067cbd4a988,
        #section-id-b3e4f323-768e-4b17-b065-0dd25b0ea41e,
        #section-id-fb4a6236-d0cc-446f-aab9-43e08b973647,
        #section-id-0a1b5d42-2e96-4cd2-8dea-5d784a02a330,
        #section-id-2639e011-885a-41ef-9690-19a0d896657e) {
        /* Point d'atterrissage du clic menu : l'ancre est positionnee apres le padding-top */
        /* de la ligne (90px) ET celui de la colonne (10px) = 100px au total. Sans correction, */
        /* le scroll atterrit trop bas et un residu de la section suivante apparait en bas */
        /* d'ecran des l'atterrissage. On remonte l'ancre de ce total pour que le point */
        /* d'atterrissage soit le vrai haut de la section (fond colore complet a l'ecran). */
        & .anchor {
            top: -100px !important;
        }

        /* Renfort explicite de toute la chaine (hypothese : sppb-container-inner ne recoit pas */
        /* toute la hauteur disponible sur mobile) */
        & .sppb-container-inner,
        & .sppb-row,
        & .sppb-row-column,
        & .sppb-col-md-12,
        & .sppb-column,
        & .sppb-column-addons {
            height: 100% !important;
            flex: 1 1 auto !important;
            display: flex !important;
            flex-direction: column !important;
            min-height: 0 !important;
        }

        & .addon-root-module {
            max-height: calc(99% - 5px);
            min-height: 280px;
        }

        /* Carrousel (mobile) : taille naturelle (ratio des images), comme le carrousel du hero, */
        /* au lieu de s'etirer pour remplir l'espace disponible. + 40px d'espace avec le titre */
        /* au-dessus (le reset margin:0/padding:0 plus haut s'applique toujours aux autres cotes). */
        & .addon-root-carousel {
            flex: 0 0 auto !important;
            max-height: none !important;
            min-height: 0 !important;
            overflow: hidden !important;
            margin-top: 40px !important;
        }
        /* Pas de "flex" ici : .sppb-item utilise flex sur l'axe horizontal (une slide = 100% */
        /* de large) pour le defilement du carrousel - le toucher casse la largeur des slides. */
        & .addon-root-carousel .sppb-carousel,
        & .addon-root-carousel .sppb-carousel-inner,
        & .addon-root-carousel .sppb-item {
            height: auto !important;
            overflow: hidden !important;
        }
        & .addon-root-carousel .sppb-item > img {
            height: auto !important;
            width: 100%;
            object-fit: initial !important;
        }

        /* Legende reduite, texte reste centre (peut passer sur 2 lignes si besoin) */
        & .addon-root-text-block p {
            font-size: 12px !important;
            line-height: 14px !important;
            white-space: normal;
            text-align: center !important;
            width: 100%;
        }
    }

    /* Legendes FR : texte plus long qu'en anglais, le nowrap le fait deborder et casse le centrage. */
    /* On autorise le retour a la ligne pour ces 3 sections, en gardant le centrage. */
    :is(#section-id-fb4a6236-d0cc-446f-aab9-43e08b973647,
        #section-id-0a1b5d42-2e96-4cd2-8dea-5d784a02a330,
        #section-id-2639e011-885a-41ef-9690-19a0d896657e) {
        & .addon-root-text-block p {
            font-size: 12px !important;
            white-space: normal !important;
            text-align: center !important;
            width: 100%;
        }
    }
}


/* Images laterales du carousel (gauche/droite) : image centrale non touchee */
/* index="0" = image de gauche, index="2" = image de droite (attributs stables du plugin CarouselCK) */
/* la classe .carouselckcurrentimg identifie l'image centrale, volontairement ignoree ici */
:is(#section-id-72af8b5d-3fd0-4763-b848-81ca5b17886c,
    #section-id-b1e90cc4-0efd-4301-a7c8-b067cbd4a988,
    #section-id-b3e4f323-768e-4b17-b065-0dd25b0ea41e,
    #section-id-fb4a6236-d0cc-446f-aab9-43e08b973647,
    #section-id-0a1b5d42-2e96-4cd2-8dea-5d784a02a330,
    #section-id-2639e011-885a-41ef-9690-19a0d896657e) {
    & .carouselck_images img[index="0"],
    & .carouselck_images img[index="2"] {
        opacity: 0.3 !important;
        top: 50% !important;
        transform: translateY(-50%) scale(0.8) !important;
    }
    /* image de gauche : ecartee de 70px vers la gauche (30px + 40px supplementaires) */
    & .carouselck_images img[index="0"] {
        margin-left: -70px !important;
    }
    /* image de droite : ecartee de 70px vers la droite (30px + 40px supplementaires) */
    & .carouselck_images img[index="2"] {
        margin-left: 70px !important;
    }

    /* Image centrale : suppression du filet gris (box-shadow impose par le plugin CarouselCK) */
    & .carouselck_images img.carouselckcurrentimg {
        box-shadow: none !important;
    }
    /* Image centrale : affichage en entier (pas de recadrage), contrairement aux images laterales en cover */
    & .carouselck_wrap img.carouselckcurrentimg {
        object-fit: contain !important;
    }
    /* Image centrale : meme radius que les images laterales (15px, defini par le style "Aster" de CarouselCK) */
    /* necessaire car object-fit:contain revele les coins droits de l'image, non couverts par le radius du conteneur */
    & .carouselck_wrap img.carouselckcurrentimg {
        border-radius: 15px !important;
    }
}


/* Fond des carousels = couleur de fond de la section (= fond derriere la legende) */
/* Industrie / Industry : bleu rgb(73,134,242) */
:is(#section-id-72af8b5d-3fd0-4763-b848-81ca5b17886c,
    #section-id-fb4a6236-d0cc-446f-aab9-43e08b973647) {
    & .carouselck_wrap,
    & .carouselck_images,
    & .carouselck_link,
    & .sppb-carousel,
    & .sppb-carousel-inner {
        background-color: rgb(73, 134, 242) !important;
    }
}

/* Institutions / Institutional : vert rgb(74,206,25) */
:is(#section-id-b1e90cc4-0efd-4301-a7c8-b067cbd4a988,
    #section-id-0a1b5d42-2e96-4cd2-8dea-5d784a02a330) {
    & .carouselck_wrap,
    & .carouselck_images,
    & .carouselck_link,
    & .sppb-carousel,
    & .sppb-carousel-inner {
        background-color: rgb(74, 206, 25) !important;
    }
}

/* Medical : bleu-vert rgb(11,151,176) */
:is(#section-id-b3e4f323-768e-4b17-b065-0dd25b0ea41e,
    #section-id-2639e011-885a-41ef-9690-19a0d896657e) {
    & .carouselck_wrap,
    & .carouselck_images,
    & .carouselck_link,
    & .sppb-carousel,
    & .sppb-carousel-inner {
        background-color: rgb(11, 151, 176) !important;
    }
}

/* Carrousel du hero (page d'accueil, logo Aster) : trop grand d'environ 15% sur la tranche */
/* 1024px (992-1199.98px) - reduit a 85% de la largeur de sa colonne, centre. */
@media (min-width: 992px) and (max-width: 1199.98px) {
#sppb-addon-71ec43af-9166-4655-ab83-1c0403cd552a,
#sppb-addon-7c3427a0-d2ba-4b16-8ac2-062795b84a03 {
    max-width: 75% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
}

/* Titres des 3 carrousels (Industrie/Institutions/Medical) : marge fixe du theme */
/* (.sppb-addon-title margin-top/bottom:20px) reduite sur la tranche tablette, ou le titre */
/* passe souvent sur 2 lignes (depuis la correction du debordement horizontal) et pousse */
/* le carrousel trop bas. */
@media (min-width: 768px) and (max-width: 1199.98px) {
:is(
  #sppb-addon-a425ac51-267e-4163-9b2f-eda7268db3b4,
  #sppb-addon-c6a1238f-dfbd-4ed3-a964-55a0de8c7e11,
  #sppb-addon-bba1c8f5-842b-477f-a06d-27f5caf332a8,
  #sppb-addon-d1c612d6-461d-4ad4-ac47-2cce1321bf1e,
  #sppb-addon-03ab7102-1114-427a-a846-67ef99296dcc,
  #sppb-addon-48fa332b-4a80-4159-829c-df9190c3ab3a
) .sppb-addon-title {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}
}

/* Page d'accueil (mobile + tablette, jusqu'a 1199.98px) : deplacer le bloc "Temoignage Pro" */
/* sous les 3 carrousels (Industrie/Institutions/Medical) via l'ordre flex, sans toucher au DOM */
/* ni au desktop (qui reste en dehors de cette media query et garde l'ordre naturel du contenu). */
@media (max-width: 1199.98px) {
    .sp-page-builder .page-content {
        display: flex;
        flex-direction: column;
    }
    /* Hero desktop : masque sur mobile (sppb-hidden-xs), l'ordre n'a pas d'impact */
    .sp-page-builder .page-content > #section-id-bcd82855-8d64-42cc-a1ed-20ffa5131c0c,
    .sp-page-builder .page-content > #section-id-f7fa0c2c-739d-4a9a-b099-ba14b0d8ccc7 {
        order: 0;
    }
    /* Hero mobile */
    .sp-page-builder .page-content > #section-id-81d6c896-d3f1-413b-8ecd-fbcc4b7c49ea,
    .sp-page-builder .page-content > #section-id-a354597c-4013-4320-b891-5faca5b4988f {
        order: 1;
    }
    .sp-page-builder .page-content > #section-id-c0ce666a-580e-4ae7-aed6-bc53ff6911db,
    .sp-page-builder .page-content > #section-id-4a368cb0-3206-41da-9275-11d69492efa0 {
        order: 2;
    }
    /* Industrie / Industry */
    .sp-page-builder .page-content > #section-id-fb4a6236-d0cc-446f-aab9-43e08b973647,
    .sp-page-builder .page-content > #section-id-72af8b5d-3fd0-4763-b848-81ca5b17886c {
        order: 3;
    }
    /* Institutions / Institutional */
    .sp-page-builder .page-content > #section-id-0a1b5d42-2e96-4cd2-8dea-5d784a02a330,
    .sp-page-builder .page-content > #section-id-b1e90cc4-0efd-4301-a7c8-b067cbd4a988 {
        order: 4;
    }
    /* Medical */
    .sp-page-builder .page-content > #section-id-2639e011-885a-41ef-9690-19a0d896657e,
    .sp-page-builder .page-content > #section-id-b3e4f323-768e-4b17-b065-0dd25b0ea41e {
        order: 5;
    }
    /* Temoignage Pro : deplace apres les 3 carrousels (au lieu d'avant) */
    .sp-page-builder .page-content > #section-id-cea6f532-0350-4987-b063-60ddfffda519,
    .sp-page-builder .page-content > #section-id-7613424f-dd11-4cd8-a190-9a286c2648ad {
        order: 6;
    }
    .sp-page-builder .page-content > #section-id-3011eedf-29b3-4fe2-b55a-7125b3f49e6e,
    .sp-page-builder .page-content > #section-id-103f3841-a70c-45d9-b98b-96bab048213e {
        order: 7;
    }
}

/* Video de fond mobile (page d'accueil, section logo Aster) : calee a gauche au lieu de centree. */
/* Ces IDs sont ceux de la section MOBILE uniquement (masquee sur desktop) ; la video desktop */
/* utilise une section distincte et n'est donc pas affectee. */
:is(#section-id-81d6c896-d3f1-413b-8ecd-fbcc4b7c49ea,
    #section-id-a354597c-4013-4320-b891-5faca5b4988f) {
    & .sppb-section-background-video video {
        object-position: left center !important;
    }
}

/* Carrousel mobile du hero (page d'accueil) : masquer les puces de navigation (pas de reglage natif) */
#sppb-carousel-71ec43af-9166-4655-ab83-1c0403cd552a .sppb-carousel-indicators,
#sppb-carousel-7c3427a0-d2ba-4b16-8ac2-062795b84a03 .sppb-carousel-indicators {
    display: none !important;
}

/* Texte sous le logo Aster (mobile) : ombre noire 80% pour la lisibilite sur la video de fond */
#sppb-addon-e7148f88-1ea5-474a-8fbe-8374b9bab232 h1,
#sppb-addon-e7148f88-1ea5-474a-8fbe-8374b9bab232 h2,
#sppb-addon-e7148f88-1ea5-474a-8fbe-8374b9bab232 span,
#sppb-addon-9187fc63-4789-4fe8-830e-c0608642f0bd h1,
#sppb-addon-9187fc63-4789-4fe8-830e-c0608642f0bd h2,
#sppb-addon-9187fc63-4789-4fe8-830e-c0608642f0bd span {
    text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.8), 0px 0px 3px rgba(0, 0, 0, 0.8) !important;
}

