/* =========================================================
   FIRST LAW & BUSINESS OFFICE
   CSS GLOBAL
   Couleur principale : #102647
   ========================================================= */


/* =========================================================
   1. MASQUER LES TITRES DE PAGE DU THEME
   ========================================================= */

.page-header,
.inner-banner,
.entry-header,
.page-title,
.page_title {
    display: none !important;
}


/* =========================================================
   2. LOGO FIRST LAW
   Plus grand sans augmenter la hauteur du header
   ========================================================= */

.site-branding {
    width: auto !important;
    max-width: 400px !important;
    overflow: visible !important;
}

.custom-logo-link {
    width: auto !important;
    height: auto !important;

    display: block !important;

    overflow: visible !important;
}

.logo {
    overflow: visible !important;
}

.logo .custom-logo,
.custom-logo-link .custom-logo {

    content: url("https://firstlawandbusiness.com/wp-content/uploads/2026/09/logofinal.png") !important;

    width: 200px !important;
    height: auto !important;

    max-width: none !important;
    max-height: none !important;

    display: block !important;

transform: translateY(-6px) scale(1.18) !important;
    transform-origin: left center !important;

    margin: 0 !important;
}


/* =========================================================
   3. COULEURS DES SECTIONS DU THEME
   ========================================================= */

.skt-nurse-work-section::before,
.skt-nurse-work-section::after,
.elementor-element-67e10c67::before,
.elementor-element-67e10c67::after {
    background-color: #10233f !important;
}


/* Cercles / icônes */
.skt-nurse-care-image-box img,
.skt-nurse-care-image-box .elementor-image-box-img,
.skt-nurse-care-image-box .elementor-image-box-img img {

    background-color: #102647 !important;
    border-radius: 50% !important;
}


/* =========================================================
   4. HEADER - FOND 100% BLANC
   ========================================================= */

html,
body,
#main-set,
.header-main-area,
.header-main-area .header,
.header-main-area .header .container,
.navigarea,
.header-right-infos {

    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
}


/* Empêche le thème de remettre une zone grise */
.header-right-infos::before,
.header-right-infos::after {

    content: none !important;
    display: none !important;

    background: transparent !important;
    background-image: none !important;
}


/* =========================================================
   5. HEADER PLUS COMPACT
   ========================================================= */

.header-main-area .header {

    position: relative !important;

    padding: 0 !important;
    margin: 0 !important;

    background: #ffffff !important;
}


/* Le container ne sert pas de référence au bouton téléphone */
.header-main-area .header .container {
    position: static !important;
}


@media screen and (min-width: 768px) {

    .header-main-area .header .container {

        height: 112px !important;
        min-height: 112px !important;

        display: flex !important;
        align-items: center !important;

        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }


    .navigarea {

        height: 112px !important;

        display: flex !important;
        align-items: center !important;

        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}


/* =========================================================
   6. ZONE TELEPHONE
   Placée complètement à droite
   ========================================================= */

.header-right-infos {

    position: absolute !important;

    top: 50% !important;
    right: 30px !important;

    transform: translateY(-50%) !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;

    display: block !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: none !important;
    box-shadow: none !important;
}


/* Clear ajouté par le thème */
.header-right-infos .clear {
    display: none !important;
}


/* =========================================================
   7. BOUTON TELEPHONE
   ========================================================= */

.header-phone-number {

    position: relative !important;

    width: 285px !important;
    height: 70px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    background: #102647 !important;
    background-color: #102647 !important;

    color: #ffffff !important;

    border: none !important;
    border-radius: 11px !important;

    /* Cache le numéro brut du thème */
    font-size: 0 !important;

    box-shadow:
        0 5px 15px rgba(16, 38, 71, 0.16) !important;

    transition:
        background 0.2s ease,
        box-shadow 0.2s ease !important;
}


/* Ancienne icône turquoise du thème */
.header-phone-number img {
    display: none !important;
}


/* =========================================================
   8. ICONE TELEPHONE BLANCHE
   ========================================================= */

.header-phone-number::before {

    content: "" !important;

    position: absolute !important;

    left: 26px !important;
    top: 50% !important;

    width: 24px !important;
    height: 24px !important;

    transform: translateY(-50%) !important;

    background-color: #ffffff !important;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79a15.46 15.46 0 006.59 6.59l2.2-2.2a1 1 0 011.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 011 1V20a1 1 0 01-1 1C10.61 21 3 13.39 3 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.57a1 1 0 01-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E")
        center / contain no-repeat !important;

    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79a15.46 15.46 0 006.59 6.59l2.2-2.2a1 1 0 011.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 011 1V20a1 1 0 01-1 1C10.61 21 3 13.39 3 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.57a1 1 0 01-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E")
        center / contain no-repeat !important;
}


/* =========================================================
   9. HORAIRES
   Remplace "Call Anytime"
   ========================================================= */

.header-phone-number span {

    position: absolute !important;

    left: 70px !important;
    top: 14px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 0 !important;

    line-height: 1 !important;
}


.header-phone-number span::after {

    content: "10:00 AM – 6:00 PM" !important;

    display: block !important;

    font-size: 12px !important;
    font-weight: 600 !important;

    line-height: 1.2 !important;

    color: rgba(255, 255, 255, 0.80) !important;

    letter-spacing: 0.2px !important;

    white-space: nowrap !important;
}


/* =========================================================
   10. NUMERO FORMATE
   ========================================================= */

.header-phone-number::after {

    content: "+66 98 919 9819" !important;

    position: absolute !important;

    left: 70px !important;
    top: 35px !important;

    font-size: 18px !important;
    font-weight: 700 !important;

    line-height: 1.15 !important;

    letter-spacing: 0.2px !important;

    color: #ffffff !important;

    white-space: nowrap !important;
}


/* Hover */
.header-phone-number:hover {

    background: #18365f !important;

    box-shadow:
        0 7px 18px rgba(16, 38, 71, 0.22) !important;
}


/* =========================================================
   11. TABLETTE
   ========================================================= */

@media screen and (max-width: 1100px) and (min-width: 768px) {

    .header-right-infos {
        right: 15px !important;
    }

    .header-phone-number {
        width: 235px !important;
    }

    .header-phone-number span,
    .header-phone-number::after {
        left: 60px !important;
    }

    .header-phone-number::after {
        font-size: 15px !important;
    }
}


/* =========================================================
   12. MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

    .header-main-area .header .container {
        position: relative !important;
    }

    .header-right-infos {

        position: static !important;

        width: 100% !important;

        transform: none !important;

        display: flex !important;
        justify-content: center !important;

        padding: 10px 0 !important;

        background: #ffffff !important;
    }

    .header-phone-number {

        width: 235px !important;
        height: 60px !important;
    }

    .header-phone-number::before {

        left: 20px !important;

        width: 21px !important;
        height: 21px !important;
    }

    .header-phone-number span {

        left: 57px !important;
        top: 11px !important;
    }

    .header-phone-number span::after {
        font-size: 11px !important;
    }

    .header-phone-number::after {

        left: 57px !important;
        top: 29px !important;

        font-size: 15px !important;
    }
}


/* =========================================================
   13. MASQUER COMPLETEMENT LE FOOTER NATIF DU THEME
   ========================================================= */

.site-footer,
.footer-wrapper,
.footer-copyright,
.copyright-wrapper,
.site-info,
#footer,
#footer-wrapper {

    display: none !important;
}


/* =========================================================
   14. FOOTER FIRST LAW
   Généré à la toute fin du BODY
   ========================================================= */

body::after {

    content:
        "© 2026 FIRST LAW & BUSINESS OFFICE"
        "\A"
        "ข้อกำหนดทางกฎหมาย   |   นโยบายความเป็นส่วนตัว";

    display: block !important;

    position: relative !important;

    width: 100% !important;

    box-sizing: border-box !important;

    margin: 45px 0 0 0 !important;

    padding:
        22px
        20px
        20px
        20px !important;

    background: #102647 !important;
    background-color: #102647 !important;

    color: #ffffff !important;

    text-align: center !important;

    white-space: pre-line !important;

    font-family: inherit !important;

    font-size: 13px !important;
    font-weight: 400 !important;

    line-height: 2 !important;

    border: none !important;

    z-index: 1 !important;
}


/* =========================================================
   15. FOOTER MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

    body::after {

        margin-top: 30px !important;

        padding:
            20px
            15px
            18px
            15px !important;

        font-size: 12px !important;

        line-height: 2 !important;
    }
}
/* =========================================
   SUPPRIMER LA SIDEBAR DROITE
   ========================================= */

#sidebar,
.sidebar,
.widget-area,
.right-sidebar,
#secondary {
    display: none !important;
}


