/* Complementary styles for the Enigma 7.73 Bootstrap 4 layout. */
.lmdb-enigma-carousel .carousel-item img { display:block; max-width:100%; height:auto; }
/* Restore Enigma 5.3 spacing around the service cards. */
.lmdb-enigma-services .service { margin-bottom:0; }
.lmdb-enigma-services .enigma_service_area { margin-bottom:65px; }
/* Avoid adding 25px to the native 50px img-wrapper spacing. */
.lmdb-enigma-portfolio .lmdb-portfolio-item { margin-bottom:0; }
.lmdb-enigma-portfolio .enigma_home_portfolio_showcase img { width:100%; height:auto; }
.lmdb-enigma-portfolio .enigma_home_portfolio_caption { text-align:center; }

/* When logo is available, keep the tagline but hide Enigma 7.x's extra H1. */
.lmdb-enigma-has-logo .header_section .logo h1 { display:none; }

/* 0.1.3 - Typographic bridge for Enigma 5.3 -> 7.73.
   Scoped to theme areas; do not force fonts on WordPress editor content. */
.header_section .logo a h1 {
    font-family: 'Kalam', cursive !important;
    font-size: 34px;
    line-height: 1.16;
    font-weight: 600;
    margin: 0 0 8px;
}
.header_section .logo p {
    font-family: 'Kalam', cursive !important;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
}
/* Long email and phone should not enlarge the header by wrapping mid-number. */
.header_section .head-contact-info li {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    white-space: nowrap;
}
.header_section .head-contact-info li a { font-size: inherit; }
/* Enigma 5.3 used a tighter menu with no extra letter-spacing. */
#site-navigation.main-navigation a {
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-size: 15px;
    letter-spacing: 0;
    line-height: 1.5;
}
/* Page heading and breadcrumb: prevent bootstrap typography from scaling too far. */
.enigma_header_breadcrum_title h1 {
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.25;
}
.enigma_header_breadcrum_title .breadcrumb,
.enigma_header_breadcrum_title .breadcrumb li,
.enigma_header_breadcrum_title .breadcrumb li a {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 16px;
}
/* Retain readable inner-page text, without overriding inline editorial styles. */
.enigma_blog_post_content { font-family: 'Open Sans', Arial, sans-serif; }
.enigma_blog_post_content p { font-size: 16px; line-height: 1.7; }
.enigma_blog_post_content h2 { font-family: 'Open Sans', Arial, sans-serif; font-size: 27px; line-height: 1.35; }
.enigma_blog_post_content h3 { font-family: 'Open Sans', Arial, sans-serif; font-size: 23px; line-height: 1.35; }
/* Correct service typography, icon/text separation and WP auto paragraphs. */
.lmdb-enigma-services .enigma_service_area { display:flex; align-items:flex-start; gap:18px; }
.lmdb-enigma-services .enigma_service_iocn { float:none !important; flex:0 0 90px; margin-right:0; }
.lmdb-enigma-services .enigma_service_detail { flex:1 1 0; min-width:0; }
.lmdb-enigma-services .enigma_service_detail h3,
.lmdb-enigma-services .enigma_service_detail h3 a {
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-size:22px;
    line-height:1.35;
    font-weight:600;
}
.lmdb-enigma-services .lmdb-service-copy,
.lmdb-enigma-services .lmdb-service-copy p {
    font-family:'Open Sans', Arial, sans-serif;
    font-size:16px;
    line-height:1.65;
    font-weight:400;
    margin:0 0 10px;
}
/* Controls should remain compact rather than oversized at the viewport edges. */
.lmdb-enigma-carousel .carousel-control-prev,
.lmdb-enigma-carousel .carousel-control-next {
    width:52px;
    max-width:9%;
    background:rgba(0,0,0,0.18);
    opacity:0.75;
}
.lmdb-enigma-carousel .carousel-control-prev-icon,
.lmdb-enigma-carousel .carousel-control-next-icon {
    width:24px;
    height:24px;
}
.lmdb-enigma-carousel .carousel-indicators li { width:10px; height:10px; border-radius:50%; }
@media (max-width:767px) {
    .header_section .logo a h1 { font-size:28px; }
    .header_section .head-contact-info li { font-size:13px; }
    .enigma_header_breadcrum_title h1 { font-size:30px; }
    .lmdb-enigma-services .enigma_service_iocn { flex-basis:70px; width:70px; height:70px; }
    .lmdb-enigma-services .enigma_service_iocn i { font-size:37px; line-height:70px; }
}


