/* ==========================================================================
   vivacar.be enterprise correction layer
   Scope: logo, Acheter/Vendre mega menus, dashboards. No destructive resets.
   ========================================================================== */

/* Logo: compact, premium, protected from menu overlap */
.site-logo-vivacar,
.custom-logo-link.site-logo-vivacar {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    flex: 0 0 auto;
    min-width: 0;
    max-width: 168px;
    color: var(--color-primary);
    text-decoration: none;
    line-height: 1;
}

.vivacar-logo-mark {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);
    color: #fff;
    font-weight: 900;
    font-size: 1.05rem;
    letter-spacing: -.04em;
    box-shadow: 0 12px 28px rgba(10,31,63,.18);
    text-transform: lowercase;
    flex: 0 0 auto;
}

.vivacar-logo-word {
    display: inline-flex;
    align-items: baseline;
    min-width: 0;
    max-width: 118px;
    overflow: hidden;
    white-space: nowrap;
    letter-spacing: -.045em;
}

.vivacar-logo-word strong {
    color: var(--color-primary);
    font-size: clamp(1.05rem, 1.4vw, 1.32rem);
    font-weight: 900;
}

.vivacar-logo-word em {
    color: var(--color-accent);
    font-size: clamp(.92rem, 1.1vw, 1.05rem);
    font-style: normal;
    font-weight: 850;
}

.header-inner {
    gap: clamp(.75rem, 1.2vw, 1.35rem);
}

.header-nav {
    min-width: 0;
}

.primary-menu > li > a {
    padding-left: clamp(.55rem, .9vw, 1rem);
    padding-right: clamp(.55rem, .9vw, 1rem);
}

.header-actions {
    min-width: 0;
}

