/*
  Theme Name: Oza
  Version: 1.0.0
  Template: Divi
  Author: ADL
  Author URI: https://adourdigital-lab.fr
  Text Domain: oza
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ============================================================================
   OZA FRANCE — CSS PERSONNALISÉ
   ============================================================================
   Site : oza-france.adourdigital-lab.fr
   Thème : Divi 5 (enfant : Oza)
   Mainteneur : Adour Digital Lab
   Dernière révision : 20 mai 2026

   ⚠️  Ce fichier centralise toutes les surcharges CSS du site.
   Avant de modifier, vérifier la section concernée et tester en preview.
   La section "Typographie globale" doit rester active tant que les overrides
   au niveau modules Divi ne sont pas nettoyés.

   TABLE DES MATIÈRES
   1.   Typographie globale
   2.   Modules Icon List
   3.   Boutons & interactions
   4.   Menu & header
   5.   Section accueil — mockup & situation
   6.   Section accueil — image audit
   7.   Sections "solutions" (page accueil)
   8a.  Sections "prestations" (page accueil)
   8b.  Sections "offres" (page offres DUERP)
   9.   Section contact expert & CTA
   10.  Utilitaires & divers
   11.  Landing page
   ============================================================================ */


/* ============================================================================
   1. TYPOGRAPHIE GLOBALE
   ============================================================================
   Uniformise toutes les polices et tailles sur l'ensemble du site, peu importe
   les overrides définis au niveau des modules Divi.
   Police de référence : Montserrat (héritée des paramètres globaux Divi).
   Hiérarchie : H1=35, H2=30, H3=25, H4=22, H5=20, H6=18, body=19.
   Line-height = font-size + 3px.
   ============================================================================ */

/* ----- 1.1 Titres (desktop) ----- */
h1,
.et_pb_module h1,
.et_pb_slide_title,
.et_pb_fullwidth_header h1,
.et_pb_module_header h1 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 28px !important;
    line-height: 38px !important;
    font-weight: 700;
}

h2,
.et_pb_module h2,
.et_pb_module_header h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 25px !important;
    line-height: 33px !important;
    font-weight: 700;
}

h3,
.et_pb_module h3,
.et_pb_module_header h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 600;
}

h4,
.et_pb_module h4,
.et_pb_module_header h4,
.et_pb_blurb h4,
.et_pb_blurb_container h4,
.et_pb_promo h4,
.et_pb_pricing_heading h4 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 22px !important;
    line-height: 25px !important;
    font-weight: 600;
}

h5,
.et_pb_module h5,
.et_pb_module_header h5 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 20px !important;
    line-height: 23px !important;
    font-weight: 600;
}

h6,
.et_pb_module h6,
.et_pb_module_header h6 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    line-height: 21px !important;
    font-weight: 600;
}

/* ----- 1.2 Paragraphes et corps de texte ----- */
body,
body p,
body li,
body span:not([class*="icon"]),
body a,
body label,
.et_pb_text,
.et_pb_text_inner,
.et_pb_text_inner p,
.et_pb_text_inner li,
.et_pb_text_inner span,
.et_pb_blurb_description,
.et_pb_blurb_description p,
.et_pb_module p,
.et_pb_module li,
.et_pb_post_content,
.et_pb_post_content p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    line-height: 22px !important;
    font-weight: 500;
}

/* ----- 1.3 Neutralisation des overrides modules spécifiques -----
   Modules historiques qui avaient des tailles custom (28px, italique...).
   On les force à se conformer à la typo globale (19px, normal).
*/
.et_pb_text_5 .et_pb_text_inner,
.et_pb_text_8 .et_pb_text_inner,
.et_pb_text_18 .et_pb_text_inner,
.et_pb_text_20 .et_pb_text_inner {
    font-size: 19px !important;
    line-height: 22px !important;
    letter-spacing: normal !important;
    font-style: normal !important;
}

/* ----- 1.4 Classes utilitaires de paragraphes -----
   Permettent de "ranger" certains paragraphes spécifiques au-dessus de la
   taille standard (19px) sans repasser par les overrides modules Divi.

   Compatible avec les modules : Texte, Blurb, Icon List.

   Classes disponibles :
   - paragrapheplus      : 21px (Texte/Blurb/Icon List)
   - paragrapheplusdeux  : 25px gras (Texte/Blurb/Icon List)
   - listeplus           : 21px sur texte + icônes (Icon List uniquement)
   - presta-titre        : 23px gras (titres de cartes prestations)

   Usage : appliquer la classe CSS au module Divi via :
   Onglet "Avancé" → "Classe CSS" → ajouter le nom de la classe
*/

/* paragrapheplus : texte légèrement plus grand (21px) */
.paragrapheplus,
.paragrapheplus p,
.paragrapheplus .et_pb_text_inner,
.paragrapheplus .et_pb_text_inner p,
.paragrapheplus .et_pb_text_inner span,
.paragrapheplus .et_pb_text_inner li,
.paragrapheplus .et_pb_blurb_description,
.paragrapheplus .et_pb_blurb_description p,
.paragrapheplus .et_pb_icon_list_text,
.paragrapheplus.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
.paragrapheplus .et_pb_icon_list_item .et_pb_icon_list_text {
    font-size: 18px !important;
    line-height: 24px !important;
}

/* paragrapheplusdeux : texte plus grand en gras (25px / 700) */
.paragrapheplusdeux,
.paragrapheplusdeux p,
.paragrapheplusdeux .et_pb_text_inner,
.paragrapheplusdeux .et_pb_text_inner p,
.paragrapheplusdeux .et_pb_text_inner span,
.paragrapheplusdeux .et_pb_text_inner li,
.paragrapheplusdeux .et_pb_blurb_description,
.paragrapheplusdeux .et_pb_blurb_description p,
.paragrapheplusdeux .et_pb_icon_list_text,
.paragrapheplusdeux.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
.paragrapheplusdeux .et_pb_icon_list_item .et_pb_icon_list_text {
    font-size: 25px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
}