/* 0.1.4 - Footer only. Based on the actual Enigma 5.3 style rules and
   the user-provided production screenshot (25 Oct 2026). Pixel size in a
   screenshot can depend on browser zoom, so use the theme's original CSS
   font sizes, not raw image pixels. */
.enigma_footer_widget_area {
    background-color:#34495e;
    padding:38px 0 20px;
}
.enigma_footer_widget_area .enigma_footer_widget_title {
    color:#fff;
    font-family:'Open Sans',Arial,sans-serif !important;
    font-size:24px;
    font-weight:400;
    line-height:25px;
    letter-spacing:1px;
    margin:0 0 25px;
    text-shadow:0 1px 2px #2a2a2a;
}
.enigma_footer_widget_area .enigma-footer-separator {
    background-color:#fff;
    width:250px;
    max-width:100%;
    height:3px;
    margin-top:10px;
}
.enigma_footer_widget_area .enigma_footer_widget_column .textwidget {
    font-family:'Open Sans',Arial,sans-serif;
    font-size:16px;
    line-height:27px;
    color:#f2f2f2;
}
.enigma_footer_widget_area .enigma_footer_widget_column .textwidget p,
.enigma_footer_widget_area .enigma_footer_widget_column p {
    font-family:'Open Sans',Arial,sans-serif;
    font-size:13px;
    line-height:22px;
    color:#fff;
}
.enigma_footer_area {
    background-color:#31a3dd;
    padding:10px 0 0;
}
.enigma_footer_area p.enigma_footer_copyright_info {
    font-family:'Open Sans',Arial,sans-serif;
    font-size:15px;
    font-weight:400;
    line-height:20px;
    padding-top:12px;
    text-align:left;
    color:#f2f2f2 !important;
}
.enigma_footer_area .enigma_footer_social_div .social i {
    color:#fff !important;
}
.enigma_footer_area .enigma_footer_social_div .social li.lmdb-footer-whatsapp {
    background-size:100% 200%;
    background-image:linear-gradient(to bottom,transparent 50%,#25d366 50%);
}
.enigma_footer_area .enigma_footer_social_div .social li.lmdb-footer-whatsapp:hover,
.enigma_footer_area .enigma_footer_social_div .social li.lmdb-footer-whatsapp:focus-within {
    background-color:#25d366;
    background-position:0 -100%;
}
.enigma_footer_area .enigma_footer_social_div .social li a { display:block; }
@media (max-width:767px) {
    .enigma_footer_widget_area .enigma_footer_widget_title { line-height:1.25; }
    .enigma_footer_area p.enigma_footer_copyright_info { text-align:center; }
}


/* 0.1.5 - Fix confirmed footer layout regression in Enigma 7.73.
 * Enigma's .container is limited to Bootstrap 4's ~1110px at large sizes,
 * and the legacy production footer is wider. Center this footer container.
 * Do NOT change generic .container globally: constrain changes to footer.
 */
@media (min-width: 1200px) {
    .enigma_footer_widget_area > .container,
    .enigma_footer_area > .container {
        width: calc(100% - 80px);
        max-width: 1460px;
        margin-left: auto;
        margin-right: auto;
    }
}
/* Enigma 7.73 also gives its containers a 25px inner padding,
 * unlike the full-width legacy layout. Remove it only in the footer. */
.enigma_footer_widget_area > .container,
.enigma_footer_area > .container {
    padding-left: 0;
    padding-right: 0;
}
.enigma_footer_widget_area > .container > .row {
    margin-left: 0;
    margin-right: 0;
}
.enigma_footer_widget_area .row > .enigma_footer_widget_column {
    padding-left: 0;
    padding-right: 32px;
}
/* 4 columns at >=1200px. At intermediate widths use two readable columns. */
@media (min-width: 768px) and (max-width: 1199px) {
    .enigma_footer_widget_area > .container,
    .enigma_footer_area > .container {
        width: calc(100% - 40px);
        max-width: none;
        margin-left: 20px;
        margin-right: 20px;
    }
    .enigma_footer_widget_area .row > .enigma_footer_widget_column {
        flex: 0 0 50%;
        max-width: 50%;
    }
}
@media (max-width: 767px) {
    .enigma_footer_widget_area > .container,
    .enigma_footer_area > .container {
        width: calc(100% - 32px);
        max-width: none;
        margin-left: 16px;
        margin-right: 16px;
    }
}
/* Floated copyright and social icons were escaping the footer, leaving
 * only a thin blue strip and almost invisible white-on-white content.
 * flow-root establishes a formatting context which encloses both floats.
 */
body .enigma_footer_area {
    display: flow-root;
    background: #31a3dd !important;
    box-sizing: border-box;
    min-height: 78px;
    padding: 8px 0 10px;
}
body .enigma_footer_area > .container {
    display: flow-root;
}
body .enigma_footer_area > .container > .col-md-12 {
    padding-left: 0;
    padding-right: 0;
}
body .enigma_footer_area .enigma_footer_copyright_info {
    float: left;
    color: #fff !important;
    opacity: 1;
    font: 400 15px/24px 'Open Sans', Arial, sans-serif;
    text-align: left;
    padding: 18px 0;
    margin: 0;
}
body .enigma_footer_area .enigma_footer_social_div {
    float: right;
    padding: 9px 0;
}
body .enigma_footer_area .enigma_footer_social_div ul.social {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
body .enigma_footer_area .enigma_footer_social_div ul.social li {
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 2px solid #fff;
    background-color: transparent;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
body .enigma_footer_area .enigma_footer_social_div ul.social li a {
    color: #fff !important;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
body .enigma_footer_area .enigma_footer_social_div ul.social li a i {
    font-size: 18px;
    line-height: 1;
    color: #fff !important;
}
@media (max-width: 767px) {
    body .enigma_footer_area .enigma_footer_copyright_info,
    body .enigma_footer_area .enigma_footer_social_div {
        float: none;
        width: 100%;
        text-align: center;
    }
    body .enigma_footer_area .enigma_footer_copyright_info {
        padding: 13px 0 4px;
    }
    body .enigma_footer_area .enigma_footer_social_div {
        padding: 6px 0 10px;
    }
    body .enigma_footer_area .enigma_footer_social_div ul.social {
        justify-content: center;
    }
}


/* 0.1.7 — Restore the Enigma 5.3 grid width in header and homepage only.
 * Actual cause confirmed in Enigma 7.73 style.css:
 *     .container { max-width: 960px; padding: 0 25px; }
 * Enigma 5.3 used Bootstrap 3's 1170/970/750px responsive containers.
 * This also restores the callout text/button breathing room and correct
 * portfolio card widths. Keep footer special treatment from 0.1.5/0.1.6.
 * The final appearance still depends on matching browser zoom/viewport.
 */
@media (min-width: 1200px) {
  .header_section > .container,
  .navigation_menu > .container,
  .lmdb-enigma-services > .container,
  .lmdb-enigma-portfolio > .container,
  .enigma_callout_area > .container {
    width: calc(100% - 30px);
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .header_section > .container,
  .navigation_menu > .container,
  .lmdb-enigma-services > .container,
  .lmdb-enigma-portfolio > .container,
  .enigma_callout_area > .container {
    width: calc(100% - 30px);
    max-width: 970px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .header_section > .container,
  .navigation_menu > .container,
  .lmdb-enigma-services > .container,
  .lmdb-enigma-portfolio > .container,
  .enigma_callout_area > .container {
    width: calc(100% - 30px);
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
}


/* 0.1.8 — Pied de page: le container 1460px (0.1.5) était trop large
 * sur l'écran de test, comparé à la grille 1170px du site Enigma 5.3.
 * Rendre aux citations et au copyright/social un MÊME repère centré.
 * N'affecte pas le header, le callout ni le portfolio.
 */
@media (min-width: 1200px) {
  body .enigma_footer_widget_area > .container,
  body .enigma_footer_area > .container {
    width: calc(100% - 40px) !important;
    max-width: 1170px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }
}
/* Réserver une marge à chaque extrémité pour ne pas coller les icônes au bord. */
body .enigma_footer_area > .container > .col-md-12 {
  width: 100%;
  max-width: 100%;
}
/* Enigma 7.73 place son retour haut en position fixed à seulement 30px
 * du bas : il masquait la 3e icône sociale (WhatsApp) sur le test.
 * Reprendre le décalage de l'ancien thème, au-dessus de la bande bleue. */
@media (min-width: 768px) {
  body #btn-to-top {
    right: 30px;
    bottom: 110px;
  }
}
@media (max-width: 767px) {
  body #btn-to-top { right: 15px; bottom: 85px; }
}
/* Garde-fou Font Awesome 6 : rétablit explicitement la famille Brands
 * pour l'icône WhatsApp ajoutée par le bridge 0.1.4. */
body .enigma_footer_area .enigma_footer_social_div
  ul.social li.lmdb-footer-whatsapp i.fa-whatsapp {
  font-family: 'Font Awesome 6 Brands', 'Font Awesome 5 Brands' !important;
  font-weight: 400 !important;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
}


/* 0.1.9 — HAUT DE L'ACCUEIL : seul « Nos conférences » est rempli.
 * Le pont 0.1.8 gardait 2 colonnes vides autour du service et le thème
 * 7.73 lui attribuait une mise en page différente de celle d'Enigma 5.3.
 * Centrage de la carte visible seulement ; pas de changement du footer.
 */
.lmdb-enigma-services.lmdb-service-single .lmdb-services-row {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-left: 0;
    margin-right: 0;
}
.lmdb-enigma-services.lmdb-service-single .lmdb-single-service-column {
    flex: 0 1 440px;
    width: 100%;
    max-width: 440px;
    min-width: 0;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}
.lmdb-enigma-services.lmdb-service-single .enigma_service_area {
    display: flex;
    align-items: flex-start;
    gap: 22px;
}
.lmdb-enigma-services.lmdb-service-single .enigma_service_iocn {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
    margin: 0;
    border-radius: 50%;
}
.lmdb-enigma-services.lmdb-service-single .enigma_service_detail {
    flex: 1 1 auto;
    min-width: 0;
}
.lmdb-enigma-services.lmdb-service-single .enigma_service_detail h3,
.lmdb-enigma-services.lmdb-service-single .enigma_service_detail h3 a {
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-size: 24px;
    line-height: 32px;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 10px;
}
.lmdb-enigma-services.lmdb-service-single .lmdb-service-copy,
.lmdb-enigma-services.lmdb-service-single .lmdb-service-copy p {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 16px;
    line-height: 27px;
    margin: 0;
    font-weight: 400;
}
/* Preserve the separation and shadow under the full-width slideshow. */
body.home .lmdb-enigma-carousel {
    width: 100%;
    position: relative;
    margin-bottom: 40px;
}
body.home .lmdb-enigma-carousel .carousel-inner,
body.home .lmdb-enigma-carousel .carousel-item {
    width: 100%;
}
body.home .lmdb-enigma-carousel .carousel-item > img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}
@media (max-width: 767px) {
    .lmdb-enigma-services.lmdb-service-single .lmdb-single-service-column {
        flex: 0 1 100%;
        padding-left: 12px;
        padding-right: 12px;
    }
    .lmdb-enigma-services.lmdb-service-single .enigma_service_area {gap: 15px;}
    .lmdb-enigma-services.lmdb-service-single .enigma_service_iocn {
        width: 70px;
        height: 70px;
        flex-basis: 70px;
    }
    .lmdb-enigma-services.lmdb-service-single .enigma_service_detail h3,
    .lmdb-enigma-services.lmdb-service-single .enigma_service_detail h3 a {font-size: 20px;line-height: 1.35;}
}


/* 0.2.0 — Finitions haut de page :
 * - vraie nuance de gris Enigma 5.3 (#ecf0f1)
 * - pictogramme YouTube style ancien thème
 * - flèches du diaporama en chevrons blancs sans fond sombre
 */
body.home .enigma_service,
body.home .enigma_project_section {
    background: #ecf0f1;
}
/* Le service unique doit reposer sur la même nappe grise que dans la prod. */
body.home .lmdb-enigma-services {
    background: #ecf0f1;
}
/* Reproduction plus fidèle du pictogramme YouTube « You / Tube » dans un cercle bleu. */
.lmdb-enigma-services .enigma_service_iocn i.fa-youtube,
.lmdb-enigma-services .enigma_service_iocn i.fa-brands.fa-youtube {
    position: relative;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    width: 90px;
    height: 90px;
    display: block;
}
.lmdb-enigma-services .enigma_service_iocn i.fa-youtube::before,
.lmdb-enigma-services .enigma_service_iocn i.fa-brands.fa-youtube::before {
    content: "You\A Tube" !important;
    white-space: pre;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 56px;
    border-radius: 8px;
    background: #ffffff;
    color: #31a3dd !important;
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-weight: 700;
    font-size: 18px;
    line-height: 0.92;
    text-align: center;
    box-sizing: border-box;
    padding-top: 2px;
}
/* Flèches du diaporama : pas de cartouche sombre, juste de grands chevrons blancs. */
.lmdb-enigma-carousel .carousel-control-prev,
.lmdb-enigma-carousel .carousel-control-next {
    width: 72px;
    max-width: none;
    background: transparent !important;
    opacity: 1;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}
.lmdb-enigma-carousel .carousel-control-prev { left: 26px; }
.lmdb-enigma-carousel .carousel-control-next { right: 26px; }
.lmdb-enigma-carousel .carousel-control-prev-icon,
.lmdb-enigma-carousel .carousel-control-next-icon {
    width: 32px;
    height: 54px;
    background-size: 32px 54px;
    background-repeat: no-repeat;
    background-position: center center;
}
.lmdb-enigma-carousel .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 38'%3E%3Cpolyline points='20,2 4,19 20,36' fill='none' stroke='%23ffffff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.lmdb-enigma-carousel .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 38'%3E%3Cpolyline points='2,2 18,19 2,36' fill='none' stroke='%23ffffff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
@media (max-width: 767px) {
    .lmdb-enigma-carousel .carousel-control-prev,
    .lmdb-enigma-carousel .carousel-control-next {
        width: 50px;
    }
    .lmdb-enigma-carousel .carousel-control-prev { left: 10px; }
    .lmdb-enigma-carousel .carousel-control-next { right: 10px; }
    .lmdb-enigma-carousel .carousel-control-prev-icon,
    .lmdb-enigma-carousel .carousel-control-next-icon {
        width: 24px;
        height: 42px;
        background-size: 24px 42px;
    }
    .lmdb-enigma-services .enigma_service_iocn i.fa-youtube,
    .lmdb-enigma-services .enigma_service_iocn i.fa-brands.fa-youtube {
        width: 70px;
        height: 70px;
    }
    .lmdb-enigma-services .enigma_service_iocn i.fa-youtube::before,
    .lmdb-enigma-services .enigma_service_iocn i.fa-brands.fa-youtube::before {
        width: 34px;
        height: 45px;
        font-size: 14px;
        border-radius: 7px;
    }
}


/* 0.2.1 — Finitions visibilité slider + menu actif */
/* Rendre les chevrons du diaporama franchement visibles sur fond clair. */
.lmdb-enigma-carousel .carousel-control-prev,
.lmdb-enigma-carousel .carousel-control-next {
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
}
.lmdb-enigma-carousel .carousel-control-prev-icon,
.lmdb-enigma-carousel .carousel-control-next-icon {
    display: block;
    opacity: 0.98;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.35));
}
.lmdb-enigma-carousel .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 42'%3E%3Cpolyline points='21,3 5,21 21,39' fill='none' stroke='%23ffffff' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.lmdb-enigma-carousel .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 42'%3E%3Cpolyline points='3,3 19,21 3,39' fill='none' stroke='%23ffffff' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
/* Menu actif / survol proche de la production. */
.navigation_menu #site-navigation .current-menu-item > a,
.navigation_menu #site-navigation .current_page_item > a,
.navigation_menu #site-navigation .current-menu-parent > a,
.navigation_menu #site-navigation .current_page_parent > a,
.navigation_menu #site-navigation a:hover,
.navigation_menu #site-navigation a:focus {
    background: #31a3dd;
    color: #ffffff !important;
    box-shadow: 4px 4px 0 rgba(0,0,0,0.12);
    transition: all .2s ease;
}
.navigation_menu #site-navigation .current-menu-item > a,
.navigation_menu #site-navigation .current_page_item > a,
.navigation_menu #site-navigation .current-menu-parent > a,
.navigation_menu #site-navigation .current_page_parent > a {
    padding-left: 24px;
    padding-right: 24px;
}
/* Garder la flèche du sous-menu visible sur item actif. */
.navigation_menu #site-navigation .current-menu-item > a .fa,
.navigation_menu #site-navigation .current_page_item > a .fa,
.navigation_menu #site-navigation a:hover .fa,
.navigation_menu #site-navigation a:focus .fa {
    color: #ffffff !important;
}