/* Le contenu principal prend toute la largeur */
#primary,
.content-area,
.site-main,
.content-left {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Supprime l'espace réservé à la sidebar */
.container .content-area {
    padding-right: 0 !important;
}

/* =========================================
   BOUTONS CONTACT FIRST LAW
   ========================================= */

.firstlaw-contact-buttons a,
.firstlaw-contact-buttons a:link,
.firstlaw-contact-buttons a:visited,
.firstlaw-contact-buttons a:active,
.firstlaw-contact-buttons a:focus {
    background-color: #102647 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Texte toujours blanc */
.firstlaw-contact-buttons a span {
    color: #ffffff !important;
}

/* Icônes SVG toujours blanches */
.firstlaw-contact-buttons a svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

/* Hover */
.firstlaw-contact-buttons a:hover {
    background-color: #18365f !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Empêche le thème de mettre le texte noir/bleu au survol */
.firstlaw-contact-buttons a:hover span,
.firstlaw-contact-buttons a:hover svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
}
/* SUPPRIMER DEFINITIVEMENT LE BANDEAU GRIS DU THEME */
.inner-banner-thumb {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
.header::after {
    content: none !important;
    display: none !important;
}
/* Réduire l'espace entre le header et le contenu Elementor */
body.elementor-page .entry-content > .elementor {
    margin-top: 0 !important;
}

@media (min-width: 1101px) {
    body.elementor-page .entry-content > .elementor {
        margin-top: -55px !important;
    }
}

/* Elementor nouvelle structure */
body.elementor-page .elementor > .e-con:first-child {
    margin-top: 0 !important;
    padding-top: 10px !important;
}
/* Navigation — couleur dorée au survol et sur la page active */

.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-ancestor > a,
.main-navigation .current_page_ancestor > a {
    color: #d4a85f !important;
}
/* =========================================================
   HOMEPAGE — RÉDUIRE L'ESPACE ENTRE HEADER ET SLIDER
   ========================================================= */

/* Supprime les marges/paddings ajoutés par le thème */
body.home #main-set,
body.home #primary,
body.home .content-area,
body.home .site-main,
body.home .entry-content,
body.home .page-content,
body.home .page_content,
body.home article,
body.home .elementor {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Elementor : premier conteneur de la homepage */
body.home .elementor > .e-con:first-child,
body.home .elementor > .elementor-section:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Supprime un éventuel espace sous le header du thème */
body.home .header-main-area,
body.home .header-main-area .header,
body.home .navigarea {
    margin-bottom: 0 !important;
}


/* Slider First Law */
body.home .fl-home,
body.home .fl-hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
a,
a:link,
a:visited {
    color: #fff !important;
}

a:hover,
a:focus,
a:active {
    color: #fff !important;
}
/* NAVIGATION — garder les couleurs d'origine */

.navigarea a,
.navigarea a:link,
.navigarea a:visited,
.navigarea ul li a {
    color: #111111 !important;
}

/* Survol */
.navigarea a:hover,
.navigarea ul li a:hover {
    color: #d4a85f !important;
}

/* Page active */
.navigarea .current-menu-item > a,
.navigarea .current_page_item > a,
.navigarea .current-menu-ancestor > a {
    color: #d4a85f !important;
}
/* =========================================================
   FIRST LAW — NAVIGATION
   ========================================================= */

/* Liens normaux du menu */
#site-navigation #primary > li > a,
#site-navigation #primary > li > a:link,
#site-navigation #primary > li > a:visited,
.navigarea #site-navigation a {
    color: #111111 !important;
    text-decoration: none !important;
}


/* Hover */
#site-navigation #primary > li > a:hover,
#site-navigation #primary > li > a:focus {
    color: #d4a85f !important;
}


/* Page actuellement ouverte */
#site-navigation #primary > li.current-menu-item > a,
#site-navigation #primary > li.current_page_item > a,
#site-navigation #primary > li.current-menu-ancestor > a,
#site-navigation #primary > li.current_page_ancestor > a {
    color: #d4a85f !important;
}


/* Sous-menus éventuels */
#site-navigation .sub-menu a,
#site-navigation .children a {
    color: #111111 !important;
}

#site-navigation .sub-menu a:hover,
#site-navigation .children a:hover {
    color: #d4a85f !important;
}
/* =========================================================
   MOBILE — CENTRER LE LOGO FIRST LAW
   ========================================================= */

@media(max-width:767px){

    .navigarea{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
    }

    .navigarea .logo{
        width:100% !important;
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        text-align:center !important;
        margin:0 auto !important;
        float:none !important;
    }

    .navigarea .logo .custom-logo-link{
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        width:100% !important;
        margin:0 auto !important;
        text-align:center !important;
    }

    .navigarea .logo .custom-logo{
        display:block !important;
        margin:0 auto !important;
        float:none !important;
    }

}
/* =====================================================
   FIRST LAW PAYMENT PAGE
   ===================================================== */

.fl-payment-page{
    --navy:#102647;
    --dark:#071b35;
    --gold:#d4a85f;
    --text:#17243a;
    --muted:#687387;
    --line:#e2e7ee;

    width:100%;
    max-width:980px;
    margin:0 auto;
    padding:30px 20px 55px;
    box-sizing:border-box;
}

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


/* HEADER */

.fl-payment-header{
    max-width:720px;
    margin:0 auto 24px;
    text-align:center;
}

.fl-payment-kicker{
    display:block;
    margin-bottom:7px;

    color:var(--gold);

    font-size:10px;
    font-weight:800;
    letter-spacing:1.5px;
}

.fl-payment-header h1{
    margin:0 0 10px !important;

    color:var(--navy) !important;

    font-size:31px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
}

.fl-payment-header p{
    margin:0 !important;

    color:var(--muted) !important;

    font-size:12px !important;
    line-height:1.75 !important;
}


/* STEPS */

.fl-payment-steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:8px;

    margin-bottom:18px;
}

.fl-payment-step{
    padding:12px;

    border:1px solid var(--line);
    border-radius:10px;

    background:#fff;

    text-align:center;
}

.fl-payment-step > span{
    display:flex;
    align-items:center;
    justify-content:center;

    width:28px;
    height:28px;

    margin:0 auto 5px;

    border-radius:50%;

    background:var(--navy);
    color:#ead4aa;

    font-size:8px;
    font-weight:800;
}

.fl-payment-step strong{
    display:block;

    color:var(--navy);

    font-size:10px;
}

.fl-payment-step small{
    display:block;

    margin-top:2px;

    color:var(--muted);

    font-size:8px;
}


/* PAYMENT CARD */

.fl-payment-main{
    display:grid;
    grid-template-columns:.9fr 1.1fr;

    align-items:center;

    gap:34px;

    padding:30px;

    border:1px solid var(--line);
    border-radius:20px;

    background:#fff;

    box-shadow:0 15px 45px rgba(16,38,71,.08);
}


/* QR */

.fl-payment-qr{
    max-width:355px;

    margin:0 auto;

    padding:9px;

    border:1px solid #d4a85f;
    border-radius:18px;

    background:#fff;
}

.fl-payment-qr img{
    display:block;

    width:100%;
    height:auto;

    border-radius:10px;
}


/* PAYMENT INFO */

.fl-payment-small{
    display:block;

    margin-bottom:5px;

    color:var(--gold);

    font-size:9px;
    font-weight:800;
    letter-spacing:1.2px;
}

.fl-payment-info h2{
    margin:0 0 8px !important;

    color:var(--navy) !important;

    font-size:23px !important;
}

.fl-payment-info > p{
    margin:0 0 15px !important;

    color:var(--muted) !important;

    font-size:11px !important;
    line-height:1.7 !important;
}

.fl-payment-instruction{
    display:flex;
    align-items:center;

    gap:10px;

    margin-bottom:7px;

    padding:9px 11px;

    border:1px solid #edf0f4;
    border-radius:9px;

    background:#f7f9fc;
}

.fl-payment-instruction b{
    display:flex;
    align-items:center;
    justify-content:center;

    width:26px;
    height:26px;

    border-radius:7px;

    background:var(--navy);
    color:#fff;

    font-size:9px;
}

.fl-payment-instruction span{
    color:var(--navy);

    font-size:10px;
    font-weight:700;
}


/* PAYMENT PROOF */

.fl-payment-proof{
    margin-top:16px;

    padding:24px 30px 28px;

    border:1px solid var(--line);
    border-radius:16px;

    background:#fafbfd;
}

.fl-payment-proof h3{
    margin:0 0 4px !important;

    color:var(--navy) !important;

    font-size:19px !important;
}

.fl-payment-proof > p{
    margin:0 0 14px !important;

    color:var(--muted) !important;

    font-size:10px !important;
}


/* UPLOAD */

.fl-payment-upload{
    padding:19px;

    border:1.5px dashed #bec8d4;
    border-radius:12px;

    background:#fff;

    text-align:center;
}

.fl-upload-symbol{
    display:flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    margin:0 auto 7px;

    border-radius:9px;

    background:var(--navy);
    color:#fff;

    font-size:17px;
}

.fl-payment-upload strong{
    display:block;

    margin-bottom:2px;

    color:var(--navy);

    font-size:11px;
}

.fl-payment-upload small{
    display:block;

    margin-bottom:10px;

    color:var(--muted);

    font-size:8px;
}

.fl-payment-file{
    display:block !important;

    width:100% !important;

    padding:11px !important;

    border:1px solid var(--line) !important;
    border-radius:8px !important;

    background:#f7f9fc !important;

    color:var(--muted) !important;

    font-size:9px !important;
}

.fl-payment-file::file-selector-button{
    margin-right:10px;

    padding:8px 12px;

    border:0;
    border-radius:7px;

    background:var(--navy);

    color:#fff;

    font-size:9px;
    font-weight:800;

    cursor:pointer;
}


/* SUBMIT */

.fl-payment-submit{
    display:block !important;

    width:100% !important;
    min-height:47px !important;

    margin-top:14px !important;

    border:1px solid var(--gold) !important;
    border-radius:9px !important;

    background:var(--gold) !important;

    color:var(--dark) !important;
    -webkit-text-fill-color:var(--dark) !important;

    font-size:11px !important;
    font-weight:800 !important;

    cursor:pointer !important;
}


/* CONTACT FORM 7 MESSAGES */

.fl-payment-page .wpcf7-not-valid-tip{
    margin-top:5px !important;

    color:#b42318 !important;

    font-size:9px !important;
}

.fl-payment-page .wpcf7-response-output{
    margin:13px 0 0 !important;

    padding:10px 12px !important;

    border-radius:8px !important;

    font-size:9px !important;
}


/* =====================================================
   MOBILE
   ===================================================== */

