/* ===================================================================================

* Theme Name: Beakai Child
* Theme URI: https://themeforest.net/user/theme_pure/portfolio
* Author: theme_pure
* Author URI: https://bdevs.net/wp/beakai/
* Description: Beakai - Business and Financial Institution WordPress Theme
* Version: 1.0.0
* Template: beakai
* License: GNU General Public License version 3.0
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
* Tags: one-column, right-sidebar, left-sidebar, custom-menu, featured-images, post-formats, sticky-post, translation-ready

* We encourage you to create Child theme for any modifications you will want to do.

* Why use Child theme?

* Because of future updates we may provide for this theme that will overwrite your
* modifications and all your custom work.

* If you are not familiar with Child Themes, you can read about it here:
* http://codex.wordpress.org/Child_Themes
* http://wp.tutsplus.com/tutorials/theme-development/child-themes-basics-and-creating-child-themes-in-wordpress/

====================================================================================== */


/* ===================================================================================
   0. BLOG ARTICLE - date + tags + catégorie image
   =================================================================================== */

/* Layout date / tags en ligne */
.single-post .post-meta,
.blog .post-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.single-post .post-meta-date,
.blog .post-meta-date {
    flex: 0 0 auto;
}
.single-post .post-meta-tags,
.blog .post-meta-tags {
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
}

/* Style tags comme la sidebar */
.single-post .post-meta-tags a,
.blog .post-meta-tags a {
    background: #f5f5f5;
    color: #001D23;
    display: inline-block;
    font-size: 12px !important;
    font-weight: 500;
    line-height: 1;
    padding: 10px 16px;
    text-transform: uppercase;
    border: 0;
    text-decoration: none;
    transition: background 0.3s, color 0.3s;
}
.single-post .post-meta-tags a:hover,
.blog .post-meta-tags a:hover {
    background: #001D23;
    color: #fff;
}

/* Catégorie sur l'image : cliquable */
.postbox__thumb .blog-tags a {
    color: inherit;
    text-decoration: none;
    display: block;
}

/* ===================================================================================
   1. TYPOGRAPHIE
   Toutes les déclarations @font-face pour "Lenia Sans" (100–900)
   et l'application globale de la police sur le body/titres/Elementor.
   =================================================================================== */

@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-ExtraLightItalic.ttf') format('truetype');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-ExtraBoldItalic.ttf') format('truetype');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lenia Sans';
    src: url('fonts/LeniaSans-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* Application globale sur le body, les titres et les widgets Elementor */
body,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-button .elementor-button,
h1, h2, h3, h4, h5, h6, p {
    font-family: 'Lenia Sans', sans-serif;
}


/* ===================================================================================
   2. PALETTE DE COULEURS — SURCHARGES DU THÈME PARENT
   Couleurs principales : #0e202a (foncé), #b9d4d2 (vert pâle), #ccd8e3 (bleu pâle)
   =================================================================================== */

/* --- 2.1 Sélection de texte --- */

::selection {
    background: #0e202a !important;
    color: #b9d4d2 !important;
}
::-moz-selection {
    background: #0e202a !important;
    color: #b9d4d2 !important;
}

/* --- 2.2 Fonds sombres (#0e202a) — composants thème parent --- */

.bt-btn, .slider-active button:hover, .about-video-btn.white-video-btn:hover, #scrollUp, .single-pricing-box.active::before, .footer-subsccribe form button, .about-text-list ul li:hover i, .service-content-2 h3 a::before, .team-social-profile ul, .theme-bg, .counter-box-white h6::before, .service-box-3 .service-link, .play-btn:hover, .analysis-area ul li.nav-item:nth-child(1) a.nav-link, .testi-box-2:hover .testi-quato-icon-green, .analysis-area .nav-item a.nav-link::after, .service-box-3 a.service-link:hover, .team-social-widget ul, .portfolio-image::before, .portfolio-filter button::before, .postbox__gallery .slick-arrow:hover, .service-content-inner span, .process__item::before, .contact-btn input, .widget .widget-title::after, .sidebar-search-form button, .sidebar-tad li a:hover, .tagcloud a:hover, .basic-pagination-2 ul li span:hover, .basic-pagination ul li span.current, .basic-pagination-2 ul li a:hover, .basic-pagination-2 ul li.active a, .open-mobile-menu a, .open-mobile-menu a:focus, div.blog-post-tag a:hover {
    background: #0e202a;
}

/* --- 2.3 Fonds clairs (#ccd8e3) — composants thème parent --- */

.play-btn, .single-pricing-box.active .bt-btn, .testi-quato-icon-green, .bt-btn:hover, .service-box-3:hover .service-link, .professinals-list li:hover i, .analysis-area ul li.nav-item:nth-child(2) a.nav-link, .analysis-area .nav-item:nth-child(2) a.nav-link::after, .contact i, .open-mobile-menu a:hover, .blog-tags {
    background: #ccd8e3;
}

/* --- 2.4 Couleurs de texte (#b9d4d2) — composants thème parent --- */

.header-info span i, .header__menu4 ul li a:hover, .header__menu ul li ul.sub-menu li a:hover, .mv-icon i, .section-title h1 span, .service-content h3 a:hover, .team-content h6, .news-meta ul li a i, .news-meta ul a:hover, .latest-news-content h3 a:hover, .header__menu.header-menu-white ul li:hover > a, .service-box.service-box-2 .service-content-2 h3 a:hover, .service-box-2 .service-content-2 a.service-link:hover, .green-color, .header__menu.header-menu-white ul li ul.sub-menu li:hover > a, .header-cta-icon i, .author-desination-2 h6, .single-couter-2 i, .appoinment-content span, .analysis-area ul li.nav-item:nth-child(3) a.nav-link i, .ser-fea-icon i, .ser-fea-list ul li i, .more-service-icon i, .more-service-list ul li a:hover .more-service-title, .portfolio-filter button:hover, .portfolio-filter button.active, .process__thumb i, .post-meta span i, .blog-title a:hover, .post-meta span a:hover, .widget-posts-title a:hover, .widget li a:hover, .blog-post-tag a:hover, .header__menu.menu-dark > nav > ul > li > a:hover {
    color: #b9d4d2;
}

.service-box .service-link:hover, a:focus, a:hover, .latest-news-box-2 .latest-news-content h3 a:hover, .counter-box-white i, .professinals-list li i, .contact-icon::before, .single-satisfied h1 {
    color: #b9d4d2;
}


/* ===================================================================================
   3. HEADER & NAVIGATION
   Logo, menu principal, breadcrumb, menu mobile et fix hamburger.
   =================================================================================== */

header .top-bar-3 {
    padding-bottom: 0px;
}

header .logo img {
    width: 130px;
    margin-bottom: 18px;
}

/* Opacité normale sur les liens du menu sombre */
.header__menu.menu-dark > nav > ul > li > a {
    opacity: 1;
}

/* Lien actif dans le menu sombre */
.header__menu.menu-dark > nav > ul > li.active > a {
    color: #ccd8e3;
    text-decoration: underline;
}