/* 0.2.2 — Original legacy graphics (Enigma 5.3) */
/* The original service uses the Font Awesome 4.7 fa-youtube GLYPH.
 * Use a transparent PNG rasterized from the original user's theme,
 * rather than loading the obsolete FA4 font or approximating the logo. */
.lmdb-enigma-services .enigma_service_iocn i.fa-youtube,
.lmdb-enigma-services .enigma_service_iocn i.fa-brands.fa-youtube {
    display: block !important;
    width: 90px !important;
    height: 90px !important;
    flex: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    background-image: url('youtube-classic.png') !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 52px auto !important;
}
/* Suppress FA6 pseudo-glyph and the former 0.2.0 CSS re-creation. */
.lmdb-enigma-services .enigma_service_iocn i.fa-youtube::before,
.lmdb-enigma-services .enigma_service_iocn i.fa-brands.fa-youtube::before,
.lmdb-enigma-services .enigma_service_iocn i.fa-youtube::after,
.lmdb-enigma-services .enigma_service_iocn i.fa-brands.fa-youtube::after {
    content: none !important;
    display: none !important;
}

/* Enigma 5.3 Bootstrap 3's side-to-center slider fade, visually matched
 * to its effective opacity (~0.25 dark at the outside, clear inside).
 * The controls cover 15% of the carousel height and width on each side.
 * Keep arrows opaque; only the overlay itself is translucent. */