/* listeplus : items d'Icon List plus grands (21px texte + icônes)
   Équivalent de paragrapheplus pour Icon List, mais ajuste aussi les icônes.
*/
.listeplus .et_pb_icon_list_text,
.listeplus.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
.listeplus .et_pb_icon_list_item .et_pb_icon_list_text {
    font-size: 21px !important;
    line-height: 24px !important;
    font-weight: 600 !important;
}

.listeplus .et_pb_icon_list_icon,
.listeplus.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_icon,
.listeplus .et_pb_icon_list_item .et_pb_icon_list_icon {
    font-size: 21px !important;
    width: 21px !important;
    height: 21px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
}

.listeplus .et_pb_icon_list_icon::before {
    font-size: 21px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
}

.listeplus .et_pb_icon_list_icon svg,
.listeplus .et_pb_icon_list_icon img {
    width: 21px !important;
    height: 21px !important;
    max-width: 21px !important;
}

list-thanks

.list-thanks .et_pb_icon_list_text,
.list-thanks.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
.list-thanks .et_pb_icon_list_item .et_pb_icon_list_text {
    line-height: 15px !important;
}

.et_pb_text.cta-text .et_pb_text_inner p {
    font-size: 21px !important;
    line-height: 25px !important;
}

/* presta-titre : titre des cartes prestations (23px / 700)
   Note : les hauteurs des modules .presta-titre sont définies en section 8a.
*/
.presta-titre,
.presta-titre p,
.presta-titre.et_pb_text .et_pb_text_inner,
.presta-titre.et_pb_text .et_pb_text_inner p,
.presta-titre .et_pb_text_inner,
.presta-titre .et_pb_text_inner p,
.presta-titre h1, .presta-titre h2, .presta-titre h3,
.presta-titre h4, .presta-titre h5, .presta-titre h6 {
    font-size: 23px !important;
    line-height: 26px !important;
    font-weight: 700 !important;
}

/* Responsive tablette des classes utilitaires */
@media (max-width: 980px) {
    .paragrapheplus,
    .paragrapheplus p,
    .paragrapheplus .et_pb_text_inner,
    .paragrapheplus .et_pb_text_inner p,
    .paragrapheplus .et_pb_icon_list_text,
    .paragrapheplus.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
    .paragrapheplus .et_pb_icon_list_item .et_pb_icon_list_text {
        font-size: 19px !important;
        line-height: 22px !important;
    }
    .paragrapheplusdeux,
    .paragrapheplusdeux p,
    .paragrapheplusdeux .et_pb_text_inner,
    .paragrapheplusdeux .et_pb_text_inner p,
    .paragrapheplusdeux .et_pb_icon_list_text,
    .paragrapheplusdeux.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
    .paragrapheplusdeux .et_pb_icon_list_item .et_pb_icon_list_text {
        font-size: 22px !important;
        line-height: 25px !important;
    }
    .listeplus .et_pb_icon_list_text,
    .listeplus.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
    .listeplus .et_pb_icon_list_item .et_pb_icon_list_text {
        font-size: 19px !important;
        line-height: 22px !important;
    }
    .listeplus .et_pb_icon_list_icon,
    .listeplus .et_pb_icon_list_icon::before {
        font-size: 19px !important;
        width: 19px !important;
        height: 19px !important;
    }
    .listeplus .et_pb_icon_list_icon svg,
    .listeplus .et_pb_icon_list_icon img {
        width: 19px !important;
        height: 19px !important;
    }
    .presta-titre,
    .presta-titre p,
    .presta-titre .et_pb_text_inner,
    .presta-titre .et_pb_text_inner p,
    .presta-titre h1, .presta-titre h2, .presta-titre h3,
    .presta-titre h4, .presta-titre h5, .presta-titre h6 {
        font-size: 21px !important;
        line-height: 24px !important;
    }
}

/* Responsive mobile des classes utilitaires */
@media (max-width: 767px) {
    .paragrapheplus,
    .paragrapheplus p,
    .paragrapheplus .et_pb_text_inner,
    .paragrapheplus .et_pb_text_inner p,
    .paragrapheplus .et_pb_icon_list_text,
    .paragrapheplus.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
    .paragrapheplus .et_pb_icon_list_item .et_pb_icon_list_text {
        font-size: 17px !important;
        line-height: 20px !important;
    }
    .paragrapheplusdeux,
    .paragrapheplusdeux p,
    .paragrapheplusdeux .et_pb_text_inner,
    .paragrapheplusdeux .et_pb_text_inner p,
    .paragrapheplusdeux .et_pb_icon_list_text,
    .paragrapheplusdeux.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
    .paragrapheplusdeux .et_pb_icon_list_item .et_pb_icon_list_text {
        font-size: 20px !important;
        line-height: 23px !important;
    }
    .listeplus .et_pb_icon_list_text,
    .listeplus.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
    .listeplus .et_pb_icon_list_item .et_pb_icon_list_text {
        font-size: 17px !important;
        line-height: 20px !important;
    }
    .listeplus .et_pb_icon_list_icon,
    .listeplus .et_pb_icon_list_icon::before {
        font-size: 17px !important;
        width: 17px !important;
        height: 17px !important;
    }
    .listeplus .et_pb_icon_list_icon svg,
    .listeplus .et_pb_icon_list_icon img {
        width: 17px !important;
        height: 17px !important;
    }
    .presta-titre,
    .presta-titre p,
    .presta-titre .et_pb_text_inner,
    .presta-titre .et_pb_text_inner p,
    .presta-titre h1, .presta-titre h2, .presta-titre h3,
    .presta-titre h4, .presta-titre h5, .presta-titre h6 {
        font-size: 19px !important;
        line-height: 22px !important;
    }
}

