/**
 * UYN layout hotfix — full-width content/footer + footer popover position.
 * Loaded via $THEME->sheets (no SCSS compile required).
 */

@media (min-width: 768px) {
    body.limitedwidth:not(.pagelayout-login) #page.drawers .main-inner,
    body.limitedwidth:not(.pagelayout-login) #page.drawers .footer-popover,
    .pagelayout-standard:not(.pagelayout-login) #page.drawers .main-inner,
    .pagelayout-standard:not(.pagelayout-login) #page.drawers .footer-popover {
        max-width: none;
        width: 100%;
    }

    body.limitedwidth:not(.pagelayout-login) .header-maxwidth,
    .pagelayout-standard:not(.pagelayout-login) .header-maxwidth {
        max-width: none;
        width: 100%;
    }

    body:not(.pagelayout-login).limitedwidth #region-main-box,
    body:not(.pagelayout-login).limitedwidth #region-main,
    body:not(.pagelayout-login).pagelayout-standard #region-main-box,
    body:not(.pagelayout-login).pagelayout-standard #region-main {
        max-width: none;
        width: 100%;
    }
}

.uyn-footer-main .container-lg {
    max-width: none;
    width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.uyn-footer-main {
    padding: 1.25rem 0 1rem !important;
}

.uyn-footer-grid {
    gap: 1rem !important;
}

@media (min-width: 992px) {
    .uyn-footer-grid {
        gap: 1rem 1.5rem !important;
    }
}

.uyn-footer-logo-link {
    margin-bottom: 0.75rem !important;
}

.uyn-footer-column-title {
    margin-bottom: 0.75rem !important;
}

.uyn-footer-custom {
    line-height: 1.45;
    margin-bottom: 0.75rem !important;
}

.uyn-footer-bottom {
    margin-top: 1rem !important;
    padding-top: 0.75rem !important;
}

.uyn-footer .btn-footer-popover {
    position: fixed !important;
    bottom: 2rem !important;
    right: 2rem !important;
    left: auto !important;
    top: auto !important;
}

.uyn-footer .btn-footer-communication {
    position: fixed !important;
    bottom: 5rem !important;
    right: 2rem !important;
    left: auto !important;
    top: auto !important;
}

.hasstickyfooter .uyn-footer .btn-footer-popover {
    bottom: calc(1rem + var(--stickyfooter-height, 0px)) !important;
}

.hasstickyfooter .uyn-footer .btn-footer-communication {
    bottom: calc(4rem + var(--stickyfooter-height, 0px)) !important;
}

/* Skill nav — outer pill wrapper (matches course nav). */
.uyn-skill-nav:not(.uyn-course-nav) .uyn-skill-nav-list {
    padding: 0.25rem 0.35rem;
    border: 1px solid var(--uyn-neutral-200, #e5e7eb);
    border-radius: 9999px;
    background: var(--uyn-neutral-50, #f9fafb);
}

.uyn-skill-nav:not(.uyn-course-nav) .uyn-skill-pill {
    min-height: 30px;
    padding: 0.35rem 0.85rem;
    border: 1px solid transparent;
    background: transparent;
    width: auto;
    height: auto;
}

/* Course nav — vertically centered in navbar. */
.uyn-navbar-inner {
    align-items: center;
}

.uyn-course-nav {
    display: flex;
    align-items: center;
    align-self: center;
}

.uyn-course-nav .moremenu.navigation {
    display: flex;
    align-items: center;
}

.uyn-course-nav .more-nav.nav-tabs {
    min-height: 2.625rem;
    align-items: center;
}

/* Learning path workspace — flex fill inside fixed region-main (format_uynpath). */
@media (min-width: 768px) {
    body.format-uynpath.uyn-course-experience-v3 {
        --uynpath-region-main-height: 1600px;
    }

    body.format-uynpath.uyn-course-experience-v3 #page-header .me-auto.d-flex.flex-column > div:first-child {
        display: none !important;
    }

    body.format-uynpath.uyn-course-experience-v3.uyn-path-fullwidth #page.drawers {
        padding-left: 0;
        padding-right: 0;
    }

    body.format-uynpath.uyn-course-experience-v3.uyn-path-fullwidth #page.drawers div[role="main"] {
        padding-left: 0;
        padding-right: 0;
    }

    body.format-uynpath.uyn-course-experience-v3 #page.drawers .main-inner {
        max-width: none;
        width: 100%;
        margin-top: 0;
        margin-bottom: 0;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }

    body.format-uynpath.uyn-course-experience-v3 #region-main-box {
        padding-left: 0;
        padding-right: 0;
    }

    body.format-uynpath.uyn-course-experience-v3 #page-content {
        padding-bottom: 0 !important;
    }

    body.format-uynpath.uyn-course-experience-v3 #page.drawers {
        display: flex;
        flex-direction: column;
    }

    body.format-uynpath.uyn-course-experience-v3 #page-footer.uyn-footer {
        margin-top: 0;
        flex-shrink: 0;
    }

    body.format-uynpath.uyn-course-experience-v3 #region-main {
        box-sizing: border-box;
        height: var(--uynpath-region-main-height);
        min-height: var(--uynpath-region-main-height);
        max-height: var(--uynpath-region-main-height);
        padding-bottom: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    body.format-uynpath.uyn-course-experience-v3 #region-main > div {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    body.format-uynpath.uyn-course-experience-v3 #region-main .course-content {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    body.format-uynpath.uyn-course-experience-v3 #region-main .uyn-path {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    body.format-uynpath.uyn-course-experience-v3 .uyn-path-hero,
    body.format-uynpath.uyn-course-experience-v3 .uyn-path-command {
        flex-shrink: 0;
    }

    .format-uynpath.uyn-course-experience-v3 .uyn-path-workspace {
        align-items: stretch;
        flex: 1 1 0;
        min-height: 0;
        height: 100%;
        max-height: 100%;
        grid-template-rows: minmax(0, 1fr);
        overflow: hidden;
    }

    .format-uynpath.uyn-course-experience-v3 .uyn-path-main {
        display: flex;
        flex-direction: column;
        max-height: 100%;
        height: 100%;
        overflow: hidden;
        min-height: 0;
    }

    .format-uynpath.uyn-course-experience-v3 .uyn-path-stages {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding-right: 0.25rem;
        scrollbar-width: thin;
    }

    .format-uynpath.uyn-course-experience-v3 .uyn-path-sidebar {
        position: relative;
        top: auto;
        display: flex;
        flex-direction: column;
        width: 100%;
        min-width: 0;
        max-height: 100%;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    .format-uynpath.uyn-course-experience-v3 .uyn-path-sidebar__body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }

    .format-uynpath.uyn-course-experience-v3 .uyn-path-studypanel {
        position: relative;
        top: auto;
        width: 100%;
        min-width: 0;
        max-height: 100%;
        height: 100%;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }
}

