/* ==========================================================
   A.T.I.A.M. V2 — Finition finale présentation Direction
   Chargée en dernier afin de neutraliser les anciens conflits.
   ========================================================== */

.home-v2 {
    --director-navy-950: #061923;
    --director-navy-900: #0a2735;
    --director-navy-800: #10394b;
    --director-cyan: #0aa8be;
    --director-cyan-soft: #e9f9fb;
    --director-gold: #d9b56d;
    --director-ink: #163243;
    --director-muted: #5d7180;
    --director-line: rgba(15, 42, 58, .11);
    --director-shadow: 0 26px 80px rgba(7, 28, 41, .12);
    color: var(--director-ink);
    background: #fbfcfc;
}

/* Retire tout marquage de maquette pour une présentation propre. */
.home-v2::after {
    display: none !important;
    content: none !important;
}

/* Lisibilité et rythme général. */
.home-v2 .section {
    position: relative;
}

.home-v2 .section-head h2,
.home-v2 .content-panel h2,
.home-v2 .cta-panel h2 {
    text-wrap: balance;
}

.home-v2 .section-head p,
.home-v2 .content-panel p,
.home-v2 .premium-card p {
    text-wrap: pretty;
}

.home-v2 a,
.home-v2 button {
    -webkit-tap-highlight-color: transparent;
}

.home-v2 a:focus-visible,
.home-v2 button:focus-visible {
    outline: 3px solid rgba(10, 168, 190, .36) !important;
    outline-offset: 4px !important;
}

/* ==========================================================
   Header premium, stable et professionnel
   ========================================================== */
.home-v2 .topbar {
    z-index: 10000;
    border-bottom: 1px solid rgba(15, 42, 58, .08);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 35px rgba(7, 28, 41, .055);
    backdrop-filter: blur(22px) saturate(1.12);
    -webkit-backdrop-filter: blur(22px) saturate(1.12);
}

.home-v2 .topbar.is-scrolled {
    background: rgba(255, 255, 255, .985);
    box-shadow: 0 18px 48px rgba(7, 28, 41, .10);
}

.home-v2 .brand-mark {
    background: linear-gradient(145deg, #effbfd, #ffffff);
    border: 1px solid rgba(10, 168, 190, .16);
    box-shadow: 0 12px 28px rgba(10, 168, 190, .10);
}

.home-v2 .brand-text strong {
    color: var(--director-navy-900);
}

.home-v2 .desktop-nav .nav-link {
    position: relative;
    color: #3f5665;
}

.home-v2 .desktop-nav .nav-link::after {
    content: "";
    position: absolute;
    right: 12px;
    bottom: 3px;
    left: 12px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--director-cyan), #56d2df);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .22s ease;
}

.home-v2 .desktop-nav .nav-link:hover::after,
.home-v2 .desktop-nav .nav-link:focus-visible::after {
    transform: scaleX(1);
}

/* Pont invisible : le sous-menu ne disparaît plus entre le lien et le panneau. */
.home-v2 .desktop-nav .has-dropdown::after {
    content: "";
    position: absolute;
    top: 70%;
    right: -8px;
    left: -8px;
    height: 34px;
}