/* Force le menu à occuper toute la largeur de la ligne (masque le 2e div) */
.header-menu-area .row > div:first-child {
    max-width: 100% !important;
    flex: 0 0 100%;
}

.header-menu-area .row > div:nth-child(2) {
    display: none;
}

/* Breadcrumb : image de fond + masque le fil d'Ariane natif du thème */
.breadcrumb-area {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

nav.breadcrumb-trail {
    display: none;
}

/* Menu mobile latéral */
.side-mobile-menu ul li a:hover {
    color: #0e202a;
}

.open-mobile-menu a {
    margin-left: 0px;
}

/* -----------------------------------------------------------------------
   Fix hamburger mobile — bug thème parent (Header Style 3)
   Le bouton .open-mobile-menu est imbriqué dans un div d-none d-lg-block.
   On force ce div à s'afficher sur mobile et on masque les éléments desktop.
----------------------------------------------------------------------- */
@media (max-width: 991.98px) {
    .top-bar-3 .d-none.d-lg-block:not(.header-menu-area) {
        display: flex !important;
        justify-content: flex-end;
        align-items: center;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .top-bar-3 .d-none.d-lg-block:not(.header-menu-area) > div {
        padding: 0;
        margin-right: 10px;
    }

    .top-bar-3 .d-none.d-lg-block .header-right-btn,
    .top-bar-3 .d-none.d-lg-block .header-cta-info {
        display: none !important;
    }
}


/* ===================================================================================
   4. FOOTER
   Fond, textes généraux et formulaire de contact CF7 intégré en widget.
   =================================================================================== */

footer {
    background: #0e202a !important;
}

.footer-text {
    color: white;
}

.footer-text i {
    margin-right: 8px;
}

.footer-title {
    margin-bottom: 25px;
}

/* --- Formulaire de contact en pied de page (widget CF7) --- */

/* Supprime la bordure du wrapper de champ */
.widget_text .appoinment-form-box {
    border: none !important;
    margin-bottom: 4px;
}

/* Champs de saisie */
footer .widget_text .appointment-form-2 input {
    background: transparent;
    color: #ffffff;
    border: 2px solid #899dab;
    border-radius: 6px;
    box-shadow: none;
    padding: 10px 14px;
    font-size: 15px;
    width: 100%;
}

/* Placeholder */
footer .widget_text .appointment-form-2 input::placeholder {
    color: #899dab;
    font-size: 14px;
    font-weight: 400;
}

/* Outline au focus */
footer .widget_text .appointment-form-2 input:focus {
    outline: none;
    box-shadow: none;
    background: transparent;
    color: #ffffff;
    border-color: #ffffff;
}

/* Labels */
.widget_text .appointment-form-2 label {
    color: #aab6bf;
    font-size: 11px;
    letter-spacing: 0.08em;
    margin-bottom: 0px;
    display: block;
}

/* Bouton submit */
.widget_text .appoint-button {
    text-align: center;
    margin-top: 10px;
}

footer .widget_text .appoint-button input[type="submit"],
footer .widget_text .appoint-button .wpcf7-submit {
    background: transparent;
    color: #ffffff;
    border: 2px solid #ffffff;
    padding: 0px 36px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.25s, color 0.25s;
    border-radius: 6px;
}

footer .widget_text .appoint-button input[type="submit"]:hover,
footer .widget_text .appoint-button .wpcf7-submit:hover {
    background: #ffffff;
    color: #0e202a;
}

/* Message de réponse CF7 */
footer .widget_text .wpcf7-response-output {
    border-color: rgba(255, 255, 255, 0.3);
    color: #ffffff;
    margin-top: 16px;
    padding: 10px 14px;
    font-size: 13px;
}

/* Masque le spinner de chargement CF7 */
footer .widget_text .wpcf7-spinner {
    display: none;
}


/* ===================================================================================
   5. COMPOSANTS GLOBAUX
   Éléments réutilisables à travers tout le site.
   =================================================================================== */

/* --- 5.1 Blog & articles --- */

.blog-tags {
    color: #0e202a;
}

div.blog-post-tag a:hover {
    border-color: #0e202a;
}

/* Masque tous les spans de méta sauf le premier (date) sur les pages liste/article */
body.archive .postbox__text .post-meta span,
body.single-post .postbox__text .post-meta span {
    display: none;
}

body.archive .postbox__text .post-meta span:first-child,
body.single-post .postbox__text .post-meta span:first-child {
    display: inline !important;
}

/* --- 5.2 Services & widgets latéraux --- */

.service-widget {
    border-color: #b9d4d2;
}

.form-box::before {
    color: #b9d4d2;
}

/* About widget Style 2 : image sous la description */
.about-area-mid .about-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

/* --- 5.3 Équipe --- */

/* Supprime la mise en majuscules du titre de poste */
.team-member-info .designation {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Fond bleu LinkedIn pour les icônes réseaux sociaux */
.team-social-widget ul {
    background: #0077B5 !important;
    border-radius: 6px;
}

/* --- 5.4 Formulaire de contact (page Contact) — case RGPD --- */

.contact-form .wpcf7-list-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
}

.contact-form .wpcf7-list-item label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.5;
}

.contact-form input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    padding: 0 !important;
    border: 2px solid #b9d4d2;
    border-radius: 3px;
    background-color: #fff;
    cursor: pointer;
    margin-top: 2px;
    position: relative;
    transition: border-color 0.2s, background-color 0.2s;
}

.contact-form input[type="checkbox"]:checked {
    background-color: #b9d4d2;
    border-color: #b9d4d2;
}

.contact-form input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 6px;
    height: 10px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

/* --- 5.5 Icônes personnalisées (Font Awesome) --- */

/* Icône entreprise dans les formulaires */
.company-icon::before {
    content: "\f1ad";
}

/* Icône commentaire/sujet dans les formulaires */
.subject-icon::before {
    content: "\f075";
}

/* --- 5.6 Widgets Elementor --- */

/* Masque l'auteur dans le widget Post List */
.bdevselement-post-list-author {
    display: none !important;
}

/* Masque la colonne Post List vide et centre les colonnes restantes */
.elementor-column:not(:has(.bdevselement-post-list-wrapper)):has(.elementor-widget-post_list) {
    display: none !important;
}

.elementor-section:has(.elementor-widget-post_list) .elementor-container {
    justify-content: center;
}

/* Post List : grille responsive 3 / 2 / 1 colonnes, centrée si peu d'items */
#home_blog_recent .bdevselement-post-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin: 0;
}

#home_blog_recent .bdevselement-post-list > li {
    list-style: none;
    flex: 1 1 350px;
    min-width: min(350px, 100%);
    max-width: calc((100% - 60px) / 3);
}

#home_blog_recent .bdevselement-post-list > li .latest-news-box {
    height: 100%;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    #home_blog_recent .bdevselement-post-list > li {
        max-width: calc((100% - 30px) / 2);
    }
}

@media (max-width: 600px) {
    #home_blog_recent .bdevselement-post-list > li {
        max-width: 100%;
    }
}