body.home .lmdb-enigma-carousel .carousel-control-prev,
body.home .lmdb-enigma-carousel .carousel-control-next {
    position: absolute;
    top: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    width: 15% !important;
    height: 100% !important;
    max-width: none !important;
    left: auto;
    right: auto;
    opacity: 1 !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-image .2s ease;
    z-index: 6;
}
body.home .lmdb-enigma-carousel .carousel-control-prev {
    left: 0 !important;
    background-image: linear-gradient(to right, rgba(0,0,0,.25), rgba(0,0,0,0)) !important;
}
body.home .lmdb-enigma-carousel .carousel-control-next {
    right: 0 !important;
    background-image: linear-gradient(to left, rgba(0,0,0,.25), rgba(0,0,0,0)) !important;
}
body.home .lmdb-enigma-carousel .carousel-control-prev:hover,
body.home .lmdb-enigma-carousel .carousel-control-prev:focus-visible {
    background-image: linear-gradient(to right, rgba(0,0,0,.35), rgba(0,0,0,0)) !important;
}
body.home .lmdb-enigma-carousel .carousel-control-next:hover,
body.home .lmdb-enigma-carousel .carousel-control-next:focus-visible {
    background-image: linear-gradient(to left, rgba(0,0,0,.35), rgba(0,0,0,0)) !important;
}
body.home .lmdb-enigma-carousel .carousel-control-prev-icon,
body.home .lmdb-enigma-carousel .carousel-control-next-icon {
    display: block !important;
    width: 30px;
    height: 48px;
    background-size: 30px 48px;
    background-position: center;
    background-repeat: no-repeat;
    filter: drop-shadow(0px 1px 2px rgba(0,0,0,.32));
}
@media (max-width: 767px) {
    .lmdb-enigma-services .enigma_service_iocn i.fa-youtube,
    .lmdb-enigma-services .enigma_service_iocn i.fa-brands.fa-youtube {
        width: 70px !important;
        height: 70px !important;
        background-size: 42px auto !important;
    }
    body.home .lmdb-enigma-carousel .carousel-control-prev,
    body.home .lmdb-enigma-carousel .carousel-control-next {
        width: 17% !important;
        min-width: 30px;
    }
    body.home .lmdb-enigma-carousel .carousel-control-prev-icon,
    body.home .lmdb-enigma-carousel .carousel-control-next-icon {
        width: 22px;
        height: 36px;
        background-size: 22px 36px;
    }
}