/* Enterprise mega menu: fixed viewport guard, rich but stable */
@media (min-width: 1024px) {
    .site-header,
    .header-inner,
    .header-nav,
    .primary-menu,
    .primary-menu > li.menu-item-has-children {
        overflow: visible;
    }

    .primary-menu > li.menu-item-has-children {
        position: static;
    }

    .primary-menu > li.menu-item-has-children > .mega-menu {
        position: fixed !important;
        top: calc(var(--header-height) + 10px) !important;
        left: 50% !important;
        right: auto !important;
        width: min(1120px, calc(100vw - 48px)) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 48px) !important;
        max-height: calc(100vh - var(--header-height) - 32px) !important;
        padding: 0 !important;
        overflow: hidden auto !important;
        border: 1px solid rgba(10,31,63,.10) !important;
        border-radius: 24px !important;
        background: rgba(255,255,255,.98) !important;
        box-shadow: 0 28px 80px rgba(10,31,63,.20), 0 4px 16px rgba(10,31,63,.08) !important;
        transform: translate3d(-50%, 12px, 0) !important;
        z-index: 1005 !important;
        scrollbar-width: thin;
    }

    .primary-menu > li.menu-item-has-children:hover > .mega-menu,
    .primary-menu > li.menu-item-has-children:focus-within > .mega-menu {
        transform: translate3d(-50%, 0, 0) !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .mega-menu-sell {
        width: min(940px, calc(100vw - 48px)) !important;
    }

    .mega-enterprise-shell {
        display: grid;
        grid-template-columns: minmax(280px, .88fr) minmax(0, 2.15fr);
        gap: 0;
        min-width: 0;
        background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    }

    .mega-enterprise-hero {
        position: relative;
        min-width: 0;
        padding: clamp(1.25rem, 2.4vw, 2rem);
        background: radial-gradient(circle at 80% 8%, rgba(26,86,219,.26), transparent 32%), linear-gradient(145deg, var(--color-primary) 0%, #102a52 58%, #173f76 100%);
        color: #fff;
        overflow: hidden;
    }

    .mega-enterprise-hero::after {
        content: '';
        position: absolute;
        right: -72px;
        bottom: -72px;
        width: 180px;
        height: 180px;
        border-radius: 999px;
        background: rgba(255,255,255,.08);
        pointer-events: none;
    }

    .mega-sell-hero {
        background: radial-gradient(circle at 84% 8%, rgba(232,117,13,.30), transparent 32%), linear-gradient(145deg, #111827 0%, var(--color-primary) 64%, #18365f 100%);
    }

    .mega-eyebrow {
        display: inline-flex;
        align-items: center;
        width: fit-content;
        max-width: 100%;
        margin-bottom: .85rem;
        padding: .34rem .68rem;
        border-radius: 999px;
        background: rgba(255,255,255,.12);
        color: rgba(255,255,255,.88);
        font-size: .68rem;
        font-weight: 850;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .mega-enterprise-hero h3 {
        margin: 0 0 .75rem;
        color: #fff;
        font-size: clamp(1.38rem, 2.2vw, 2.05rem);
        line-height: 1.08;
        letter-spacing: -.045em;
        max-width: 13ch;
    }

    .mega-enterprise-hero p {
        margin: 0;
        color: rgba(255,255,255,.78);
        font-size: .92rem;
        line-height: 1.65;
        max-width: 31ch;
    }

    .mega-hero-actions {
        position: relative;
        z-index: 1;
        display: flex;
        flex-wrap: wrap;
        gap: .55rem;
        margin-top: 1.25rem;
    }

    .mega-enterprise-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem;
        min-width: 0;
        padding: clamp(1rem, 1.8vw, 1.45rem);
    }

    .mega-sell-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mega-panel {
        min-width: 0;
        padding: 1rem;
        border: 1px solid rgba(10,31,63,.08);
        border-radius: 18px;
        background: #fff;
    }

    .mega-panel-highlight {
        background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
        border-color: rgba(26,86,219,.16);
    }

    .mega-panel h4 {
        margin: 0 0 .82rem;
        color: var(--color-primary);
        font-size: .72rem;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .mega-card-list,
    .mega-step-list,
    .mega-link-list {
        display: grid;
        gap: .42rem;
        margin: 0;
        padding: 0;
        list-style: none;
        min-width: 0;
    }

    .mega-link-list-2col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .42rem .5rem;
    }

    .mega-card-list a,
    .mega-step-list a,
    .mega-link-list a {
        display: flex;
        min-width: 0;
        border-radius: 13px;
        color: var(--color-gray-700);
        text-decoration: none;
        transition: background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
    }

    .mega-card-list a {
        flex-direction: column;
        padding: .82rem;
        border: 1px solid rgba(10,31,63,.07);
        background: #fff;
    }

    .mega-card-list a strong,
    .mega-step-list a strong {
        color: var(--color-gray-900);
        font-size: .88rem;
        font-weight: 850;
        letter-spacing: -.02em;
        overflow-wrap: anywhere;
    }

    .mega-card-list a span:not(:first-child) {
        color: var(--color-gray-500);
        font-size: .76rem;
        line-height: 1.45;
        margin-top: .22rem;
    }

    .mega-link-list a {
        align-items: center;
        min-height: 34px;
        padding: .45rem .56rem;
        font-size: .84rem;
        font-weight: 650;
        background: transparent;
        overflow-wrap: anywhere;
    }

    .mega-step-list a {
        align-items: center;
        gap: .7rem;
        padding: .68rem;
        border: 1px solid rgba(10,31,63,.07);
        background: #fff;
    }

    .mega-step-list a span {
        width: 30px;
        height: 30px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        background: var(--color-accent-light);
        color: var(--color-accent);
        font-size: .72rem;
        font-weight: 900;
        flex: 0 0 auto;
    }

    .mega-card-list a:hover,
    .mega-step-list a:hover,
    .mega-link-list a:hover {
        color: var(--color-accent);
        background: var(--color-accent-light);
        transform: translateY(-1px);
        box-shadow: 0 10px 26px rgba(10,31,63,.07);
    }
}

@media (min-width: 1024px) and (max-width: 1180px) {
    .header-inner { padding-left: 1rem; padding-right: 1rem; gap: .65rem; }
    .primary-menu { gap: 0; }
    .primary-menu > li > a { font-size: .8rem; padding-left: .48rem; padding-right: .48rem; }
    .header-sell-cta { display: none; }
    .header-account-btn { padding-left: .72rem; padding-right: .72rem; }
    .mega-enterprise-shell { grid-template-columns: 260px minmax(0, 1fr); }
}

@media (max-width: 1023px) {
    .site-logo-vivacar { max-width: 148px; }
    .vivacar-logo-mark { width: 31px; height: 31px; border-radius: 10px; }
    .vivacar-logo-word strong { font-size: 1.08rem; }
    .vivacar-logo-word em { font-size: .92rem; }
    .header-sell-cta { display: none; }
}

@media (max-width: 420px) {
    .site-logo-vivacar { max-width: 126px; gap: .42rem; }
    .vivacar-logo-mark { width: 28px; height: 28px; font-size: .95rem; }
    .vivacar-logo-word { max-width: 90px; }
    .vivacar-logo-word strong { font-size: .98rem; }
    .vivacar-logo-word em { font-size: .82rem; }
}

/* Dashboard enterprise layer */
.dashboard-suite {
    display: grid;
    gap: 1.4rem;
}

.dashboard-suite-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: end;
    padding: clamp(1.35rem, 3vw, 2.4rem);
    border-radius: 28px;
    background: radial-gradient(circle at 90% 0%, rgba(26,86,219,.30), transparent 30%), linear-gradient(135deg, var(--color-primary) 0%, #102a52 56%, #183f73 100%);
    color: #fff;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(10,31,63,.14);
}

.dashboard-suite-hero::after {
    content: '';
    position: absolute;
    width: 260px;
    height: 260px;
    right: -80px;
    top: -110px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    pointer-events: none;
}

.dashboard-suite-kicker {
    display: inline-flex;
    margin-bottom: .75rem;
    padding: .34rem .78rem;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.86);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dashboard-suite-hero h1,
.dashboard-suite-hero p,
.dashboard-suite-actions {
    position: relative;
    z-index: 1;
}

.dashboard-suite-hero h1 {
    max-width: 820px;
    margin: 0 0 .65rem;
    color: #fff;
    font-size: clamp(1.7rem, 4vw, 3.15rem);
    line-height: 1.05;
    letter-spacing: -.055em;
}

.dashboard-suite-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: 1rem;
}

.dashboard-suite-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .65rem;
}

