/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */

/* Hero slider : masquer le dot Flickity (un seul slide) */
.header-main-slider .flickity-page-dots { display: none !important; }
/* Supprimer le gap sous le hero (visible sur tablette) */
.main-container.slider,
.main-container.slider .silder-container {
    background: #15212a !important;
}

h2.section-heading {
    font-size: 40px !important;
    line-height: 38px;
}

/* ── Hero hauteur fixe (pages intérieures uniquement) ── */
.top-header {
    min-height: 540px !important;
    box-sizing: border-box !important;
}
/* ── Hero : texte fixé à 95px du bas ── */
.top-header.overlay {
    display: flex !important;
    align-items: flex-end !important;
    padding-bottom: 95px !important;
}

.top-header.hero-center {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap;
}
.top-header.hero-center .container {
    width: 100%;
}

/* ── Pastille Audit : bas-droite du hero + hover turquoise ── */
.toplang {
    top: auto !important;
    bottom: 85px !important;
    right: 10px !important;
}
.toplang .btn-warning {
    background-color: rgba(255,255,255,0.12) !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    color: #fff !important;
    backdrop-filter: blur(6px);
    transition: all 0.3s ease !important;
}
.toplang .btn-warning:hover {
    background-color: #14b8a6 !important;
    border-color: #14b8a6 !important;
    color: #fff !important;
}

.glossary-link {
    text-decoration: underline dotted;
    text-underline-offset: 2px;
}
.glossary-link:hover {
    text-decoration: underline;
}

/* ── Vignettes Intro 3D (Services & Solutions) ── */
.service-section {
    border: 1px solid rgba(238,85,134,0.12) !important;
    background: linear-gradient(145deg, rgba(255,255,255,0.03), rgba(0,0,0,0.08)) !important;
    box-shadow:
        2px 3px 10px rgba(0,0,0,0.3),
        inset 0 1px 0 rgba(255,255,255,0.06) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
	  min-height:400px;
}
.service-section:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow:
        4px 8px 20px rgba(238,85,134,0.15),
        inset 0 1px 0 rgba(255,255,255,0.1) !important;
}

/* ── Vignettes Intro 3D (Services & Solutions) ── */
.vignette-intro-section {
	  min-height: 280px;
    margin-top: 0 !important; /* annule le margin-top:50px du thème uniquement sur les grilles index */
}

/* ── Vignettes Home 3D ── */
.vignette-home-section {
	  min-height: 200px;
}

/* ── CTA bas de page : aération texte / boutons ── */
section.sec-bg1 .btn {
    margin-top: 14px;
    margin-bottom: 8px;
}

/* ── Page Audit : aération générale ── */
#audit-form-section {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}
#audit-form-section .sec-main {
    margin-bottom: 36px !important;
    padding: 32px 32px 36px !important;
    border-radius: 14px !important;
}
#audit-form-section .col-lg-7 .sec-main {
    padding: 50px 52px 52px !important;
}
#audit-form-section .col-lg-7 .sec-main h3 {
    margin-bottom: 20px !important;
}
#audit-form-section .col-lg-7 .sec-main > p {
    margin-bottom: 42px !important;
}
#audit-form-section form .row > div {
    margin-bottom: 30px !important;
}
#audit-form-section form .row > div:last-child {
    margin-bottom: 38px !important;
}
#audit-form-section form .d-flex {
    margin-top: 24px !important;
}

/* ── Overlay dégradé : opaque à  gauche → transparent à  droite ── */
/* ── Image banner : centrée verticalement dans le hero ── */
.top-header.overlay:before {
    background: linear-gradient(to right, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.5) 40%, rgba(0,0,0,0) 100%) !important;
}

/* ── Image banner : centrée verticalement dans le hero ── */
.top-header.overlay .img-defaultbanner {
    top: 68% !important;
    transform: translateY(-50%);
}