/* Badge de tableau de prix Elementor */
.bdevselement-pricing-table-badge {
    display: block;
    margin-bottom: 20px;
    font-size: 22px;
}

/* Hauteur minimale forcée sur la page tarifs (page ID 680) */
body.page-id-680 .single-pricing-box {
    min-height: 730px;
}

.pricing-head .price {
    line-height: 45px !important;
}


/* ===================================================================================
   6. PAGES SPÉCIFIQUES
   Styles propres à des sections ou pages identifiées par ID/classe de page.
   =================================================================================== */

/* --- 6.1 Accueil --- */

/* Supprime l'overlay sombre du slider */
.home .slider-height::before {
    background-color: unset !important;
}

/* Section "Situations" : cards en flexbox centrées */
#home_situations .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#home_situations .col-xl-4,
#home_situations .col-lg-6,
#home_situations .col-md-6 {
    display: flex;
    margin-bottom: 20px;
}

#home_situations .service-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    width: 100%;
}

/* Section "Accompagnement" : texte atténué */
#home_heading_accompagnement p {
    color: #aaa;
}

/* Section chiffres clés : compteurs centrés */
#mission_facts .single-couter {
    text-align: center;
}

/* --- 6.2 Approche --- */

/* Hauteur minimale pour aligner les colonnes Elementor */
#approche_steps .elementor-element {
    min-height: 100%;
}

/* Badge numéroté en cercle au-dessus de chaque étape */
#approche_steps .sub-title {
    position: absolute;
    top: -115px;
    left: 50%;
    margin-left: -65px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    text-align: center;
    background: #B9D4D2;
    border: solid 3px white;
    line-height: 100px;
}

#approche_steps .section-title {
    padding-top: 30px;
}

/* --- 6.3 Patricia (page de présentation) --- */

/* Masque les blocs non pertinents sur cette page */
#patricia_presentation .service-details-feature,
#patricia_presentation .team-map,
#patricia_presentation .service-widget:last-child {
    display: none;
}

/* --- 6.4 Formation — Tableau programme (#formation_container_table) --- */

#formation_container_table h3 {
    font-family: 'Lenia Sans', sans-serif;
    font-weight: 700;
    margin-bottom: 20px;
}

#formation_container_table table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Lenia Sans', sans-serif;
    font-size: 0.95rem;
}

#formation_container_table thead td {
    background-color: #b9d4d2;
    color: #0e202a;
    font-weight: 700;
    padding: 12px 16px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    font-size: 0.8rem;
}

#formation_container_table tbody tr {
    border-bottom: 1px solid rgba(185, 212, 210, 0.2);
    transition: background 0.2s;
}

#formation_container_table tbody tr:last-child {
    border-bottom: none;
}

#formation_container_table tbody tr:hover {
    background-color: rgba(185, 212, 210, 0.07);
}

#formation_container_table tbody td {
    padding: 14px 16px;
    vertical-align: top;
    line-height: 1.5;
}

/* Colonne Horaires */
#formation_container_table tbody td:first-child {
    white-space: nowrap;
    font-weight: 600;
    font-size: 0.9rem;
}

/* Colonne Module */
#formation_container_table tbody td:nth-child(2) {
    font-weight: 600;
}

@media (max-width: 600px) {
    #formation_container_table table,
    #formation_container_table thead,
    #formation_container_table tbody,
    #formation_container_table tr,
    #formation_container_table td {
        display: block;
        width: 100%;
    }

    #formation_container_table thead {
        display: none;
    }

    #formation_container_table tbody tr {
        margin-bottom: 16px;
        border: 1px solid rgba(185, 212, 210, 0.25);
        padding: 12px;
    }

    #formation_container_table tbody td {
        padding: 4px 0;
    }

    #formation_container_table tbody td:first-child {
        font-size: 0.85rem;
    }
}

/* --- 6.5 Tarifs — Audit Social (#prices_audit) --- */

/* Wrapper carte mise en avant */
.prices-audit-wrapper {
    background: linear-gradient(160deg, #0E202A 0%, #1b3d50 100%);
    padding: 4px 4px 0;
    margin-bottom: 40px;
    box-shadow: 0 8px 30px rgba(14, 32, 42, 0.25);
}

#prices_audit {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-family: Arial, sans-serif;
}

#prices_audit th,
#prices_audit td {
    padding: 18px 24px;
    vertical-align: top;
    border: none;
}

/* En-tête Audit Social */
#prices_audit thead th {
    background: transparent;
    color: #ffffff;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    padding: 26px 24px 22px;
    letter-spacing: 0.3px;
}

#prices_audit thead th .th-sub {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: #b9d4d2;
    margin-top: 6px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* Cellules standards */
#prices_audit tbody td {
    background: #ffffff;
    border-bottom: 1px solid #e4eaee;
    border-left: 4px solid transparent;
    padding: 20px 24px;
}

#prices_audit tbody tr:last-child td {
    border-bottom: 4px solid #0E202A;
}

/* Cellule Diagnostic Flash (mise en avant) */
#prices_audit tbody tr.featured-row td {
    background: #e3eeee;
}

/* Badge "démarrage rapide" */
#prices_audit .featured-badge {
    display: inline-block;
    background: #0E202A;
    color: #b9d4d2;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    padding: 3px 12px;
    border-radius: 20px;
    margin-bottom: 12px;
}

/* Libellé et prix */
#prices_audit .label {
    display: block;
    font-size: 16px;
    color: #1f2435;
    line-height: 1.5;
    margin-bottom: 6px;
    font-weight: 500;
}

#prices_audit .price {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: #0E202A;
    text-align: right;
    margin-bottom: 14px;
}

/* Bouton CTA prise de rendez-vous */
#prices_audit .cta-btn {
    display: inline-block;
    background: #0E202A;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 24px;
    border-radius: 4px;
    text-decoration: none !important;
    transition: background 0.25s ease, color 0.25s ease;
}

#prices_audit .cta-btn:hover {
    background: #b9d4d2;
    color: #0E202A !important;
}

/* --- 6.6 Tarifs — Expertise & Formation (#prices_expertise) --- */

#prices_expertise {
    width: 100%;
    border-collapse: separate;
    border-spacing: 20px 0;
    table-layout: fixed;
    font-family: Arial, sans-serif;
    margin-top: 10px;
}

#prices_expertise th,
#prices_expertise td {
    padding: 16px 18px;
    vertical-align: top;
    border: none;
}

/* En-têtes */
#prices_expertise thead th {
    background: #0E202A;
    color: #ffffff;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    border-radius: 4px 4px 0 0;
}

#prices_expertise thead th .th-sub {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: #ccd8e3;
    margin-top: 4px;
}

/* Cellules */
#prices_expertise tbody td {
    background: #fff;
    border-bottom: 1px solid #cdd5de;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
}

#prices_expertise tbody tr:first-child td {
    border-top: none;
}

#prices_expertise tbody tr td:empty {
    background: transparent;
    border: none;
    box-shadow: none;
}

