/* ============ NADCI - SUPPLÉMENT CSS ============ */

/* WhatsApp floating button */
.whatsapp-float{
    position:fixed;bottom:24px;right:24px;
    width:56px;height:56px;border-radius:50%;
    background:#25D366;color:#fff;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 24px rgba(37,211,102,.35);
    z-index:998;transition:transform .25s;
}
.whatsapp-float:hover{transform:scale(1.08);color:#fff;}
@media(max-width:640px){.whatsapp-float{width:48px;height:48px;bottom:16px;right:16px;}}

/* Repositioning back-top when WA present */
.back-top{bottom:90px!important;right:24px!important;}
@media(max-width:640px){.back-top{bottom:74px!important;right:16px!important;}}

/* Alerts */
.alert{padding:14px 20px;border-radius:10px;margin-bottom:20px;font-size:14px;}
.alert-success{background:#dcfce7;color:#166534;border:1px solid #86efac;}
.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;}
.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd;}
.alert-warning{background:#fef3c7;color:#92400e;border:1px solid #fbbf24;}

/* Form errors */
.field-error{color:#dc2626;font-size:13px;margin-top:4px;}
.field input.has-error,.field select.has-error,.field textarea.has-error{border-color:#dc2626;}

/* Pagination */
.pagination{display:flex;gap:8px;justify-content:center;margin-top:40px;flex-wrap:wrap;}
.pagination a,.pagination span{
    padding:10px 14px;border-radius:8px;
    background:#fff;border:1px solid #e5e7eb;
    color:#003B7A;font-weight:600;text-decoration:none;
}
.pagination .active{background:#003B7A;color:#fff;border-color:#003B7A;}
.pagination .disabled{opacity:.5;cursor:not-allowed;}

/* Breadcrumbs */
.breadcrumbs{padding:18px 0;font-size:14px;color:#6b7280;}
.breadcrumbs a{color:#003B7A;text-decoration:none;}
.breadcrumbs a:hover{text-decoration:underline;}
.breadcrumbs .sep{margin:0 8px;color:#cbd5e1;}

/* Empty state */
.empty-state{text-align:center;padding:60px 20px;color:#6b7280;}
.empty-state svg{opacity:.4;margin-bottom:12px;}
.empty-state h3{font-size:18px;margin:8px 0;}

/* Newsletter popup */
.newsletter-popup{
    position:fixed;inset:0;background:rgba(15,23,42,.6);
    display:none;align-items:center;justify-content:center;z-index:9999;
    padding:20px;
}
.newsletter-popup.show{display:flex;}
.newsletter-popup .np-box{
    background:#fff;border-radius:18px;padding:36px;max-width:480px;width:100%;
    position:relative;text-align:center;
    box-shadow:0 25px 50px -12px rgba(0,0,0,.25);
}
.newsletter-popup .np-close{
    position:absolute;top:12px;right:12px;
    background:#f1f5f9;border:none;width:36px;height:36px;border-radius:50%;
    cursor:pointer;font-size:18px;color:#64748b;
}
.newsletter-popup h3{font-size:22px;margin-bottom:10px;color:#003B7A;}
.newsletter-popup p{color:#475569;margin-bottom:20px;}
.newsletter-popup form{display:flex;gap:10px;flex-direction:column;}
.newsletter-popup input{padding:14px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;}

/* ============ DETAIL PAGE — typographie & containers ============ */
.detail-hero{padding:80px 0 40px;background:linear-gradient(135deg,#003B7A,#1A2238);color:#fff;}
.detail-hero h1{font-size:36px;margin:10px 0;color:#fff;}
.detail-hero .dh-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;color:#cbd5e1;font-size:14px;}
.detail-hero .dh-meta span{display:flex;align-items:center;gap:6px;}
.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:30px;padding:30px 0 60px;}

/* Detail main — content card */
.detail-main{
    background:#fff;
    border-radius:16px;
    padding:36px 40px;
    box-shadow:0 4px 20px rgba(0,59,122,.06), 0 1px 3px rgba(0,0,0,.04);
    border:1px solid #EEF2F7;
    color:#334155;
}
.detail-main > p:first-child{
    font-size:17px;color:#1A2238;font-weight:500;line-height:1.65;
    padding:16px 20px;background:#F8FAFC;border-left:4px solid #FFC72C;
    border-radius:8px;margin:0 0 28px;
}
.detail-main h2{
    font-size:22px;color:#003B7A;
    margin:32px 0 16px;padding-bottom:10px;
    border-bottom:1px solid #EEF2F7;
    display:flex;align-items:center;gap:10px;font-weight:700;
}
.detail-main h2::before{
    content:'';display:inline-block;width:4px;height:22px;
    background:#FFC72C;border-radius:2px;
}
.detail-main h2:first-of-type{margin-top:0;}
.detail-main h3{font-size:18px;color:#1A2238;margin:24px 0 10px;font-weight:600;}
.detail-main p{margin:0 0 14px;line-height:1.75;font-size:15px;}
.detail-main p strong{color:#1A2238;font-weight:600;}
.detail-main ul,.detail-main ol{padding-left:0;margin:14px 0 22px;list-style:none;}
.detail-main ul li{
    position:relative;padding:6px 0 6px 32px;
    line-height:1.7;font-size:15px;
}
.detail-main ul li::before{
    content:'';position:absolute;left:0;top:13px;
    width:18px;height:18px;border-radius:50%;
    background:#E6F0FA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23003B7A'%3E%3Cpath d='M9 16.2L4.8 12l-1.4 1.4L9 19l12-12-1.4-1.4z'/%3E%3C/svg%3E") center/12px no-repeat;
}
.detail-main ol{counter-reset:dm;}
.detail-main ol li{position:relative;padding:6px 0 6px 36px;counter-increment:dm;line-height:1.7;font-size:15px;}
.detail-main ol li::before{
    content:counter(dm);position:absolute;left:0;top:6px;
    width:24px;height:24px;border-radius:50%;
    background:#003B7A;color:#fff;font-size:12px;font-weight:700;
    display:flex;align-items:center;justify-content:center;
}
.detail-main a:not(.btn){color:#003B7A;font-weight:600;text-decoration:underline;text-decoration-color:#FFC72C;text-underline-offset:3px;}
.detail-main a:not(.btn):hover{color:#0057B7;}
.detail-main blockquote{
    margin:20px 0;padding:18px 22px;background:#F1F5F9;
    border-left:4px solid #003B7A;border-radius:8px;
    font-style:italic;color:#475569;
}
.detail-main hr{border:none;border-top:1px dashed #E2E8F0;margin:28px 0;}
.detail-main img{margin:18px 0;border-radius:10px;}

/* Form inside detail-main — nested card style */
.detail-main form{
    margin-top:24px;background:#F8FAFC!important;
    border:1px solid #E2E8F0!important;box-shadow:none!important;
}
.detail-main form .row{margin-bottom:0;}
.detail-main form .field label{font-weight:600;color:#1A2238;font-size:13px;}
.detail-main form input:not([type="checkbox"]):not([type="radio"]),
.detail-main form textarea,
.detail-main form select{
    background:#fff;border:1px solid #E2E8F0;border-radius:10px;
    padding:11px 14px;font-size:14px;
    transition:border-color .15s, box-shadow .15s;
}
.detail-main form input:focus,
.detail-main form textarea:focus,
.detail-main form select:focus{
    outline:none;border-color:#003B7A;box-shadow:0 0 0 3px rgba(0,59,122,.08);
}

.detail-aside{position:sticky;top:100px;align-self:start;display:flex;flex-direction:column;gap:18px;}
.detail-card{background:#fff;border:1px solid #EEF2F7;border-radius:14px;padding:24px;box-shadow:0 4px 12px rgba(0,0,0,.04);margin-top:0!important;}
.detail-card h4{margin:0 0 16px;color:#003B7A;font-size:16px;padding-bottom:10px;border-bottom:1px solid #EEF2F7;display:flex;align-items:center;gap:8px;}
.detail-card h4::before{content:'';width:4px;height:16px;background:#FFC72C;border-radius:2px;}
.detail-card p{margin:8px 0;font-size:14px;color:#475569;line-height:1.6;}
.detail-card p strong{color:#1A2238;font-weight:600;}
.detail-card .btn-block{margin-top:18px;}

@media (max-width:1024px){
    .detail-grid{grid-template-columns:1fr;gap:20px;}
    .detail-aside{position:static;}
}
@media (max-width:640px){
    .detail-main{padding:24px 20px;}
    .detail-hero{padding:40px 0 24px;}
    .detail-hero h1{font-size:24px;}
    .detail-main h2{font-size:18px;}
    .detail-main form .row{display:grid;grid-template-columns:1fr!important;}
}

/* Honeypot */
.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none;}

/* Mobile niceties */
@media (max-width:640px){
    .sectors-grid{grid-template-columns:repeat(2,1fr);}
    .stats-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr;}
    .formations-grid,.services-grid,.testimonials-grid,.blog-grid,.offers-grid{grid-template-columns:1fr;}
    .hero h1{font-size:32px!important;}
    .search-bar{flex-direction:column;}
    .search-divider{display:none;}
    .detail-hero h1{font-size:26px;}
    .topbar-inner{flex-direction:column;gap:6px;text-align:center;}
}

/* ============ FLOATING SPACES — clean FAB on tablet/mobile ============ */
@media (max-width:1024px){
    .floating-spaces{
        top:auto!important;
        bottom:24px!important;left:24px!important;
        transform:none!important;
        flex-direction:column!important;
        align-items:flex-start!important;
    }
    .fs-toggle{
        width:54px!important;height:54px!important;
        padding:0!important;
        border-radius:50%!important;
        flex-direction:row!important;
        justify-content:center!important;align-items:center!important;
        gap:0!important;
        box-shadow:0 8px 24px rgba(0,59,122,.35)!important;
    }
    .fs-toggle:hover{padding:0!important;transform:scale(1.08);}
    .fs-label{
        display:none!important;
        writing-mode:initial!important;transform:none!important;
    }
    .fs-toggle::after{top:4px!important;right:4px!important;}

    .floating-spaces.open .fs-toggle{
        border-radius:50%!important;
        background:var(--dark)!important;
    }

    /* Panel slides up from bottom-left */
    .fs-panel{
        position:fixed!important;
        bottom:90px!important;left:24px!important;
        margin:0!important;
        width:min(320px,calc(100vw - 48px))!important;
        max-height:calc(100vh - 160px);overflow-y:auto;
        border-radius:16px!important;
        transform:translateY(20px) scale(.95)!important;
        transform-origin:bottom left;
    }
    .floating-spaces.open .fs-panel{
        transform:translateY(0) scale(1)!important;
    }
}

@media (max-width:640px){
    .floating-spaces{bottom:16px!important;left:16px!important;}
    .fs-toggle{width:50px!important;height:50px!important;}
    .fs-panel{
        left:16px!important;right:16px!important;width:auto!important;
        bottom:78px!important;
    }
}

/* ============ AUTOCOMPLETE DROPDOWN ============ */
.ac-wrap{position:relative;}
.ac-dropdown{
    position:absolute;top:calc(100% + 6px);left:0;right:0;
    background:#fff;border-radius:14px;
    box-shadow:0 25px 50px -12px rgba(0,0,0,.18),0 4px 12px rgba(0,0,0,.05);
    max-height:480px;overflow-y:auto;z-index:200;
    border:1px solid #e2e8f0;
    display:none;
}
.ac-dropdown.open{display:block;}
.ac-loading{padding:18px;text-align:center;color:#64748b;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;}
.ac-loading::before{content:'';width:14px;height:14px;border:2px solid #cbd5e1;border-top-color:#003B7A;border-radius:50%;animation:ac-spin .8s linear infinite;}
@keyframes ac-spin{to{transform:rotate(360deg);}}
.ac-empty{padding:24px 18px;text-align:center;color:#64748b;font-size:14px;}
.ac-empty strong{display:block;color:#1A2238;margin-bottom:4px;}
.ac-group{padding:6px 0;}
.ac-group:not(:last-child){border-bottom:1px solid #f1f5f9;}
.ac-group-title{
    padding:8px 16px 4px;font-size:11px;font-weight:700;
    color:#64748B;text-transform:uppercase;letter-spacing:.6px;
}
.ac-item{
    display:flex;gap:12px;align-items:center;
    padding:10px 16px;cursor:pointer;text-decoration:none;color:#1A2238;
    transition:background .12s;
}
.ac-item:hover,.ac-item.active{background:#f1f5f9;color:#003B7A;}
.ac-item-icon{
    width:36px;height:36px;flex-shrink:0;
    border-radius:10px;background:#E6F0FA;color:#003B7A;
    display:flex;align-items:center;justify-content:center;
}
.ac-item-icon.alt{background:#FFF6D9;color:#B58200;}
.ac-item-icon.dark{background:#E0E7FF;color:#4338CA;}
.ac-item-icon.green{background:#DCFCE7;color:#15803D;}
.ac-item-icon.purple{background:#F3E8FF;color:#7E22CE;}
.ac-item-body{flex:1;min-width:0;}
.ac-item-body strong{display:block;font-size:14px;color:#1A2238;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ac-item-body small{display:block;font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ac-item-body mark{background:#FFC72C;color:#003B7A;padding:0 2px;border-radius:3px;font-weight:600;}
.ac-item:hover .ac-item-body strong,.ac-item.active .ac-item-body strong{color:#003B7A;}
.ac-arrow{flex-shrink:0;color:#cbd5e1;}
.ac-item:hover .ac-arrow,.ac-item.active .ac-arrow{color:#003B7A;}
.ac-footer{
    padding:10px 16px;background:#f8fafc;
    border-top:1px solid #e2e8f0;
    text-align:center;font-size:13px;font-weight:600;
    position:sticky;bottom:0;
}
.ac-footer a{color:#003B7A;text-decoration:none;}
.ac-footer a:hover{text-decoration:underline;}

@media (max-width:640px){
    .ac-dropdown{max-height:60vh;border-radius:10px;}
    .ac-item{padding:12px 14px;}
}

/* ============ NAV MOBILE — overlay + close button + animations ============ */
@media (max-width:1100px){
    .header{position:relative;z-index:90;}
    body.nav-open .header{z-index:200;}
    .burger{position:relative;z-index:110;background:transparent;border:none;}
    .burger span{transition:transform .3s, opacity .3s;transform-origin:center;}
    body.nav-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    body.nav-open .burger span:nth-child(2){opacity:0;transform:scaleX(0);}
    body.nav-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

    .nav{
        z-index:105!important;
        padding:64px 20px 20px!important;
        overflow-y:auto!important;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
    }
    .nav-close{
        position:absolute;top:14px;right:14px;
        width:38px;height:38px;border-radius:50%;
        background:#F1F5F9;border:none;color:#003B7A;
        display:flex!important;align-items:center;justify-content:center;
        cursor:pointer;line-height:0;padding:0;
        z-index:2;
    }
    .nav-close:hover{background:#E2E8F0;}

    /* Hide the yellow dot indicator on "Compte" trigger (desktop affordance) */
    .nav-trigger::before{display:none!important;}

    /* Dropdown toggle on tap (replaces :hover for touch devices) */
    .nav-dropdown:hover .nav-menu{display:none!important;}
    .nav-dropdown.open .nav-menu{display:block!important;}
    .nav-dropdown.open .nav-trigger svg{transform:rotate(180deg);}
    .nav-dropdown.open .nav-trigger{background:var(--blue-50)!important;color:var(--blue-800)!important;}
    .nav-menu{
        background:#F8FAFC!important;
        border-radius:10px!important;
        margin:6px 0!important;
        padding:8px!important;
    }
    .nav-menu .nav-item{
        padding:10px!important;border-radius:8px!important;
        margin:2px 0!important;
    }
    .nav-menu .nav-item:hover{background:#fff!important;}
    .nav-menu-foot{
        display:flex;gap:10px;justify-content:space-around;
        padding:10px 8px 4px!important;
        border-top:1px solid #E2E8F0!important;
        margin-top:8px;
    }
    .nav-menu-foot a,.nav-menu-foot button{
        flex:1;text-align:center;padding:8px!important;
        font-size:13px!important;border-radius:8px!important;
    }

    /* Hide burger when menu open (replaced by .nav-close inside menu) */
    body.nav-open .burger{visibility:hidden;pointer-events:none;}

    /* Hide all floating UI when nav menu is open */
    body.nav-open .whatsapp-float,
    body.nav-open .back-top,
    body.nav-open .floating-spaces{
        opacity:0;visibility:hidden;pointer-events:none;
        transition:opacity .2s,visibility .2s;
    }

    .nav-overlay{
        position:fixed;inset:0;background:rgba(15,23,42,.45);
        z-index:99;opacity:0;visibility:hidden;
        transition:opacity .3s, visibility .3s;
    }
    body.nav-open .nav-overlay{opacity:1;visibility:visible;}
    body.nav-open{overflow:hidden;}
}
@media (min-width:1101px){
    .nav-close{display:none!important;}
    .nav-overlay{display:none!important;}
}

/* ============ SEARCH BAR MOBILE — clean stacked layout ============ */
@media (max-width:768px){
    .search-wrap{
        padding:22px 14px 14px!important;
        border-radius:14px!important;
        border-width:1px!important;
        box-shadow:0 10px 28px rgba(0,59,122,.12), 0 4px 10px rgba(0,59,122,.06)!important;
    }
    .search-wrap::before{display:none;}
    .search-label{
        position:relative!important;
        top:auto!important;left:auto!important;
        display:inline-flex;
        margin:0 auto 14px;
        padding:6px 14px!important;
        font-size:.72rem!important;
    }
    .search-bar{
        flex-direction:column;gap:8px!important;
        background:transparent!important;border-radius:0!important;flex-wrap:nowrap!important;
    }
    .search-field{
        background:#F8FAFC!important;
        border:1px solid #E2E8F0;
        padding:12px 14px!important;
        border-radius:10px!important;
        min-width:0!important;width:100%;
    }
    .search-field:hover{background:#F1F5F9!important;}
    .search-field label{font-size:.7rem!important;margin-bottom:6px!important;}
    .search-field input,.search-field select{font-size:.95rem!important;}
    .search-divider{display:none!important;}
    .search-btn{
        width:100%;margin:4px 0 0!important;
        padding:14px 20px!important;
        border-radius:10px!important;
        justify-content:center;
    }
    /* Hero adjustments mobile */
    .hero{padding:60px 0 50px!important;}
    .hero h1{font-size:1.9rem!important;line-height:1.2;}
    .hero-tags{font-size:.78rem;justify-content:center;flex-wrap:wrap;}
    .hero-tags a{padding:5px 10px;background:rgba(255,255,255,.1);border-radius:20px;color:#fff;text-decoration:none;}
}

@media (max-width:480px){
    .search-wrap{margin:0 -4px;}
    .hero h1{font-size:1.65rem!important;}
    .hero-content{padding:0 4px;}
}

/* Logo : marque à gauche, texte (tagline) en face */
.logo{flex-direction:row;align-items:center;gap:10px;}
.logo-text{align-items:flex-start;text-align:left;}
