/*
 * ZendaSoftware — Premium Header IA
 * Progressive enhancement:
 * rules only take effect after JS confirms the required
 * header structure and adds html.zenda-ia-ready.
 */

html.zenda-ia-ready .zenda-ia-hidden {
    display: none !important;
}

html.zenda-ia-ready .zenda-legacy-access {
    display: none !important;
}


/* ---------------------------------------------------------
 * Account / Access trigger
 * --------------------------------------------------------- */

html.zenda-ia-ready .zenda-access-wrap {
    position: relative;
    flex: 0 0 auto;
}

html.zenda-ia-ready .zenda-access-trigger {
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: 13px;
    border: 1px solid var(--line-2, rgba(148, 163, 184, .24));
    background: var(--surface, rgba(255, 255, 255, .82));
    color: var(--fg, #111827);
    place-items: center;
    cursor: pointer;
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

html.zenda-ia-ready .zenda-access-trigger:hover,
html.zenda-ia-ready .zenda-access-trigger:focus-visible,
html.zenda-ia-ready .zenda-access-wrap.is-open .zenda-access-trigger {
    transform: translateY(-1px);
    border-color: rgba(99, 102, 241, .42);
    background: var(--surface-2, rgba(99, 102, 241, .08));
    box-shadow: 0 10px 28px rgba(15, 23, 42, .10);
    outline: none;
}

html.zenda-ia-ready .zenda-access-trigger i {
    font-size: 17px;
}


/* ---------------------------------------------------------
 * Access popup
 * --------------------------------------------------------- */

html.zenda-ia-ready .zenda-access-panel.mega-wrap {
    display: block !important;
    position: absolute !important;
    inset: auto 0 auto auto !important;
    top: calc(100% + 10px) !important;
    width: min(560px, 92vw) !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) scale(.985) !important;
    transform-origin: top right;
    transition:
        opacity .16s ease,
        transform .18s ease,
        visibility .18s ease !important;
    z-index: 110 !important;
}

html[dir="rtl"].zenda-ia-ready .zenda-access-panel.mega-wrap {
    inset: auto auto auto 0 !important;
    top: calc(100% + 10px) !important;
    transform-origin: top left;
}

html.zenda-ia-ready
.zenda-access-wrap.is-open
.zenda-access-panel.mega-wrap {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
}

html.zenda-ia-ready .zenda-access-panel .mega-panel {
    width: min(560px, 92vw) !important;
    max-height: min(620px, calc(100vh - 96px));
    overflow-y: auto;
}

html.zenda-ia-ready .zenda-access-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px !important;
}


/* ---------------------------------------------------------
 * Products / Services
 * --------------------------------------------------------- */

html.zenda-ia-ready .zenda-products-panel .mega-panel {
    width: min(690px, 94vw) !important;
}

html.zenda-ia-ready .zenda-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html.zenda-ia-ready .zenda-services-panel .mega-panel {
    width: min(610px, 94vw) !important;
}

html.zenda-ia-ready .zenda-services-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}


/* ---------------------------------------------------------
 * Premium focus + small-screen protection
 * --------------------------------------------------------- */

html.zenda-ia-ready .zenda-access-panel .mega-item:focus-visible,
html.zenda-ia-ready .zenda-products-panel .mega-item:focus-visible,
html.zenda-ia-ready .zenda-services-panel .mega-item:focus-visible {
    outline: 2px solid rgba(99, 102, 241, .68);
    outline-offset: 2px;
}

@media (max-width: 1180px) {

    html.zenda-ia-ready .zenda-products-grid,
    html.zenda-ia-ready .zenda-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

}

@media (max-width: 1023px) {

    html.zenda-ia-ready .zenda-access-wrap {
        display: none !important;
    }

}

@media (max-width: 640px) {

    html.zenda-ia-ready .zenda-access-grid {
        grid-template-columns: 1fr;
    }

}