@media(max-width:767px){

    .fl-payment-page{
        padding:15px 12px 35px;
    }

    .fl-payment-header{
        margin-bottom:15px;
    }

    .fl-payment-header h1{
        font-size:22px !important;
    }

    .fl-payment-header p{
        font-size:9px !important;
        line-height:1.6 !important;
    }

    .fl-payment-steps{
        gap:5px;
        margin-bottom:11px;
    }

    .fl-payment-step{
        padding:8px 3px;
    }

    .fl-payment-step > span{
        width:23px;
        height:23px;

        font-size:7px;
    }

    .fl-payment-step strong{
        font-size:8px;
    }

    .fl-payment-step small{
        display:none;
    }


    .fl-payment-main{
        display:block;

        padding:16px 13px;

        border-radius:14px;
    }


    .fl-payment-qr{
        width:250px;
        max-width:100%;

        margin-bottom:15px;

        padding:6px;

        border-radius:13px;
    }


    .fl-payment-info{
        text-align:center;
    }

    .fl-payment-info h2{
        font-size:17px !important;
    }

    .fl-payment-info > p{
        font-size:9px !important;
    }

    .fl-payment-instruction{
        padding:7px 8px;

        text-align:left;
    }

    .fl-payment-instruction b{
        width:23px;
        height:23px;

        font-size:8px;
    }

    .fl-payment-instruction span{
        font-size:9px;
    }


    .fl-payment-proof{
        margin-top:11px;

        padding:16px 13px 18px;

        border-radius:12px;
    }

    .fl-payment-proof h3{
        font-size:16px !important;
    }

    .fl-payment-proof > p{
        font-size:9px !important;
    }


    .fl-payment-upload{
        padding:14px 10px;

        border-radius:9px;
    }

    .fl-upload-symbol{
        width:34px;
        height:34px;

        font-size:15px;
    }

    .fl-payment-upload strong{
        font-size:10px;
    }


    .fl-payment-file{
        padding:9px !important;

        font-size:8px !important;
    }

    .fl-payment-file::file-selector-button{
        padding:7px 8px;

        font-size:8px;
    }


    .fl-payment-submit{
        min-height:44px !important;

        font-size:10px !important;
    }

}
/* =========================================================
   FIRST LAW PAYMENT — FIX CONTACT FORM 7
   ========================================================= */

/* Supprime les marges parasites ajoutées par CF7 / thème */
.fl-payment-page .wpcf7-form p,
.fl-payment-upload p,
.fl-payment-proof p {
    margin-top: 0 !important;
}

.fl-payment-upload .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ZONE UPLOAD PLUS COMPACTE */

.fl-payment-upload {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 0 !important;
    height: auto !important;

    padding: 22px 20px !important;

    border: 1.5px dashed #bdc8d5 !important;
    border-radius: 12px !important;

    background: #ffffff !important;

    text-align: center !important;
}


/* ICONE */

.fl-upload-symbol {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 38px !important;

    margin: 0 auto 8px !important;

    padding: 0 !important;

    background: #102647 !important;
    color: #ffffff !important;

    border-radius: 9px !important;

    font-size: 18px !important;
    line-height: 1 !important;
}


/* TITRE UPLOAD */

.fl-payment-upload strong {
    display: block !important;

    margin: 0 0 4px !important;
    padding: 0 !important;

    color: #102647 !important;

    font-size: 11px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
}


/* JPG PNG PDF */

.fl-payment-upload small {
    display: block !important;

    margin: 0 0 12px !important;
    padding: 0 !important;

    color: #687387 !important;

    font-size: 8px !important;
    line-height: 1.4 !important;
}


/* CHAMP DE FICHIER */

.fl-payment-file,
.fl-payment-upload input[type="file"] {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 9px 10px !important;

    border: 1px solid #e2e7ee !important;
    border-radius: 8px !important;

    background: #f7f9fc !important;

    color: #687387 !important;
    -webkit-text-fill-color: #687387 !important;

    font-size: 9px !important;
    line-height: 1.4 !important;
}


.fl-payment-file::file-selector-button,
.fl-payment-upload input[type="file"]::file-selector-button {
    margin-right: 10px !important;

    padding: 8px 12px !important;

    border: 0 !important;
    border-radius: 7px !important;

    background: #102647 !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-family: inherit !important;
    font-size: 9px !important;
    font-weight: 800 !important;

    cursor: pointer !important;
}


/* BOUTON SUIVANT */

.fl-payment-page input.fl-payment-submit,
.fl-payment-page input.fl-payment-submit:link,
.fl-payment-page input.fl-payment-submit:visited,
.fl-payment-page .wpcf7-submit {
    display: block !important;

    width: 100% !important;
    min-height: 46px !important;

    margin: 14px 0 0 !important;
    padding: 11px 18px !important;

    border: 1px solid #d4a85f !important;
    border-radius: 9px !important;

    background: #d4a85f !important;

    color: #071b35 !important;
    -webkit-text-fill-color: #071b35 !important;

    opacity: 1 !important;

    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;

    text-align: center !important;

    cursor: pointer !important;
}


.fl-payment-page input.fl-payment-submit:hover,
.fl-payment-page .wpcf7-submit:hover {
    background: #dfb469 !important;
    color: #071b35 !important;
    -webkit-text-fill-color: #071b35 !important;
}


/* SUPPRIME LES ESPACES CF7 INUTILES */

.fl-payment-page .wpcf7-spinner {
    margin: 8px auto 0 !important;
}

.fl-payment-page br {
    line-height: 0 !important;
}


/* MOBILE */

@media (max-width: 767px) {

    .fl-payment-proof {
        padding: 16px 13px 18px !important;
    }

    .fl-payment-upload {
        padding: 17px 12px !important;
    }

    .fl-upload-symbol {
        width: 34px !important;
        height: 34px !important;

        margin-bottom: 7px !important;

        font-size: 16px !important;
    }

    .fl-payment-upload strong {
        font-size: 10px !important;
    }

    .fl-payment-upload small {
        margin-bottom: 9px !important;
        font-size: 8px !important;
    }

    .fl-payment-file,
    .fl-payment-upload input[type="file"] {
        padding: 8px !important;
        font-size: 8px !important;
    }

    .fl-payment-file::file-selector-button,
    .fl-payment-upload input[type="file"]::file-selector-button {
        padding: 7px 9px !important;
        font-size: 8px !important;
    }

    .fl-payment-page input.fl-payment-submit,
    .fl-payment-page .wpcf7-submit {
        min-height: 44px !important;
        font-size: 10px !important;
    }
}

/* =========================================================
   16. FIRST LAW — HEADER RESPONSIVE GLOBAL
   TABLETTE + MOBILE
   Une seule correction pour TOUTES les pages.
   Le menu reste dans le header blanc et ne chevauche plus
   Elementor, les sliders ou le contenu.
   ========================================================= */


/* ---------------------------------------------------------
   TABLETTE : 768px à 1100px
   Ligne 1 : logo + téléphone
   Ligne 2 : hamburger centré
   --------------------------------------------------------- */

@media screen and (min-width:768px) and (max-width:1100px){

    .header-main-area,
    .header-main-area .header{
        position:relative !important;
        z-index:99990 !important;
        overflow:visible !important;
        background:#ffffff !important;
    }

    .header-main-area .header .container{
        position:relative !important;

        width:100% !important;
        height:164px !important;
        min-height:164px !important;

        padding:0 18px !important;

        overflow:visible !important;

        background:#ffffff !important;
    }

    /*
     * La zone navigation occupe tout le header.
     * Elle sert de cadre au logo et à la barre hamburger.
     */
    .navigarea{
        position:relative !important;

        display:block !important;

        width:100% !important;
        height:164px !important;

        margin:0 !important;
        padding:0 !important;

        overflow:visible !important;

        background:#ffffff !important;

        z-index:99991 !important;
    }


    /* LOGO — haut gauche */
    .navigarea .logo,
    .site-branding{
        position:absolute !important;

        left:18px !important;
        top:54px !important;

        transform:translateY(-50%) !important;

        width:auto !important;
        max-width:310px !important;

        margin:0 !important;
        padding:0 !important;

        float:none !important;

        overflow:visible !important;

        z-index:99993 !important;
    }

    .navigarea .logo .custom-logo-link,
    .site-branding .custom-logo-link{
        display:block !important;

        width:auto !important;

        margin:0 !important;
        padding:0 !important;
    }

    .navigarea .logo .custom-logo,
    .site-branding .custom-logo{
        width:180px !important;
        max-width:none !important;
        height:auto !important;

        margin:0 !important;

        transform:translateY(-4px) scale(1.08) !important;
        transform-origin:left center !important;
    }


    /* TÉLÉPHONE — haut droite */
    .header-right-infos{
        position:absolute !important;

        top:18px !important;
        right:18px !important;
        left:auto !important;

        transform:none !important;

        width:auto !important;

        margin:0 !important;
        padding:0 !important;

        z-index:99994 !important;
    }

    .header-phone-number{
        width:235px !important;
        height:70px !important;
    }

    .header-phone-number span,
    .header-phone-number::after{
        left:60px !important;
    }

    .header-phone-number::after{
        font-size:15px !important;
    }


    /* -----------------------------------------------------
       BARRE DU MENU
       ----------------------------------------------------- */

    .navigarea #site-navigation,
    #site-navigation{
        position:absolute !important;

        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        top:auto !important;

        transform:none !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        height:54px !important;
        min-height:54px !important;

        margin:0 !important;
        padding:5px 0 7px !important;

        float:none !important;

        border-top:1px solid #edf0f4 !important;

        background:#ffffff !important;

        overflow:visible !important;

        z-index:99995 !important;
    }


    /* HAMBURGER */
    #site-navigation .menu-toggle{
        position:relative !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:48px !important;
        height:40px !important;

        margin:0 !important;
        padding:8px !important;

        transform:none !important;

        border:1px solid #102647 !important;
        border-radius:10px !important;

        background:#102647 !important;
        color:#ffffff !important;

        box-shadow:
            0 5px 15px rgba(16,38,71,.14) !important;

        cursor:pointer !important;

        z-index:99997 !important;
    }

    #site-navigation .menu-toggle:hover,
    #site-navigation .menu-toggle:focus{
        background:#17365d !important;
        color:#ffffff !important;
    }

    #site-navigation .menu-toggle span{
        background:#ffffff !important;
        border-color:#ffffff !important;
    }

    /* Petit accent First Law */
    #site-navigation .menu-toggle::after{
        content:"" !important;

        position:absolute !important;

        left:50% !important;
        bottom:-5px !important;

        width:17px !important;
        height:2px !important;

        transform:translateX(-50%) !important;

        border-radius:10px !important;

        background:#d4a85f !important;
    }


    /* -----------------------------------------------------
       MENU DÉROULÉ
       ----------------------------------------------------- */

    #site-navigation.toggled #primary,
    #site-navigation.toggled .primary-menu{
        position:absolute !important;

        top:52px !important;
        left:50% !important;
        right:auto !important;
        bottom:auto !important;

        transform:translateX(-50%) !important;

        display:block !important;

        width:min(520px,92vw) !important;

        margin:0 !important;
        padding:7px !important;

        border:1px solid #e2e7ee !important;
        border-radius:14px !important;

        background:#ffffff !important;

        box-shadow:
            0 18px 45px rgba(16,38,71,.18) !important;

        overflow:hidden !important;

        z-index:100000 !important;
    }

    #site-navigation.toggled #primary > li,
    #site-navigation.toggled .primary-menu > li{
        display:block !important;

        width:100% !important;

        margin:0 !important;
        padding:0 !important;

        float:none !important;
    }

    #site-navigation.toggled #primary > li > a,
    #site-navigation.toggled .primary-menu > li > a{
        display:flex !important;
        align-items:center !important;

        width:100% !important;
        min-height:44px !important;

        margin:0 !important;
        padding:10px 15px !important;

        border:0 !important;
        border-bottom:1px solid #edf0f4 !important;

        background:#ffffff !important;

        color:#102647 !important;
        -webkit-text-fill-color:#102647 !important;

        font-size:13px !important;
        line-height:1.4 !important;
        font-weight:700 !important;

        text-align:left !important;
        text-decoration:none !important;
    }

    #site-navigation.toggled #primary > li:last-child > a,
    #site-navigation.toggled .primary-menu > li:last-child > a{
        border-bottom:0 !important;
    }

    #site-navigation.toggled #primary > li > a:hover,
    #site-navigation.toggled #primary > li > a:focus,
    #site-navigation.toggled .primary-menu > li > a:hover,
    #site-navigation.toggled .primary-menu > li > a:focus{
        background:#f7f9fc !important;

        color:#d4a85f !important;
        -webkit-text-fill-color:#d4a85f !important;
    }

    #site-navigation.toggled #primary > li.current-menu-item > a,
    #site-navigation.toggled #primary > li.current_page_item > a,
    #site-navigation.toggled .primary-menu > li.current-menu-item > a{
        background:#fffaf1 !important;

        color:#b27d32 !important;
        -webkit-text-fill-color:#b27d32 !important;
    }


    /* SOUS-MENUS */
    #site-navigation.toggled .sub-menu,
    #site-navigation.toggled .children{
        position:static !important;

        display:block !important;

        width:100% !important;

        margin:0 !important;
        padding:0 !important;

        background:#f7f9fc !important;

        box-shadow:none !important;
    }

    #site-navigation.toggled .sub-menu a,
    #site-navigation.toggled .children a{
        display:block !important;

        padding:9px 15px 9px 28px !important;

        color:#102647 !important;
        -webkit-text-fill-color:#102647 !important;

        background:#f7f9fc !important;

        font-size:12px !important;
    }


    /*
     * IMPORTANT :
     * aucun contenu Elementor ne remonte sous le header.
     */
    body.elementor-page .entry-content > .elementor,
    body.elementor-page .elementor{
        margin-top:0 !important;
    }
}