/* Libellé et prix */
#prices_expertise .label {
    display: block;
    font-size: 15px;
    color: #1f2435;
    line-height: 1.5;
    margin-bottom: 6px;
}

#prices_expertise .price {
    display: block;
    font-size: 17px;
    font-weight: 600;
    color: #0E202A;
    text-align: right;
}

@media (max-width: 900px) {
    .prices-audit-wrapper {
        padding: 4px 4px 0;
    }

    #prices_audit thead th {
        font-size: 20px;
        padding: 20px 16px 16px;
    }

    #prices_expertise {
        border-spacing: 0;
    }

    #prices_expertise thead {
        display: none;
    }

    #prices_expertise,
    #prices_expertise tbody,
    #prices_expertise tr,
    #prices_expertise td {
        display: block;
        width: 100%;
    }

    #prices_expertise td {
        margin-bottom: 12px;
        border-radius: 4px;
    }

    #prices_expertise td:empty {
        display: none;
    }
}

/* --- 6.7 Tarifs — RRH (#prices_rrh) --- */

.prices-rrh-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 6px 0 12px;
}

#prices_rrh {
    width: calc(100% + 28px);
    min-width: 760px;
    margin-left: -14px;
    border-collapse: separate;
    border-spacing: 14px 0;
    table-layout: fixed;
    font-family: 'Lenia Sans', sans-serif;
    font-size: 16px;
    line-height: 1.4;
    color: #0e202a;
    background: transparent !important;
    border: 0;
}

#prices_rrh th,
#prices_rrh td {
    padding: 16px 12px;
    text-align: center;
    vertical-align: middle;
    color: #0e202a;
    border: 0 !important;
    border-radius: 0;
}

/* En-têtes des quatre formules */
#prices_rrh thead th {
    color: #fff;
    background: #0e202a !important;
    font-size: 18px;
    font-weight: 700;
    border-radius: 4px 4px 0 0;
}

/* Colonne des intitulés */
#prices_rrh thead th:first-child,
#prices_rrh tbody th {
    width: 22%;
}

#prices_rrh tbody th {
    color: #18365a;
    background: #b9d4d2 !important;
    font-weight: 700;
    border-bottom: 1px solid #a4c4c2 !important;
}

/* Toutes les colonnes tarifaires ont désormais le même style */
#prices_rrh tbody td {
    background: #f1f3f5 !important;
    border-bottom: 1px solid #d6dbe0 !important;
}

#prices_rrh tbody tr:last-child th,
#prices_rrh tbody tr:last-child td {
    border-bottom: 0 !important;
    border-radius: 0 0 4px 4px;
}

#prices_rrh tbody tr:hover th {
    background: #aecbc9 !important;
}

#prices_rrh tbody tr:hover td {
    background: #e8ecef !important;
}

.prices-rrh-note {
    margin: 2px 0 22px;
    color: #4a4a4a;
    font-size: 13px;
    line-height: 1.4;
}

.prices-rrh-common-content {
    margin: 0;
    padding: 20px 22px;
    color: #0e202a;
    background: #f4f8f8;
    border-left: 4px solid #b9d4d2;
    border-radius: 0 4px 4px 0;
}

.prices-rrh-common-content p {
    margin: 0 0 12px;
}

.prices-rrh-common-content p:last-child {
    margin-bottom: 0;
}

/* Options complémentaires RRH */
.rrh-options {
    margin-top: 38px;
    color: #0e202a;
}

.rrh-option,
.rrh-startup,
.rrh-examples {
    margin-bottom: 34px;
}

.rrh-options h3 {
    margin: 0 0 14px;
    color: #0e202a;
    font-size: 22px;
    line-height: 1.3;
}

.rrh-options p {
    margin: 0 0 18px;
    line-height: 1.6;
}

.rrh-option-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Les marges négatives des tableaux ne doivent pas créer de barre sur desktop. */
@media (min-width: 992px) {
    .prices-rrh-wrapper,
    .rrh-option-table-wrapper {
        overflow-x: hidden;
    }
}

.rrh-option-table {
    width: calc(100% + 20px);
    min-width: 650px;
    margin: 0 0 0 -10px;
    border: 0;
    border-collapse: separate;
    border-spacing: 10px 0;
    table-layout: fixed;
    color: #0e202a;
    background: transparent !important;
    font-family: 'Lenia Sans', sans-serif;
    font-size: 16px;
}

.rrh-option-table th,
.rrh-option-table td {
    padding: 13px 10px;
    color: #0e202a;
    text-align: center;
    vertical-align: middle;
    border: 0 !important;
}

.rrh-option-table thead th {
    color: #fff;
    background: #0e202a !important;
    font-weight: 700;
    border-radius: 4px 4px 0 0;
}

.rrh-option-table thead th:first-child,
.rrh-option-table tbody th {
    width: 22%;
}

.rrh-option-table tbody th {
    color: #18365a;
    background: #b9d4d2 !important;
    font-weight: 700;
    border-radius: 0 0 4px 4px;
}

.rrh-option-table tbody td {
    background: #f1f3f5 !important;
    font-weight: 600;
    border-radius: 0 0 4px 4px;
}

.rrh-option-table tbody tr:hover th {
    background: #aecbc9 !important;
}

.rrh-option-table tbody tr:hover td {
    background: #e8ecef !important;
}

/* Variante à deux colonnes : listes de prestations et tarifs */
.rrh-option-table.rrh-services-table thead th:first-child,
.rrh-option-table.rrh-services-table tbody th {
    width: 68%;
    text-align: left;
}

.rrh-option-table.rrh-services-table thead th:last-child,
.rrh-option-table.rrh-services-table tbody td:last-child {
    width: 32%;
    white-space: nowrap;
}

.rrh-option-table.rrh-services-table tbody th {
    background: #f1f3f5 !important;
    color: #0e202a;
    font-weight: 500;
}

.rrh-startup > p {
    padding: 18px 20px;
    background: #f4f8f8;
    border-left: 4px solid #b9d4d2;
    border-radius: 0 4px 4px 0;
}

.rrh-examples {
    padding: 22px;
    background: #0e202a;
    border-radius: 4px;
}

.rrh-examples h3 {
    color: #fff;
}

.rrh-examples ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.rrh-examples li {
    position: relative;
    margin-bottom: 12px;
    padding-left: 22px;
    color: #fff;
    line-height: 1.5;
}

.rrh-examples li:last-child {
    margin-bottom: 0;
}

.rrh-examples li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #b9d4d2;
    content: '\2022';
}

@media (max-width: 768px) {
    .prices-rrh-wrapper {
        padding-right: 0;
        padding-left: 0;
    }

    #prices_rrh {
        font-size: 15px;
    }

    #prices_rrh thead th {
        font-size: 16px;
    }

    #prices_rrh th,
    #prices_rrh td {
        padding: 13px 10px;
    }

    .prices-rrh-note,
    .prices-rrh-common-content {
        margin-right: 0;
        margin-left: 0;
    }

    .rrh-options {
        margin-top: 28px;
    }

    .rrh-option,
    .rrh-startup,
    .rrh-examples {
        margin-bottom: 26px;
    }

    .rrh-options h3 {
        font-size: 19px;
    }

    .rrh-option-table {
        font-size: 15px;
    }

    .rrh-option-table th,
    .rrh-option-table td {
        padding: 12px 8px;
    }

    .rrh-startup > p,
    .rrh-examples {
        padding: 18px;
    }

    .hire-text {
        padding: 25px !important;
    }
}


