/* PPID mobile header/navigation fix
   Load this file after app.css. Designed to override earlier menu alignment rules. */

/* Desktop: keep the parent link and dropdown caret aligned in one row. */
body.ppid-site .mainnav .menu-dropdown-row {
    display: flex;
    align-items: stretch;
    min-width: 0;
    height: 100%;
}
body.ppid-site .mainnav .menu-dropdown-row > .menu-link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
}
body.ppid-site .mainnav .desktop-chevron {
    display: inline-flex;
    align-items: center;
    margin-left: 5px;
    font-size: 9px;
}
body.ppid-site .mainnav .dropdown-toggle { display: none; }

@media (max-width: 800px) {
    /* Header: keep brand legible, and keep search visible on phones. */
    body.ppid-site .brandbar-inner {
        width: calc(100% - 22px);
        min-height: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        padding: 10px 0 12px;
    }
    body.ppid-site .brand {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        flex: 1 1 100%;
        align-items: center;
    }
    body.ppid-site .brand-copy { min-width: 0; }
    body.ppid-site .brand-title {
        font-size: clamp(15px, 4.2vw, 18px);
        line-height: 1.18;
        overflow-wrap: anywhere;
    }
    body.ppid-site .brand-subtitle {
        font-size: 9px;
        line-height: 1.35;
    }
    body.ppid-site .brand-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        justify-content: stretch;
        gap: 7px;
        width: 100%;
        min-width: 0;
    }
    body.ppid-site .header-search {
        display: flex !important;
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
        height: 38px;
        margin: 0;
    }
    body.ppid-site .header-search input {
        display: block;
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        font-size: 13px;
    }
    body.ppid-site .header-search button { flex: 0 0 42px; }
    body.ppid-site .brand-actions .btn {
        display: inline-flex;
        width: 100%;
        min-width: 0;
        min-height: 38px;
        height: auto;
        padding: 6px 5px;
        justify-content: center;
        text-align: center;
        white-space: normal !important;
        overflow-wrap: anywhere;
        font-size: 10px;
        line-height: 1.25;
    }

    /* Hamburger bar must remain visible; hide the long menu until tapped.
       !important overrides older .menu display:flex alignment patches. */
    body.ppid-site .mainnav > .ppid-container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: calc(100% - 22px);
    }
    body.ppid-site .mainnav .mobile-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: flex-start;
        gap: 9px;
        width: 100%;
        min-height: 44px;
        padding: 7px 4px;
        border: 0;
        background: transparent;
        color: #fff;
        font: inherit;
        font-weight: 700;
        cursor: pointer;
    }
    body.ppid-site .mainnav .mobile-toggle .bi-list {
        display: inline-block;
        font-size: 27px;
        line-height: 1;
    }
    body.ppid-site .mainnav .menu,
    body.ppid-site .mainnav .menu:not(.is-open) {
        display: none !important;
        flex-direction: column;
        align-items: stretch;
        flex-wrap: nowrap;
        width: 100%;
        min-height: 0;
        padding: 0 0 8px;
        gap: 0;
    }
    body.ppid-site .mainnav .menu.is-open {
        display: flex !important;
    }
    body.ppid-site .mainnav .menu > .menu-link,
    body.ppid-site .mainnav .menu > .menu-dropdown > .menu-dropdown-row > .menu-link {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex: 1 1 auto;
        width: auto;
        height: auto;
        min-height: 42px;
        padding: 9px 10px;
        line-height: 1.35;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    body.ppid-site .mainnav .menu > .menu-dropdown {
        display: block;
        position: relative;
        flex: 0 0 auto;
        min-height: 0;
        width: 100%;
    }
    body.ppid-site .mainnav .menu-dropdown-row {
        display: flex;
        align-items: stretch;
        width: 100%;
        min-height: 42px;
        height: auto;
    }
    body.ppid-site .mainnav .desktop-chevron { display: none; }
    body.ppid-site .mainnav .dropdown-toggle {
        display: inline-flex !important;
        flex: 0 0 46px;
        align-items: center;
        justify-content: center;
        min-width: 46px;
        min-height: 42px;
        margin: 0;
        padding: 0;
        border: 0;
        border-left: 1px solid rgba(255,255,255,.16);
        border-radius: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    body.ppid-site .mainnav .dropdown-toggle i {
        font-size: 12px;
        transition: transform .18s ease;
    }
    body.ppid-site .mainnav .menu-dropdown.is-open > .menu-dropdown-row .dropdown-toggle i {
        transform: rotate(180deg);
    }
    body.ppid-site .mainnav .dropdown-panel,
    body.ppid-site .mainnav .menu-dropdown:not(.is-open) > .dropdown-panel {
        display: none !important;
        position: static;
        top: auto;
        left: auto;
        width: 100%;
        min-width: 0;
        padding: 4px 8px 8px 16px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: rgba(0,0,0,.08);
    }
    body.ppid-site .mainnav .menu-dropdown.is-open > .dropdown-panel {
        display: block !important;
    }
    body.ppid-site .mainnav .menu-dropdown:hover > .dropdown-panel {
        display: none !important;
    }
    body.ppid-site .mainnav .menu-dropdown.is-open:hover > .dropdown-panel {
        display: block !important;
    }
    body.ppid-site .mainnav .dropdown-panel a {
        display: block;
        min-height: 38px;
        padding: 9px 12px;
        color: #fff !important;
        font-size: 12px;
        line-height: 1.4;
        white-space: normal;
        overflow-wrap: anywhere;
        border-radius: 5px;
    }
    body.ppid-site .mainnav .dropdown-panel a:hover,
    body.ppid-site .mainnav .dropdown-panel a:focus {
        background: rgba(255,255,255,.13);
        color: #fff !important;
    }
    body.ppid-site .mainnav .menu-link.active::after { display: none !important; }
}

@media (max-width: 380px) {
    body.ppid-site .brand-actions .btn { font-size: 9px; }
    body.ppid-site .brand-title { font-size: 15px; }
    body.ppid-site .brand-logo,
    body.ppid-site .brand-logo img { width: 40px; height: 46px; }
    body.ppid-site .brand-logo { flex-basis: 40px; }
}