/* ---------------------------------------------------------
   MOBILE : <= 767px
   Logo centré + téléphone + barre hamburger propre.
   --------------------------------------------------------- */

@media screen and (max-width:767px){

    .header-main-area,
    .header-main-area .header{
        position:relative !important;

        overflow:visible !important;

        background:#ffffff !important;

        z-index:99990 !important;
    }

    .header-main-area .header .container{
        position:relative !important;

        display:block !important;

        width:100% !important;
        height:auto !important;
        min-height:0 !important;

        margin:0 !important;
        padding:
            12px
            12px
            50px !important;

        overflow:visible !important;

        background:#ffffff !important;
    }


    /*
     * Sur mobile la navigarea ne sert plus de référence
     * absolue : le container principal contrôle la barre.
     */
    .navigarea{
        position:static !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;

        width:100% !important;
        height:auto !important;

        margin:0 !important;
        padding:0 !important;

        overflow:visible !important;

        background:#ffffff !important;
    }


    /* LOGO CENTRÉ */
    .navigarea .logo,
    .site-branding{
        position:relative !important;

        left:auto !important;
        top:auto !important;

        transform:none !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:none !important;

        margin:0 auto !important;
        padding:0 !important;

        float:none !important;

        text-align:center !important;
    }

    .navigarea .logo .custom-logo-link,
    .site-branding .custom-logo-link{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:100% !important;

        margin:0 auto !important;
    }

    .navigarea .logo .custom-logo,
    .site-branding .custom-logo{
        width:175px !important;
        max-width:78vw !important;
        height:auto !important;

        margin:0 auto !important;

        transform:none !important;
    }


    /* TÉLÉPHONE MOBILE */
    .header-right-infos{
        position:static !important;

        display:flex !important;
        justify-content:center !important;

        width:100% !important;

        margin:8px 0 0 !important;
        padding:0 !important;

        transform:none !important;

        background:#ffffff !important;
    }

    .header-phone-number{
        width:225px !important;
        height:58px !important;

        border-radius:10px !important;
    }

    .header-phone-number::before{
        left:18px !important;

        width:20px !important;
        height:20px !important;
    }

    .header-phone-number span{
        left:54px !important;
        top:10px !important;
    }

    .header-phone-number span::after{
        font-size:10px !important;
    }

    .header-phone-number::after{
        left:54px !important;
        top:28px !important;

        font-size:14px !important;
    }


    /* BARRE MENU MOBILE */
    .navigarea #site-navigation,
    #site-navigation{
        position:absolute !important;

        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        top:auto !important;

        transform:none !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        height:46px !important;
        min-height:46px !important;

        margin:0 !important;
        padding:4px 0 5px !important;

        float:none !important;

        border-top:1px solid #edf0f4 !important;

        background:#ffffff !important;

        overflow:visible !important;

        z-index:99995 !important;
    }


    #site-navigation .menu-toggle{
        position:relative !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:42px !important;
        height:36px !important;

        margin:0 !important;
        padding:7px !important;

        transform:none !important;

        border:1px solid #102647 !important;
        border-radius:9px !important;

        background:#102647 !important;
        color:#ffffff !important;

        box-shadow:
            0 4px 12px rgba(16,38,71,.13) !important;

        z-index:99997 !important;
    }

    #site-navigation .menu-toggle span{
        background:#ffffff !important;
        border-color:#ffffff !important;
    }

    #site-navigation .menu-toggle::after{
        content:"" !important;

        position:absolute !important;

        left:50% !important;
        bottom:-4px !important;

        width:15px !important;
        height:2px !important;

        transform:translateX(-50%) !important;

        border-radius:10px !important;

        background:#d4a85f !important;
    }


    /* MENU OUVERT MOBILE */
    #site-navigation.toggled #primary,
    #site-navigation.toggled .primary-menu{
        position:absolute !important;

        top:44px !important;
        left:50% !important;
        right:auto !important;

        transform:translateX(-50%) !important;

        display:block !important;

        width:calc(100vw - 24px) !important;
        max-width:430px !important;

        margin:0 !important;
        padding:6px !important;

        border:1px solid #e2e7ee !important;
        border-radius:12px !important;

        background:#ffffff !important;

        box-shadow:
            0 16px 38px rgba(16,38,71,.18) !important;

        overflow:hidden !important;

        z-index:100000 !important;
    }

    #site-navigation.toggled #primary > li,
    #site-navigation.toggled .primary-menu > li{
        display:block !important;

        width:100% !important;

        margin:0 !important;
        padding:0 !important;

        float:none !important;
    }

    #site-navigation.toggled #primary > li > a,
    #site-navigation.toggled .primary-menu > li > a{
        display:flex !important;
        align-items:center !important;

        width:100% !important;
        min-height:41px !important;

        margin:0 !important;
        padding:9px 13px !important;

        border:0 !important;
        border-bottom:1px solid #edf0f4 !important;

        background:#ffffff !important;

        color:#102647 !important;
        -webkit-text-fill-color:#102647 !important;

        font-size:12px !important;
        line-height:1.4 !important;
        font-weight:700 !important;

        text-align:left !important;
        text-decoration:none !important;
    }

    #site-navigation.toggled #primary > li:last-child > a,
    #site-navigation.toggled .primary-menu > li:last-child > a{
        border-bottom:0 !important;
    }

    #site-navigation.toggled #primary > li.current-menu-item > a,
    #site-navigation.toggled #primary > li.current_page_item > a{
        background:#fffaf1 !important;

        color:#b27d32 !important;
        -webkit-text-fill-color:#b27d32 !important;
    }

    #site-navigation.toggled .sub-menu,
    #site-navigation.toggled .children{
        position:static !important;

        display:block !important;

        width:100% !important;

        margin:0 !important;
        padding:0 !important;

        background:#f7f9fc !important;

        box-shadow:none !important;
    }

    #site-navigation.toggled .sub-menu a,
    #site-navigation.toggled .children a{
        display:block !important;

        padding:8px 12px 8px 24px !important;
/* =========================================================
   FIRST LAW & BUSINESS OFFICE
   CSS GLOBAL
   Couleur principale : #102647
   ========================================================= */


/* =========================================================
   1. MASQUER LES TITRES DE PAGE DU THEME
   ========================================================= */

.page-header,
.inner-banner,
.entry-header,
.page-title,
.page_title {
    display: none !important;
}


/* =========================================================
   2. LOGO FIRST LAW
   Plus grand sans augmenter la hauteur du header
   ========================================================= */

.site-branding {
    width: auto !important;
    max-width: 400px !important;
    overflow: visible !important;
}

.custom-logo-link {
    width: auto !important;
    height: auto !important;

    display: block !important;

    overflow: visible !important;
}

.logo {
    overflow: visible !important;
}

.logo .custom-logo,
.custom-logo-link .custom-logo {

    content: url("https://firstlawandbusiness.com/wp-content/uploads/2026/09/logofinal.png") !important;

    width: 200px !important;
    height: auto !important;

    max-width: none !important;
    max-height: none !important;

    display: block !important;

transform: translateY(-6px) scale(1.18) !important;
    transform-origin: left center !important;

    margin: 0 !important;
}


/* =========================================================
   3. COULEURS DES SECTIONS DU THEME
   ========================================================= */

