:root {
    --oe-mobile-dock-height: 0px;
}

@media (max-width: 1120px) {
    body:not(.admin-page) {
        --oe-mobile-dock-height: 0px;
    }

    body:not(.admin-page) .site-main {
        padding-bottom: calc(1rem + env(safe-area-inset-bottom) + var(--oe-mobile-dock-height));
    }

    body:not(.admin-page) .mobile-primary-dock {
        display: none !important;
    }

    body:not(.admin-page) .search-bar {
        padding-bottom: 0.78rem;
    }

    body:not(.admin-page) .search-form {
        align-items: stretch;
        padding: 0.28rem;
        border: 1px solid #d5dee7;
        border: 1px solid color-mix(in srgb, var(--line, #d5dee7) 92%, transparent);
        border-radius: 20px;
        background: #f7fbff;
        background: color-mix(in srgb, var(--surface-soft, #f8fbff) 86%, #ffffff);
        box-shadow: 0 10px 22px rgba(18, 33, 46, 0.08);
    }

    body:not(.admin-page) .search-form input,
    body:not(.admin-page) .search-form button {
        min-height: 3.05rem;
    }

    body:not(.admin-page) .search-form button {
        min-width: 6.3rem;
    }

    body:not(.admin-page) .premium-pdf-host[data-device-profile="mobile"] .ppv-stage {
        padding-bottom: calc(1rem + var(--oe-mobile-dock-height));
        padding-bottom: calc(1rem + env(safe-area-inset-bottom) + var(--oe-mobile-dock-height));
    }

    body:not(.admin-page) .premium-pdf-host[data-device-profile="mobile"] .ppv-footer-nav {
        position: sticky;
        bottom: calc(var(--oe-mobile-dock-height) + 0.28rem);
        z-index: 10;
        margin: 0 0.45rem 0.5rem;
        border: 1px solid var(--ppv-line);
        border-radius: 14px;
        box-shadow: 0 14px 24px rgba(14, 28, 41, 0.12);
        backdrop-filter: blur(9px);
        -webkit-backdrop-filter: blur(9px);
    }

    body.menu-open .premium-pdf-host[data-device-profile="mobile"] .ppv-footer-nav,
    body.mobile-focus-mode .premium-pdf-host[data-device-profile="mobile"] .ppv-footer-nav {
        bottom: 0.35rem;
    }

    body:not(.admin-page) .bhajan-page {
        padding-bottom: calc(1.5rem + var(--oe-mobile-dock-height));
    }

    body:not(.admin-page) .bhajan-controls-card {
        position: sticky;
        bottom: calc(var(--oe-mobile-dock-height) + 0.4rem);
        z-index: 9;
        box-shadow: 0 18px 36px rgba(16, 28, 39, 0.16);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    body.menu-open .bhajan-controls-card,
    body.mobile-focus-mode .bhajan-controls-card {
        bottom: 0.4rem;
    }
}

@media (max-width: 700px) {
    body:not(.admin-page) .mobile-primary-dock {
        left: 8px;
        right: 8px;
        left: max(8px, env(safe-area-inset-left));
        right: max(8px, env(safe-area-inset-right));
        gap: 0.28rem;
        padding: 0.32rem;
        border-radius: 20px;
    }

    body:not(.admin-page) .mobile-primary-dock__item {
        min-height: 60px;
        padding-inline: 0.22rem;
    }

    body:not(.admin-page) .mobile-primary-dock__label {
        font-size: 0.62rem;
    }

    body:not(.admin-page) .oeiv__hint {
        bottom: calc(var(--oe-mobile-dock-height) + 0.72rem);
    }
}

@media (max-width: 520px) {
    body:not(.admin-page) {
        --oe-mobile-dock-height: 68px;
        --oe-mobile-dock-height: calc(68px + max(10px, env(safe-area-inset-bottom)));
    }

    body:not(.admin-page) .mobile-primary-dock__icon {
        font-size: 0.98rem;
    }

    body:not(.admin-page) .oeiv__nav {
        bottom: calc(var(--oe-mobile-dock-height) + 4.2rem);
    }
}

@media (min-width: 1121px) {
    .mobile-primary-dock {
        display: none !important;
    }
}

body.dark-mode .mobile-primary-dock {
    border-color: rgba(126, 151, 179, 0.18);
    background:
        linear-gradient(180deg, rgba(18, 27, 38, 0.94), rgba(14, 22, 31, 0.94));
    box-shadow: 0 18px 40px rgba(1, 7, 13, 0.42);
}

body.dark-mode .mobile-primary-dock__item {
    color: rgba(214, 228, 241, 0.78);
}

body.dark-mode .mobile-primary-dock__item.is-active {
    background: linear-gradient(145deg, rgba(128, 168, 204, 0.18), rgba(74, 104, 133, 0.28));
    color: #f5fbff;
    box-shadow: inset 0 0 0 1px rgba(128, 168, 204, 0.18);
}
@media (max-width: 1120px) {
    body.mobile-reading-mode:not(.admin-page) {
        --oe-mobile-dock-height: 0px;
    }

    body.mobile-reading-mode .mobile-primary-dock {
        opacity: 0;
        transform: translateY(14px);
        pointer-events: none;
    }

    body.mobile-reading-mode:not(.admin-page) .site-main {
        padding-bottom: calc(1rem + env(safe-area-inset-bottom));
    }

    body.mobile-reading-mode:not(.admin-page) .premium-pdf-host[data-device-profile="mobile"] .ppv-stage {
        padding-bottom: calc(1rem + env(safe-area-inset-bottom));
    }

    body.mobile-reading-mode:not(.admin-page) .premium-pdf-host[data-device-profile="mobile"] .ppv-footer-nav {
        bottom: 0.35rem;
    }

    body.mobile-reading-mode:not(.admin-page) .newspaper-pdf-frame-full {
        min-height: 480px;
        height: min(calc(var(--app-vh, 1vh) * 82), 780px);
    }

    body.mobile-reading-mode:not(.admin-page) .pdf-viewer-wrapper {
        min-height: 72vh;
    }
}
body.mobile-priority:not(.admin-page),
html.mobile-priority body:not(.admin-page) {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow-x: hidden;
}

body.mobile-priority:not(.admin-page) .site-main {
    width: 100%;
    max-width: 100%;
    padding-left: clamp(0.75rem, 3vw, 1rem);
    padding-right: clamp(0.75rem, 3vw, 1rem);
}

body.mobile-priority:not(.admin-page) img,
body.mobile-priority:not(.admin-page) svg,
body.mobile-priority:not(.admin-page) canvas,
body.mobile-priority:not(.admin-page) iframe,
body.mobile-priority:not(.admin-page) video {
    max-width: 100%;
}

body.mobile-priority:not(.admin-page) button,
body.mobile-priority:not(.admin-page) [type="button"],
body.mobile-priority:not(.admin-page) [type="submit"],
body.mobile-priority:not(.admin-page) [type="reset"],
body.mobile-priority:not(.admin-page) a.button,
body.mobile-priority:not(.admin-page) .button,
body.mobile-priority:not(.admin-page) .btn,
body.mobile-priority:not(.admin-page) summary,
body.mobile-priority:not(.admin-page) [role="button"] {
    min-height: 44px;
    touch-action: manipulation;
}

body.mobile-priority:not(.admin-page) a,
body.mobile-priority:not(.admin-page) button,
body.mobile-priority:not(.admin-page) [role="button"],
body.mobile-priority:not(.admin-page) input,
body.mobile-priority:not(.admin-page) select,
body.mobile-priority:not(.admin-page) textarea,
body.mobile-priority:not(.admin-page) label {
    -webkit-tap-highlight-color: rgba(15, 23, 42, 0.08);
}

body.mobile-priority:not(.admin-page) input,
body.mobile-priority:not(.admin-page) select,
body.mobile-priority:not(.admin-page) textarea {
    font-size: 16px;
    min-height: 46px;
}

body.mobile-priority:not(.admin-page) table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.mobile-priority:not(.admin-page) .mobile-primary-dock {
    padding-bottom: max(0.7rem, env(safe-area-inset-bottom));
}

body.mobile-priority:not(.admin-page) .navbar {
    padding: 0.72rem 0 !important;
}

body.mobile-priority:not(.admin-page) .nav-wrapper,
body.mobile-priority:not(.admin-page) .nav-wrapper-home {
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    grid-template-areas: "hamburger logo tools" !important;
    min-height: 0 !important;
    align-items: center !important;
}

body.mobile-priority:not(.admin-page) .logo {
    grid-area: logo !important;
    justify-self: start !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.mobile-priority:not(.admin-page) .hamburger {
    grid-area: hamburger !important;
    justify-self: start !important;
    order: 0 !important;
    min-width: 48px !important;
    min-height: 48px !important;
}

body.mobile-priority:not(.admin-page) .nav-tools {
    grid-area: tools !important;
    justify-self: end !important;
    align-items: center !important;
    min-width: 0 !important;
}

body.mobile-priority:not(.admin-page) .nav-tools > * {
    min-width: 0 !important;
}

body.mobile-priority:not(.admin-page) .logo-image {
    width: clamp(136px, 40vw, 200px) !important;
    max-width: 100% !important;
    max-height: 56px !important;
    height: auto !important;
    object-fit: contain !important;
}

body.mobile-priority:not(.admin-page) .language-switcher-form {
    gap: 0.25rem !important;
}

body.mobile-priority:not(.admin-page) .language-switcher select {
    max-width: 96px !important;
    min-width: 0 !important;
    padding-right: 1.75rem !important;
}

body.mobile-priority:not(.admin-page) .language-switcher-submit {
    display: none !important;
}

body.mobile-priority:not(.admin-page) .theme-toggle {
    width: 2.5rem !important;
    height: 2.5rem !important;
}

body.mobile-priority:not(.admin-page) .premium-pdf-host[data-device-profile="mobile"] .ppv-stage {
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

body.mobile-priority:not(.admin-page) .premium-pdf-host[data-device-profile="mobile"] .ppv-toolbar,
body.mobile-priority:not(.admin-page) .premium-pdf-host[data-device-profile="mobile"] .ppv-footer-nav {
    gap: 0.5rem;
}

body.mobile-priority:not(.admin-page) .premium-pdf-host[data-device-profile="mobile"] .ppv-page-shell {
    border-radius: 16px;
}

body.mobile-priority:not(.admin-page) .newspaper-pdf-frame-full,
body.mobile-priority:not(.admin-page) .pdf-viewer-wrapper {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 1120px) {
    body.mobile-priority:not(.admin-page) .nav-menu,
    body.mobile-priority:not(.admin-page) .nav-drawer,
    body.mobile-priority:not(.admin-page) .mobile-menu-panel {
        max-height: min(70vh, 640px);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    body.mobile-priority:not(.admin-page) .article-content,
    body.mobile-priority:not(.admin-page) .entry-content,
    body.mobile-priority:not(.admin-page) .post-content,
    body.mobile-priority:not(.admin-page) .news-content,
    body.mobile-priority:not(.admin-page) .content-body {
        font-size: 1rem;
        line-height: 1.75;
        word-break: break-word;
    }
}