.dashboard-suite-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 1.2rem;
    align-items: start;
}

.dashboard-suite-sidebar {
    position: sticky;
    top: calc(var(--header-height) + 1.25rem);
    display: grid;
    gap: .9rem;
    min-width: 0;
}

.dashboard-suite-user {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: .8rem;
    align-items: center;
    padding: 1rem;
    border: 1px solid rgba(10,31,63,.08);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(10,31,63,.05);
}

.dashboard-suite-avatar {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-accent-light);
    color: var(--color-accent);
    font-weight: 900;
}

.dashboard-suite-user strong { display: block; color: var(--color-gray-900); font-weight: 850; line-height: 1.25; }
.dashboard-suite-user span { display: block; color: var(--color-gray-500); font-size: .78rem; margin-top: .15rem; }

.dashboard-suite-nav {
    display: grid;
    gap: .36rem;
    padding: .5rem;
    border: 1px solid rgba(10,31,63,.08);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(10,31,63,.05);
}

.dashboard-suite-nav .dashboard-nav-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: center;
    min-height: 42px;
    padding: .62rem .7rem;
    border-radius: 14px;
    color: var(--color-gray-700);
    font-weight: 750;
}

.dashboard-suite-nav .dashboard-nav-item.is-active,
.dashboard-suite-nav .dashboard-nav-item:hover {
    background: var(--color-accent-light);
    color: var(--color-accent);
}

.dashboard-suite-nav .dashboard-nav-item.is-active::before { display: none; }
.dashboard-suite-nav .dashboard-nav-badge { justify-self: end; margin-left: 0; }

.dashboard-suite-content {
    min-width: 0;
}