/* ----- 1.5 Typographie tablette (≤ 980px) ----- */
@media (max-width: 980px) {
    h1, .et_pb_module h1, .et_pb_slide_title {
        font-size: 30px !important;
        line-height: 33px !important;
    }
    h2, .et_pb_module h2 {
        font-size: 26px !important;
        line-height: 29px !important;
    }
    h3, .et_pb_module h3 {
        font-size: 22px !important;
        line-height: 25px !important;
    }
    h4, .et_pb_module h4, .et_pb_blurb h4 {
        font-size: 20px !important;
        line-height: 23px !important;
    }
    h5, .et_pb_module h5 {
        font-size: 18px !important;
        line-height: 21px !important;
    }
    h6, .et_pb_module h6 {
        font-size: 17px !important;
        line-height: 20px !important;
    }
}

/* ----- 1.6 Typographie mobile (≤ 767px) ----- */
@media (max-width: 767px) {
    h1, .et_pb_module h1, .et_pb_slide_title {
        font-size: 26px !important;
        line-height: 29px !important;
    }
    h2, .et_pb_module h2 {
        font-size: 22px !important;
        line-height: 25px !important;
    }
    h3, .et_pb_module h3 {
        font-size: 20px !important;
        line-height: 23px !important;
    }
    h4, .et_pb_module h4, .et_pb_blurb h4 {
        font-size: 19px !important;
        line-height: 22px !important;
    }
    h5, .et_pb_module h5 {
        font-size: 17px !important;
        line-height: 20px !important;
    }
    h6, .et_pb_module h6 {
        font-size: 16px !important;
        line-height: 19px !important;
    }
    body, body p, .et_pb_text_inner p, .et_pb_module p {
        font-size: 16px !important;
        line-height: 19px !important;
    }
}


/* ============================================================================
   2. MODULES ICON LIST (Divi)
   ============================================================================
   Uniformise le rendu des modules Icon List sur tout le site :
   texte ET icônes alignés sur la même taille que les paragraphes.
   ============================================================================ */

/* ----- 2.1 Texte des items (desktop) ----- */
.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
.et_pb_icon_list_item .et_pb_icon_list_text,
[class*="et_pb_icon_list_"] .et_pb_icon_list_text {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 19px !important;
    line-height: 22px !important;
    font-weight: 500 !important;
}

/* Neutralisation des overrides historiques (items 0, 1, 6 / listes 0, 1, 3) */
.et_pb_icon_list_item_0.et_pb_icon_list_item .et_pb_icon_list_text,
.et_pb_icon_list_item_1.et_pb_icon_list_item .et_pb_icon_list_text,
.et_pb_icon_list_item_6.et_pb_icon_list_item .et_pb_icon_list_text,
.et_pb_icon_list_0 .et_pb_icon_list_text,
.et_pb_icon_list_1 .et_pb_icon_list_text,
.et_pb_icon_list_3 .et_pb_icon_list_text {
    font-size: 19px !important;
    line-height: 22px !important;
    font-weight: 500 !important;
}

/* Sécurité layout */
.et_pb_icon_list_text {
    max-width: 100% !important;
    overflow: hidden;
}

/* ----- 2.2 Icônes (toutes formes : font, SVG, image) ----- */
.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_icon,
[class*="et_pb_icon_list_"] .et_pb_icon_list_icon {
    font-size: 19px !important;
    width: 19px !important;
    height: 19px !important;
    line-height: 22px !important;
}

.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_icon::before,
[class*="et_pb_icon_list_"] .et_pb_icon_list_icon::before {
    font-size: 19px !important;
    line-height: 22px !important;
}

.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_icon svg,
[class*="et_pb_icon_list_"] .et_pb_icon_list_icon svg {
    width: 19px !important;
    height: 19px !important;
}

.et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_icon img,
[class*="et_pb_icon_list_"] .et_pb_icon_list_icon img {
    width: 19px !important;
    height: 19px !important;
    max-width: 19px !important;
}

/* Espacement icône / texte */
.et_pb_icon_list .et_pb_icon_list_item {
    --horizontal-gap: 8px !important;
}

/* ----- 2.3 Icon list mobile (≤ 767px) ----- */
@media (max-width: 767px) {
    .et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_text,
    [class*="et_pb_icon_list_"] .et_pb_icon_list_text {
        font-size: 16px !important;
        line-height: 19px !important;
    }
    .et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_icon,
    [class*="et_pb_icon_list_"] .et_pb_icon_list_icon,
    .et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_icon::before,
    [class*="et_pb_icon_list_"] .et_pb_icon_list_icon::before {
        font-size: 16px !important;
        width: 16px !important;
        height: 16px !important;
    }
    .et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_icon svg,
    [class*="et_pb_icon_list_"] .et_pb_icon_list_icon svg,
    .et_pb_icon_list .et_pb_icon_list_item .et_pb_icon_list_icon img,
    [class*="et_pb_icon_list_"] .et_pb_icon_list_icon img {
        width: 16px !important;
        height: 16px !important;
    }
}


/* ============================================================================
   3. BOUTONS & INTERACTIONS
   ============================================================================
   Effet de zoom au survol pour les CTA principaux.
   Sticky boutons latéraux (visibles desktop uniquement).
   ============================================================================ */

/* ----- 3.1 Boutons 1 et 5 : zoom au hover ----- */
.et_pb_button_1_wrapper .et_pb_button_1,
.et_pb_button_5_wrapper .et_pb_button_5 {
    transition-property: transform !important;
    transition-duration: 300ms !important;
    transition-timing-function: ease !important;
    will-change: transform;
}

.et_pb_button_1_wrapper .et_pb_button_1:hover,
.et_pb_button_5_wrapper .et_pb_button_5:hover {
    transform: scale(1.1);
}

/* ----- 3.2 Bouton "btn-egal" : largeur uniformisée à 65% ----- */
.btn-egal.et_pb_module.et_pb_button {
    max-width: 100% !important;
    width: 65% !important;
    display: block !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* ----- 3.3 Sticky side buttons (CTA flottants à droite) -----
   Affichés en fixed à droite de l'écran (desktop ≥ 1280px).
   Cachés sous 1280px pour ne pas gêner la lecture.
   Effet hover : glissement latéral + scale + ombre.
*/
#sticky-side-btns {
    position: fixed;
    right: 0;
    top: 65%;
    transform: translateY(-50%);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

#sticky-side-btns a {
    display: block;
    background-color: #e80d7b;
    color: #fff !important;
    text-decoration: none;
    padding: 10px 15px;
    min-width: 220px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    border-radius: 15px 0 0 15px;
    border: 1px solid #fff;
    margin-top: 2px;
    transition: all 0.3s ease;
}