/* ===================================================================================
   7. AUTRES
   Classes utilitaires et styles ne rentrant pas dans les catégories précédentes.
   =================================================================================== */

/* Masque le span décoratif (point/puce) généré par le thème dans les titres */
.no_dot h1 span,
.no_dot h2 span,
.no_dot h3 span,
.no_dot h4 span,
.no_dot h5 span {
    display: none;
}

/* Padding générique du bloc texte "Hire" */
.hire-text {
    padding: 50px;
}

/* Empêcher la coupure des mots au milieu dans le titre du bloc "Hire" */
.hiring-area .hire-text h2.section-title {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* ===================================================================================
   Feature-box : bouton par item (widget About, style_2)
   =================================================================================== */
.feature-box .feature-btn {
    display: inline-block;
    margin-top: 12px;
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    border: 2px solid currentColor;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.feature-box .feature-btn:hover {
    background-color: #0e202a;
    border-color: #0e202a;
    color: #fff;
}

.feature-box .feature-btn:hover,
.feature-box .feature-btn:focus {
    text-decoration: none;
}

/* Slider Elementor, Style 1 : alignement du bouton principal et du bouton 2. */
.serenio-slider-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}

.serenio-slider-buttons > a {
    margin-left: 0;
}

/* Accueil : voile sombre pour préserver la lisibilité sur l'image du slider. */
#home_slider .single-slider {
    position: relative;
    isolation: isolate;
}

#home_slider .single-slider::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(5, 24, 34, 0.82) 0%,
        rgba(5, 24, 34, 0.70) 35%,
        rgba(5, 24, 34, 0.38) 58%,
        rgba(5, 24, 34, 0.08) 82%,
        transparent 100%
    );
}

#home_slider .single-slider > .container {
    position: relative;
    z-index: 1;
}

#home_slider .hero-slider-caption .title,
#home_slider .hero-slider-caption .description {
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

@media (max-width: 575px) {
    .serenio-slider-buttons .bt-btn {
        max-width: 100%;
        height: auto;
        padding-right: 22px;
        padding-left: 22px;
        white-space: normal;
    }
}

@media (max-width: 991px) {
    #home_slider .single-slider::before {
        background: linear-gradient(
            90deg,
            rgba(5, 24, 34, 0.84) 0%,
            rgba(5, 24, 34, 0.68) 70%,
            rgba(5, 24, 34, 0.38) 100%
        );
    }
}

/* Accueil : l'image du widget About remplit son cadre sur grand écran. */
@media (min-width: 1200px) {
    #home_about .about-front-img {
        height: 612px;
        overflow: hidden;
    }

    #home_about .about-front-img img {
        display: block;
        width: 100%;
        max-width: none;
        height: 100%;
        object-fit: cover;
        object-position: center top;
    }
}

/* ===================================================================================
   ACCUEIL - Accordéon "Trois situations que j'ai déjà traitées"
   =================================================================================== */

#home_accordion .e-n-accordion {
    gap: 14px;
}

#home_accordion .e-n-accordion-item {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.035);
    transition: border-color 0.25s ease, background-color 0.25s ease;
    margin-bottom: 20px;
}

#home_accordion .e-n-accordion-item-title {
    min-height: 64px;
    padding: 16px 22px !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
}

#home_accordion .e-n-accordion-item-title-text,
#home_accordion .e-n-accordion-item-title-icon,
#home_accordion .e-n-accordion-item-title-icon i {
    color: #fff !important;
}

#home_accordion .e-n-accordion-item-title-text {
    font-weight: 600;
    line-height: 1.35;
}

#home_accordion .e-n-accordion-item:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.07);
}

#home_accordion .e-n-accordion-item[open] {
    border-color: rgba(255, 255, 255, 0.65);
    background: rgba(255, 255, 255, 0.06);
}

#home_accordion .e-n-accordion-item[open] > .e-n-accordion-item-title {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
}

#home_accordion .e-n-accordion-item > [role="region"] {
    padding: 18px 22px 20px !important;
    background: transparent !important;
}

#home_accordion .elementor-widget-text-editor,
#home_accordion .elementor-widget-text-editor p,
#home_accordion .elementor-widget-text-editor span {
    margin: 0;
    color: rgba(255, 255, 255, 0.88) !important;
    line-height: 1.7;
}

#home_accordion .elementor-widget-text-editor i,
#home_accordion .elementor-widget-text-editor i span {
    color: #fff !important;
    font-weight: 600 !important;
}

#home_accordion .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -4px;
}

@media (max-width: 767px) {
    #home_accordion .e-n-accordion {
        gap: 10px;
    }

    #home_accordion .e-n-accordion-item {
        border-radius: 10px;
    }

    #home_accordion .e-n-accordion-item-title {
        min-height: 56px;
        padding: 14px 16px !important;
    }

    #home_accordion .e-n-accordion-item > [role="region"] {
        padding: 15px 16px 18px !important;
    }

    #home_accordion .e-n-accordion-item-title-text,
    #home_accordion .elementor-widget-text-editor p {
        font-size: 15px;
    }

    #home_accordion .elementor-widget-text-editor p {
        line-height: 1.6;
    }
}

/* ===================================================================================
   ACCUEIL - Cartes "Ce que je peux prendre en charge"
   =================================================================================== */

#home_services > .e-con-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

#home_services .home-service-card {
    width: auto !important;
    min-width: 0;
    height: 100%;
    padding: 32px;
    align-items: flex-start;
    justify-content: flex-start;
    border: 1px solid #dce3e6;
    border-radius: 14px;
    background-color: #fff;
    box-shadow: 0 8px 24px rgba(14, 32, 42, 0.06);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

#home_services .home-service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(14, 32, 42, 0.35);
    box-shadow: 0 14px 34px rgba(14, 32, 42, 0.12);
}

#home_services .home-service-card .section-title,
#home_services .home-service-card .section-text {
    width: 100%;
    text-align: left;
}

#home_services .home-service-card h3.section-title {
    margin: 0;
    color: #0e202a;
    font-size: 25px;
    line-height: 1.25;
}

#home_services .home-service-card .elementor-widget-text-editor {
    width: 100%;
    flex-grow: 1;
}

#home_services .home-service-card .elementor-widget-text-editor p,
#home_services .home-service-card .elementor-widget-text-editor span {
    color: #454d51;
    line-height: 1.65;
}

#home_services .home-service-card .elementor-widget-text-editor p {
    margin-bottom: 12px;
}

#home_services .home-service-card .elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