.dashboard-suite-stats,
.dashboard-suite-grid,
.dashboard-suite-grid-3,
.dashboard-suite-grid-4 {
    display: grid;
    gap: 1rem;
}

.dashboard-suite-stats { grid-template-columns: repeat(4, minmax(0,1fr)); margin-bottom: 1rem; }
.dashboard-suite-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.dashboard-suite-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.dashboard-suite-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }

.dashboard-suite-card,
.dashboard-suite-panel,
.dashboard-suite-table-wrap,
.dashboard-suite-form {
    min-width: 0;
    border: 1px solid rgba(10,31,63,.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(10,31,63,.055);
}

.dashboard-suite-card,
.dashboard-suite-panel,
.dashboard-suite-form { padding: clamp(1rem, 2vw, 1.35rem); }

.dashboard-suite-card small,
.dashboard-suite-card .label {
    display: block;
    color: var(--color-gray-500);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.dashboard-suite-card strong.value {
    display: block;
    margin-top: .3rem;
    color: var(--color-gray-900);
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 900;
    letter-spacing: -.045em;
}

.dashboard-suite-card span.trend {
    display: block;
    margin-top: .25rem;
    color: var(--color-success);
    font-size: .78rem;
    font-weight: 750;
}

.dashboard-suite-panel h2,
.dashboard-suite-panel h3,
.dashboard-suite-table-wrap h2,
.dashboard-suite-form h2 {
    margin: 0 0 .45rem;
    color: var(--color-gray-900);
    font-size: 1.05rem;
    letter-spacing: -.025em;
}

.dashboard-suite-panel p,
.dashboard-suite-table-wrap p,
.dashboard-suite-form p {
    color: var(--color-gray-500);
    margin: 0 0 1rem;
}

.dashboard-suite-table-wrap { padding: 0; overflow: hidden; }
.dashboard-suite-table-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem 1.25rem; border-bottom: 1px solid rgba(10,31,63,.08); }
.dashboard-suite-table-header p { margin-bottom: 0; }
.dashboard-suite-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dashboard-suite-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: .86rem; }
.dashboard-suite-table th { padding: .9rem 1rem; text-align: left; color: var(--color-gray-500); background: #f8fafc; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.dashboard-suite-table td { padding: .9rem 1rem; border-top: 1px solid rgba(10,31,63,.06); color: var(--color-gray-700); }
.dashboard-suite-table strong { color: var(--color-gray-900); }

.dashboard-suite-status { display: inline-flex; align-items: center; width: fit-content; padding: .22rem .62rem; border-radius: 999px; font-size: .7rem; font-weight: 850; }
.dashboard-suite-status.good { background: #d1fae5; color: #065f46; }
.dashboard-suite-status.wait { background: #fef3c7; color: #92400e; }
.dashboard-suite-status.info { background: var(--color-accent-light); color: var(--color-accent); }
.dashboard-suite-status.danger { background: #fee2e2; color: #991b1b; }

.dashboard-suite-list { display: grid; gap: .7rem; }
.dashboard-suite-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .9rem; align-items: center; padding: .86rem; border: 1px solid rgba(10,31,63,.07); border-radius: 16px; background: #fff; }
.dashboard-suite-item strong { display:block; color: var(--color-gray-900); font-weight: 850; }
.dashboard-suite-item span { display:block; margin-top:.16rem; color: var(--color-gray-500); font-size:.82rem; }

.dashboard-suite-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .8rem; }
.dashboard-suite-form label { display: grid; gap: .35rem; color: var(--color-gray-700); font-size: .82rem; font-weight: 750; }
.dashboard-suite-form input,
.dashboard-suite-form select,
.dashboard-suite-form textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--color-gray-200);
    border-radius: 14px;
    padding: .72rem .82rem;
    background: #fff;
    color: var(--color-gray-900);
}
.dashboard-suite-form textarea { min-height: 116px; resize: vertical; }
.dashboard-suite-form .form-full { grid-column: 1 / -1; }
.dashboard-suite-form-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1rem; }