#sticky-side-btns a:hover {
    background-color: #c40a68;
    transform: translateX(-8px) scale(1.03);
    box-shadow: -5px 4px 20px rgba(0, 0, 0, 0.2);
}

.sticky-btn-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sticky-btn-text {
    display: flex;
    flex-direction: column;
    text-align: left;
    flex: 1;
}

.sticky-btn-icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    align-self: center;
}

#sticky-side-btns { overflow-x: clip; }


/* Position verticale ajustée selon résolution */
@media (max-width: 1920px) { #sticky-side-btns { top: 63%; } }
@media (max-width: 1440px) { #sticky-side-btns { top: 40%; } }
@media (max-width: 1280px) { #sticky-side-btns { top: 60%; } }
@media (max-width: 1279px) { #sticky-side-btns { display: none; } }


/* ============================================================================
   4. MENU & HEADER
   ============================================================================ */

/* ----- 4.1 Header : autoriser l'overflow -----
   Permet aux éléments décoratifs de dépasser visuellement du header.
*/
.et_pb_section_1_tb_header,
.et_pb_row_1_tb_header {
    overflow: visible !important;
}


/* ============================================================================
   5. SECTION ACCUEIL — MOCKUP & SITUATION
   ============================================================================
   Affichage du mockup écran (capture OZA) en arrière-plan d'une ligne Divi.
   Le mockup est affiché en background-image avec aspect-ratio pour scaler
   proprement. Masqué sous 1280px (mobile/tablette).

   Deux versions du mockup existent :
   - .ma-ligne-mockup : version standard
   - .ma-ligne-mockup-accueil : version accueil (ratio plus haut)
   ============================================================================ */

/* ----- 5.1 Mockup standard (.ma-ligne-mockup) ----- */
.ma-ligne-mockup {
    background-image: url('https://oza-france.adourdigital-lab.fr/wp-content/uploads/2026/04/ecran-oza.png') !important;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    aspect-ratio: 1800 / 1200;
    padding-top: 3%;
    padding-bottom: 19.67%;
    padding-left: 11%;
    padding-right: 11%;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 1400px !important;
    max-height: 900px;
    margin: 0 auto;
}

@media (max-width: 1810px) {
    .ma-ligne-mockup {
        padding-top: 6.33%;
        padding-bottom: 23%;
        padding-left: 11%;
        padding-right: 11%;
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 1580px) {
    .ma-ligne-mockup {
        padding-top: 6.33%;
        padding-bottom: 26%;
        padding-left: 11%;
        padding-right: 11%;
        width: 90% !important;
        max-width: 90% !important;
    }
}

@media (max-width: 1279px) {
    .ma-ligne-mockup {
        background-image: none !important;
        aspect-ratio: auto;
        max-height: none;
        padding: 0;
        width: auto !important;
        max-width: 100% !important;
    }
}

/* ----- 5.2 Mockup accueil (.ma-ligne-mockup-accueil) ----- */
.ma-ligne-mockup-accueil {
    background-image: url('https://oza-france.adourdigital-lab.fr/wp-content/uploads/2026/04/ecran-oza.png') !important;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    aspect-ratio: 1800 / 1400;
    padding-top: 5%;
    padding-bottom: 19.67%;
    padding-left: 11%;
    padding-right: 11%;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 1400px !important;
    max-height: 1400px;
    margin: 0 auto;
}

@media (max-width: 1810px) {
    .ma-ligne-mockup-accueil {
        padding-top: 6.33%;
        padding-bottom: 23%;
        padding-left: 11%;
        padding-right: 11%;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/*@media (max-width: 1580px) {
    .ma-ligne-mockup-accueil {
        padding-top: 6.33%;
        padding-bottom: 26%;
        padding-left: 11%;
        padding-right: 11%;
        margin-bottom: 5% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}*/

@media (max-width: 1580px) {
    .ma-ligne-mockup-accueil {
        padding-top: 6.33%;
        padding-bottom: 26%;
        padding-left: 11%;
        padding-right: 11%;
        margin-bottom: 5% !important;
        width: 100% !important;
        max-width: calc(100% - 80px) !important;  /* 40px de marge de chaque côté */
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* Ajout entre les breakpoints 1580 et 1279 */
@media (max-width: 1400px) {
    .ma-ligne-mockup-accueil {
        aspect-ratio: auto;
        min-height: calc(100vw * (1400 / 1800) + 60px); /* +60px pour absorber le titre */
        padding-top: 7%;
        padding-bottom: 30%;
        padding-left: 11%;
        padding-right: 11%;
        margin-bottom: 5% !important;
    }
}

@media (max-width: 1279px) {
    .ma-ligne-mockup-accueil {
        background-image: none !important;
        aspect-ratio: auto;
        max-height: none;
        padding: 0;
        width: auto !important;
        max-width: 100% !important;
    }
}



/* ----- 5.3 Section "situation" : remontée verticale responsive ----- */
.section-situation {
    margin-top: -140px !important;
}

@media (min-width: 1811px) {
    .section-situation { margin-top: -125px !important; }
}

@media (max-width: 1810px) {
    .section-situation { margin-top: -100px !important; }
}

@media (max-width: 1580px) {
    .section-situation { margin-top: -85px !important; }
}

@media (max-width: 1399px) {
    .section-situation { margin-top: 100px !important; }
}

/* ----- 5.4 Section mockup : marge top ----- */
.section-mockup {
    margin-top: 50px !important;
}

@media (max-width: 1442px) {
    .section-mockup { margin-top: 95px !important; }
}



@media (max-width: 1280px) {
    .section-mockup { margin-top: 120px !important; }
}


/* ============================================================================
   6. SECTION ACCUEIL — IMAGE AUDIT
   ============================================================================
   Image "audit" sortant du cadre du module (overflow visible)
   et centrée sur l'axe horizontal.
   ============================================================================ */

.img-audit {
    overflow: visible !important;
    position: relative !important;
}

.img-audit .et_pb_image_wrap {
    overflow: visible !important;
    display: block !important;
    text-align: center !important;
}

.img-audit .et_pb_image_wrap img {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: none !important;
}

@media (max-width: 980px) {
    .img-audit-site.et_pb_image {
        align-self: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* ============================================================================
   7. SECTIONS "SOLUTIONS" — Page accueil (cards homogènes)
   ============================================================================
   Cards solutions avec hauteurs fixes par bloc (titre, image, texte, liste,
   bouton) pour aligner visuellement plusieurs cartes côte à côte.
   ⚠️ Les hauteurs fixes risquent de tronquer le contenu si modifié.
   ============================================================================ */

/* ----- 7.0 Hauteurs par défaut (desktop ≥ 1650px) ----- */
.sol-titre.et_pb_text {
    height: 60px !important;
    overflow: hidden;
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}

.img-audit-site.et_pb_image,
.img-audit-site.et_pb_image .et_pb_image_wrap {
    height: 200px !important;
    overflow: hidden;
}

.sol-barre.et_pb_code {
    margin-top: -20px;
    height: 25px !important;
}

.sol-texte.et_pb_text {
    height: 100px !important;
    overflow: hidden;
    margin-bottom: 5px !important;
}

.sol-liste.et_pb_icon_list {
    height: 250px !important;
    overflow: hidden;
}

.sol-bouton.et_pb_button_module {
    height: 250px !important;
}

/* ----- 7.1 Desktop moyen-petit (≤ 1649px) ----- */
@media (max-width: 1649px) {
    .sol-liste.et_pb_icon_list { height: 225px !important; }
}

/* ----- 7.2 Desktop petit (≤ 1469px) ----- */
@media (max-width: 1469px) {
    .sol-titre.et_pb_text {
        height: 95px !important;
        overflow: hidden;
        margin-top: 5px !important;
        margin-bottom: 5px !important;
    }
    .img-audit-site.et_pb_image,
    .img-audit-site.et_pb_image .et_pb_image_wrap {
        height: 175px !important;
        overflow: hidden;
    }
    .sol-texte.et_pb_text {
        height: 110px !important;
        overflow: hidden;
        margin-bottom: 5px !important;
    }
    .sol-liste.et_pb_icon_list {
        height: 225px !important;
    }
    .sol-bouton.et_pb_button_module {
        height: 50px !important;
    }
}

/* ----- 7.3 Desktop petit (≤ 1280px) ----- */
@media (max-width: 1280px) {
    .sol-titre.et_pb_text {
        height: 95px !important;
        overflow: hidden;
        margin-top: 5px !important;
        margin-bottom: 5px !important;
    }
    .img-audit-site.et_pb_image,
    .img-audit-site.et_pb_image .et_pb_image_wrap {
        height: 155px !important;
        overflow: hidden;
    }
    .sol-barre.et_pb_code {
        height: 50px !important;
    }
    .sol-texte.et_pb_text {
        height: 110px !important;
        overflow: hidden;
        margin-top: 0 !important;
        margin-bottom: 5px !important;
    }
    .sol-liste.et_pb_icon_list {
        height: 250px !important;
    }
    .sol-bouton.et_pb_button_module {
        height: 250px !important;
    }
    /* Force le bouton sur une seule ligne */
    .ligne-solutions .et_pb_button_module_wrapper,
    .ligne-solutions .et_pb_button_module_wrapper .et_pb_button {
        white-space: nowrap !important;
    }
}

/* ----- 7.4 Tablette (≤ 1024px) ----- */
@media (max-width: 1024px) {
    .sol-titre.et_pb_text {
        height: 50px !important;
        overflow: hidden;
    }
    .img-audit-site.et_pb_image,
    .img-audit-site.et_pb_image .et_pb_image_wrap {
        height: 125px !important;
        overflow: hidden;
    }
    .sol-liste.et_pb_icon_list {
        height: 275px !important;
    }
    /* Bouton sur 2 lignes possibles, hauteur fixe */
    .ligne-solutions .et_pb_button_module_wrapper,
    .ligne-solutions .et_pb_button_module_wrapper .et_pb_button {
        white-space: normal !important;
        line-height: 1.3 !important;
        height: 76px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

/* ----- 7.5 Ligne solutions : passage en colonne (≤ 992px) ----- */
@media (max-width: 992px) {
    .ligne-solutions.et_pb_row {
        flex-wrap: wrap !important;
    }
    .ligne-solutions .et_pb_column {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-bottom: 25px !important;
    }
}

/* ----- 7.6 Mobile (≤ 768px) ----- */
@media (max-width: 768px) {
    .sol-titre.et_pb_text {
        height: 60px !important;
        overflow: hidden;
    }
    .img-audit-site.et_pb_image,
    .img-audit-site.et_pb_image .et_pb_image_wrap {
        height: 300px !important;
        overflow: hidden;
    }
    .sol-texte.et_pb_text {
        height: 100px !important;
        overflow: hidden;
    }
    .sol-liste.et_pb_icon_list {
        height: 200px !important;
    }
}

/* ----- 7.7 Mobile petit (≤ 375px) ----- */
@media (max-width: 375px) {
    .sol-liste.et_pb_icon_list {
        height: 220px !important;
    }
    .img-audit-site.et_pb_image,
    .img-audit-site.et_pb_image .et_pb_image_wrap {
        height: 150px !important;
        overflow: hidden;
    }
}

/* ----- 7.8 Layout 3 colonnes : alignement vertical ----- */
.et_pb_column_13,
.et_pb_column_14,
.et_pb_column_15 {
    justify-content: space-between !important;
}


/* ============================================================================
   8a. SECTIONS "PRESTATIONS" — Page accueil (cards alignées)
   ============================================================================
   Même principe que les solutions : hauteurs fixes pour aligner les cartes.
   Affichage dégradé en responsive : 3 colonnes → 2 colonnes → 1 colonne.
   Note : la typographie de .presta-titre est définie en section 1.4.
   ============================================================================ */

/* ----- 7.0 Hauteurs par défaut (desktop ≥ 1650px) ----- */

    .presta-titre.et_pb_text  { height: 85px !important; overflow: hidden; }
    .presta-texte.et_pb_text  { height: 90px !important; overflow: hidden; margin-bottom:-15px !important;}
	.presta2-texte.et_pb_text { height: 50px !important; overflow: hidden; }
    .presta-liste.et_pb_text  { height: 200px !important; overflow: hidden !important; margin-top:-30px !important;}
    .presta-texte2.et_pb_text { height: 110px !important; overflow: hidden !important; }

@media (max-width: 1440px) {
	.presta2-texte.et_pb_text { height: 80px !important; overflow: hidden; }
	.presta-texte.et_pb_text  { height: 125px !important; overflow: hidden; }
	
	}
@media (max-width: 1366px) {
	.presta2-texte.et_pb_text  { height: 90px !important; overflow: hidden; }
}

@media (max-width: 1280px) {
	.presta-texte.et_pb_text  { height: 130px !important; overflow: hidden; }
	.presta-liste.et_pb_text  { height: 230px !important; overflow: hidden !important; margin-top:-30px !important;}
}

@media (max-width: 1024px) {
	.presta-texte.et_pb_text  { height: 90px !important; overflow: hidden; }
	.presta2-texte.et_pb_text  { height: 70px !important; overflow: hidden; }
	.presta-liste.et_pb_text  { height: 200px !important; overflow: hidden !important; margin-top:-30px !important;}
	
}

@media (max-width: 768px) {
	.presta-titre.et_pb_text  { height: 155px !important; overflow: hidden; }
	.presta-liste.et_pb_text  { height: 250px !important; overflow: hidden !important; margin-top:-30px !important;}
}



    .ligne-presta .et_pb_button_module_wrapper {
        width: 80% !important;
        max-width: 80% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-top: 5px !important;
        margin-bottom: 50px !important;
    }
    .ligne-presta .et_pb_button_module_wrapper .et_pb_button {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        line-height: 1.3 !important;
        height: 76px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

@media (max-width: 412px) {

    /* Annule la marge haute posée sur ces modules au tél (builder),
       avec body en préfixe pour gagner quel que soit l'ordre de chargement */
    body .et_pb_text_8,
    body .et_pb_text_17,
    body .et_pb_text_18,
    body .et_pb_text_27,
    body .et_pb_text_28 {
        margin-top: 0 !important;
    }

    /* 1 colonne → hauteurs auto, plus aucun blanc */
    .presta-titre.et_pb_text,
    .presta-texte.et_pb_text,
    .presta2-texte.et_pb_text,
    .presta-liste.et_pb_text,
    .presta-texte2.et_pb_text {
        height: auto !important;
        overflow: visible !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}
/* ----- 2 colonnes en flux continu (981 → 1024px) ----- */
@media only screen and (min-width: 768px) and (max-width: 1024px) {

    /* La section devient l'unique conteneur flex qui wrap toutes les cards */
    .presta-section {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        column-gap: 4.5% !important;
        row-gap: 30px !important;
        align-items: stretch !important;
        padding-left: 8% !important;
        padding-right: 8% !important;
    }

    /* On efface les lignes en tant que boîtes : leurs colonnes remontent dans la section */
    .presta-section .ligne-presta.et_pb_row {
        display: contents !important;
    }

    /* Toutes les cards à la même largeur → flux 2 + 2 + 2 + 1, la dernière centrée */
    .presta-section .ligne-presta.et_pb_row > .et_pb_column {
        width: 47% !important;
        max-width: 47% !important;
        margin: 0 !important;
    }

    /* Sécurité : si un titre/texte est dans la même section, il reste pleine largeur */
    .presta-section > .et_pb_row:not(.ligne-presta) {
        flex-basis: 100% !important;
        width: 100% !important;
    }
	
	
}


/* ============================================================================
   8b. SECTIONS "OFFRES" — Page offres DUERP (cards alignées)
   ============================================================================
   Cards offres avec hauteurs fixes pour aligner les 3 colonnes.
   Classes utilisées : offres-titre, img-offres-site, offres-texte,
   offres-liste, offres-bouton.
   La barre utilise la classe partagée .sol-barre (définie en section 7).
   ============================================================================ */

/* ----- Hauteurs par défaut (desktop ≥ 1470px) ----- */
.offres-titre.et_pb_text {
    height: 55px !important;
    overflow: hidden;
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}

.img-offres-site.et_pb_image,
.img-offres-site.et_pb_image .et_pb_image_wrap {
    height: 290px !important;
    overflow: hidden;
}

.img-offres-site.et_pb_image .et_pb_image_wrap img {
    height: 100% !important;
    width: 100% !important;
    object-fit: contain !important;
}

.offres-texte.et_pb_text {
    height: 70px !important;
    overflow: hidden;
    margin-bottom: 5px !important;
}

.offres-liste.et_pb_icon_list {
    height: 285px !important;
    overflow: hidden;
    margin-top: -10px !important;
}

.offres-bouton.et_pb_button_module {
    height: 100px !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
}

/* Contourne le reset last-child de Divi */
.et_pb_column .offres-bouton.et_pb_module:last-child {
    margin-bottom: 50px !important;
}

/* Bouton offres : toujours sur 1 ligne (desktop) */
.offres-bouton .et_pb_button {
    white-space: nowrap !important;
}

/* ----- Desktop petit (≤ 1469px) ----- */
@media (max-width: 1469px) {
    .offres-titre.et_pb_text {
        height: 85px !important;
        overflow: hidden;
        margin-top: 10px !important;
        margin-bottom: 5px !important;
    }
    .img-offres-site.et_pb_image,
    .img-offres-site.et_pb_image .et_pb_image_wrap {
        height: 225px !important;
        overflow: hidden;
    }
    .offres-texte.et_pb_text {
        height: 100px !important;
        overflow: hidden;
        margin-bottom: 5px !important;
    }
    .offres-liste.et_pb_icon_list {
        height: 350px !important;
        margin-bottom: 20px !important;
    }
    .et_pb_module.et_pb_button.offres-bouton:not(.et_block_module) {
        max-width: 85% !important;
        white-space: normal !important;
        line-height: 1.3 !important;
        height: 76px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        margin-bottom: 25px !important;
    }
}

/* ----- Desktop petit (≤ 1366px) ----- */
@media (max-width: 1366px) {
    .offres-titre.et_pb_text {
        height: 85px !important;
        overflow: hidden;
        margin-top: 5px !important;
    }
    .img-offres-site.et_pb_image,
    .img-offres-site.et_pb_image .et_pb_image_wrap {
        height: 215px !important;
        overflow: hidden;
    }
    .offres-texte.et_pb_text {
        height: 120px !important;
        overflow: hidden;
        margin-top: -10px !important;
        margin-bottom: 5px !important;
    }
    .offres-liste.et_pb_icon_list {
        height: 380px !important;
    }
    .et_pb_module.et_pb_button.offres-bouton:not(.et_block_module) {
        max-width: 85% !important;
        white-space: normal !important;
        line-height: 1.3 !important;
        height: 76px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        margin-top: -50px !important;
        margin-bottom: 25px !important;
    }
}

/* ----- Tablette (≤ 1024px) ----- */
@media (max-width: 1024px) {
    .ligne-solutions.et_pb_row {
        width: 95% !important;
        max-width: 95% !important;
    }
    .offres-liste.et_pb_icon_list {
        height: 450px !important;
    }
}

@media (max-width: 768px) {
    .ligne-solutions.et_pb_row {
        width: 70% !important;
        max-width: 70% !important;
    }
    .offres-titre.et_pb_text {
        height: 85px !important;
        overflow: hidden;
        margin-top: 10px !important;
        margin-bottom: -25px !important;
    }
    .img-offres-site.et_pb_image,
    .img-offres-site.et_pb_image .et_pb_image_wrap {
        height: 320px !important;
        overflow: hidden;
    }
    .offres-texte.et_pb_text {
        height: 100px !important;
    }
    .offres-liste.et_pb_icon_list {
        height: 300px !important;
    }
}

@media (max-width: 412px) {
    .ligne-solutions.et_pb_row {
        width: 90% !important;
        max-width: 90% !important;
    }
    .offres-titre.et_pb_text {
        height: 85px !important;
        overflow: hidden;
        margin-top: 10px !important;
        margin-bottom: -25px !important;
    }
    .img-offres-site.et_pb_image,
    .img-offres-site.et_pb_image .et_pb_image_wrap {
        height: 230px !important;
        overflow: hidden;
    }
}

/* ============================================================================
   9. SECTION CONTACT EXPERT & CTA
   ============================================================================
   Bloc "contact expert" avec largeur étendue sur desktop moyen,
   et passage en colonne sous 992px.
   ============================================================================ */

/* ----- 9.1 Contact expert : desktop large (≥ 1440px) ----- */
@media only screen and (min-width: 1440px) {
    .et_pb_row_8.et_pb_row_nested.contact-expert {
        margin-top: -40px !important;
    }
}

/* ----- 9.2 Contact expert : desktop moyen (993px – 1439px) ----- */
@media only screen and (min-width: 993px) and (max-width: 1439px) {
    .et_pb_row_8.et_pb_row_nested.contact-expert {
        margin-top: -10px !important;
        width: 70% !important;
        max-width: 130% !important;
    }
}
/* Sous 992px : layout Divi natif (rien à surcharger) */

/* ----- 9.3 CTA contact : passage en colonne (≤ 992px) ----- */
@media (max-width: 992px) {
    .cta-contact.et_pb_row {
        flex-wrap: wrap !important;
        flex-direction: column !important;
    }
    .cta-contact.et_pb_row .et_pb_column {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* ----- 9.4 Bouton CTA : passage en colonne centrée (≤ 992px) ----- */
@media (max-width: 992px) {
    .bouton-cta.et_pb_row {
        flex-wrap: wrap !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }
    .bouton-cta.et_pb_row .et_pb_column {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
}


/* ============================================================================
   10. UTILITAIRES & DIVERS
   ============================================================================ */

/* ----- 10.1 Marge zéro sur la première ligne (et_pb_row_0) ----- */
.et_pb_row_0.et_pb_row {
    margin-top: 0px !important;
}

/* ----- 10.2 Classe utilitaire : z-index élevé sur une ligne ----- */
.ligne-zindex.et_pb_row {
    z-index: 100 !important;
}

.et-menu li ul,
.et-menu li ul.sub-menu {
    width: auto !important;
    min-width: unset !important;
    max-width: none !important;
    overflow: visible !important;
    padding-bottom: 8px !important;
}

.et-menu li li a {
    padding: 10px 20px !important;
    width: auto !important;
    white-space: nowrap !important;
    overflow: visible !important;
    display: block !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
    margin: 0 -20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.et-menu li li:last-child a {
    border-bottom: none !important;
    margin-bottom: 20px !important;
}

.et-menu li li {
    width: auto !important;
    overflow: visible !important;
    border-bottom: none !important;
}

.et-menu li ul.sub-menu::after {
    border-bottom-color: #EC3B94 !important;
}


/* ============================================================================
   11. LANDING PAGE
   ============================================================================
   Styles spécifiques à la landing page (section-mockup).
   Formulaire de contact : boutons radio, titre de champ.
   Section images décoratives : désactivation des clics.
   ============================================================================ */

/* ----- 11.1 Boutons radio côte à côte ----- */
.et_pb_contact_field_options_list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    align-items: center !important;
}

/* ----- 11.2 Titre du champ radio ----- */
.et_pb_contact_field_options_title {
    font-size: 19px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #0C3144 !important;
}

/* ----- 11.3 Section images décoratives : désactivation des clics -----
   La section .section-img-landing contient les images plante.png et code.png
   qui débordent par-dessus la section mockup via margin-top négatif.
   pointer-events: none permet aux boutons en dessous de rester cliquables.
*/
.section-img-landing {
    pointer-events: none !important;
	margin-top: -500px !important;
	
}

@media (max-width: 1366px) {
	.section-img-landing {
    margin-top: -315px !important;
	}
	.section-situation {
			margin-top: -75px !important;
		}
	.ligne-vous {
		margin-top: -250px !important;
		
	}
	
}

@media (max-width: 1280px) {
	.section-img-landing {
    margin-top: -250px !important;
	}
	.section-situation {
			margin-top: -120px !important;
		}
	.ligne-vous {
		margin-top: -250px !important;
		
	}
	
}

@media (max-width: 1024px) {
	.section-mockup {
    margin-top: 0px !important;
	}
	.section-situation {
			margin-top: -25px !important;
		}
	.ligne-vous {
		margin-top: 0px !important;
		
	}
	.section-img-landing {
		margin-top: -75px !important;
	}
	
}

@media (max-width: 768px) {
	
	.section-img-landing {
		margin-top: -600px !important;
	}
}

@media (max-width: 412px) {
	
	.section-img-landing {
		margin-top: -500px !important;
	}
}





/* Icônes à 10px pour les listes .list-10 */
.list-10 .et-pb-icon,
.list-10 .et-pb-icon::before,
.list-10 .et_pb_icon_list_icon,
.list-10 .et_pb_icon_list_icon::before {
    font-size: 10px !important;
    line-height: 10px !important;
}

.list-10 .et-pb-icon,
.list-10 .et_pb_icon_list_icon {
    width: 10px !important;
    height: 10px !important;
}

/* ============================================
   TABLEAU COMPARATIF OZA – grille
   ============================================ */

/* 1) La LIGNE devient la grille (sans gap, sans fond) */
.oza-tableau.et_pb_row {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(6, auto);
    grid-auto-flow: column;
    align-content: start;
    gap: 0 !important;
    width: 100%;
}

/* 2) Colonnes neutralisées */
.oza-tableau .oza-tableau-col { display: contents !important; }

/* 3) Cellules : fond blanc + filets via bordures */
.oza-tableau .oza-th,
.oza-tableau .oza-td {
    display: flex;
    align-items: center;
    margin: 0 !important;
    padding: 14px 22px !important;
    background: #ffffff;
    color: #0c3144;
    border-right: 1px solid #0c3144 !important;
    border-bottom: 1px solid #0c3144 !important;
}
/* bord gauche : colonne de gauche */
.oza-tableau .oza-tableau-col:first-child .oza-th,
.oza-tableau .oza-tableau-col:first-child .oza-td {
    border-left: 1px solid #0c3144 !important;
}
/* bord haut : ligne d'entête */
.oza-tableau .oza-th { border-top: 1px solid #0c3144 !important; }

/* 4) Entêtes : 20px gras #0c3144 */
.oza-tableau .oza-th,
.oza-tableau .oza-th .et_pb_text_inner,
.oza-tableau .oza-th .et_pb_text_inner *,
.oza-tableau .oza-th p {
    color: #0c3144 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.3;
}

/* 5) Texte des blurbs en #0c3144 (icônes intactes) */
.oza-tableau .oza-td .et_pb_module_header,
.oza-tableau .oza-td .et_pb_module_header a,
.oza-tableau .oza-td .et_pb_blurb_description,
.oza-tableau .oza-td .et_pb_blurb_description p {
    color: #0c3144 !important;
}

/* 6) Blurbs compacts */
.oza-tableau .oza-td .et_pb_blurb_content {
    max-width: 100%; display: flex; align-items: center;
}
.oza-tableau .oza-td .et_pb_main_blurb_image { margin: 0 14px 0 0 !important; }
.oza-tableau .oza-td .et_pb_blurb_container  { margin: 0 !important; }
.oza-tableau .oza-td .et_pb_blurb_description,
.oza-tableau .oza-td .et_pb_blurb_description p { margin: 0 !important; padding: 0 !important; }

/* 10) Tablette : marge latérale */
@media (max-width: 1024px) {
    .oza-tableau.et_pb_row {
        width: calc(100% - 40px) !important;
        max-width: calc(100% - 40px) !important;
    }
}

/* 7) Responsive – téléphone : une colonne */
@media (max-width: 767px) {
    .oza-tableau.et_pb_row {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-auto-flow: row;
    }
    .oza-tableau .oza-th,
    .oza-tableau .oza-td {
        border-left: 1px solid #0c3144 !important;
        padding: 12px 16px !important;
    }
    .oza-tableau .oza-th { border-top: 1px solid #0c3144 !important; }
}

/* 8) Largeur maxi + coins arrondis */
.oza-tableau.et_pb_row {
    max-width: 1400px !important;  /* ajuste à 1100 ou 1300 selon ton goût */
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 12px !important;
    overflow: hidden;              /* les cellules des coins suivent l'arrondi */
}

/* Coins arrondis sur les 4 cellules d'angle */
.oza-tableau .oza-tableau-col:first-child > :first-child {
    border-top-left-radius: 12px !important;
}
.oza-tableau .oza-tableau-col:last-child > :first-child {
    border-top-right-radius: 12px !important;
}
.oza-tableau .oza-tableau-col:first-child > :last-child {
    border-bottom-left-radius: 12px !important;
}
.oza-tableau .oza-tableau-col:last-child > :last-child {
    border-bottom-right-radius: 12px !important;
}

.oza-tableau .oza-th .et_pb_text_inner {
    width: 100%;
    text-align: center;
}