.home-v2 .desktop-nav .dropdown {
    z-index: 10020;
    border: 1px solid rgba(15, 42, 58, .10);
    background: rgba(255, 255, 255, .99);
    box-shadow: 0 28px 75px rgba(7, 28, 41, .16);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.home-v2 .desktop-nav .dropdown a {
    color: #334d5c;
}

.home-v2 .desktop-nav .dropdown a:hover,
.home-v2 .desktop-nav .dropdown a:focus-visible {
    color: #086f80;
    background: #effafd;
}

/* ==========================================================
   Hero : lisibilité forte sans masquer la photo de Nice
   ========================================================== */
.home-v2 .premium-hero-v2-overlay {
    background:
        linear-gradient(90deg, rgba(3, 16, 24, .88) 0%, rgba(4, 22, 32, .68) 43%, rgba(5, 25, 36, .34) 74%, rgba(3, 16, 24, .48) 100%),
        linear-gradient(180deg, rgba(3, 16, 24, .14) 0%, rgba(3, 16, 24, .18) 52%, rgba(3, 16, 24, .90) 100%) !important;
}

.home-v2 .premium-hero-v2 h1 {
    text-shadow: 0 20px 58px rgba(0, 0, 0, .46);
}

.home-v2 .premium-hero-v2 .lead {
    color: rgba(245, 250, 251, .94) !important;
    text-shadow: 0 12px 34px rgba(0, 0, 0, .52);
}

.home-v2 .premium-hero-v2-primary,
.home-v2 .premium-hero-v2-secondary {
    border-radius: 6px;
}

.home-v2 .premium-hero-v2-primary {
    box-shadow: 0 20px 48px rgba(0, 0, 0, .24);
}

/* ==========================================================
   CORRECTION PRIORITAIRE — Accès direct aux mesures
   ========================================================== */
.home-v2 .index-measures-contrast {
    isolation: isolate;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    background:
        radial-gradient(circle at 88% 13%, rgba(40, 194, 213, .22), transparent 29%),
        radial-gradient(circle at 5% 92%, rgba(217, 181, 109, .13), transparent 26%),
        linear-gradient(135deg, #061923 0%, #0b3143 66%, #082430 100%) !important;
    box-shadow: 0 42px 120px rgba(7, 28, 41, .25) !important;
}

.home-v2 .index-measures-contrast::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(rgba(255, 255, 255, .022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .022) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(to right, rgba(0,0,0,.50), transparent 76%);
}

.home-v2 .index-measures-contrast .section-head {
    align-self: center;
    max-width: 610px;
}

.home-v2 .index-measures-contrast .eyebrow {
    color: #78dce8 !important;
    letter-spacing: .16em;
}

.home-v2 .index-measures-contrast .section-head h2 {
    color: #ffffff !important;
    text-shadow: 0 12px 34px rgba(0, 0, 0, .22);
}

.home-v2 .index-measures-contrast .section-head p {
    color: #d8e5ea !important;
    font-size: 1.03rem;
    line-height: 1.82;
}

.home-v2 .index-measures-contrast .section-head .btn-primary {
    min-height: 52px;
    padding-inline: 23px;
    color: #082430 !important;
    background: linear-gradient(135deg, #ffffff, #edfafd) !important;
    border-color: #ffffff !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .20);
}

.home-v2 .index-measures-contrast .section-head .btn-primary:hover {
    color: #061923 !important;
    background: linear-gradient(135deg, #f4ddb0, #ffffff) !important;
    border-color: #f4ddb0 !important;
    transform: translateY(-2px);
}

/* Panneau blanc assumé : aucun texte blanc sur fond clair. */
.home-v2 .index-measures-contrast .content-panel {
    position: relative;
    overflow: hidden;
    padding: clamp(30px, 4vw, 52px) !important;
    color: var(--director-ink) !important;
    background: linear-gradient(145deg, #ffffff 0%, #f7fbfc 100%) !important;
    border: 1px solid rgba(255, 255, 255, .76) !important;
    border-radius: 28px !important;
    box-shadow:
        0 30px 85px rgba(0, 0, 0, .20),
        inset 0 0 0 1px rgba(15, 42, 58, .035) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.home-v2 .index-measures-contrast .content-panel::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 180px;
    height: 180px;
    pointer-events: none;
    background: radial-gradient(circle at top right, rgba(10, 168, 190, .14), transparent 67%);
}

.home-v2 .index-measures-contrast .content-panel h2,
.home-v2 .index-measures-contrast .content-panel h2:first-child {
    position: relative;
    z-index: 1;
    margin: 0 0 23px !important;
    color: #0b2c3c !important;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2rem, 3vw, 2.85rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.035em;
    text-shadow: none !important;
}

.home-v2 .index-measures-contrast .content-panel h2::after {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    margin-top: 17px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--director-cyan), #8fe5ec);
}

.home-v2 .index-measures-contrast .premium-link-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
}

.home-v2 .index-measures-contrast .premium-link-list a,
.home-v2 .index-measures-contrast .content-panel a:not(.btn) {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 17px !important;
    color: #17394a !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 42, 58, .105) !important;
    border-radius: 14px;
    box-shadow: 0 9px 25px rgba(15, 42, 58, .055);
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    transform: none;
    transition: color .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.home-v2 .index-measures-contrast .premium-link-list a::after {
    content: "→" !important;
    flex: 0 0 auto;
    color: #0a9db2 !important;
    font-size: 1.05rem;
    transition: transform .22s ease;
}

.home-v2 .index-measures-contrast .premium-link-list a:hover,
.home-v2 .index-measures-contrast .premium-link-list a:focus-visible {
    color: #073244 !important;
    background: #effafd !important;
    border-color: rgba(10, 168, 190, .34) !important;
    box-shadow: 0 14px 32px rgba(15, 42, 58, .10);
    transform: translateX(4px) !important;
}

.home-v2 .index-measures-contrast .premium-link-list a:hover::after {
    transform: translateX(3px);
}

/* ==========================================================
   Cartes, antennes et sections : finition homogène
   ========================================================== */
.home-v2 .premium-card,
.home-v2 .branch-mini-card,
.home-v2 .content-panel,
.home-v2 .cta-panel {
    border-color: var(--director-line);
}

.home-v2 .premium-card {
    box-shadow: 0 20px 58px rgba(7, 28, 41, .075);
}

.home-v2 .premium-card:hover {
    border-color: rgba(10, 168, 190, .22);
    box-shadow: var(--director-shadow);
}

.home-v2 .audience-card .icon-circle {
    box-shadow: 0 14px 34px rgba(10, 168, 190, .11);
}

.home-v2 .branch-mini-card {
    border: 1px solid rgba(15, 42, 58, .095);
    box-shadow: 0 17px 48px rgba(7, 28, 41, .065);
}

.home-v2 .branch-mini-card:hover {
    transform: translateY(-5px);
    border-color: rgba(10, 168, 190, .25);
    box-shadow: 0 28px 75px rgba(7, 28, 41, .12);
}

.home-v2 .home-trust-item strong {
    text-shadow: 0 8px 28px rgba(0, 0, 0, .18);
}

.home-v2 .btn {
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
}

.home-v2 .btn:hover {
    transform: translateY(-2px);
}

/* Évite toute disparition de texte à cause d'anciennes règles globales. */
.home-v2 .section-white h2,
.home-v2 .section-white h3,
.home-v2 .section-white .content-panel h2,
.home-v2 .section:not(.section-navy):not(.index-measures-contrast) h2,
.home-v2 .section:not(.section-navy):not(.index-measures-contrast) h3 {
    color: var(--director-navy-900);
}

.home-v2 .section-white p,
.home-v2 .section:not(.section-navy):not(.index-measures-contrast) .section-head p {
    color: var(--director-muted);
}

/* ==========================================================
   Responsive direction : tablette et mobile
   ========================================================== */
@media (max-width: 980px) {
    .home-v2 .index-measures-contrast .container.grid-2 {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .home-v2 .index-measures-contrast .section-head {
        max-width: 760px;
    }

    .home-v2 .index-measures-contrast .content-panel {
        width: 100%;
    }
}

@media (max-width: 680px) {
    .home-v2 .premium-hero-v2-overlay {
        background:
            linear-gradient(90deg, rgba(3, 15, 23, .93), rgba(5, 22, 32, .68)),
            linear-gradient(180deg, rgba(3, 15, 23, .24), rgba(3, 15, 23, .96)) !important;
    }

    .home-v2 .index-measures-contrast {
        width: calc(100% - 14px) !important;
        border-radius: 24px !important;
    }

    .home-v2 .index-measures-contrast .content-panel {
        padding: 27px 19px !important;
        border-radius: 20px !important;
    }

    .home-v2 .index-measures-contrast .content-panel h2,
    .home-v2 .index-measures-contrast .content-panel h2:first-child {
        font-size: clamp(1.8rem, 9vw, 2.35rem);
    }

    .home-v2 .index-measures-contrast .premium-link-list a,
    .home-v2 .index-measures-contrast .content-panel a:not(.btn) {
        min-height: 52px;
        padding: 13px 14px !important;
        font-size: .89rem;
    }

    .home-v2 .index-measures-contrast .section-head p {
        font-size: .96rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-v2 *,
    .home-v2 *::before,
    .home-v2 *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}

@media print {
    .home-v2 .topbar,
    .home-v2 .premium-hero-v2-scroll {
        display: none !important;
    }

    .home-v2 .index-measures-contrast,
    .home-v2 .index-measures-contrast .content-panel {
        color: #111 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .home-v2 .index-measures-contrast h2,
    .home-v2 .index-measures-contrast p {
        color: #111 !important;
    }
}