/* ── Hero reveal : clip-path + texte au chargement ── */
.top-header.overlay .wrapper {
    opacity: 0;
    transform: translateY(30px);
}
.top-header.overlay .wrapper.hero-revealed {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.top-header.overlay .wrapper .badge {
    opacity: 0;
    transform: translateY(15px);
}
.top-header.overlay .wrapper.hero-revealed .badge {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s 0.15s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.6s 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}
.top-header.overlay .wrapper .heading {
    opacity: 0;
    transform: translateY(20px);
}
.top-header.overlay .wrapper.hero-revealed .heading {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s 0.25s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.7s 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.top-header.overlay .wrapper .subheading {
    opacity: 0;
    transform: translateY(20px);
}
.top-header.overlay .wrapper.hero-revealed .subheading {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.7s 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.top-header.overlay .wrapper .golink {
    opacity: 0;
    transform: translateY(15px);
}
.top-header.overlay .wrapper.hero-revealed .golink {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.top-header.overlay .wrapper.hero-revealed .golink:nth-child(4) {
    transition-delay: 0.5s;
}
.top-header.overlay .wrapper.hero-revealed .golink:nth-child(5) {
    transition-delay: 0.6s;
}
.top-header.overlay .wrapper.hero-revealed .golink:nth-child(6) {
    transition-delay: 0.7s;
}

/* ── Hero scroll : texte fade-out au scroll ── */
.top-header .wrapper {
    will-change: transform, opacity;
}

.included ul {
	padding-left: 0px;
}

.included ul li {
	list-style: none;
  line-height: 37px;  
}

/* ═══════════════════════════════════════════
   HOMEPAGE — Aération & Harmonisation
   ═══════════════════════════════════════════ */

/* Espace cohérent entre sous-titre de section et contenu */
.section-subheading {
    margin-bottom: 35px !important;
}

/* Espace boutons CTA sous le contenu */
.btn-cta-spaced {
    margin-top: 30px !important;
}

/* ── Cartes Solutions Phares — Flexbox aligné ── */
.solution-card {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    border-top: 3px solid var(--card-accent);
    position: relative;
    padding: 30px 24px;
    height: 100%;
}
.solution-card .card-body-content {
    flex: 1;
}
.solution-card .card-footer-cta {
    text-align: center;
    padding-top: 30px;
    margin-top: auto;
}

/* ── Technologies — Étiquettes 3D ── */
.tech-section {
    padding: 60px 0;
}
.tech-section h2 {
    margin-bottom: 10px;
}
.tech-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 10px;
    font-size: 0.88rem;
    font-weight: 500;
    border: 1px solid rgba(238,85,134,0.12);
    background: linear-gradient(145deg, rgba(255,255,255,0.03), rgba(0,0,0,0.08));
    box-shadow:
        2px 3px 6px rgba(0,0,0,0.25),
        inset 0 1px 0 rgba(255,255,255,0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.tech-badge:hover {
    transform: translateY(-3px) scale(1.04);
    box-shadow:
        3px 6px 14px rgba(238,85,134,0.18),
        inset 0 1px 0 rgba(255,255,255,0.1);
}
a.tech-badge {
    text-decoration: none !important;
    color: inherit !important;
}
a.tech-badge:hover {
    text-decoration: none !important;
    color: inherit !important;
}
.tech-badge i {
    font-size: 1.1rem;
    opacity: 0.9;
}

/* ── Carrousel Projets / Collaborations ── */
.project-card {
    background: linear-gradient(145deg, rgba(255,255,255,0.04), rgba(0,0,0,0.12));
    border-radius: 14px;
    padding: 28px 22px 22px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid rgba(255,255,255,0.06);
    height: 100%;
    display: flex;
    flex-direction: column;
}
.project-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(238,85,134,0.12);
    border-color: rgba(238,85,134,0.2);
}
.project-logo-wrap {
    width: 100%;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    padding: 10px;
    background: rgba(255,255,255,0.95);
    border-radius: 10px;
}
.project-logo-wrap img {
    max-height: 50px;
    max-width: 100%;
    object-fit: contain;
    filter: none;
}
/* Partouche : logo blanc d'origine → forcé en noir sur fond blanc */
.project-logo-wrap img[alt="Groupe Partouche"] {
    filter: brightness(0);
}
.project-company {
    font-size: 1.05rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
}
.project-role {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.7);
    margin-bottom: 10px;
    font-style: italic;
}
.project-meta {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-bottom: 8px;
    font-size: 0.78rem;
    color: rgba(255,255,255,0.45);
}
.project-sector {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.4);
    margin-bottom: 14px;
}
.project-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-top: auto;
}
.project-tag {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 0.73rem;
    text-decoration: none;
    transition: all 0.2s ease;
    font-weight: 500;
}
.project-tag-service {
    background: rgba(238,85,134,0.12);
    color: #ee5586;
    border: 1px solid rgba(238,85,134,0.2);
}
.project-tag-service:hover {
    background: rgba(238,85,134,0.25);
    color: #ff6b9d;
}
.project-tag-solution {
    background: rgba(168,85,247,0.12);
    color: #a855f7;
    border: 1px solid rgba(168,85,247,0.2);
}
.project-tag-solution:hover {
    background: rgba(168,85,247,0.25);
    color: #c084fc;
}
/* Swiper wrapper — reset des styles globaux du thème Antler */
.projects-swiper .swiper-wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
    height: auto !important;
}
/* Swiper wrapper — espace latéral */
.projects-swiper {
    padding: 0 55px !important;
    position: relative !important;
}
.projects-swiper .swiper-slide {
    height: auto !important;
}
/* Pagination + boutons nav — au-dessus du carrousel */
.projects-pagination-wrap {
    text-align: center;
    margin-bottom: 25px;
    position: relative;
    padding: 0 55px;
}
.projects-pagination-wrap .swiper-pagination {
    position: static !important;
    display: inline-flex !important;
    gap: 6px !important;
}
.projects-pagination-wrap .swiper-pagination-bullet {
    background: rgba(255,255,255,0.3) !important;
    opacity: 1 !important;
    width: 10px !important;
    height: 10px !important;
}
.projects-pagination-wrap .swiper-pagination-bullet-active {
    background: #ee5586 !important;
    width: 28px !important;
    border-radius: 6px !important;
}
/* Flèches nav — au niveau de la pagination */
.projects-pagination-wrap .swiper-button-prev,
.projects-pagination-wrap .swiper-button-next {
    color: #fff !important;
    width: 44px !important;
    height: 44px !important;
    background: rgba(238,85,134,0.15) !important;
    border-radius: 50% !important;
    border: 1px solid rgba(238,85,134,0.3) !important;
    position: absolute !important;
    top: 50% !important;
    margin-top: -22px !important;
    transition: all 0.3s ease;
}
.projects-pagination-wrap .swiper-button-prev { left: 0 !important; }
.projects-pagination-wrap .swiper-button-next { right: 0 !important; }
.projects-pagination-wrap .swiper-button-prev:hover,
.projects-pagination-wrap .swiper-button-next:hover {
    background: rgba(238,85,134,0.3) !important;
    border-color: rgba(238,85,134,0.6) !important;
}
.projects-pagination-wrap .swiper-button-prev::after,
.projects-pagination-wrap .swiper-button-next::after {
    display: none !important;
}
.projects-pagination-wrap .swiper-button-prev,
.projects-pagination-wrap .swiper-button-next {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
}
/* Lien entreprise sur la card */
.project-card a.project-link {
    text-decoration: none !important;
    color: inherit !important;
}
.project-card a.project-link:hover .project-company {
    color: #ee5586 !important;
}
@media (max-width: 991px) {
    /* Réduire le padding section sur mobile */
    .projects-carousel-section {
        padding: 50px 0 60px !important;
    }
    .projects-carousel-section .text-center {
        margin-bottom: 30px !important;
    }
    .projects-swiper {
        padding: 0 !important;
        overflow: hidden !important;
    }
    /* Centrer la card dans le slide */
    .projects-swiper .swiper-slide {
        display: flex !important;
        justify-content: center !important;
    }
    .projects-pagination-wrap {
        padding: 0 16px !important;
    }
    .projects-pagination-wrap .swiper-button-prev,
    .projects-pagination-wrap .swiper-button-next {
        display: none !important;
    }
    .project-card {
        padding: 24px 20px 20px !important;
        max-width: 340px;
        width: 100%;
    }
    .project-logo-wrap {
        height: 60px !important;
        margin-bottom: 14px !important;
    }
    .project-logo-wrap img {
        max-height: 42px !important;
    }
    /* Masquer les détails secondaires sur mobile */
    .project-meta,
    .project-sector {
        display: none !important;
    }
    .project-role {
        font-size: 0.82rem !important;
        margin-bottom: 12px !important;
    }
    .project-tags {
        gap: 5px !important;
    }
    .project-tag {
        font-size: 0.7rem !important;
        padding: 2px 8px !important;
    }
}