/* Login split layout — full-viewport columns with flex-centered content. */
@media (min-width: 992px) {
    body.pagelayout-login #page-wrapper {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
    }

    body.pagelayout-login #page {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
    }

    body.pagelayout-login #page-content.uyn-login-layout {
        flex: 1 1 auto !important;
        min-height: 100% !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
        align-items: stretch !important;
    }

    body.pagelayout-login #page-footer {
        display: none !important;
    }

    body.pagelayout-login .uyn-login-hero.col-lg-6 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
        position: relative;
        top: auto;
        min-height: 100% !important;
        max-height: none !important;
        align-self: stretch !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 1;
    }

    body.pagelayout-login #region-main.uyn-login-form-panel {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
        min-height: 100% !important;
        max-height: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow-y: visible;
    }

    body.pagelayout-login .uyn-login-hero-content,
    body.pagelayout-login .login-layout-left-content {
        margin-bottom: 0 !important;
    }

    body.pagelayout-login #region-main-box.uyn-login-form-panel-inner,
    body.pagelayout-login .uyn-login-container {
        max-width: 32rem !important;
        width: 100% !important;
        margin: 0;
    }

    body.pagelayout-login .uyn-login-container {
        padding: 1.25rem 1.75rem;
    }

    body.pagelayout-login .uyn-loginform-logo {
        margin-bottom: 0.75rem !important;
    }

    body.pagelayout-login .uyn-loginform-logo img,
    body.pagelayout-login #logoimage {
        max-height: 2.25rem;
    }

    body.pagelayout-login .uyn-loginform-title {
        font-size: 1.625rem;
        margin-bottom: 0.375rem;
    }

    body.pagelayout-login .uyn-loginform-subtitle {
        margin-bottom: 0.875rem !important;
        font-size: 0.9375rem;
    }

    body.pagelayout-login .uyn-loginform-field.mb-3,
    body.pagelayout-login .uyn-loginform-forgot.mb-3 {
        margin-bottom: 0.625rem !important;
    }

    body.pagelayout-login .uyn-loginform-submit.mb-3 {
        margin-bottom: 0.75rem !important;
    }
}
