@media (max-width: 767px) {
    .su-header[data-sibro-scroll] {
        position: relative !important;
        z-index: 1000 !important;
    }

    .su-header[data-sibro-scroll] .su-nav {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        position: relative !important;
    }

    .su-header[data-sibro-scroll] .su-brand {
        order: 1 !important;
    }

    .su-header[data-sibro-scroll] .su-nav .su-menus {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        align-items: center !important;
        order: 2 !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 6px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 0 8px !important;
        scrollbar-width: thin;
        scrollbar-color: #ff6b00 #263c55;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }

    .su-header[data-sibro-scroll] .su-menus::-webkit-scrollbar {
        height: 5px;
    }

    .su-header[data-sibro-scroll] .su-menus::-webkit-scrollbar-thumb {
        background: #ff6b00;
        border-radius: 4px;
    }

    .su-header[data-sibro-scroll] .su-nav .su-menus > .su-menu {
        display: block !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: max-content !important;
        max-width: none !important;
        margin: 0 !important;
        position: static !important;
    }

    .su-header[data-sibro-scroll] .su-nav .su-menu > summary {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        gap: 9px !important;
        min-height: 48px !important;
        padding: 12px 14px !important;
        border-top: 0 !important;
        border-bottom: 3px solid transparent !important;
        white-space: nowrap !important;
        font-size: 16px !important;
        line-height: 1.25 !important;
        cursor: pointer;
    }

    .su-header[data-sibro-scroll] .su-nav .su-menu[open] > summary {
        border-bottom-color: #ff6b00 !important;
    }

    .su-header[data-sibro-scroll] .su-auth {
        order: 3 !important;
    }

    /* Moving the panel outside the scroll strip prevents horizontal overflow clipping. */
    .su-header[data-sibro-scroll] > .su-scroll-panel {
        position: absolute !important;
        left: 16px !important;
        right: 16px !important;
        width: auto !important;
        min-width: 0 !important;
        max-height: 65vh !important;
        max-height: 65dvh !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        display: block !important;
        padding: 22px 18px !important;
        color: #202b38 !important;
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-bottom: 3px solid #ff6b00 !important;
        border-radius: 0 0 12px 12px !important;
        box-shadow: 0 16px 32px rgba(0, 0, 0, .24) !important;
        white-space: normal !important;
        z-index: 100 !important;
        overscroll-behavior-y: contain;
    }

    .su-header[data-sibro-scroll] > .su-scroll-panel[hidden] {
        display: none !important;
    }

    .su-header[data-sibro-scroll] > .su-scroll-panel .su-menu-col {
        padding-right: 0;
        border-right: 0;
    }

    .su-header[data-sibro-scroll] > .su-scroll-panel .su-menu-col + .su-menu-col {
        margin-top: 24px;
    }
}

/* Compact mobile account buttons. */
@media (max-width: 767px) {
    .su-header[data-sibro-scroll] .su-nav .su-auth {
        justify-content: center !important;
        gap: 10px !important;
    }

    .su-header[data-sibro-scroll] .su-nav .su-auth > .su-pill {
        flex: 0 1 110px !important;
        width: 110px !important;
        min-width: 0 !important;
        max-width: 110px !important;
        min-height: 44px !important;
        height: auto !important;
        padding: 10px 16px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        white-space: nowrap !important;
    }
}

.su-header .su-mobile-toggle {
    display: none !important;
}

@media (max-width: 767px) {
    .su-header[data-sibro-hamburger] .su-nav {
        column-gap: 12px !important;
    }

    .su-header[data-sibro-hamburger] .su-mobile-toggle {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        order: 0;
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 10px;
        background: transparent;
        color: #fff;
        border: 1px solid #586373;
        border-radius: 8px;
        cursor: pointer;
    }

    .su-header[data-sibro-hamburger] .su-mobile-toggle span {
        display: block;
        width: 22px;
        height: 2px;
        background: currentColor;
    }

    .su-header[data-sibro-hamburger] .su-mobile-toggle:focus-visible {
        outline: 3px solid #ffab6d;
        outline-offset: 3px;
    }

    .su-header[data-sibro-hamburger] .su-brand {
        flex: 1 1 0 !important;
        width: calc(100% - 56px) !important;
        min-width: 0 !important;
    }

    .su-header[data-sibro-hamburger] .su-brand img {
        max-width: 50% !important;
    }

    .su-header[data-sibro-hamburger] .su-brand-text {
        flex: 1 1 0;
        min-width: 0;
    }

    .su-header[data-sibro-hamburger] .su-nav .su-menus {
        display: none !important;
    }

    .su-header[data-sibro-hamburger].su-mobile-menu-open .su-nav .su-menus {
        display: block !important;
        overflow: visible !important;
        padding: 8px 0 !important;
    }

    .su-header[data-sibro-hamburger] .su-nav .su-menus > .su-menu {
        width: 100% !important;
        min-width: 0 !important;
    }

    .su-header[data-sibro-hamburger] .su-nav .su-menu > summary {
        justify-content: space-between !important;
    }

    .su-header[data-sibro-hamburger] .su-nav .su-menu .su-mega {
        position: static !important;
        display: block;
        max-height: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 22px 18px !important;
        background: #fff !important;
        color: #202b38 !important;
        box-shadow: none !important;
    }
}

/* Hide the announcement strip on mobile. */
@media (max-width: 767px) {
    .su-header .su-strip {
        display: none !important;
    }
}

/* Mobile signup action above the logo row. */
@media (max-width: 767px) {
    .su-header[data-sibro-hamburger] .su-nav .su-auth {
        order: -1 !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        justify-content: flex-end !important;
    }

    .su-header[data-sibro-hamburger] .su-nav .su-auth > a:not(.su-orange) {
        display: none !important;
    }
}

/* Mobile spacing and button proportions for the approved University header. */
@media (max-width: 767px) {
    .su-header[data-sibro-hamburger] .su-nav {
        padding: 8px 16px 12px !important;
        row-gap: 8px !important;
    }

    .su-header[data-sibro-hamburger] .su-nav .su-auth > .su-orange {
        flex-basis: 100px !important;
        width: 100px !important;
        max-width: 100px !important;
        min-height: 44px !important;
        padding: 10px 16px !important;
        font-size: 14px !important;
    }

    .su-header[data-sibro-hamburger] .su-mobile-toggle {
        border-radius: 8px;
    }

    .sibro-university-full-header .su-compact-search-row {
        padding: 12px 16px 0 !important;
    }

    .sibro-university-full-header .sibro-university-search {
        gap: 8px !important;
        align-items: stretch !important;
    }

    .sibro-university-full-header .sibro-university-search input[type="search"] {
        min-height: 46px !important;
        height: 46px !important;
        padding: 10px 12px !important;
        font-size: 16px !important;
        border-radius: 8px !important;
    }

    .sibro-university-full-header .sibro-university-search button {
        flex: 0 0 80px !important;
        width: 80px !important;
        min-width: 80px !important;
        min-height: 46px !important;
        padding: 10px 12px !important;
        font-size: 14px !important;
        border-radius: 8px !important;
    }

    .sibro-university-full-header .su-compact-hero {
        padding: 24px 16px 28px !important;
        gap: 24px !important;
    }

    .sibro-university-full-header .su-compact-introduction {
        gap: 18px !important;
    }

    .sibro-university-full-header .su-compact-introduction .elementor-button {
        min-height: 46px !important;
        padding: 12px 18px !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        border-radius: 30px !important;
    }
}

/* Mobile modal drawer is outside Elementor containers to avoid clipping. */
.su-mobile-drawer:not([open]) { display: none !important; }
.su-mobile-drawer {
    box-sizing: border-box;
    position: fixed;
    inset: 0 auto 0 0;
    margin: 0;
    padding: 0;
    width: min(90vw, 400px);
    max-width: 100%;
    height: 100vh;
    height: 100dvh;
    max-height: 100%;
    border: 0;
    background: #131f2e;
    color: #fff;
    font-family: Arial, sans-serif;
    box-shadow: 12px 0 40px rgba(0,0,0,.3);
    transform: translateX(-100%);
    transition: transform .22s ease;
}
.su-mobile-drawer[open] { display: flex; flex-direction: column; }
.su-mobile-drawer.su-drawer-open { transform: translateX(0); }
.su-mobile-drawer::backdrop { background: rgba(0,0,0,.48); }
.su-mobile-drawer * { box-sizing: border-box; }
.su-mobile-drawer a { text-decoration: none; color: inherit; }
.su-drawer-heading {
    display: flex; align-items: center; gap: 12px; padding: 16px;
    border-bottom: 1px solid #354357; flex-shrink: 0;
}
.su-drawer-close {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; flex-shrink: 0; padding: 0;
    font: 32px Arial, sans-serif; color: white; background: transparent;
    border: 1px solid #586373; border-radius: 8px; cursor: pointer;
}
.su-mobile-drawer .su-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.su-mobile-drawer .su-brand img { width: 140px; max-width: 58%; height: 52px; object-fit: contain; }
.su-mobile-drawer .su-brand-text { font-size: 13px; font-weight: 700; line-height: 1.4; }
.su-drawer-content { flex: 1; overflow-y: auto; min-height: 0; overscroll-behavior: contain; }
.su-mobile-drawer .su-menus { display: block !important; padding: 8px 16px 16px; }
.su-mobile-drawer .su-menu { width: 100%; }
.su-mobile-drawer summary {
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
    padding: 18px 4px; min-height: 56px; border-bottom: 1px solid #354357;
    font-size: 18px; font-weight: 700; list-style: none; cursor: pointer;
}
.su-mobile-drawer summary::-webkit-details-marker { display: none; }
.su-mobile-drawer details[open] > summary { color: #ffab6d; }
.su-mobile-drawer details[open] > summary .su-chevron { transform: rotate(180deg); }
.su-mobile-drawer .su-mega {
    position: static !important; padding: 20px 16px; background: white; color: #202b38;
    border-radius: 0 0 10px 10px;
}
.su-mobile-drawer .su-mega h2 { font-size: 20px; line-height: 1.3; margin: 0 0 14px; }
.su-mobile-drawer .su-menu-col + .su-menu-col { margin-top: 24px; }
.su-mobile-drawer .su-menu-link { display: flex; gap: 10px; padding: 12px 0; }
.su-mobile-drawer .su-menu-mark { color: #a83d00; font-size: 22px; }
.su-mobile-drawer .su-menu-link strong { display: block; font-size: 16px; line-height: 1.4; }
.su-mobile-drawer .su-menu-link small { display: block; font-size: 14px; line-height: 1.6; color: #555; margin-top: 4px; }
.su-mobile-drawer .su-feature { background: #fff2e8; padding: 18px; border-radius: 10px; margin-top: 20px; }
.su-mobile-drawer .su-kicker { display: block; font-size: 11px; font-weight: 700; color: #a83d00; margin-bottom: 12px; }
.su-mobile-drawer .su-feature p { font-size: 15px; line-height: 1.6; }
.su-mobile-drawer .su-pill {
    display: inline-flex; justify-content: center; align-items: center; min-height: 44px;
    border-radius: 30px; padding: 12px 18px; font-size: 15px; font-weight: 700;
    background: #f5f6f8; color: #131f2e;
}
.su-mobile-drawer .su-orange { background: #ff6b00; color: #131f2e; }
.su-drawer-account { flex-shrink: 0; padding: 16px; border-top: 1px solid #354357; }
.su-mobile-drawer .su-auth { display: flex !important; gap: 10px; width: 100%; }
.su-mobile-drawer .su-auth > .su-pill { display: flex !important; flex: 1; min-width: 0; }
.su-mobile-drawer :focus-visible { outline: 3px solid #ffab6d; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
    .su-mobile-drawer { transition: none; }
}

/* Sibro brand treatment for the drawer close control. */
.su-mobile-drawer .su-drawer-close {
    background: #ff6b00 !important;
    color: #131f2e !important;
    border-color: #ff6b00 !important;
}
.su-mobile-drawer .su-drawer-close:hover,
.su-mobile-drawer .su-drawer-close:active {
    background: #ff9b54 !important;
    color: #131f2e !important;
    border-color: #ff9b54 !important;
}

/* Bring mobile search closer to the logo row. */
@media (max-width: 767px) {
    .su-header[data-sibro-hamburger] .su-nav {
        padding-bottom: 4px !important;
    }
    .sibro-university-full-header .su-compact-search-row {
        padding-top: 4px !important;
        margin-top: 0 !important;
    }
}

/* Tighten the mobile search-to-heading spacing. */
@media (max-width: 767px) {
    .sibro-university-full-header .su-compact-hero {
        padding-top: 12px !important;
    }
}