/* ── Formulaire futuriste ── */
.form-futuristic {
    border-radius: 16px;
    padding: 50px 40px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(238,85,134,0.1);
}
.form-futuristic::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #ee5586, #a855f7, #00b4d8, #14b8a6);
    background-size: 300% 100%;
    animation: formGradient 4s ease infinite;
}
@keyframes formGradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.form-futuristic input[type="text"],
.form-futuristic input[type="email"],
.form-futuristic textarea,
.form-futuristic select {
    border: 1px solid rgba(238,85,134,0.15) !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.form-futuristic input:focus,
.form-futuristic textarea:focus,
.form-futuristic select:focus {
    border-color: #ee5586 !important;
    box-shadow: 0 0 0 3px rgba(238,85,134,0.12) !important;
    outline: none;
}
.form-futuristic .form-step-indicator {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 30px;
}
.form-futuristic .step-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    background: rgba(238,85,134,0.2);
}
.form-futuristic .step-dot.active {
    background: #ee5586;
    box-shadow: 0 0 8px rgba(238,85,134,0.4);
}

.sec-normal {
	padding: 65px 0px;
	position: relative;
	z-index: 0;
}


/* Margin Size */
.m-0 {
    margin: 0px !important;
  }
  .mt_3 {
    margin-top: -3px !important;
  }
  .mt-0 {
    margin-top: 0 !important;
  }
  .mt-1 {
    margin-top: 1px !important;
  }
  .mt-2 {
    margin-top: 2px !important;
  }
  .mt-3 {
    margin-top: 3px !important;
  }
  .mt-4 {
    margin-top: 4px !important;
  }
  .mt-5 {
    margin-top: 5px !important;
  }
  .mt-10 {
    margin-top: 10px !important;
  }
  .mt-15 {
    margin-top: 15px !important;
  }
  .mt-20 {
    margin-top: 20px !important;
  }
  .mt-25 {
    margin-top: 25px !important;
  }
  .mt-30 {
    margin-top: 30px !important;
  }
  .mt-35 {
    margin-top: 35px !important;
  }
  .mt-40 {
    margin-top: 40px !important;
  }
  .mt-45 {
    margin-top: 45px !important;
  }
  .mt-50 {
    margin-top: 50px !important;
  }
  .mt-60 {
    margin-top: 60px !important;
  }
  .mt-70 {
    margin-top: 70px !important;
  }
  .mt-80 {
    margin-top: 80px !important;
  }
  .mt-90 {
    margin-top: 90px !important;
  }
  .mt-100 {
    margin-top: 100px !important;
  }
  .mb-1 {
    margin-bottom: 1px !important;
  }
  .mb-2 {
    margin-bottom: 2px !important;
  }
  .mb-3 {
    margin-bottom: 3px !important;
  }
  .mb-4 {
    margin-bottom: 4px !important;
  }
  .mb-5 {
    margin-bottom: 5px !important;
  }
  .mb-10 {
    margin-bottom: 10px !important
  }
  .mb-15 {
    margin-bottom: 15px !important
  }
  .mb-20 {
    margin-bottom: 20px !important
  }
  .mb-25 {
    margin-bottom: 25px !important
  }
  .mb-30 {
    margin-bottom: 30px !important
  }
  .mb-35 {
    margin-bottom: 35px !important
  }
  .mb-40 {
    margin-bottom: 40px !important
  }
  .mb-45 {
    margin-bottom: 45px !important
  }
  .mb-50 {
    margin-bottom: 50px !important
  }
  .mb-60 {
    margin-bottom: 60px !important
  }
  .mb-70 {
    margin-bottom: 70px !important
  }
  .mb-80 {
    margin-bottom: 80px !important
  }
  .mb-90 {
    margin-bottom: 90px !important
  }
  .mb-100 {
    margin-bottom: 100px !important;
  }
  .mr-0 {
    margin-right: 0 !important;
  }
  .mr-1 {
    margin-right: 1px !important;
  }
  .mr-2 {
    margin-right: 2px !important;
  }
  .mr-3 {
    margin-right: 3px !important;
  }
  .mr-4 {
    margin-right: 4px !important;
  }
  .mr-5 {
    margin-right: 5px !important;
  }
  .mr-10 {
    margin-right: 10px !important
  }
  .mr-15 {
    margin-right: 15px !important
  }
  .mr-20 {
    margin-right: 20px !important
  }
  .mr-25 {
    margin-right: 25px !important
  }
  .mr-30 {
    margin-right: 30px !important
  }
  .mr-35 {
    margin-right: 35px !important
  }
  .mr-40 {
    margin-right: 40px !important
  }
  .mr-45 {
    margin-right: 45px !important
  }
  .mr-50 {
    margin-right: 50px !important
  }
  .mr-60 {
    margin-right: 60px !important
  }
  .mr-65 {
    margin-right: 65px !important
  }
  .mr-70 {
    margin-right: 70px !important
  }
  .mr-80 {
    margin-right: 80px !important
  }
  .mr-90 {
    margin-right: 90px !important
  }
  .mr-100 {
    margin-right: 100px !important;
  }
  .mr-105 {
    margin-right: 105px !important;
  }
  .ml-0 {
    margin-left: 0 !important;
  }
  .ml-1 {
    margin-left: 1px !important;
  }
  .ml-2 {
    margin-left: 2px !important;
  }
  .ml-3 {
    margin-left: 3px !important;
  }
  .ml-4 {
    margin-left: 4px !important;
  }
  .ml-5 {
    margin-left: 5px !important;
  }
  .ml-10 {
    margin-left: 10px !important
  }
  .ml-15 {
    margin-left: 15px !important
  }
  .ml-20 {
    margin-left: 20px !important
  }
  .ml-25 {
    margin-left: 25px !important
  }
  .ml-30 {
    margin-left: 30px !important
  }
  .ml-35 {
    margin-left: 35px !important
  }
  .ml-40 {
    margin-left: 40px !important
  }
  .ml-45 {
    margin-left: 45px !important
  }
  .ml-50 {
    margin-left: 50px !important
  }
  .ml-60 {
    margin-left: 5px !important
  }
  .ml-70 {
    margin-left: 70px !important
  }
  .ml-80 {
    margin-left: 80px !important
  }
  .ml-90 {
    margin-left: 90px !important
  }
  .ml-100 {
    margin-left: 100px !important;
  }
  /* Padding Size */
  .p-0 {
    padding: 0px !important;
  }
  .pt-0 {
    padding-top: 0px !important;
  }
  .pt-1 {
    padding-top: 1px !important;
  }
  .pt-2 {
    padding-top: 2px !important;
  }
  .pt-3 {
    padding-top: 3px !important;
  }
  .pt-4 {
    padding-top: 4px !important;
  }
  .pt-5 {
    padding-top: 5px !important;
  }
  .pt-10 {
    padding-top: 10px !important;
  }
  .pt-15 {
    padding-top: 15px !important;
  }
  .pt-20 {
    padding-top: 20px !important;
  }
  .pt-30 {
    padding-top: 30px !important;
  }
  .pt-40 {
    padding-top: 40px !important;
  }
  .pt-50 {
    padding-top: 50px !important;
  }
  .pt-60 {
    padding-top: 60px !important;
  }
  .pt-70 {
    padding-top: 70px !important;
  }
  .pt-80 {
    padding-top: 80px !important;
  }
  .pt-90 {
    padding-top: 90px !important;
  }
  .pt-100 {
    padding-top: 100px !important;
  }
  .pb-0 {
    padding-bottom: 0px !important;
  }
  .pb-1 {
    padding-bottom: 1px !important;
  }
  .pb-2 {
    padding-bottom: 2px !important;
  }
  .pb-3 {
    padding-bottom: 3px !important;
  }
  .pb-4 {
    padding-bottom: 4px !important;
  }
  .pb-5 {
    padding-bottom: 5px !important;
  }
  .pb-10 {
    padding-bottom: 10px !important;
  }
  .pb-15 {
    padding-bottom: 15px !important;
  }
  .pb-20 {
    padding-bottom: 20px !important;
  }
  .pb-30 {
    padding-bottom: 30px !important;
  }
  .pb-40 {
    padding-bottom: 40px !important;
  }
  .pb-50 {
    padding-bottom: 50px !important;
  }
  .pb-60 {
    padding-bottom: 60px !important;
  }
  .pb-70 {
    padding-bottom: 70px !important;
  }
  .pb-80 {
    padding-bottom: 80px !important;
  }
  .pb-90 {
    padding-bottom: 90px !important;
  }
  .pb-100 {
    padding-bottom: 100px !important;
  }
  .pr-0 {
    padding-right: 0px !important;
  }
  .pr-1 {
    padding-right: 1px !important;
  }
  .pr-2 {
    padding-right: 2px !important;
  }
  .pr-3 {
    padding-right: 3px !important;
  }
  .pr-4 {
    padding-right: 4px !important;
  }
  .pr-5 {
    padding-right: 5px !important;
  }
  .pr-10 {
    padding-right: 10px !important;
  }
  .pr-15 {
    padding-right: 15px !important;
  }
  .pr-20 {
    padding-right: 20px !important;
  }
  .pr-30 {
    padding-right: 30px !important;
  }
  .pr-40 {
    padding-right: 40px !important;
  }
  .pr-50 {
    padding-right: 50px !important;
  }
  .pr-60 {
    padding-right: 60px !important;
  }
  .pr-70 {
    padding-right: 70px !important;
  }
  .pr-80 {
    padding-right: 80px !important;
  }
  .pr-90 {
    padding-right: 90px !important;
  }
  .pr-100 {
    padding-right: 100px !important;
  }
  .pl-0 {
    padding-left: 0px !important;
  }
  .pl-1 {
    padding-left: 1px !important;
  }
  .pl-2 {
    padding-left: 2px !important;
  }
  .pl-3 {
    padding-left: 3px !important;
  }
  .pl-4 {
    padding-left: 4px !important;
  }
  .pl-5 {
    padding-left: 5px !important;
  }
  .pl-10 {
    padding-left: 10px !important;
  }
  .pl-15 {
    padding-left: 15px !important;
  }
  .pl-20 {
    padding-left: 20px !important;
  }
  .pl-30 {
    padding-left: 30px !important;
  }
  .pl-40 {
    padding-left: 40px !important;
  }
  .pl-50 {
    padding-left: 50px !important;
  }
  .pl-60 {
    padding-left: 60px !important;
  }
  .pl-70 {
    padding-left: 70px !important;
  }
  .pl-80 {
    padding-left: 80px !important;
  }
  .pl-90 {
    padding-left: 90px !important;
  }
  .pl-100 {
    padding-right: 100px !important;
  }
  /* Top Position */
  .top-0 {
    top: 0 !important;
  }
  /* Font Size */
  .f-6 {
    font-size: 6px !important;
  }
  .f-7 {
    font-size: 7px !important;
  }
  .f-8 {
    font-size: 8px !important;
  }
  .f-9 {
    font-size: 9px !important;
  }
  .f-10 {
    font-size: 10px !important;
  }
  .f-11 {
    font-size: 11px !important;
  }
  .f-12 {
    font-size: 12px !important;
  }
  .f-13 {
    font-size: 13px !important;
  }
  .f-14 {
    font-size: 14px !important;
  }
  .f-15 {
    font-size: 15px !important;
  }
  .f-16 {
    font-size: 16px !important;
  }
  .f-17 {
    font-size: 17px !important;
  }
  .f-18 {
    font-size: 18px !important;
  }
  .f-19 {
    font-size: 19px !important;
  }
  .f-20 {
    font-size: 20px !important;
  }
  .f-22 {
    font-size: 22px !important;
  }
  .f-24 {
    font-size: 24px !important;
  }
  .f-26 {
    font-size: 26px !important;
  }
  .f-28 {
    font-size: 28px !important;
  }
  .f-30 {
    font-size: 30px !important;
  }
  .f-32 {
    font-size: 32px !important;
  }
  .f-34 {
    font-size: 34px !important;
  }
  .f-36 {
    font-size: 36px !important;
  }
  .f-38 {
    font-size: 38px !important;
  }
  .f-40 {
    font-size: 40px !important;
  }
  .f-42 {
    font-size: 42px !important;
  }
  .f-44 {
    font-size: 44px !important;
  }
  .f-46 {
    font-size: 46px !important;
  }
  .f-48 {
    font-size: 48px !important;
  }
  .f-50 {
    font-size: 50px !important;
  }
  .f-52 {
    font-size: 52px !important;
  }
  .f-54 {
    font-size: 54px !important;
  }
  .f-56 {
    font-size: 56px !important;
  }
  .f-58 {
    font-size: 58px !important;
  }
  .f-60 {
    font-size: 60px !important;
  }
  .f-70 {
    font-size: 70px !important;
  }
  .f-80 {
    font-size: 80px !important;
  }
  .f-90 {
    font-size: 90px !important;
  }
  .f-100 {
    font-size: 100px !important;
  }