#home_services .home-service-card .elementor-widget-text-editor strong,
#home_services .home-service-card .elementor-widget-text-editor strong i {
    color: #0e202a;
    font-weight: 700;
}

#home_services .home-service-card .elementor-widget-button {
    align-self: flex-start;
    margin-top: auto;
    text-align: left;
}

#home_services .home-service-card .elementor-button {
    border: 2px solid #0e202a;
    border-radius: 6px;
    background-color: #0e202a;
    color: #fff;
    font-weight: 600;
    transition: background-color 0.2s ease, color 0.2s ease;
}

#home_services .home-service-card .elementor-button:hover,
#home_services .home-service-card .elementor-button:focus-visible {
    background-color: transparent;
    color: #0e202a;
}

#home_services .home-service-card .elementor-button:focus-visible {
    outline: 2px solid #0e202a;
    outline-offset: 3px;
}

@media (max-width: 767px) {
    #home_services > .e-con-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    #home_services .home-service-card {
        padding: 24px 20px;
        border-radius: 10px;
    }

    #home_services .home-service-card h3.section-title {
        font-size: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #home_services .home-service-card {
        transition: none;
    }

    #home_services .home-service-card:hover {
        transform: none;
    }
}

/* ===================================================================================
   Widget Company — contenu éditorial structuré et image à hauteur égale
   Page « Ce que je fais », premier bloc Company
   =================================================================================== */

/* Harmonise la séparation entre les variantes normales et inversées du widget. */
.elementor-widget-comapny .hire-bg,
.elementor-widget-comapny .hire-bg-2 {
    border-top: 1px solid #eef2f3;
    box-shadow: none;
}

.elementor-widget-comapny .bdevs-el-des {
    margin-bottom: 30px;
    color: #454d51;
    font-size: 16px;
    line-height: 1.65;
}

.elementor-widget-comapny .company-description-item {
    display: block;
    margin-bottom: 20px;
    padding-left: 18px;
    border-left: 3px solid #bad7d5;
}

.elementor-widget-comapny .company-description-item:last-child {
    margin-bottom: 0;
}

.elementor-widget-comapny .company-description-title {
    display: block;
    margin-bottom: 4px;
    color: #0e202a;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
}

/* Mention commune sous les boutons des services de la page « Ce que je fais ». */
.cequejefais_service .company-btn::after {
    content: "Une heure pour identifier ce qui doit être traité et dans quel ordre, sur ce sujet comme sur les autres. Vous repartez avec un compte rendu écrit sous 48 heures. Le traitement vient ensuite, et vous décidez.";
    display: block;
    margin-top: 14px;
    color: #5d686e;
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: normal;
    text-transform: none;
}

@media (min-width: 992px) {
    .elementor-widget-comapny .hiring-area .row {
        align-items: stretch;
    }

    .elementor-widget-comapny .hiring-area .row > [class*="col-"] {
        display: flex;
    }

    .elementor-widget-comapny .hire-img {
        display: flex;
        width: 100%;
        height: 75%;
        max-height: 75%;
        align-self: center;
        overflow: hidden;
    }

    .elementor-widget-comapny .hire-img img {
        width: 100%;
        height: 100%;
        min-height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .elementor-widget-comapny .hire-text {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .elementor-widget-comapny .bdevs-el-des {
        font-size: 15px;
    }

    .elementor-widget-comapny .company-description-item {
        margin-bottom: 16px;
        padding-left: 14px;
    }
}

/* ===================================================================================
   Page Formation — blocs éditoriaux, programme et tarifs
   =================================================================================== */

.elementor-element-c3aaedc .sub-title {
    display: none;
}

.elementor-element-c3aaedc .section-text > p {
    max-width: 760px;
    margin: 22px auto 0;
    color: #454d51;
    font-size: 18px;
    line-height: 1.65;
}

.training-content {
    color: #454d51;
    font-size: 16px;
    line-height: 1.65;
}

.training-content h2,
.training-content h3 {
    color: #0e202a;
}

.training-content h2 {
    margin: 0 0 22px;
    font-size: 32px;
    line-height: 1.2;
}

.training-content h3 {
    margin: 32px 0 16px;
    font-size: 23px;
}

.training-content p {
    margin: 0 0 12px;
}

.training-content p:last-child {
    margin-bottom: 0;
}

.training-cta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 20px;
    margin-bottom: 32px;
}

.training-btn,
.training-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    border: 2px solid #0e202a;
    border-radius: 4px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.training-btn {
    background-color: #0e202a;
    color: #fff;
}

.training-link {
    background-color: transparent;
    color: #0e202a;
}

.training-btn:hover,
.training-btn:focus-visible {
    background-color: #bad7d5;
    border-color: #bad7d5;
    color: #0e202a;
}

.training-link:hover,
.training-link:focus-visible {
    background-color: #0e202a;
    color: #fff;
}

.training-btn:focus-visible,
.training-link:focus-visible {
    outline: 2px solid #0e202a;
    outline-offset: 3px;
}

.training-intro-content .training-section {
    margin-top: 24px;
    padding: 24px;
    border-left: 4px solid #bad7d5;
    background-color: #f4f7f7;
}

.training-intro-content .training-section h2 {
    font-size: 27px;
}

.training-details-content > .training-section {
    margin-bottom: 56px;
}

.training-details-content > .training-section:last-child {
    margin-bottom: 0;
}

.training-table-wrap {
    width: 100%;
    overflow-x: auto;
    margin-bottom: 22px;
    border-radius: 5px;
}

.training-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background-color: #f1f4f5;
    table-layout: fixed;
}

.training-table th,
.training-table td {
    padding: 16px 18px;
    border: 0;
    border-bottom: 1px solid #d7dfe1;
    text-align: left;
    vertical-align: top;
}

.training-table thead th {
    background-color: #0e202a;
    color: #fff;
    font-weight: 700;
}

.training-table tbody tr:last-child td {
    border-bottom: 0;
}

.training-program-table th:nth-child(1),
.training-program-table td:nth-child(1) {
    width: 18%;
}

.training-program-table th:nth-child(2),
.training-program-table td:nth-child(2) {
    width: 25%;
}

.training-price-table th:first-child,
.training-price-table td:first-child {
    width: 70%;
}

.training-price-table td:last-child {
    color: #0e202a;
}

.training-note {
    padding: 14px 18px;
    border-left: 3px solid #bad7d5;
    background-color: #f4f7f7;
}

.training-format-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin-bottom: 30px;
    border: 1px solid #d7dfe1;
    border-radius: 5px;
    background-color: #d7dfe1;
}

.training-format-summary p {
    margin: 0;
    padding: 16px 18px;
    background-color: #f4f7f7;
}

.training-format-summary p:last-child {
    grid-column: 1 / -1;
}

.training-funding {
    padding: 30px;
    border-left: 5px solid #bad7d5;
    background-color: #0e202a;
    color: #fff;
}

.training-funding h2 {
    color: #fff;
}

.training-content .training-funding p,
.training-content .training-funding p strong,
.training-content .training-funding p a {
    color: #fff;
}

