/*
Theme Name: NEOVENTIS
Description: Theme classique portage fidele de neoventis.fr - Tailwind CDN, univers Ing/Chantier.
Author: NEOVENTIS
Version: 2.0.0
Text Domain: neoventis
*/

/* Rich-text styling for the WordPress editor inside Service pages. */
.service-content .wp-block-heading,
.service-content h2,
.service-content h3,
.service-content h4 {
    color: #0a0a0a;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 700;
    line-height: 1.25;
    margin: 2rem 0 .75rem;
}
.service-content h2 { font-size: 1.5rem; }
.service-content h3 { font-size: 1.2rem; }
.service-content h4 { font-size: 1rem; }
.service-content p { margin: 0 0 1rem; }
.service-content ul,
.service-content ol { margin: 0 0 1.25rem 1.25rem; }
.service-content ul { list-style: disc; }
.service-content ol { list-style: decimal; }
.service-content li { margin: .35rem 0; padding-left: .25rem; }
.service-content a { color: #108294; text-decoration: underline; text-underline-offset: 2px; }
.service-content a:hover { color: #0a6574; }
.service-content strong { color: #0a0a0a; font-weight: 700; }
.service-content blockquote {
    border-left: 3px solid #108294;
    color: #444;
    font-style: italic;
    margin: 1.5rem 0;
    padding-left: 1rem;
}
.service-content figure { margin: 1.5rem 0; }
.service-content img { border-radius: .25rem; height: auto; max-width: 100%; }
.service-content table { border-collapse: collapse; margin: 1.5rem 0; width: 100%; }
.service-content th,
.service-content td { border: 1px solid #e8e8e8; padding: .75rem; text-align: left; }
.service-content th { background: #f5f5f5; color: #0a0a0a; }

:root {
            --accent: #108294;
            --accent-hover: #0d6d7d;
            --accent-ring: rgba(16,130,148,0.3);
            --accent-bg: rgba(16,130,148,0.1);
            --btn-bg: #108294;
            --btn-hover: #0d6d7d;
            --menu-active: #108294;
        }
        .universe-chantier {
            --accent: #FA6B0C;
            --accent-hover: #e05c00;
            --accent-ring: rgba(250,107,12,0.3);
            --accent-bg: rgba(250,107,12,0.1);
            --btn-bg: #FA6B0C;
            --btn-hover: #e05c00;
            --menu-active: #FA6B0C;
        }
        .universe-transition { transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
        .shutter-overlay {
            position: fixed; top: 0; left: -100%; width: 100%; height: 100%;
            background: #108294; z-index: 9999; transform: skewX(-5deg);
            transition: left 0.5s cubic-bezier(0.76, 0, 0.24, 1);
        }
        .shutter-overlay.active-orange { background: #FA6B0C; }
        .shutter-overlay.run { left: 100%; }
        @media (max-width: 1023px) { .shutter-overlay { display: none; } }
        .nav-link { position: relative; }
        .nav-link::after {
            content: ''; position: absolute; bottom: -2px; left: 0; right: 0;
            height: 1px; background: currentColor;
            transform: scaleX(0); transition: transform 0.2s;
        }
        .nav-link:hover::after,
        .nav-link.active::after { transform: scaleX(1); }

        .drawer-overlay {
            position: fixed; inset: 0; background: rgba(0,0,0,0.6); z-index: 45;
            opacity: 0; pointer-events: none; transition: opacity 0.3s;
        }
        .drawer-overlay.open { opacity: 1; pointer-events: auto; }
        .drawer {
            position: fixed; top: 0; right: -320px; width: 320px; height: 100vh;
            background: #0a0a0a; z-index: 50; transition: right 0.3s cubic-bezier(0.16,1,0.3,1);
            padding: 1.5rem; overflow-y: auto;
        }
        .drawer.open { right: 0; }
        .drawer-close {
            position: absolute; top: 1rem; right: 1rem;
            width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center;
            border-radius: 9999px; cursor: pointer; transition: background 0.2s;
            background: rgba(255,255,255,0.1); font-size: 1.25rem; color: #fff;
        }
        .drawer-close:hover { background: rgba(255,255,255,0.15); }
        .drawer-nav a {
            display: block; padding: 0.75rem 1rem; border-radius: 0.5rem;
            font-size: 0.9375rem; font-weight: 500; color: rgba(255,255,255,0.6);
            transition: background 0.2s, color 0.2s; text-decoration: none;
        }
        .drawer-nav a:hover { background: rgba(255,255,255,0.05); color: #fff; }
        .animate-fade-in { animation: fadeIn 0.6s ease-out both; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