.skt-nurse-work-section::before,
.skt-nurse-work-section::after,
.elementor-element-67e10c67::before,
.elementor-element-67e10c67::after {
    background-color: #10233f !important;
}


/* Cercles / icônes */
.skt-nurse-care-image-box img,
.skt-nurse-care-image-box .elementor-image-box-img,
.skt-nurse-care-image-box .elementor-image-box-img img {

    background-color: #102647 !important;
    border-radius: 50% !important;
}


/* =========================================================
   4. HEADER - FOND 100% BLANC
   ========================================================= */

html,
body,
#main-set,
.header-main-area,
.header-main-area .header,
.header-main-area .header .container,
.navigarea,
.header-right-infos {

    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
}


/* Empêche le thème de remettre une zone grise */
.header-right-infos::before,
.header-right-infos::after {

    content: none !important;
    display: none !important;

    background: transparent !important;
    background-image: none !important;
}


/* =========================================================
   5. HEADER PLUS COMPACT
   ========================================================= */

.header-main-area .header {

    position: relative !important;

    padding: 0 !important;
    margin: 0 !important;

    background: #ffffff !important;
}


/* Le container ne sert pas de référence au bouton téléphone */
.header-main-area .header .container {
    position: static !important;
}


@media screen and (min-width: 768px) {

    .header-main-area .header .container {

        height: 112px !important;
        min-height: 112px !important;

        display: flex !important;
        align-items: center !important;

        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }


    .navigarea {

        height: 112px !important;

        display: flex !important;
        align-items: center !important;

        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}


/* =========================================================
   6. ZONE TELEPHONE
   Placée complètement à droite
   ========================================================= */

.header-right-infos {

    position: absolute !important;

    top: 50% !important;
    right: 30px !important;

    transform: translateY(-50%) !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;

    display: block !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: none !important;
    box-shadow: none !important;
}


/* Clear ajouté par le thème */
.header-right-infos .clear {
    display: none !important;
}


/* =========================================================
   7. BOUTON TELEPHONE
   ========================================================= */

.header-phone-number {

    position: relative !important;

    width: 285px !important;
    height: 70px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    background: #102647 !important;
    background-color: #102647 !important;

    color: #ffffff !important;

    border: none !important;
    border-radius: 11px !important;

    /* Cache le numéro brut du thème */
    font-size: 0 !important;

    box-shadow:
        0 5px 15px rgba(16, 38, 71, 0.16) !important;

    transition:
        background 0.2s ease,
        box-shadow 0.2s ease !important;
}


/* Ancienne icône turquoise du thème */
.header-phone-number img {
    display: none !important;
}


/* =========================================================
   8. ICONE TELEPHONE BLANCHE
   ========================================================= */

.header-phone-number::before {

    content: "" !important;

    position: absolute !important;

    left: 26px !important;
    top: 50% !important;

    width: 24px !important;
    height: 24px !important;

    transform: translateY(-50%) !important;

    background-color: #ffffff !important;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79a15.46 15.46 0 006.59 6.59l2.2-2.2a1 1 0 011.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 011 1V20a1 1 0 01-1 1C10.61 21 3 13.39 3 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.57a1 1 0 01-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E")
        center / contain no-repeat !important;

    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79a15.46 15.46 0 006.59 6.59l2.2-2.2a1 1 0 011.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 011 1V20a1 1 0 01-1 1C10.61 21 3 13.39 3 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.57a1 1 0 01-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E")
        center / contain no-repeat !important;
}


/* =========================================================
   9. HORAIRES
   Remplace "Call Anytime"
   ========================================================= */

.header-phone-number span {

    position: absolute !important;

    left: 70px !important;
    top: 14px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 0 !important;

    line-height: 1 !important;
}


.header-phone-number span::after {

    content: "10:00 AM – 6:00 PM" !important;

    display: block !important;

    font-size: 12px !important;
    font-weight: 600 !important;

    line-height: 1.2 !important;

    color: rgba(255, 255, 255, 0.80) !important;

    letter-spacing: 0.2px !important;

    white-space: nowrap !important;
}


/* =========================================================
   10. NUMERO FORMATE
   ========================================================= */

.header-phone-number::after {

    content: "+66 98 919 9819" !important;

    position: absolute !important;

    left: 70px !important;
    top: 35px !important;

    font-size: 18px !important;
    font-weight: 700 !important;

    line-height: 1.15 !important;

    letter-spacing: 0.2px !important;

    color: #ffffff !important;

    white-space: nowrap !important;
}


/* Hover */
.header-phone-number:hover {

    background: #18365f !important;

    box-shadow:
        0 7px 18px rgba(16, 38, 71, 0.22) !important;
}


/* =========================================================
   11. TABLETTE
   ========================================================= */

@media screen and (max-width: 1100px) and (min-width: 768px) {

    .header-right-infos {
        right: 15px !important;
    }

    .header-phone-number {
        width: 235px !important;
    }

    .header-phone-number span,
    .header-phone-number::after {
        left: 60px !important;
    }

    .header-phone-number::after {
        font-size: 15px !important;
    }
}


/* =========================================================
   12. MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

    .header-main-area .header .container {
        position: relative !important;
    }

    .header-right-infos {

        position: static !important;

        width: 100% !important;

        transform: none !important;

        display: flex !important;
        justify-content: center !important;

        padding: 10px 0 !important;

        background: #ffffff !important;
    }

    .header-phone-number {

        width: 235px !important;
        height: 60px !important;
    }

    .header-phone-number::before {

        left: 20px !important;

        width: 21px !important;
        height: 21px !important;
    }

    .header-phone-number span {

        left: 57px !important;
        top: 11px !important;
    }

    .header-phone-number span::after {
        font-size: 11px !important;
    }

    .header-phone-number::after {

        left: 57px !important;
        top: 29px !important;

        font-size: 15px !important;
    }
}


/* =========================================================
   13. MASQUER COMPLETEMENT LE FOOTER NATIF DU THEME
   ========================================================= */

.site-footer,
.footer-wrapper,
.footer-copyright,
.copyright-wrapper,
.site-info,
#footer,
#footer-wrapper {

    display: none !important;
}


/* =========================================================
   14. FOOTER FIRST LAW
   Généré à la toute fin du BODY
   ========================================================= */

body::after {

    content:
        "© 2026 FIRST LAW & BUSINESS OFFICE"
        "\A"
        "ข้อกำหนดทางกฎหมาย   |   นโยบายความเป็นส่วนตัว";

    display: block !important;

    position: relative !important;

    width: 100% !important;

    box-sizing: border-box !important;

    margin: 45px 0 0 0 !important;

    padding:
        22px
        20px
        20px
        20px !important;

    background: #102647 !important;
    background-color: #102647 !important;

    color: #ffffff !important;

    text-align: center !important;

    white-space: pre-line !important;

    font-family: inherit !important;

    font-size: 13px !important;
    font-weight: 400 !important;

    line-height: 2 !important;

    border: none !important;

    z-index: 1 !important;
}


/* =========================================================
   15. FOOTER MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

    body::after {

        margin-top: 30px !important;

        padding:
            20px
            15px
            18px
            15px !important;

        font-size: 12px !important;

        line-height: 2 !important;
    }
}
/* =========================================
   SUPPRIMER LA SIDEBAR DROITE
   ========================================= */

#sidebar,
.sidebar,
.widget-area,
.right-sidebar,
#secondary {
    display: none !important;
}


/* Le contenu principal prend toute la largeur */
#primary,
.content-area,
.site-main,
.content-left {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Supprime l'espace réservé à la sidebar */
.container .content-area {
    padding-right: 0 !important;
}

/* =========================================
   BOUTONS CONTACT FIRST LAW
   ========================================= */

.firstlaw-contact-buttons a,
.firstlaw-contact-buttons a:link,
.firstlaw-contact-buttons a:visited,
.firstlaw-contact-buttons a:active,
.firstlaw-contact-buttons a:focus {
    background-color: #102647 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Texte toujours blanc */
.firstlaw-contact-buttons a span {
    color: #ffffff !important;
}

/* Icônes SVG toujours blanches */
.firstlaw-contact-buttons a svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

/* Hover */
.firstlaw-contact-buttons a:hover {
    background-color: #18365f !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Empêche le thème de mettre le texte noir/bleu au survol */
.firstlaw-contact-buttons a:hover span,
.firstlaw-contact-buttons a:hover svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
}
/* SUPPRIMER DEFINITIVEMENT LE BANDEAU GRIS DU THEME */
.inner-banner-thumb {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
.header::after {
    content: none !important;
    display: none !important;
}
/* Réduire l'espace entre le header et le contenu Elementor */
body.elementor-page .entry-content > .elementor {
    margin-top: 0 !important;
}

@media (min-width: 1101px) {
    body.elementor-page .entry-content > .elementor {
        margin-top: -55px !important;
    }
}

/* Elementor nouvelle structure */
body.elementor-page .elementor > .e-con:first-child {
    margin-top: 0 !important;
    padding-top: 10px !important;
}
/* Navigation — couleur dorée au survol et sur la page active */

.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-ancestor > a,
.main-navigation .current_page_ancestor > a {
    color: #d4a85f !important;
}
/* =========================================================
   HOMEPAGE — RÉDUIRE L'ESPACE ENTRE HEADER ET SLIDER
   ========================================================= */

/* Supprime les marges/paddings ajoutés par le thème */
body.home #main-set,
body.home #primary,
body.home .content-area,
body.home .site-main,
body.home .entry-content,
body.home .page-content,
body.home .page_content,
body.home article,
body.home .elementor {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Elementor : premier conteneur de la homepage */
body.home .elementor > .e-con:first-child,
body.home .elementor > .elementor-section:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Supprime un éventuel espace sous le header du thème */
body.home .header-main-area,
body.home .header-main-area .header,
body.home .navigarea {
    margin-bottom: 0 !important;
}


/* Slider First Law */
body.home .fl-home,
body.home .fl-hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
a,
a:link,
a:visited {
    color: #fff !important;
}

a:hover,
a:focus,
a:active {
    color: #fff !important;
}
/* NAVIGATION — garder les couleurs d'origine */

.navigarea a,
.navigarea a:link,
.navigarea a:visited,
.navigarea ul li a {
    color: #111111 !important;
}

/* Survol */
.navigarea a:hover,
.navigarea ul li a:hover {
    color: #d4a85f !important;
}

/* Page active */
.navigarea .current-menu-item > a,
.navigarea .current_page_item > a,
.navigarea .current-menu-ancestor > a {
    color: #d4a85f !important;
}
/* =========================================================
   FIRST LAW — NAVIGATION
   ========================================================= */

/* Liens normaux du menu */
#site-navigation #primary > li > a,
#site-navigation #primary > li > a:link,
#site-navigation #primary > li > a:visited,
.navigarea #site-navigation a {
    color: #111111 !important;
    text-decoration: none !important;
}


/* Hover */
#site-navigation #primary > li > a:hover,
#site-navigation #primary > li > a:focus {
    color: #d4a85f !important;
}


/* Page actuellement ouverte */
#site-navigation #primary > li.current-menu-item > a,
#site-navigation #primary > li.current_page_item > a,
#site-navigation #primary > li.current-menu-ancestor > a,
#site-navigation #primary > li.current_page_ancestor > a {
    color: #d4a85f !important;
}


/* Sous-menus éventuels */
#site-navigation .sub-menu a,
#site-navigation .children a {
    color: #111111 !important;
}

