/* ============================================================================
 * CLM Deep-SEO Megamenu
 * Injected by JS into the header nav. Fully hyper-optimized:
 *  - 30 top-level tiers in a scrollable rail
 *  - Panel opens on hover/click with 4-col grid of sub-nodes
 *  - Each sub-node = icon + name + schema chip + YMYL badge (when applicable)
 *  - Featured hero visual per tier (real photo, no icons-only)
 * ========================================================================= */

:root{
    --mm-bg:#FFFFFF;
    --mm-fg:#0B1B2E;
    --mm-fg-muted:#5A6B82;
    --mm-border:rgba(11,27,46,0.08);
    --mm-accent:var(--brand-accent,#F0B31A);
    --mm-accent-soft:rgba(240,179,26,0.10);
    --mm-danger:#B12D2D;
    --mm-panel-shadow:0 24px 60px rgba(11,27,46,0.14),0 6px 16px rgba(11,27,46,0.06);
    --mm-font: var(--brand-font-body, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
    --mm-font-display: var(--brand-font-display, Georgia, serif);
}
html[data-theme="dark"],
body.clm-dark{
    --mm-bg:#0F1A2C;
    --mm-fg:#F0EDE3;
    --mm-fg-muted:#94A3B8;
    --mm-border:rgba(255,255,255,0.08);
    --mm-panel-shadow:0 24px 60px rgba(0,0,0,0.45),0 6px 16px rgba(0,0,0,0.24);
}

/* ---------- Trigger button ---------- */
.clm-mm-trigger{
    all:unset;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 16px;
    border-radius:8px;
    color:#E4EAF2;
    font-family:var(--mm-font);
    font-weight:600;
    font-size:15px;
    cursor:pointer;
    transition:all 160ms ease;
    letter-spacing:0.01em;
}
.clm-mm-trigger:hover,
.clm-mm-trigger[aria-expanded="true"]{
    background:rgba(255,255,255,0.08);
    color:var(--mm-accent);
}
.clm-mm-trigger svg{width:18px;height:18px;}
.clm-mm-trigger::after{
    content:"";
    width:8px;height:8px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    opacity:0.55;
    margin-left:2px;
    transition:transform 200ms ease;
}
.clm-mm-trigger[aria-expanded="true"]::after{
    transform:rotate(-135deg) translateY(-2px);
}

/* ---------- Full-viewport panel ---------- */
.clm-mm-panel{
    position:fixed;
    left:0;right:0;
    top:var(--mm-top,0);
    background:var(--mm-bg);
    color:var(--mm-fg);
    box-shadow:var(--mm-panel-shadow);
    z-index:99998;
    max-height:calc(100vh - var(--mm-top,0));
    overflow:hidden;
    border-top:1px solid var(--mm-border);
    display:none;
    font-family:var(--mm-font);
}
.clm-mm-panel[data-open="true"]{
    display:grid;
    grid-template-columns:280px 1fr;
    animation:clm-mm-in 240ms cubic-bezier(0.2,0.9,0.3,1.2);
}
@keyframes clm-mm-in{
    from{opacity:0;transform:translateY(-8px);}
    to{opacity:1;transform:translateY(0);}
}

/* ---------- Tier rail (left column) ---------- */
.clm-mm-rail{
    background:rgba(11,27,46,0.02);
    border-right:1px solid var(--mm-border);
    overflow-y:auto;
    padding:16px 0;
    max-height:calc(100vh - var(--mm-top,0));
}
body.clm-dark .clm-mm-rail{background:rgba(0,0,0,0.15);}

.clm-mm-rail__title{
    padding:0 20px 12px;
    font-family:var(--mm-font-display);
    font-size:12px;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--mm-fg-muted);
}
.clm-mm-rail__item{
    all:unset;
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 20px;
    font-size:14px;
    font-weight:500;
    color:var(--mm-fg);
    cursor:pointer;
    border-left:3px solid transparent;
    transition:all 160ms ease;
}
.clm-mm-rail__item:hover,
.clm-mm-rail__item[aria-selected="true"]{
    background:var(--mm-accent-soft);
    border-left-color:var(--mm-accent);
    color:var(--mm-fg);
}
.clm-mm-rail__icon{
    width:22px;height:22px;
    display:inline-flex;align-items:center;justify-content:center;
    color:var(--mm-accent);
    flex-shrink:0;
}
.clm-mm-rail__icon svg{width:18px;height:18px;}
.clm-mm-rail__label{
    flex:1;
    line-height:1.3;
}
.clm-mm-rail__count{
    font-size:11px;
    font-weight:700;
    color:var(--mm-fg-muted);
    background:rgba(11,27,46,0.06);
    padding:2px 8px;
    border-radius:999px;
}
body.clm-dark .clm-mm-rail__count{background:rgba(255,255,255,0.08);}
.clm-mm-rail__ymyl{
    font-size:10px;
    font-weight:800;
    color:var(--mm-danger);
    background:rgba(177,45,45,0.10);
    padding:2px 7px;
    border-radius:6px;
    letter-spacing:0.06em;
}

/* ---------- Detail column (right) ---------- */
.clm-mm-detail{
    padding:24px 32px 32px;
    overflow-y:auto;
    max-height:calc(100vh - var(--mm-top,0));
}
.clm-mm-detail__header{
    display:grid;
    grid-template-columns:1fr auto;
    gap:24px;
    padding-bottom:20px;
    border-bottom:1px solid var(--mm-border);
    margin-bottom:24px;
    align-items:end;
}
.clm-mm-detail__title{
    font-family:var(--mm-font-display);
    font-size:28px;
    font-weight:700;
    line-height:1.15;
    margin:0 0 6px;
    color:var(--mm-fg);
}
.clm-mm-detail__sub{
    font-size:14px;
    color:var(--mm-fg-muted);
    line-height:1.5;
    max-width:640px;
}
.clm-mm-detail__cta{
    all:unset;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 20px;
    background:var(--mm-accent);
    color:#0B1B2E;
    font-weight:700;
    font-size:14px;
    border-radius:999px;
    cursor:pointer;
    text-decoration:none;
    transition:transform 160ms ease,box-shadow 160ms ease;
    box-shadow:0 4px 12px rgba(240,179,26,0.32);
    white-space:nowrap;
}
.clm-mm-detail__cta:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(240,179,26,0.42);
}