/* ── Menu — Active state (fond rose sur le .menu-item, identique au hover) ── */
.nav-menu .main-menu > .menu-item:has(a.menu-active) {
    background: #ee5586 !important;
}
.nav-menu .main-menu .menu-item a.menu-active {
    color: #fff !important;
}
.mobile .main-menu .menu-item a.menu-active {
    background: rgba(238,85,134,0.15) !important;
    color: #ee5586 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
}

/* ── Top bar — numéros WhatsApp harmonisés ── */
.infonews-nav a.iconews.tabphone,
.infonews-nav a.iconews.tabphone:last-child {
    font-weight: 600 !important;
    font-size: 13px !important;
    margin-left: 0 !important;
    gap: 6px;
    color: #e1e1e1 !important;
}
.infonews-nav a.iconews.tabphone:hover,
.infonews-nav a.iconews.tabphone:last-child:hover {
    color: #fff !important;
}
.infonews-nav .np-phone-wrap {
    display: flex;
    align-items: center;
    margin-left: 20px;
    gap: 0;
}
.infonews-nav .np-phone-sep {
    color: rgba(255,255,255,.18);
    font-weight: 300;
    margin: 0 14px;
    user-select: none;
    font-size: 14px;
}
.infonews-nav .np-country {
    opacity: .45;
    font-size: 10px;
    letter-spacing: .5px;
    font-weight: 700;
    text-transform: uppercase;
}

