/* Styles propres au site public (anciennement dans index.html) */
      .lightbox .lb-image { max-width: 90vw !important; max-height: 90vh !important; width: auto !important; height: auto !important; }
      .lb-outerContainer { max-width: 90vw !important; background-color: transparent !important; }
      .lb-dataContainer { max-width: 90vw !important; }
      .whatsapp-float { position: fixed; bottom: 20px; left: 20px; background-color: #25d366; color: #fff; border-radius: 50%; width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; font-size: 32px; box-shadow: 0 4px 12px rgba(0,0,0,.25); z-index: 9999; text-decoration: none; transition: transform .2s ease, background-color .2s ease; }
      .whatsapp-float:hover { transform: scale(1.1); background-color: #128c7e; color: #fff; }
      img.grayscale { filter: grayscale(1); opacity: .75; transition: all .3s ease; }
      a:hover img.grayscale, img.grayscale:hover { filter: none; opacity: 1; }
      header.header-2.solid, header.header-2.solid .main-header-wraper { background: #0e1e36 !important; }
      header.header-2 .top-header .header-right-socail { gap: 30px; }
      header.header-2 .top-header .header-right-socail .header-contact h5 { font-size: 16px; white-space: nowrap; }
      /* Header au défilement : fond blanc */
      /* Le conteneur reste transparent : seul le bandeau blanc (wrapper) change, sinon une bande blanche apparaît en haut pendant la transition */
      header.header-1.header-2, header.header-1.header-2.stop, header.header-1.header-2.solid { background: transparent !important; }
      html, body { background-color: #fff; }
      header.header-1.header-2.stop .main-header-wraper, header.header-1.header-2.stop.transparent .main-header-wraper, header.header-1.header-2.stop.solid .main-header-wraper { background: #fff !important; }
      header.header-1.header-2.stop .main-header-wraper { top: 0; filter: drop-shadow(0 0 10px rgba(0,0,0,.16)); }
      header.header-2.stop .main-header-wraper .border-top { border-top-color: transparent !important; }
      header.header-2.stop .main-menu ul > li > a { color: #0e1e36; }
      header.header-2.stop .main-menu ul > li.active > a, header.header-2.stop .main-menu ul > li > a:hover { color: #4069ff; }
      header.header-2.stop .social-profile a, header.header-2.stop .social-profile a i { color: #0e1e36; }
      header.header-1.header-2.stop .main-header-wraper .social-profile { display: none !important; }
      .can-help__content-btn-group h5 { font-size: 15px; word-break: break-all; }
      header.header-2.stop #hamburger { color: #0e1e36; }
      /* Retour en haut */
      #scrollUp { position: fixed; right: 20px; bottom: 20px; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; cursor: pointer; z-index: 9998 !important; }
      #scrollUp.visible { opacity: 1; visibility: visible; }
      /* Cartes services : animation au survol */
      .single_card_item { height: 100%; transition: transform .35s ease, box-shadow .35s ease; }
      .single_card_item .card_img { overflow: hidden; }
      .single_card_item .card_img img { transition: transform .6s ease; }
      .single_card_item:hover { transform: translateY(-10px); box-shadow: 0 18px 40px rgba(14, 30, 54, .18); }
      .single_card_item:hover .card_img img { transform: scale(1.1); }
      .single_card_item .btn_2 i { transition: transform .3s ease; display: inline-block; }
      .single_card_item:hover .btn_2 i { transform: translateX(6px); }
      .single_card_item h4 { transition: color .3s ease; }
      .single_card_item:hover h4 { color: #ef0548; }
      /* Fond de la section "Comment nous intervenons ?" (le chemin du CSS d'origine est cassé) */
      .work-process .container:after { background-image: url(/assets/img/accueil/methode-fond.png) !important; }
      .header-spacer { height: 148px; }
      .header-spacer + * .page-banner, .page-banner { padding-top: 40px; }
      @media (max-width: 1199px) { .header-spacer { height: 80px; } }

      /* Header : barre de contacts fine, logo + menu sur une seule ligne */
      header.header-2 .top-header { padding: 10px 0; background: rgba(14, 30, 54, .85); }
      header.header-2 .top-header .header-right-socail { gap: 30px; }
      header.header-2 .main-header-wraper, header.header-2 .top-header { position: relative !important; top: 0 !important; transform: none !important; }
      header.header-2 .main-header-wraper .border-top { padding: 8px 0; }
      header.header-2 .main-header-wraper .main-menu ul > li > a { padding: 30px 22px; }
      .gel-logo { height: 70px; display: block; }
      @media (max-width: 1199px) { .gel-logo { height: 52px; } }
      header.header-1.header-2.stop .top-header { display: none !important; }
      header.header-1.header-2.stop .header-right .btn-white { border: 1px solid #0e1e36; color: #0e1e36; }
      .theme-btn.btn-white i, .gel-sidebar__brochure i { font-size: 14px; margin-right: 8px; position: static !important; display: inline-block; transform: none !important; vertical-align: middle; }
      header.header-2 .header-right .theme-btn.mr-10 { margin-right: 10px; }

      /* Bannière : responsive (115-180px de marge réservés pour les flèches) */
      .banner-slider__wrapper:after { display: none !important; }
      .our-porfolio__slider { position: relative; }
      .our-porfolio__slider .gel-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; width: 48px; height: 48px; border-radius: 50%; border: 0; background: #4069ff; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s; }
      .our-porfolio__slider .gel-arrow:hover { background: #ef0548; }
      .our-porfolio__slider .gel-arrow--prev { left: 20px; }
      .our-porfolio__slider .gel-arrow--next { right: 20px; }
      .banner-slider .slick-list { margin-left: 0 !important; margin-right: 0 !important; }
      .banner-slider .slick-list .slick-track .slick-slide { padding-left: 0 !important; padding-right: 0 !important; }
      @media (max-width: 1199px) {
        .banner-slider__wrapper .slider-item { padding: 190px 20px 150px !important; }
        .banner-slider__wrapper .slider-controls { display: none !important; }
        .banner-slider__wrapper .banner__content .theme-btn__wrapper { flex-direction: column; align-items: center; gap: 12px; }
        .banner-slider__wrapper .banner__content .theme-btn { margin: 0 !important; }
        .banner-slider__wrapper .slider-item .number { display: none; }
      }
      @media (max-width: 575px) {
        .banner-slider__wrapper .banner__content h1 { font-size: 30px; line-height: 38px; }
        .banner-slider__wrapper .slider-item { padding: 150px 16px 120px !important; }
      }

      /* Le CSS du site utilise "Font Awesome 5 Pro" (absent) pour ses puces/icônes : on le mappe sur Font Awesome 6 Free */
      @font-face { font-family: "Font Awesome 5 Pro"; font-weight: 300; font-display: swap; src: url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-solid-900.woff2) format("woff2"); }
      @font-face { font-family: "Font Awesome 5 Pro"; font-weight: 400; font-display: swap; src: url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-solid-900.woff2) format("woff2"); }
      @font-face { font-family: "Font Awesome 5 Pro"; font-weight: 900; font-display: swap; src: url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-solid-900.woff2) format("woff2"); }
      .footer-1 .wid-contact a::before, .footer-1 .wid-contact a::after { content: none !important; display: none !important; }
      footer.footer-1 { padding-top: 80px !important; }
      body:has(.cta-banner) footer.footer-1 { padding-top: 170px !important; }
      .similar-work-services { padding-top: 60px !important; }
      .similar-work-services .similar-work__item .top { padding: 28px 16px 28px 20px; gap: 14px; }
      .similar-work-services .similar-work__item .top .title { font-size: 19px; line-height: 27px; word-break: break-word; min-width: 0; }
      .similar-work-services .similar-work__item .top .icon { flex-shrink: 0; }
      /* Bannières de page : titre et image plus petits */
      .page-banner .page-title h1 { font-size: 42px !important; line-height: 52px !important; }
      .page-banner .transparent-text { font-size: 80px !important; line-height: 90px !important; }
      .page-banner__media img:not(.start) { width: 100%; height: 300px; object-fit: cover; }
      .page-banner { padding-bottom: 20px; }
      @media (max-width: 767px) {
        .page-banner .page-title h1 { font-size: 30px !important; line-height: 40px !important; }
        .page-banner .transparent-text { font-size: 48px !important; line-height: 56px !important; }
        .page-banner__media img:not(.start) { height: 220px; }
      }
      /* Cartes de la page Services : plus compactes */
      .services-work .similar-work__item .top { padding: 20px 14px 20px 18px; gap: 12px; }
      .services-work .similar-work__item .top .icon { width: 52px; height: 52px; line-height: 52px; font-size: 20px; flex-shrink: 0; }
      .services-work .similar-work__item .top .title { font-size: 17px; line-height: 24px; word-break: break-word; min-width: 0; }
      .services-work .similar-work__item .bottom .text { padding: 14px 16px !important; font-size: 14px; }
      .services-work .similar-work__item .bottom .theme-btn { padding: 10px 14px; font-size: 14px; }
      footer .single-recent-post .thumb { width: 84px; flex-shrink: 0; margin-right: 16px; }
      footer .single-recent-post .thumb img { width: 84px; height: 72px; object-fit: cover; border-radius: 4px; }
      footer .single-recent-post .post-data { min-width: 0; }
      @media (min-width: 768px) { .footer-bottom .coppyright.text-md-end { padding-right: 64px; } }
      .similar-work__item .top { padding: 28px 24px !important; }
      /* Média d'une réalisation (Fancybox) */
      .gel-media__link { position: relative; display: block; overflow: hidden; border-radius: 10px; }
      .gel-media__link img { transition: transform .5s ease; }
      .gel-media__link:hover img { transform: scale(1.04); }
      .gel-media__zoom { position: absolute; right: 16px; bottom: 16px; width: 44px; height: 44px; border-radius: 50%; background: #4069ff; color: #fff; display: flex; align-items: center; justify-content: center; }
      .gel-media .theme-btn i { margin-right: 8px; }
      /* Texte limité à 2 lignes */
      .gel-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
      .gel-map iframe { border-radius: 6px; box-shadow: 0 6px 24px rgba(14, 30, 54, .12); }
      /* Largeur mobile : aucun débordement horizontal */
      iframe, img, video { max-width: 100%; }
      footer iframe { width: 100% !important; }
      @media (max-width: 991px) {
        footer .recent_post_widget, footer .site_info_box, footer .contact_widget { padding-left: 0 !important; padding-right: 0 !important; }
        footer .single-footer-wid { padding-left: 0 !important; padding-right: 0 !important; margin-bottom: 30px; }
      }

      /* Menu mobile (barre latérale) */
      .gel-sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: 300px; max-width: 86vw; background: #fff; z-index: 10001; display: flex; flex-direction: column; transform: translateX(-105%); transition: transform .35s cubic-bezier(.4, 0, .2, 1); }
      .gel-sidebar.open { transform: translateX(0); box-shadow: 8px 0 40px rgba(14, 30, 54, .2); }
      .gel-sidebar__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid #eef0f5; }
      .gel-sidebar__head img { height: 52px; }
      .gel-sidebar__close { width: 36px; height: 36px; border-radius: 50%; border: 0; background: #f3f4f9; color: #0e1e36; cursor: pointer; transition: all .2s; }
      .gel-sidebar__close:hover { background: #ef0548; color: #fff; }
      .gel-sidebar__body { flex: 1; overflow-y: auto; padding: 8px 14px 16px; }
      .gel-sidebar__title { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8b92a5; margin: 18px 8px 8px; }
      .gel-sidebar__links { list-style: none; margin: 0; padding: 0; }
      .gel-sidebar__links li { margin: 2px 0; }
      .gel-sidebar__links a { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 8px; color: #0e1e36; font-weight: 500; font-size: 15px; transition: all .2s; text-decoration: none; }
      .gel-sidebar__links a i { width: 20px; text-align: center; color: #8b92a5; transition: color .2s; }
      .gel-sidebar__links a:hover, .gel-sidebar__links a.active { background: rgba(64, 105, 255, .1); color: #4069ff; }
      .gel-sidebar__links a:hover i, .gel-sidebar__links a.active i { color: #4069ff; }
      .gel-sidebar__links--info a { font-size: 14px; word-break: break-all; }
      .gel-sidebar__brochure { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 16px; border-radius: 8px; background: #ef0548; color: #fff; font-weight: 600; text-decoration: none; transition: background .2s; }
      .gel-sidebar__brochure:hover { background: #0e1e36; color: #fff; }
      .gel-sidebar__foot { display: flex; gap: 10px; padding: 14px 20px; border-top: 1px solid #eef0f5; }
      .gel-sidebar__foot a { width: 36px; height: 36px; border-radius: 50%; background: #f3f4f9; color: #0e1e36; display: flex; align-items: center; justify-content: center; transition: all .2s; }
      .gel-sidebar__foot a:hover { background: #4069ff; color: #fff; }
      .gel-overlay { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(14, 30, 54, .55); opacity: 0; visibility: hidden; transition: all .3s; z-index: 10000; }
      .gel-overlay.open { opacity: 1; visibility: visible; }
      @media (min-width: 1200px) { .gel-sidebar, .gel-overlay { display: none; } }
          /* Section vidéo de l'accueil : fond uni de repli + vidéo plein cadre */
      .gel-video-section { background-color: #394f68; }
      .gel-video-section__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
      .gel-video-section .planning-success__video:after { display: none; }
      /* Page contact (mobile) : les blocs empilés ne doivent pas se chevaucher */
      @media (max-width: 575px) {
        .contact-us__item-wrapper { margin-bottom: 0; }
        .contact-us__item { max-width: 100%; margin-bottom: 28px !important; animation: none !important; transform: none !important; visibility: visible !important; }
        .contact-us__item-body a { overflow-wrap: anywhere; }
      }
      /* Titres du pied de page (Liens rapides, Réalisations récentes...) : un peu plus petits */
      footer .wid-title { font-size: 20px; line-height: 28px; }
      @media (max-width: 575px) { footer .wid-title { font-size: 18px; line-height: 26px; } }