/* 0.2.3 — Centrage strict du pictogramme YouTube historique.
 * Le PNG est une reproduction raster du glyphe FA 4 ancien, PAS un JPEG.
 * Il est desormais un vrai <img>, plus une image de fond sur une police.
 * Aucun reglage des autres blocs n'est modifie. */
.lmdb-enigma-services .enigma_service_iocn.lmdb-youtube-icon-holder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden;
    line-height: normal !important;
}
.lmdb-enigma-services .enigma_service_iocn img.lmdb-youtube-legacy-image {
    display: block !important;
    position: static !important;
    float: none !important;
    flex: 0 0 auto !important;
    width: 45px !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    object-fit: contain;
    box-shadow: none !important;
    transform: none !important;
}
@media (max-width: 767px) {
    .lmdb-enigma-services .enigma_service_iocn img.lmdb-youtube-legacy-image {
        width: 35px !important;
    }
}

/* 0.2.5 - Restitution du comportement Enigma 5.3 (normal/hover).
 * Normal: cercle bleu + pictogramme blanc.
 * Survol clavier/souris: cercle blanc borde de bleu + pictogramme bleu.
 * Deux PNG du meme glyphe historique eviteront le blanc sur blanc.
 */
.lmdb-enigma-services .enigma_service_iocn.lmdb-youtube-icon-holder {
    position: relative;
    background-color: #31a3dd !important;
    background-image: none !important;
    border: 4px solid #31a3dd !important;
    box-sizing: border-box;
    transition: background-color .25s ease-in-out !important;
}
.lmdb-enigma-services .enigma_service_iocn.lmdb-youtube-icon-holder img.lmdb-youtube-legacy-image {
    transition: opacity .25s ease-in-out !important;
    pointer-events: none;
}
.lmdb-enigma-services .enigma_service_iocn.lmdb-youtube-icon-holder img.lmdb-youtube-hover-image {
    display: block !important;
    position: absolute !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    width: 45px !important;
    height: auto !important;
    opacity: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    box-shadow: none !important;
}
.lmdb-enigma-services .enigma_service_area:hover .enigma_service_iocn.lmdb-youtube-icon-holder,
.lmdb-enigma-services .enigma_service_area:focus-within .enigma_service_iocn.lmdb-youtube-icon-holder {
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: #31a3dd !important;
}
.lmdb-enigma-services .enigma_service_area:hover .enigma_service_iocn.lmdb-youtube-icon-holder img.lmdb-youtube-legacy-image:not(.lmdb-youtube-hover-image),
.lmdb-enigma-services .enigma_service_area:focus-within .enigma_service_iocn.lmdb-youtube-icon-holder img.lmdb-youtube-legacy-image:not(.lmdb-youtube-hover-image) {
    opacity: 0 !important;
}
.lmdb-enigma-services .enigma_service_area:hover .enigma_service_iocn.lmdb-youtube-icon-holder img.lmdb-youtube-hover-image,
.lmdb-enigma-services .enigma_service_area:focus-within .enigma_service_iocn.lmdb-youtube-icon-holder img.lmdb-youtube-hover-image {
    opacity: 1 !important;
}
@media (max-width: 767px) {
    .lmdb-enigma-services .enigma_service_iocn.lmdb-youtube-icon-holder img.lmdb-youtube-hover-image {
        width: 35px !important;
    }
}