/* ── Top bar mobile — afficher numéros, masquer le reste ── */
@media (max-width: 991px) {
    /* Masquer la colonne news (badge + texte + "En savoir plus") */
    .infonews .news { display: none !important; }
    /* Colonne link en pleine largeur */
    .infonews .link { flex: 0 0 100% !important; max-width: 100% !important; }
    /* Masquer le mailto */
    .infonews-nav a.iconews[href^="mailto"] { display: none !important; }
    /* Afficher les numéros (le thème les cache via .tabphone) */
    .infonews .link .tabphone,
    .infonews .link .np-phone-wrap.tabphone { display: flex !important; }
    .infonews-nav a.iconews.tabphone { display: inline-flex !important; }
    /* Centrer le bloc numéros */
    .infonews-nav { float: none !important; display: flex !important; justify-content: center !important; }
    .infonews-nav .np-phone-wrap { margin-left: 0 !important; justify-content: center; }
    /* Taille compacte sur mobile */
    .infonews-nav a.iconews.tabphone,
    .infonews-nav a.iconews.tabphone:last-child { font-size: 12px !important; }
    .infonews-nav .np-phone-sep { margin: 0 8px; }

    /* ── Pastille Audit : masquée sur mobile ── */
    .toplang { display: none !important; }

    /* ── Gap gris header : supprimer les espaces visibles ── */
    #header { background: #1a1628 !important; }
    .menu-wrap.mobile { padding: 6px 10px !important; }
}

/* ── Hero mobile : image centrée + bouton Audit menu ── */
@media (max-width: 768px) {
    .top-header.overlay .img-defaultbanner {
        min-width: 100% !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
        left: 0 !important;
        top: 0 !important;
        transform: none !important;
    }
    .top-header {
        min-height: 420px !important;
    }
    .top-header.overlay {
        padding-bottom: 60px !important;
    }
    /* Bouton Audit menu mobile : plus visible */
    .mobile .main-menu .btn-default-yellow-fill {
        font-size: 14px !important;
        padding: 12px 22px !important;
        font-weight: 700 !important;
        letter-spacing: 0.5px;
    }
}