#site-navigation .sub-menu a:hover,
#site-navigation .children a:hover {
    color: #d4a85f !important;
}
/* =========================================================
   MOBILE — CENTRER LE LOGO FIRST LAW
   ========================================================= */

@media(max-width:767px){

    .navigarea{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
    }

    .navigarea .logo{
        width:100% !important;
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        text-align:center !important;
        margin:0 auto !important;
        float:none !important;
    }

    .navigarea .logo .custom-logo-link{
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        width:100% !important;
        margin:0 auto !important;
        text-align:center !important;
    }

    .navigarea .logo .custom-logo{
        display:block !important;
        margin:0 auto !important;
        float:none !important;
    }

}
/* =====================================================
   FIRST LAW PAYMENT PAGE
   ===================================================== */

.fl-payment-page{
    --navy:#102647;
    --dark:#071b35;
    --gold:#d4a85f;
    --text:#17243a;
    --muted:#687387;
    --line:#e2e7ee;

    width:100%;
    max-width:980px;
    margin:0 auto;
    padding:30px 20px 55px;
    box-sizing:border-box;
}

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


/* HEADER */

.fl-payment-header{
    max-width:720px;
    margin:0 auto 24px;
    text-align:center;
}

.fl-payment-kicker{
    display:block;
    margin-bottom:7px;

    color:var(--gold);

    font-size:10px;
    font-weight:800;
    letter-spacing:1.5px;
}

.fl-payment-header h1{
    margin:0 0 10px !important;

    color:var(--navy) !important;

    font-size:31px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
}

.fl-payment-header p{
    margin:0 !important;

    color:var(--muted) !important;

    font-size:12px !important;
    line-height:1.75 !important;
}


/* STEPS */

.fl-payment-steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:8px;

    margin-bottom:18px;
}

.fl-payment-step{
    padding:12px;

    border:1px solid var(--line);
    border-radius:10px;

    background:#fff;

    text-align:center;
}

.fl-payment-step > span{
    display:flex;
    align-items:center;
    justify-content:center;

    width:28px;
    height:28px;

    margin:0 auto 5px;

    border-radius:50%;

    background:var(--navy);
    color:#ead4aa;

    font-size:8px;
    font-weight:800;
}

.fl-payment-step strong{
    display:block;

    color:var(--navy);

    font-size:10px;
}

.fl-payment-step small{
    display:block;

    margin-top:2px;

    color:var(--muted);

    font-size:8px;
}


/* PAYMENT CARD */

.fl-payment-main{
    display:grid;
    grid-template-columns:.9fr 1.1fr;

    align-items:center;

    gap:34px;

    padding:30px;

    border:1px solid var(--line);
    border-radius:20px;

    background:#fff;

    box-shadow:0 15px 45px rgba(16,38,71,.08);
}


/* QR */

.fl-payment-qr{
    max-width:355px;

    margin:0 auto;

    padding:9px;

    border:1px solid #d4a85f;
    border-radius:18px;

    background:#fff;
}

.fl-payment-qr img{
    display:block;

    width:100%;
    height:auto;

    border-radius:10px;
}


/* PAYMENT INFO */

.fl-payment-small{
    display:block;

    margin-bottom:5px;

    color:var(--gold);

    font-size:9px;
    font-weight:800;
    letter-spacing:1.2px;
}

.fl-payment-info h2{
    margin:0 0 8px !important;

    color:var(--navy) !important;

    font-size:23px !important;
}

.fl-payment-info > p{
    margin:0 0 15px !important;

    color:var(--muted) !important;

    font-size:11px !important;
    line-height:1.7 !important;
}

.fl-payment-instruction{
    display:flex;
    align-items:center;

    gap:10px;

    margin-bottom:7px;

    padding:9px 11px;

    border:1px solid #edf0f4;
    border-radius:9px;

    background:#f7f9fc;
}

.fl-payment-instruction b{
    display:flex;
    align-items:center;
    justify-content:center;

    width:26px;
    height:26px;

    border-radius:7px;

    background:var(--navy);
    color:#fff;

    font-size:9px;
}

.fl-payment-instruction span{
    color:var(--navy);

    font-size:10px;
    font-weight:700;
}


/* PAYMENT PROOF */

.fl-payment-proof{
    margin-top:16px;

    padding:24px 30px 28px;

    border:1px solid var(--line);
    border-radius:16px;

    background:#fafbfd;
}

.fl-payment-proof h3{
    margin:0 0 4px !important;

    color:var(--navy) !important;

    font-size:19px !important;
}

.fl-payment-proof > p{
    margin:0 0 14px !important;

    color:var(--muted) !important;

    font-size:10px !important;
}


/* UPLOAD */

.fl-payment-upload{
    padding:19px;

    border:1.5px dashed #bec8d4;
    border-radius:12px;

    background:#fff;

    text-align:center;
}

.fl-upload-symbol{
    display:flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    margin:0 auto 7px;

    border-radius:9px;

    background:var(--navy);
    color:#fff;

    font-size:17px;
}

.fl-payment-upload strong{
    display:block;

    margin-bottom:2px;

    color:var(--navy);

    font-size:11px;
}

.fl-payment-upload small{
    display:block;

    margin-bottom:10px;

    color:var(--muted);

    font-size:8px;
}

.fl-payment-file{
    display:block !important;

    width:100% !important;

    padding:11px !important;

    border:1px solid var(--line) !important;
    border-radius:8px !important;

    background:#f7f9fc !important;

    color:var(--muted) !important;

    font-size:9px !important;
}

.fl-payment-file::file-selector-button{
    margin-right:10px;

    padding:8px 12px;

    border:0;
    border-radius:7px;

    background:var(--navy);

    color:#fff;

    font-size:9px;
    font-weight:800;

    cursor:pointer;
}


/* SUBMIT */

.fl-payment-submit{
    display:block !important;

    width:100% !important;
    min-height:47px !important;

    margin-top:14px !important;

    border:1px solid var(--gold) !important;
    border-radius:9px !important;

    background:var(--gold) !important;

    color:var(--dark) !important;
    -webkit-text-fill-color:var(--dark) !important;

    font-size:11px !important;
    font-weight:800 !important;

    cursor:pointer !important;
}


/* CONTACT FORM 7 MESSAGES */

.fl-payment-page .wpcf7-not-valid-tip{
    margin-top:5px !important;

    color:#b42318 !important;

    font-size:9px !important;
}

.fl-payment-page .wpcf7-response-output{
    margin:13px 0 0 !important;

    padding:10px 12px !important;

    border-radius:8px !important;

    font-size:9px !important;
}


/* =====================================================
   MOBILE
   ===================================================== */

@media(max-width:767px){

    .fl-payment-page{
        padding:15px 12px 35px;
    }

    .fl-payment-header{
        margin-bottom:15px;
    }

    .fl-payment-header h1{
        font-size:22px !important;
    }

    .fl-payment-header p{
        font-size:9px !important;
        line-height:1.6 !important;
    }

    .fl-payment-steps{
        gap:5px;
        margin-bottom:11px;
    }

    .fl-payment-step{
        padding:8px 3px;
    }

    .fl-payment-step > span{
        width:23px;
        height:23px;

        font-size:7px;
    }

    .fl-payment-step strong{
        font-size:8px;
    }

    .fl-payment-step small{
        display:none;
    }


    .fl-payment-main{
        display:block;

        padding:16px 13px;

        border-radius:14px;
    }


    .fl-payment-qr{
        width:250px;
        max-width:100%;

        margin-bottom:15px;

        padding:6px;

        border-radius:13px;
    }


    .fl-payment-info{
        text-align:center;
    }

    .fl-payment-info h2{
        font-size:17px !important;
    }

    .fl-payment-info > p{
        font-size:9px !important;
    }

    .fl-payment-instruction{
        padding:7px 8px;

        text-align:left;
    }

    .fl-payment-instruction b{
        width:23px;
        height:23px;

        font-size:8px;
    }

    .fl-payment-instruction span{
        font-size:9px;
    }


    .fl-payment-proof{
        margin-top:11px;

        padding:16px 13px 18px;

        border-radius:12px;
    }

    .fl-payment-proof h3{
        font-size:16px !important;
    }

    .fl-payment-proof > p{
        font-size:9px !important;
    }


    .fl-payment-upload{
        padding:14px 10px;

        border-radius:9px;
    }

    .fl-upload-symbol{
        width:34px;
        height:34px;

        font-size:15px;
    }

    .fl-payment-upload strong{
        font-size:10px;
    }


    .fl-payment-file{
        padding:9px !important;

        font-size:8px !important;
    }

    .fl-payment-file::file-selector-button{
        padding:7px 8px;

        font-size:8px;
    }


    .fl-payment-submit{
        min-height:44px !important;

        font-size:10px !important;
    }

}
/* =========================================================
   FIRST LAW PAYMENT — FIX CONTACT FORM 7
   ========================================================= */