.dashboard-tab { min-width: 0; }

@media (max-width: 1100px) {
    .dashboard-suite-shell { grid-template-columns: 240px minmax(0,1fr); }
    .dashboard-suite-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .dashboard-suite-grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 900px) {
    .dashboard-suite-hero { grid-template-columns: 1fr; align-items: start; }
    .dashboard-suite-actions { justify-content: flex-start; }
    .dashboard-suite-shell { grid-template-columns: 1fr; }
    .dashboard-suite-sidebar { position: static; }
    .dashboard-suite-nav { display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .dashboard-suite-nav .dashboard-nav-item { flex: 0 0 auto; white-space: nowrap; grid-template-columns: auto auto auto; }
    .dashboard-suite-grid,
    .dashboard-suite-grid-3 { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .dashboard-suite-hero { border-radius: 22px; }
    .dashboard-suite-stats,
    .dashboard-suite-grid-4,
    .dashboard-suite-form-grid { grid-template-columns: 1fr; }
    .dashboard-suite-table-header,
    .dashboard-suite-item { grid-template-columns: 1fr; align-items: start; }
    .dashboard-suite-table-header { display: grid; }
    .dashboard-suite-actions .btn,
    .dashboard-suite-form-actions .btn,
    .dashboard-suite-item .btn { width: 100%; }
}

/* ========================================================================== 
   V1.0.4 - Mega menu overlap hard fix
   Scope: only Acheter / Vendre desktop mega menus. Prevents hero/content panels
   from overlapping by using strict, isolated grid tracks and safe panel wrapping.
   ========================================================================== */
@media (min-width: 1024px) {
    .primary-menu > li.menu-item-has-children > .mega-menu,
    .primary-menu > li.menu-item-has-children > .mega-menu * {
        box-sizing: border-box;
    }

    .primary-menu > li.menu-item-has-children > .mega-menu {
        display: block !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        contain: layout paint;
    }

    .mega-menu-buy,
    .mega-menu-sell {
        width: min(1080px, calc(100vw - 48px)) !important;
        max-width: calc(100vw - 48px) !important;
    }

    .mega-menu-sell {
        width: min(940px, calc(100vw - 48px)) !important;
    }

    .mega-enterprise-shell,
    .mega-sell-shell {
        display: grid !important;
        grid-template-columns: 300px minmax(0, 1fr) !important;
        align-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        isolation: isolate;
    }

    .mega-enterprise-hero,
    .mega-enterprise-grid {
        position: relative !important;
        min-width: 0 !important;
        max-width: 100% !important;
        width: auto !important;
        z-index: 1 !important;
    }

    .mega-enterprise-hero {
        grid-column: 1 !important;
        overflow: hidden !important;
    }

    .mega-enterprise-grid {
        grid-column: 2 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-content: start !important;
        align-items: stretch !important;
        gap: .9rem !important;
        padding: clamp(.9rem, 1.45vw, 1.25rem) !important;
        overflow: hidden !important;
    }

    .mega-sell-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .mega-panel,
    .mega-panel-highlight {
        min-width: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        overflow: hidden !important;
    }

    .mega-card-list,
    .mega-step-list,
    .mega-link-list,
    .mega-link-list-2col {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .mega-card-list a,
    .mega-step-list a,
    .mega-link-list a {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        white-space: normal !important;
    }

    .mega-card-list a strong,
    .mega-step-list a strong,
    .mega-card-list a span,
    .mega-link-list a {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }
}

@media (min-width: 1024px) and (max-width: 1180px) {
    .mega-menu-buy,
    .mega-menu-sell {
        width: calc(100vw - 32px) !important;
        max-width: calc(100vw - 32px) !important;
    }

    .mega-enterprise-shell,
    .mega-sell-shell {
        grid-template-columns: 260px minmax(0, 1fr) !important;
    }

    .mega-enterprise-grid,
    .mega-sell-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .72rem !important;
        padding: .82rem !important;
    }

    .mega-link-list-2col {
        grid-template-columns: 1fr !important;
    }

    .mega-enterprise-hero h3 {
        max-width: 100% !important;
        font-size: 1.34rem !important;
    }

    .mega-enterprise-hero p {
        max-width: 100% !important;
        font-size: .84rem !important;
    }
}

@media (min-width: 1024px) and (max-width: 1060px) {
    .mega-enterprise-shell,
    .mega-sell-shell {
        grid-template-columns: 235px minmax(0, 1fr) !important;
    }

    .mega-enterprise-grid,
    .mega-sell-grid {
        grid-template-columns: 1fr !important;
        max-height: calc(100vh - var(--header-height) - 56px) !important;
        overflow-y: auto !important;
    }

    .mega-enterprise-hero {
        padding: 1rem !important;
    }
}

/* ========================================================================== 
   V1.0.5 - Premium simplified mega menus
   Scope: Acheter / Vendre only. Keeps menus elegant, lighter and focused on
   the most relevant public links while preserving viewport safety.
   ========================================================================== */
@media (min-width: 1024px) {
    .mega-menu-slim {
        border: 1px solid rgba(10, 31, 63, .10) !important;
        box-shadow: 0 28px 80px rgba(10, 31, 63, .18) !important;
    }

    .mega-menu-buy.mega-menu-slim {
        width: min(920px, calc(100vw - 48px)) !important;
        max-width: calc(100vw - 48px) !important;
    }

    .mega-menu-sell.mega-menu-slim {
        width: min(820px, calc(100vw - 48px)) !important;
        max-width: calc(100vw - 48px) !important;
    }

    .mega-slim-shell {
        grid-template-columns: 285px minmax(0, 1fr) !important;
        background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    }

    .mega-slim-hero {
        padding: 1.55rem !important;
    }

    .mega-slim-hero h3 {
        max-width: 14ch !important;
        font-size: clamp(1.28rem, 1.9vw, 1.74rem) !important;
        line-height: 1.1 !important;
    }

    .mega-slim-hero p {
        max-width: 28ch !important;
        font-size: .86rem !important;
        line-height: 1.55 !important;
    }

    .mega-slim-grid {
        grid-template-columns: minmax(0, 1.1fr) minmax(220px, .82fr) !important;
        gap: .85rem !important;
        padding: 1rem !important;
        align-items: stretch !important;
    }

    .mega-feature-panel,
    .mega-essential-panel {
        border-radius: 18px !important;
        padding: .95rem !important;
        min-height: 100% !important;
    }

    .mega-main-links {
        gap: .52rem !important;
    }

    .mega-main-links a {
        min-height: 74px !important;
        padding: .88rem .9rem !important;
        border-radius: 15px !important;
    }

    .mega-main-links a strong {
        font-size: .92rem !important;
        letter-spacing: -.015em !important;
    }

    .mega-main-links a span:not(:first-child) {
        font-size: .76rem !important;
        line-height: 1.38 !important;
    }

    .mega-essential-links {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .38rem !important;
    }

    .mega-essential-links a {
        min-height: 38px !important;
        padding: .52rem .65rem !important;
        border-radius: 12px !important;
        font-size: .84rem !important;
        font-weight: 750 !important;
        color: var(--color-gray-700) !important;
        background: rgba(248, 250, 252, .72) !important;
    }

    .mega-essential-links a:hover {
        color: var(--color-accent) !important;
        background: var(--color-accent-light) !important;
    }

    .mega-sell-grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(210px, .75fr) !important;
    }
}

@media (min-width: 1024px) and (max-width: 1180px) {
    .mega-menu-buy.mega-menu-slim,
    .mega-menu-sell.mega-menu-slim {
        width: calc(100vw - 32px) !important;
        max-width: calc(100vw - 32px) !important;
    }

    .mega-slim-shell {
        grid-template-columns: 250px minmax(0, 1fr) !important;
    }

    .mega-slim-grid,
    .mega-sell-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .72rem !important;
        padding: .85rem !important;
    }
}