/* Mention réglementaire mise en avant dans l'encart Financement. */
.training-content .training-funding .training-funding-registration {
    margin: 0 0 22px;
    padding: 14px 16px;
    border: 1px solid rgba(186, 215, 213, 0.5);
    border-left: 4px solid #bad7d5;
    border-radius: 4px;
    background-color: rgba(186, 215, 213, 0.12);
    color: #fff;
    line-height: 1.55;
}

.training-content .training-funding .training-funding-registration strong {
    color: #bad7d5;
    font-weight: 700;
}

@media (max-width: 767px) {
    .elementor-element-c3aaedc .section-text > p {
        font-size: 16px;
    }

    .training-content h2 {
        font-size: 27px;
    }

    .training-cta-row,
    .training-btn,
    .training-link {
        width: 100%;
    }

    .training-intro-content .training-section,
    .training-funding {
        padding: 22px 18px;
    }

    .training-format-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .training-format-summary p:last-child {
        grid-column: auto;
    }

    .training-table {
        min-width: 680px;
    }

    .training-price-table {
        min-width: 540px;
    }
}

/* ===================================================================================
   Page À propos — parcours, méthode et cadre d'intervention
   =================================================================================== */

.about-page {
    --about-dark: #0e202a;
    --about-ink: #243744;
    --about-text: #454d51;
    --about-accent: #bad7d5;
    --about-soft: #f4f7f7;
    width: 100%;
    color: var(--about-text);
    font-size: 16px;
    line-height: 1.7;
}

.about-page *,
.about-page *::before,
.about-page *::after {
    box-sizing: border-box;
}

.about-page img {
    display: block;
    width: 100%;
}

.about-page h1,
.about-page h2,
.about-page h3 {
    color: var(--about-ink);
}

.about-page h1 {
    margin: 0 0 28px;
    font-size: clamp(40px, 4.7vw, 64px);
    line-height: 1.05;
}

.about-page h1 span {
    color: var(--about-dark);
}

.about-page h2 {
    margin: 0 0 28px;
    font-size: clamp(32px, 3.2vw, 46px);
    line-height: 1.15;
}

.about-page h3 {
    margin: 0 0 8px;
    font-size: 20px;
}

.about-page p {
    margin: 0 0 18px;
    color: var(--about-text);
}

.about-eyebrow,
.about-section-number {
    color: #557b7a !important;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1.2;
    text-transform: uppercase;
}

.about-hero {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    overflow: hidden;
    margin-bottom: 90px;
    background-color: var(--about-soft);
}

.about-hero-media {
    min-height: 680px;
}