/* Supprime les marges parasites ajoutées par CF7 / thème */
.fl-payment-page .wpcf7-form p,
.fl-payment-upload p,
.fl-payment-proof p {
    margin-top: 0 !important;
}

.fl-payment-upload .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ZONE UPLOAD PLUS COMPACTE */

.fl-payment-upload {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 0 !important;
    height: auto !important;

    padding: 22px 20px !important;

    border: 1.5px dashed #bdc8d5 !important;
    border-radius: 12px !important;

    background: #ffffff !important;

    text-align: center !important;
}


/* ICONE */

.fl-upload-symbol {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 38px !important;

    margin: 0 auto 8px !important;

    padding: 0 !important;

    background: #102647 !important;
    color: #ffffff !important;

    border-radius: 9px !important;

    font-size: 18px !important;
    line-height: 1 !important;
}


/* TITRE UPLOAD */

.fl-payment-upload strong {
    display: block !important;

    margin: 0 0 4px !important;
    padding: 0 !important;

    color: #102647 !important;

    font-size: 11px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
}


/* JPG PNG PDF */

.fl-payment-upload small {
    display: block !important;

    margin: 0 0 12px !important;
    padding: 0 !important;

    color: #687387 !important;

    font-size: 8px !important;
    line-height: 1.4 !important;
}


/* CHAMP DE FICHIER */

.fl-payment-file,
.fl-payment-upload input[type="file"] {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 9px 10px !important;

    border: 1px solid #e2e7ee !important;
    border-radius: 8px !important;

    background: #f7f9fc !important;

    color: #687387 !important;
    -webkit-text-fill-color: #687387 !important;

    font-size: 9px !important;
    line-height: 1.4 !important;
}


.fl-payment-file::file-selector-button,
.fl-payment-upload input[type="file"]::file-selector-button {
    margin-right: 10px !important;

    padding: 8px 12px !important;

    border: 0 !important;
    border-radius: 7px !important;

    background: #102647 !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-family: inherit !important;
    font-size: 9px !important;
    font-weight: 800 !important;

    cursor: pointer !important;
}


/* BOUTON SUIVANT */

.fl-payment-page input.fl-payment-submit,
.fl-payment-page input.fl-payment-submit:link,
.fl-payment-page input.fl-payment-submit:visited,
.fl-payment-page .wpcf7-submit {
    display: block !important;

    width: 100% !important;
    min-height: 46px !important;

    margin: 14px 0 0 !important;
    padding: 11px 18px !important;

    border: 1px solid #d4a85f !important;
    border-radius: 9px !important;

    background: #d4a85f !important;

    color: #071b35 !important;
    -webkit-text-fill-color: #071b35 !important;

    opacity: 1 !important;

    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;

    text-align: center !important;

    cursor: pointer !important;
}


.fl-payment-page input.fl-payment-submit:hover,
.fl-payment-page .wpcf7-submit:hover {
    background: #dfb469 !important;
    color: #071b35 !important;
    -webkit-text-fill-color: #071b35 !important;
}


/* SUPPRIME LES ESPACES CF7 INUTILES */

.fl-payment-page .wpcf7-spinner {
    margin: 8px auto 0 !important;
}

.fl-payment-page br {
    line-height: 0 !important;
}


/* MOBILE */

@media (max-width: 767px) {

    .fl-payment-proof {
        padding: 16px 13px 18px !important;
    }

    .fl-payment-upload {
        padding: 17px 12px !important;
    }

    .fl-upload-symbol {
        width: 34px !important;
        height: 34px !important;

        margin-bottom: 7px !important;

        font-size: 16px !important;
    }

    .fl-payment-upload strong {
        font-size: 10px !important;
    }

    .fl-payment-upload small {
        margin-bottom: 9px !important;
        font-size: 8px !important;
    }

    .fl-payment-file,
    .fl-payment-upload input[type="file"] {
        padding: 8px !important;
        font-size: 8px !important;
    }

    .fl-payment-file::file-selector-button,
    .fl-payment-upload input[type="file"]::file-selector-button {
        padding: 7px 9px !important;
        font-size: 8px !important;
    }

    .fl-payment-page input.fl-payment-submit,
    .fl-payment-page .wpcf7-submit {
        min-height: 44px !important;
        font-size: 10px !important;
    }
}


/* =========================================================
   16. FIRST LAW — HEADER RESPONSIVE GLOBAL V2
   TABLETTE + MOBILE
   Menu blanc / bleu marine / or.
   IMPORTANT : sur tablette, la barre de menu reste DANS
   le flux du header. Elle ne peut donc plus chevaucher
   le slider ou le contenu Elementor.
   ========================================================= */


/* =========================================================
   TABLETTE : 768px à 1100px
   ========================================================= */

@media screen and (min-width:768px) and (max-width:1100px){

    /* -----------------------------------------------------
       HEADER
       ----------------------------------------------------- */

    .header-main-area,
    .header-main-area .header{
        position:relative !important;

        overflow:visible !important;

        margin:0 !important;
        padding:0 !important;

        background:#ffffff !important;

        z-index:99990 !important;
    }


    /*
     * Hauteur automatique :
     * contrairement à l'ancienne version, le menu participe
     * réellement à la hauteur du header.
     */
    .header-main-area .header .container{
        position:relative !important;

        display:block !important;

        width:100% !important;

        height:auto !important;
        min-height:0 !important;

        margin:0 !important;
        padding:
            0
            18px
            12px !important;

        overflow:visible !important;

        background:#ffffff !important;
    }


    /* -----------------------------------------------------
       ZONE LOGO + NAVIGATION
       ----------------------------------------------------- */

    .navigarea{
        position:relative !important;

        display:block !important;

        width:100% !important;

        height:auto !important;
        min-height:0 !important;

        margin:0 !important;

        /*
         * 108px sont réservés à la première ligne :
         * logo à gauche / téléphone à droite.
         */
        padding:
            108px
            0
            0 !important;

        overflow:visible !important;

        background:#ffffff !important;

        z-index:99991 !important;
    }


    /* LOGO */
    .navigarea .logo,
    .site-branding{
        position:absolute !important;

        left:18px !important;
        top:54px !important;

        transform:translateY(-50%) !important;

        display:block !important;

        width:auto !important;
        max-width:310px !important;

        margin:0 !important;
        padding:0 !important;

        float:none !important;

        overflow:visible !important;

        z-index:99993 !important;
    }

    .navigarea .logo .custom-logo-link,
    .site-branding .custom-logo-link{
        display:block !important;

        width:auto !important;

        margin:0 !important;
        padding:0 !important;
    }

    .navigarea .logo .custom-logo,
    .site-branding .custom-logo{
        display:block !important;

        width:180px !important;
        max-width:none !important;
        height:auto !important;

        margin:0 !important;

        transform:
            translateY(-4px)
            scale(1.08) !important;

        transform-origin:left center !important;
    }


    /* -----------------------------------------------------
       TÉLÉPHONE
       ----------------------------------------------------- */

    .header-right-infos{
        position:absolute !important;

        top:18px !important;
        right:18px !important;
        left:auto !important;

        transform:none !important;

        display:block !important;

        width:auto !important;

        margin:0 !important;
        padding:0 !important;

        background:transparent !important;

        z-index:99994 !important;
    }

    .header-phone-number{
        width:235px !important;
        height:70px !important;
    }

    .header-phone-number span,
    .header-phone-number::after{
        left:60px !important;
    }

    .header-phone-number::after{
        font-size:15px !important;
    }


    /* =====================================================
       BARRE DE NAVIGATION TABLETTE
       IMPORTANT : position RELATIVE, pas absolute.
       ===================================================== */

    .navigarea #site-navigation,
    #site-navigation{
        position:relative !important;

        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;

        transform:none !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:calc(100% - 8px) !important;
        max-width:none !important;

        height:58px !important;
        min-height:58px !important;

        margin:
            0
            auto !important;

        padding:
            7px
            12px !important;

        float:none !important;

        border:1px solid #e2e7ee !important;
        border-radius:14px !important;

        background:#ffffff !important;

        box-shadow:
            0 5px 18px rgba(16,38,71,.055) !important;

        overflow:visible !important;

        z-index:99995 !important;
    }


    /* =====================================================
       HAMBURGER — BLANC / BLEU / OR
       ===================================================== */

    #site-navigation .menu-toggle,
    .navigarea #site-navigation .menu-toggle{
        position:relative !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:50px !important;
        height:42px !important;

        margin:0 !important;
        padding:8px !important;

        transform:none !important;

        border:1.5px solid #102647 !important;
        border-radius:10px !important;

        background:#ffffff !important;

        color:#102647 !important;
        -webkit-text-fill-color:#102647 !important;

        box-shadow:
            0 4px 12px rgba(16,38,71,.08) !important;

        cursor:pointer !important;

        transition:
            border-color .2s ease,
            background .2s ease,
            box-shadow .2s ease !important;

        z-index:99997 !important;
    }


    #site-navigation .menu-toggle:hover,
    #site-navigation .menu-toggle:focus{
        border-color:#d4a85f !important;

        background:#fffaf1 !important;

        color:#102647 !important;
        -webkit-text-fill-color:#102647 !important;

        box-shadow:
            0 6px 15px rgba(16,38,71,.11) !important;
    }


    /*
     * Traits du hamburger du thème.
     * Ils deviennent bleu marine au lieu de blancs.
     */
    #site-navigation .menu-toggle span,
    .navigarea #site-navigation .menu-toggle span{
        background:#102647 !important;
        border-color:#102647 !important;
        color:#102647 !important;
    }


    /* Accent doré sous le hamburger */
    #site-navigation .menu-toggle::after{
        content:"" !important;

        position:absolute !important;

        left:50% !important;
        bottom:4px !important;

        width:18px !important;
        height:2px !important;

        transform:translateX(-50%) !important;

        border-radius:10px !important;

        background:#d4a85f !important;
    }


    /* =====================================================
       MENU OUVERT
       ===================================================== */

    #site-navigation.toggled #primary,
    #site-navigation.toggled .primary-menu{
        position:absolute !important;

        top:calc(100% + 8px) !important;
        left:50% !important;
        right:auto !important;
        bottom:auto !important;

        transform:translateX(-50%) !important;

        display:block !important;

        width:min(520px,90vw) !important;

        margin:0 !important;
        padding:7px !important;

        border:1px solid #e2e7ee !important;
        border-top:3px solid #d4a85f !important;
        border-radius:14px !important;

        background:#ffffff !important;

        box-shadow:
            0 18px 45px rgba(16,38,71,.18) !important;

        overflow:hidden !important;

        z-index:100000 !important;
    }


    #site-navigation.toggled #primary > li,
    #site-navigation.toggled .primary-menu > li{
        display:block !important;

        width:100% !important;

        margin:0 !important;
        padding:0 !important;

        float:none !important;
    }


    #site-navigation.toggled #primary > li > a,
    #site-navigation.toggled .primary-menu > li > a{
        display:flex !important;
        align-items:center !important;

        width:100% !important;
        min-height:45px !important;

        margin:0 !important;
        padding:10px 15px !important;

        border:0 !important;
        border-bottom:1px solid #edf0f4 !important;

        border-radius:7px !important;

        background:#ffffff !important;

        color:#102647 !important;
        -webkit-text-fill-color:#102647 !important;

        font-size:13px !important;
        line-height:1.4 !important;
        font-weight:700 !important;

        text-align:left !important;
        text-decoration:none !important;
    }


    #site-navigation.toggled #primary > li:last-child > a,
    #site-navigation.toggled .primary-menu > li:last-child > a{
        border-bottom:0 !important;
    }


    #site-navigation.toggled #primary > li > a:hover,
    #site-navigation.toggled #primary > li > a:focus,
    #site-navigation.toggled .primary-menu > li > a:hover,
    #site-navigation.toggled .primary-menu > li > a:focus{
        background:#f7f9fc !important;

        color:#b27d32 !important;
        -webkit-text-fill-color:#b27d32 !important;
    }


    #site-navigation.toggled #primary > li.current-menu-item > a,
    #site-navigation.toggled #primary > li.current_page_item > a,
    #site-navigation.toggled .primary-menu > li.current-menu-item > a{
        background:#fffaf1 !important;

        color:#b27d32 !important;
        -webkit-text-fill-color:#b27d32 !important;
    }


    /* SOUS-MENUS */
    #site-navigation.toggled .sub-menu,
    #site-navigation.toggled .children{
        position:static !important;

        display:block !important;

        width:100% !important;

        margin:0 !important;
        padding:0 !important;

        background:#f7f9fc !important;

        box-shadow:none !important;
    }

    #site-navigation.toggled .sub-menu a,
    #site-navigation.toggled .children a{
        display:block !important;

        padding:9px 15px 9px 28px !important;

        color:#102647 !important;
        -webkit-text-fill-color:#102647 !important;

        background:#f7f9fc !important;

        font-size:12px !important;
    }


    /* Séparation propre avant le contenu */
    .header-main-area{
        padding-bottom:6px !important;
    }


    /*
     * Aucun contenu Elementor ne remonte dans le header.
     */
    body.elementor-page .entry-content > .elementor,
    body.elementor-page .elementor{
        margin-top:0 !important;
    }
}