/* Sub-node grid */
.clm-mm-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:8px 16px;
}
.clm-mm-node{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border-radius:10px;
    color:var(--mm-fg);
    text-decoration:none;
    font-size:14px;
    font-weight:500;
    transition:all 160ms ease;
    border:1px solid transparent;
}
.clm-mm-node:hover{
    background:var(--mm-accent-soft);
    border-color:rgba(240,179,26,0.30);
    transform:translateX(2px);
}
.clm-mm-node__icon{
    width:24px;height:24px;
    display:inline-flex;align-items:center;justify-content:center;
    background:rgba(11,27,46,0.06);
    border-radius:6px;
    color:var(--mm-accent);
    flex-shrink:0;
}
body.clm-dark .clm-mm-node__icon{background:rgba(255,255,255,0.08);}
.clm-mm-node__icon svg{width:14px;height:14px;}
.clm-mm-node__label{
    flex:1;
    line-height:1.25;
}
.clm-mm-node__schema{
    font-size:9px;
    font-weight:700;
    color:var(--mm-fg-muted);
    text-transform:uppercase;
    letter-spacing:0.06em;
    opacity:0.72;
}

/* Featured hero (visible when a tier is initially selected) */
.clm-mm-hero{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 200px;
    gap:24px;
    background:linear-gradient(135deg,rgba(240,179,26,0.10),transparent);
    padding:20px;
    border-radius:14px;
    margin-bottom:20px;
    align-items:center;
}
.clm-mm-hero__copy h4{
    font-family:var(--mm-font-display);
    font-size:18px;
    font-weight:700;
    margin:0 0 8px;
    color:var(--mm-fg);
}
.clm-mm-hero__copy p{
    margin:0;
    font-size:13px;
    line-height:1.5;
    color:var(--mm-fg-muted);
}
.clm-mm-hero__img{
    width:200px;height:120px;
    border-radius:10px;
    overflow:hidden;
    background:var(--mm-accent-soft) center/cover;
}
.clm-mm-hero__img img{
    width:100%;height:100%;object-fit:cover;display:block;
}

/* ---------- Mobile ---------- */
@media (max-width:960px){
    .clm-mm-panel[data-open="true"]{
        grid-template-columns:1fr;
    }
    .clm-mm-rail{
        max-height:200px;
        border-right:none;
        border-bottom:1px solid var(--mm-border);
        display:flex;
        overflow-x:auto;
        padding:12px;
    }
    .clm-mm-rail__title{display:none;}
    .clm-mm-rail__item{
        flex-direction:column;
        padding:8px 12px;
        border-left:none;
        border-bottom:3px solid transparent;
        white-space:nowrap;
    }
    .clm-mm-rail__item[aria-selected="true"]{
        border-bottom-color:var(--mm-accent);
    }
    .clm-mm-rail__label{font-size:12px;text-align:center;}
    .clm-mm-rail__count,.clm-mm-rail__ymyl{display:none;}
    .clm-mm-detail{padding:20px 16px;}
    .clm-mm-detail__title{font-size:22px;}
    .clm-mm-grid{grid-template-columns:1fr;}
    .clm-mm-hero{grid-template-columns:1fr;}
    .clm-mm-hero__img{width:100%;height:160px;}
}

/* ---------- Focus / a11y ---------- */
.clm-mm-panel *:focus-visible{
    outline:2px solid var(--mm-accent);
    outline-offset:2px;
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
    .clm-mm-panel[data-open="true"]{animation:none;}
    .clm-mm-node,.clm-mm-rail__item,.clm-mm-trigger{transition:none;}
}