/* 0.2.6 — Restitution de l'animation verticale native d'Enigma 5.3.
   Ancien style : background-size 100% 200%, gradient bleu/blanc,
   puis translation verticale au survol. Conserver les deux PNG pour
   assurer la lisibilité du pictogramme pendant la transition. */
body.home .lmdb-enigma-services .enigma_service_iocn.lmdb-youtube-icon-holder {
    background-color: #31a3dd !important;
    background-image: linear-gradient(to bottom, #31a3dd 50%, #ffffff 50%) !important;
    background-size: 100% 200% !important;
    background-repeat: no-repeat !important;
    background-position: 0 0 !important;
    transition: background-position .8s ease !important;
}
body.home .lmdb-enigma-services .enigma_service_area:hover .enigma_service_iocn.lmdb-youtube-icon-holder,
body.home .lmdb-enigma-services .enigma_service_area:focus-within .enigma_service_iocn.lmdb-youtube-icon-holder {
    background-color: #31a3dd !important;
    background-image: linear-gradient(to bottom, #31a3dd 50%, #ffffff 50%) !important;
    background-position: 0 100% !important;
}
/* Les images changent à mi-parcours du glissement : ni disparition,
   ni blanc sur blanc une fois la couleur du fond inversée. */
body.home .lmdb-enigma-services .enigma_service_iocn.lmdb-youtube-icon-holder img.lmdb-youtube-legacy-image {
    transition: opacity .14s ease .32s !important;
}
@media (prefers-reduced-motion: reduce) {
    body.home .lmdb-enigma-services .enigma_service_iocn.lmdb-youtube-icon-holder,
    body.home .lmdb-enigma-services .enigma_service_iocn.lmdb-youtube-icon-holder img.lmdb-youtube-legacy-image {
        transition: none !important;
    }
}


/* 0.2.7 — Centrage vertical du bloc titre + devise dans le bandeau bleu.
 * Ancien Enigma 5.3: le titre passe sur 2 lignes et occupe quasiment toute
 * la hauteur. En 7.73, titre sur 1 ligne => bloc plaque en haut de l'entete.
 * Centrer le bloc dans la hauteur de l'entete plutot que translater le H1.
 * Pas de largeur ni retour force, pas de changement sur les contacts a droite. */
@media (min-width: 768px) {
    .header_section > .container > .row {
        min-height: 160px;
        align-items: stretch;
    }
    .header_section > .container > .row > .wl_rtl {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        min-height: 160px;
    }
    .header_section > .container > .row > .wl_rtl > .logo {
        width: 100%;
    }
}


/* 0.2.8 — Reprise du bandeau bleu d'après la capture de référence.
 * Sur grand écran : pleine largeur intérieure, titre + citation à gauche,
 * contacts + réseaux à droite, hauteur approximative de 132px.
 * N'affecte ni la navigation ni le diaporama ni le pied de page. */
@media (min-width: 992px) {
  body .header_section.hd_cover > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 36px !important;
    padding-right: 36px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
  }
  body .header_section.hd_cover > .container > .row {
    margin-left: -15px;
    margin-right: -15px;
  }
  body .header_section.hd_cover > .container > .row > .wl_rtl {
    align-items: stretch;
    justify-content: center;
  }
  body .header_section.hd_cover .wl_rtl > .logo {
    text-align: left;
    width: 100%;
  }
  body .header_section.hd_cover .logo a h1 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
  }
  body .header_section.hd_cover .logo p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  /* Contact block occupies the top right, as on Enigma 5.3. */
  body .header_section.hd_cover > .container > .row > .col-md-6:not(.wl_rtl) {
    align-self: flex-start;
    text-align: right;
    padding-top: 8px;
  }
  body .header_section.hd_cover .head-contact-info {
    margin-top: 0;
    margin-bottom: 12px;
    padding-top: 0;
    padding-bottom: 0;
  }
  body .header_section.hd_cover .social {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
  }
}
@media (min-width: 1200px) {
  body .header_section.hd_cover > .container > .row,
  body .header_section.hd_cover > .container > .row > .wl_rtl {
    min-height: 132px !important;
  }
}