@media (min-width: 1024px) and (max-width: 1060px) {
    .mega-slim-shell {
        grid-template-columns: 225px minmax(0, 1fr) !important;
    }

    .mega-slim-grid,
    .mega-sell-grid {
        grid-template-columns: 1fr !important;
        max-height: calc(100vh - var(--header-height) - 56px) !important;
        overflow-y: auto !important;
    }

    .mega-main-links a {
        min-height: auto !important;
    }
}

/* v1.0.6 Public premium content system */
.vivacar-page-hero{position:relative;overflow:hidden;border-radius:28px;padding:clamp(2rem,4vw,4rem);background:linear-gradient(135deg,#061a35 0%,#102d58 54%,#1a56db 100%);color:#fff;margin-bottom:clamp(2rem,4vw,3.5rem);box-shadow:0 24px 70px rgba(6,26,53,.22)}
.vivacar-page-hero:after{content:"";position:absolute;right:-8%;top:-25%;width:46%;height:140%;background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 66%);pointer-events:none}.vivacar-page-hero>*{position:relative;z-index:1}.vivacar-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.38rem .72rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:1rem}.vivacar-page-hero h1{max-width:900px;color:#fff;font-size:clamp(2.1rem,5vw,4rem);line-height:1.02;margin:0 0 1rem;font-weight:900;letter-spacing:-.045em}.vivacar-page-hero p{max-width:780px;color:rgba(255,255,255,.84);font-size:clamp(1rem,2vw,1.25rem);line-height:1.75;margin:0}.vivacar-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.75rem}.vivacar-proof-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2rem}.vivacar-proof{padding:1rem;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(10px)}.vivacar-proof strong{display:block;color:#fff;font-size:1.45rem;line-height:1;font-weight:900}.vivacar-proof span{display:block;color:rgba(255,255,255,.74);font-size:.82rem;margin-top:.35rem}.vivacar-premium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:2rem 0}.vivacar-premium-card{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:24px;padding:1.5rem;box-shadow:0 14px 35px rgba(15,23,42,.07)}.vivacar-premium-card h2,.vivacar-premium-card h3{margin:.25rem 0 .65rem;font-size:1.15rem;line-height:1.25;color:#0f172a}.vivacar-premium-card p,.vivacar-premium-card li{color:#526074;line-height:1.72}.vivacar-card-icon{width:46px;height:46px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#eff6ff;color:#1a56db;font-size:1.35rem;margin-bottom:.8rem}.vivacar-two-col{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:1.5rem;align-items:start;margin:2rem 0}.vivacar-panel{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:26px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 18px 45px rgba(15,23,42,.08)}.vivacar-panel h2{font-size:1.6rem;letter-spacing:-.03em;margin:0 0 1rem}.vivacar-checklist{display:grid;gap:.85rem;margin:1rem 0 0;padding:0;list-style:none}.vivacar-checklist li{position:relative;padding-left:2rem;color:#526074;line-height:1.65}.vivacar-checklist li:before{content:"✓";position:absolute;left:0;top:.05rem;width:1.35rem;height:1.35rem;border-radius:999px;background:#dcfce7;color:#047857;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:900}.vivacar-steps{display:grid;gap:1rem;counter-reset:step;margin:1.25rem 0}.vivacar-step{position:relative;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:22px;padding:1.25rem 1.25rem 1.25rem 4.2rem;box-shadow:0 10px 25px rgba(15,23,42,.05)}.vivacar-step:before{counter-increment:step;content:counter(step);position:absolute;left:1.25rem;top:1.25rem;width:2.25rem;height:2.25rem;border-radius:14px;background:#1a56db;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.vivacar-step h3{margin:0 0 .35rem;font-size:1.05rem}.vivacar-step p{margin:0;color:#526074;line-height:1.65}.vivacar-table-wrap{overflow:auto;border-radius:22px;border:1px solid rgba(15,23,42,.1);background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.06)}.vivacar-table{width:100%;border-collapse:collapse;min-width:680px}.vivacar-table th,.vivacar-table td{padding:1rem;text-align:left;border-bottom:1px solid rgba(15,23,42,.08);vertical-align:top}.vivacar-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:#64748b;background:#f8fafc}.vivacar-table td{color:#475569}.vivacar-guide-featured{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:1.5rem;margin:2rem 0}.vivacar-guide-list{display:grid;gap:1rem}.vivacar-guide-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:22px;padding:1.25rem;box-shadow:0 12px 30px rgba(15,23,42,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.vivacar-guide-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(15,23,42,.11);border-color:rgba(26,86,219,.28)}.vivacar-guide-card small{display:inline-flex;margin-bottom:.6rem;color:#1a56db;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.vivacar-guide-card h3{margin:0 0 .5rem;font-size:1.1rem}.vivacar-guide-card p{margin:0;color:#526074;line-height:1.65}.vivacar-guide-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.vivacar-tag{display:inline-flex;align-items:center;border-radius:999px;background:#f1f5f9;color:#334155;font-weight:700;font-size:.78rem;padding:.38rem .7rem}.vivacar-content-section{margin:clamp(2rem,4vw,3.5rem) 0}.vivacar-content-section h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 1rem;color:#0f172a}.vivacar-content-section>p{max-width:850px;color:#526074;line-height:1.78;font-size:1.05rem}.vivacar-premium-form{display:grid;gap:1rem}.vivacar-premium-form input,.vivacar-premium-form select,.vivacar-premium-form textarea{width:100%;min-height:48px;border:1.5px solid #dbe3ef;border-radius:14px;padding:.85rem 1rem;background:#fff;color:#0f172a;outline:none}.vivacar-premium-form textarea{min-height:130px;resize:vertical}.vivacar-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.vivacar-highlight{background:linear-gradient(135deg,#fff 0%,#eff6ff 100%);border:1px solid rgba(26,86,219,.16);border-radius:26px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 18px 45px rgba(26,86,219,.08)}.vivacar-muted{color:#64748b}.vivacar-section-split{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:stretch}.vivacar-quote{border-left:4px solid #1a56db;padding:1rem 0 1rem 1.25rem;color:#334155;font-size:1.05rem;line-height:1.75;background:#f8fafc;border-radius:0 18px 18px 0}.vivacar-mini-nav{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.25rem 0 0}.vivacar-mini-nav a{text-decoration:none}.vivacar-page-body{font-size:1rem}.vivacar-page-body p{line-height:1.78;color:#526074}.vivacar-page-body strong{color:#0f172a}.vivacar-guide-article{max-width:980px;margin:0 auto}.vivacar-guide-article .vivacar-panel{margin-bottom:1.25rem}.vivacar-guide-article h2{font-size:1.6rem;margin:0 0 .85rem}.vivacar-guide-article p,.vivacar-guide-article li{color:#526074;line-height:1.8}.vivacar-guide-toc{display:flex;gap:.65rem;flex-wrap:wrap;margin:1.25rem 0}.vivacar-guide-toc span{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:999px;padding:.45rem .8rem;font-weight:800;color:#334155;font-size:.82rem}.vivacar-legal-content{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:26px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 18px 45px rgba(15,23,42,.06)}.vivacar-legal-content h2{font-size:1.7rem;margin-top:0}.vivacar-legal-content h3{font-size:1.15rem;margin-top:1.6rem;color:#0f172a}.vivacar-legal-content p{color:#526074;line-height:1.78}
@media(max-width:1100px){.vivacar-proof-row{grid-template-columns:repeat(2,minmax(0,1fr))}.vivacar-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vivacar-two-col,.vivacar-guide-featured,.vivacar-section-split{grid-template-columns:1fr}}
@media(max-width:720px){.vivacar-page-hero{border-radius:22px;padding:1.5rem}.vivacar-proof-row,.vivacar-premium-grid,.vivacar-form-grid{grid-template-columns:1fr}.vivacar-step{padding-left:1.25rem;padding-top:4rem}.vivacar-step:before{top:1.1rem}.vivacar-hero-actions .btn{width:100%}.vivacar-panel{border-radius:20px}.vivacar-guide-card{border-radius:18px}}