/* =========================================================
   MOBILE : <= 767px
   ========================================================= */

@media screen and (max-width:767px){

    .header-main-area,
    .header-main-area .header{
        position:relative !important;

        overflow:visible !important;

        background:#ffffff !important;

        z-index:99990 !important;
    }


    .header-main-area .header .container{
        position:relative !important;

        display:block !important;

        width:100% !important;

        height:auto !important;
        min-height:0 !important;

        margin:0 !important;
        padding:
            12px
            12px
            10px !important;

        overflow:visible !important;

        background:#ffffff !important;
    }


    .navigarea{
        position:relative !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;

        width:100% !important;

        height:auto !important;

        margin:0 !important;
        padding:0 !important;

        overflow:visible !important;

        background:#ffffff !important;
    }


    /* LOGO CENTRÉ */
    .navigarea .logo,
    .site-branding{
        position:relative !important;

        left:auto !important;
        top:auto !important;

        transform:none !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        max-width:none !important;

        margin:0 auto !important;
        padding:0 !important;

        float:none !important;

        text-align:center !important;
    }

    .navigarea .logo .custom-logo-link,
    .site-branding .custom-logo-link{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:100% !important;

        margin:0 auto !important;
    }

    .navigarea .logo .custom-logo,
    .site-branding .custom-logo{
        width:175px !important;
        max-width:78vw !important;
        height:auto !important;

        margin:0 auto !important;

        transform:none !important;
    }


    /* TÉLÉPHONE */
    .header-right-infos{
        position:static !important;

        display:flex !important;
        justify-content:center !important;

        width:100% !important;

        margin:8px 0 0 !important;
        padding:0 !important;

        transform:none !important;

        background:#ffffff !important;
    }

    .header-phone-number{
        width:225px !important;
        height:58px !important;

        border-radius:10px !important;
    }

    .header-phone-number::before{
        left:18px !important;

        width:20px !important;
        height:20px !important;
    }

    .header-phone-number span{
        left:54px !important;
        top:10px !important;
    }

    .header-phone-number span::after{
        font-size:10px !important;
    }

    .header-phone-number::after{
        left:54px !important;
        top:28px !important;

        font-size:14px !important;
    }


    /* NAVIGATION EN FLUX NORMAL */
    .navigarea #site-navigation,
    #site-navigation{
        position:relative !important;

        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;

        transform:none !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:calc(100% - 8px) !important;

        height:50px !important;
        min-height:50px !important;

        margin:
            10px
            auto
            0 !important;

        padding:6px 8px !important;

        float:none !important;

        border:1px solid #e2e7ee !important;
        border-radius:12px !important;

        background:#ffffff !important;

        box-shadow:
            0 4px 14px rgba(16,38,71,.05) !important;

        overflow:visible !important;

        z-index:99995 !important;
    }


    /* HAMBURGER MOBILE BLANC / BLEU / OR */
    #site-navigation .menu-toggle{
        position:relative !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:44px !important;
        height:36px !important;

        margin:0 !important;
        padding:7px !important;

        transform:none !important;

        border:1.5px solid #102647 !important;
        border-radius:9px !important;

        background:#ffffff !important;

        color:#102647 !important;
        -webkit-text-fill-color:#102647 !important;

        box-shadow:none !important;

        z-index:99997 !important;
    }

    #site-navigation .menu-toggle span{
        background:#102647 !important;
        border-color:#102647 !important;
        color:#102647 !important;
    }

    #site-navigation .menu-toggle::after{
        content:"" !important;

        position:absolute !important;

        left:50% !important;
        bottom:3px !important;

        width:15px !important;
        height:2px !important;

        transform:translateX(-50%) !important;

        border-radius:10px !important;

        background:#d4a85f !important;
    }


    /* MENU OUVERT MOBILE */
    #site-navigation.toggled #primary,
    #site-navigation.toggled .primary-menu{
        position:absolute !important;

        top:calc(100% + 7px) !important;
        left:50% !important;
        right:auto !important;

        transform:translateX(-50%) !important;

        display:block !important;

        width:calc(100vw - 24px) !important;
        max-width:430px !important;

        margin:0 !important;
        padding:6px !important;

        border:1px solid #e2e7ee !important;
        border-top:3px solid #d4a85f !important;
        border-radius:12px !important;

        background:#ffffff !important;

        box-shadow:
            0 16px 38px rgba(16,38,71,.18) !important;

        overflow:hidden !important;

        z-index:100000 !important;
    }

    #site-navigation.toggled #primary > li,
    #site-navigation.toggled .primary-menu > li{
        display:block !important;

        width:100% !important;

        margin:0 !important;
        padding:0 !important;

        float:none !important;
    }

    #site-navigation.toggled #primary > li > a,
    #site-navigation.toggled .primary-menu > li > a{
        display:flex !important;
        align-items:center !important;

        width:100% !important;
        min-height:41px !important;

        margin:0 !important;
        padding:9px 13px !important;

        border:0 !important;
        border-bottom:1px solid #edf0f4 !important;

        background:#ffffff !important;

        color:#102647 !important;
        -webkit-text-fill-color:#102647 !important;

        font-size:12px !important;
        line-height:1.4 !important;
        font-weight:700 !important;

        text-align:left !important;
        text-decoration:none !important;
    }

    #site-navigation.toggled #primary > li:last-child > a,
    #site-navigation.toggled .primary-menu > li:last-child > a{
        border-bottom:0 !important;
    }

    #site-navigation.toggled #primary > li.current-menu-item > a,
    #site-navigation.toggled #primary > li.current_page_item > a{
        background:#fffaf1 !important;

        color:#b27d32 !important;
        -webkit-text-fill-color:#b27d32 !important;
    }


    #site-navigation.toggled .sub-menu,
    #site-navigation.toggled .children{
        position:static !important;

        display:block !important;

        width:100% !important;

        margin:0 !important;
        padding:0 !important;

        background:#f7f9fc !important;

        box-shadow:none !important;
    }

    #site-navigation.toggled .sub-menu a,
    #site-navigation.toggled .children a{
        display:block !important;

        padding:8px 12px 8px 24px !important;

        color:#102647 !important;
        -webkit-text-fill-color:#102647 !important;

        background:#f7f9fc !important;

        font-size:11px !important;
    }


    body.elementor-page .entry-content > .elementor,
    body.elementor-page .elementor{
        margin-top:0 !important;
    }
}


        color:#102647 !important;
        -webkit-text-fill-color:#102647 !important;

        background:#f7f9fc !important;

        font-size:11px !important;
    }


    /* Aucune remontée Elementor sous le header mobile */
    body.elementor-page .entry-content > .elementor,
    body.elementor-page .elementor{
        margin-top:0 !important;
    }
}
/* FIX TAGS - LEGAL ARTICLES */
.fl-legal-hero .fl-topic{
    color:#ead4aa !important;
    -webkit-text-fill-color:#ead4aa !important;
    border:1px solid rgba(212,168,95,.65) !important;
    background:rgba(212,168,95,.08) !important;
}