.about-hero-media img {
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.about-hero-content {
    align-self: center;
    padding: 58px 60px;
}

.about-credentials {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 28px;
}

.about-credentials span {
    display: inline-flex;
    padding: 7px 12px;
    border: 1px solid #cbd8da;
    border-radius: 999px;
    background-color: #fff;
    color: var(--about-ink);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.about-small-business {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    align-items: stretch;
    margin-bottom: 90px;
}

.about-small-business-content {
    align-self: center;
    padding: 50px 60px 50px 10px;
}

.about-small-business-media {
    min-height: 500px;
}

.about-small-business-media img {
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.about-highlight {
    margin-top: 28px !important;
    padding: 22px 24px;
    border-left: 4px solid var(--about-accent);
    background-color: var(--about-soft);
    color: var(--about-ink) !important;
    font-size: 18px;
    font-weight: 600;
}

.about-method {
    margin-bottom: 90px;
    padding: 60px;
    background-color: var(--about-dark);
}

.about-method .about-section-number {
    color: var(--about-accent) !important;
}

.about-method h2 {
    max-width: 760px;
    color: #fff;
}

.about-method-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 38px;
    background-color: rgba(255, 255, 255, 0.16);
}

.about-method-item {
    padding: 32px;
    background-color: var(--about-dark);
}

.about-method-item > span {
    display: block;
    margin-bottom: 24px;
    color: var(--about-accent);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.about-method-item p,
.about-method-item strong {
    color: #fff;
}

.about-method-item strong {
    display: block;
    margin-bottom: 10px;
    font-size: 20px;
    line-height: 1.35;
}

.about-scope {
    display: grid;
    grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.3fr);
    gap: 60px;
    padding: 50px 60px;
    border-top: 5px solid var(--about-accent);
    background-color: var(--about-soft);
}

.about-scope-title h2 {
    margin-bottom: 0;
}

.about-scope-grid {
    display: grid;
    gap: 24px;
    align-content: center;
}

.about-scope-item {
    padding-bottom: 20px;
    border-bottom: 1px solid #cfdadc;
}

.about-scope-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.about-scope-item p {
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .about-hero,
    .about-small-business {
        grid-template-columns: minmax(0, 1fr);
    }

    .about-hero-media {
        min-height: 520px;
        max-height: 620px;
    }

    .about-small-business-content {
        order: 2;
        padding: 48px 40px;
    }

    .about-small-business-media {
        min-height: 400px;
    }

    .about-method-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .about-scope {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }
}

@media (max-width: 767px) {
    .about-page {
        font-size: 15px;
    }

    .about-hero,
    .about-small-business,
    .about-method {
        margin-bottom: 54px;
    }

    .about-hero-media {
        min-height: 380px;
    }

    .about-hero-content,
    .about-small-business-content,
    .about-method,
    .about-scope {
        padding: 34px 22px;
    }

    .about-small-business-media {
        min-height: 300px;
    }

    .about-highlight {
        padding: 18px;
        font-size: 16px;
    }

    .about-method-item {
        padding: 26px 0;
    }

    .about-method-grid {
        background-color: transparent;
    }

    .about-method-item + .about-method-item {
        border-top: 1px solid rgba(255, 255, 255, 0.16);
    }
}

/* ===================================================================================
   Page Contact REFONTE — trois portes, formulaire et coordonnées
   =================================================================================== */

.elementor-1574,
.elementor-1574 > .elementor-section-wrap {
    display: flex !important;
    flex-direction: column !important;
}

.elementor-1574 .elementor-element-03fa02a {
    order: 1 !important;
}

.elementor-1574 .elementor-element-c173d10 {
    order: 2 !important;
}

.elementor-1574 .elementor-element-a6d1eeb {
    order: 3 !important;
}

/* Les deux anciens boutons de réservation sont remplacés par les trois portes. */
.elementor-1574 .elementor-element-0504442 {
    display: none;
}

.elementor-1574 .elementor-element-44c0840 .sub-title {
    display: none;
}

.contact-refonte-intro {
    --contact-dark: #0e202a;
    --contact-ink: #243744;
    --contact-text: #454d51;
    --contact-accent: #bad7d5;
    --contact-soft: #f4f7f7;
    width: 100%;
    padding: 56px 0 62px;
    color: var(--contact-text);
    font-size: 16px;
    line-height: 1.65;
}

.contact-refonte-intro *,
.contact-refonte-intro *::before,
.contact-refonte-intro *::after {
    box-sizing: border-box;
}

.contact-refonte-heading {
    max-width: 780px;
    margin: 0 auto 38px;
    text-align: center;
}

.contact-refonte-eyebrow {
    margin: 0 0 14px;
    color: #557b7a;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.contact-refonte-heading h1 {
    margin: 0 0 20px;
    color: var(--contact-ink);
    font-size: clamp(42px, 5vw, 66px);
    line-height: 1.05;
}

.contact-refonte-heading > p:last-child {
    margin: 0;
    color: var(--contact-text);
    font-size: 19px;
    line-height: 1.55;
}

.contact-doors {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
}

.contact-door {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 30px 26px;
    border: 1px solid #d7e0e2;
    background-color: #fff;
}

.contact-door-primary {
    border-color: var(--contact-dark);
    background-color: var(--contact-dark);
}

.contact-door-writing {
    background-color: var(--contact-soft);
}

.contact-door-number {
    margin-bottom: 16px;
    color: #70908f;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.15em;
}

.contact-door-primary .contact-door-number {
    color: var(--contact-accent);
}

.contact-door-label {
    margin: 0 0 10px;
    color: #557b7a;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.contact-door h2 {
    margin: 0 0 18px;
    color: var(--contact-ink);
    font-size: 25px;
    line-height: 1.25;
}

.contact-door > p:not(.contact-door-label) {
    margin: 0 0 24px;
    color: var(--contact-text);
}

.contact-door-primary h2,
.contact-door-primary > p {
    color: #fff;
}

/* Le thème impose une couleur sombre aux paragraphes : on renforce le contraste. */
.contact-door-primary p:not(.contact-door-label) {
    color: rgba(255, 255, 255, 0.82) !important;
}

.contact-door-primary .contact-door-label {
    color: var(--contact-accent);
}

.contact-door-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 16px;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid #d7e0e2;
    color: var(--contact-ink);
}

.contact-door-primary .contact-door-meta {
    border-color: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.contact-door-button,
.contact-door-text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 24px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.contact-door-button {
    min-height: 50px;
    padding: 12px 18px;
    border: 2px solid var(--contact-accent);
    border-radius: 4px;
    background-color: var(--contact-accent);
    color: var(--contact-dark);
}

.contact-door-button-outline {
    border-color: var(--contact-dark);
    background-color: var(--contact-dark);
    color: #fff;
}

.contact-door-text-link {
    justify-content: flex-start;
    margin-top: auto;
    padding-top: 26px;
    color: var(--contact-dark);
}

.contact-door-text-link span {
    margin-left: 8px;
    font-size: 20px;
}

.contact-door-button:hover,
.contact-door-button:focus-visible,
.contact-door-text-link:hover,
.contact-door-text-link:focus-visible {
    opacity: 0.82;
}

.contact-door-button:focus-visible,
.contact-door-text-link:focus-visible {
    outline: 2px solid var(--contact-dark);
    outline-offset: 3px;
}

.elementor-1574 .elementor-element-c173d10 {
    padding-top: 52px;
    padding-bottom: 56px;
    background-color: #f4f7f7;
}

.elementor-1574 .elementor-element-44c0840 .section-text > p {
    max-width: 680px;
    margin: 18px auto 0;
    color: #454d51;
    font-size: 17px;
    line-height: 1.6;
}

/*
 * Version compacte du formulaire Beakai. La spécificité maintient les icônes
 * dans leur gouttière sans les superposer aux placeholders.
 */
.elementor-1574 .contact-form .form-box {
    position: relative;
}

.elementor-1574 .contact-form input:not([type="checkbox"]):not([type="submit"]),
.elementor-1574 .contact-form select {
    width: 100%;
    height: 64px;
    padding: 0 22px 0 56px !important;
    border: 0 !important;
    border-radius: 0;
    background-color: #fff;
    color: #aab5ca;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

/* Aligne la couleur du nombre de salariés sur celle des autres champs. */
.elementor-1574 .contact-form select[name="EmployeeCount"] {
    color: #454d51;
}

.elementor-1574 .contact-form textarea {
    width: 100%;
    height: 230px;
    padding: 22px 22px 22px 56px !important;
    border: 0 !important;
    border-radius: 0;
    background-color: #fff;
    color: #aab5ca;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    resize: vertical;
}

.elementor-1574 .contact-form .form-box::before {
    left: 24px;
    top: 21px;
    font-size: 13px;
}

.elementor-1574 .contact-form .form-box.rgpd::before {
    display: none;
    content: none;
}

.elementor-1574 .contact-form .form-box.mb-30 {
    margin-bottom: 18px !important;
}

.elementor-1574 .contact-form .rgpd,
.elementor-1574 .contact-form .rgpd label {
    font-size: 13px;
    line-height: 1.55;
}

.elementor-1574 .contact-form .contact-btn input[type="submit"] {
    padding: 14px 34px;
    font-size: 13px;
}

.contact-availability {
    padding-top: 50px;
    text-align: center;
}

.contact-availability h2 {
    margin: 0 0 16px;
    color: #243744;
    font-size: clamp(32px, 3.2vw, 44px);
}

.contact-availability p {
    max-width: 760px;
    margin: 0 auto;
    padding: 15px 20px;
    border-left: 4px solid #bad7d5;
    background-color: #f4f7f7;
    color: #454d51;
    font-size: 17px;
    line-height: 1.6;
    text-align: left;
}

.elementor-1574 .elementor-element-a6d1eeb {
    padding-bottom: 54px;
}

/*
 * Les trois grands blocs restent empilés. Le formulaire reprend toute la
 * largeur du même conteneur Elementor que les cartes de prise de rendez-vous.
 */
.elementor-1574 .elementor-element-2be66bc {
    --width: 100%;
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

@media (max-width: 991px) {
    .contact-doors {
        grid-template-columns: minmax(0, 1fr);
    }

    .contact-door {
        padding: 30px;
    }
}

@media (max-width: 767px) {
    .contact-refonte-intro {
        padding: 42px 0 46px;
    }

    .contact-refonte-heading {
        margin-bottom: 34px;
    }

    .contact-refonte-heading > p:last-child {
        font-size: 16px;
    }

    .contact-door {
        padding: 26px 22px;
    }

    .elementor-1574 .elementor-element-c173d10 {
        padding-top: 42px;
        padding-bottom: 44px;
    }

    .contact-availability {
        padding-top: 38px;
    }

    .contact-availability p {
        font-size: 15px;
    }
}

/*
 * Ancres internes : laisse le début de chaque section visible sous l'en-tête
 * fixe lors d'une navigation vers une URL contenant un #identifiant.
 */
#croissance,
#plannings,
#managers,
#climat-social,
#conformite,
#tarifs-1,
#tarifs-2,
#tarifs-3,
#tarifs-4 {
    scroll-margin-top: 350px;
}

@media (max-width: 767px) {
    #croissance,
    #plannings,
    #managers,
    #climat-social,
    #conformite,
    #tarifs-1,
    #tarifs-2,
    #tarifs-3,
    #tarifs-4 {
        scroll-margin-top: 100px;
    }
}