/* 0.2.9 — ENTÊTE : rétablir la grille historique, à l'identique de la
   navigation (0.2.8 étalait abusivement le conteneur sur tout l'écran).
   Restaure aussi la typographie des contacts et le réseau WhatsApp.
   Aucun changement aux sections de l'accueil ou au pied de page. */
@media (min-width: 1200px) {
  body .header_section.hd_cover > .container {
    max-width: 1170px !important;
    width: calc(100% - 30px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body .header_section.hd_cover > .container {
    max-width: 970px !important;
    width: calc(100% - 30px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media (min-width: 992px) {
  body .header_section.hd_cover .head-contact-info li,
  body .header_section.hd_cover .head-contact-info li a {
    font-family: 'Open Sans', Arial, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
  }
  body .header_section.hd_cover .head-contact-info li i {
    font-size: 19px !important;
    line-height: 1.2 !important;
  }
  body .header_section.hd_cover .head-contact-info {
    white-space: nowrap;
    text-align: right;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body .header_section.hd_cover .head-contact-info li,
  body .header_section.hd_cover .head-contact-info li a { font-size: 15px !important; }
  body .header_section.hd_cover .head-contact-info li i { font-size: 17px !important; }
}
/* Conserver l'esthétique des trois icônes sociales de l'ancien thème. */
.header_section ul.social li.lmdb-header-whatsapp {
  background-size: 100% 200%;
  background-image: linear-gradient(to bottom, transparent 50%, #25d366 50%);
  background-repeat: no-repeat;
  background-position: 0 0;
  transition: background-position .5s ease-in-out;
}
.header_section ul.social li.lmdb-header-whatsapp:hover,
.header_section ul.social li.lmdb-header-whatsapp:focus-within {
  background-color: #25d366;
  background-position: 0 -100%;
}
.header_section ul.social li.lmdb-header-whatsapp a {
  display: block;
  color: #fff;
  text-decoration: none;
}
.header_section ul.social li.lmdb-header-whatsapp i {
  font-family: 'Font Awesome 6 Brands', 'Font Awesome 5 Brands' !important;
  font-weight: 400 !important;
  font-style: normal;
  font-size: 18px !important;
  color: #fff !important;
  line-height: 30px;
}


/* 0.2.12 — Bandeau supérieur bleu légèrement moins haut.
   Réduction de 110px à 100px sur ordinateur ; aucun changement
   de largeur, de police, de couleur, ni de positionnement horizontal.
   Les petites résolutions restent adaptatives. */
@media (min-width: 992px) {
  body .header_section.hd_cover > .container > .row,
  body .header_section.hd_cover > .container > .row > .wl_rtl {
    min-height: 100px !important;
  }
  body .header_section.hd_cover .logo a h1 {
    margin-bottom: 8px !important;
  }
  body .header_section.hd_cover .head-contact-info {
    margin-bottom: 8px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body .header_section.hd_cover > .container > .row,
  body .header_section.hd_cover > .container > .row > .wl_rtl {
    min-height: 140px !important;
  }
}
