.hero-gradient {
    background: linear-gradient(135deg, rgba(45, 10, 49, 0.06) 0%, rgba(166, 139, 91, 0.06) 100%);
}

.site-header {
    font-family: "Noto Serif", Georgia, "Times New Roman", serif;
}

.site-header-nav,
.site-header-nav-mobile {
    font-family:
        ui-sans-serif,
        Inter,
        system-ui,
        sans-serif;
}

.site-header-actions {
    position: relative;
    z-index: 2;
}

.site-header--with-search + *,
.site-header--with-search ~ * {
    scroll-margin-top: 9rem;
}

@media (min-width: 1024px) {
    .site-header--with-search .site-header-nav-mobile {
        display: none;
    }
}

@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

.library-page .library-select,
.library-search-input {
    font-family:
        ui-sans-serif,
        Inter,
        system-ui,
        sans-serif;
}

/* Offset fixed header: brand row + search row + mobile nav (< lg) */
.library-main {
    padding-top: 14.5rem;
}

@media (min-width: 1024px) {
    .library-main {
        padding-top: 11.5rem;
    }
}

.uploaders-main {
    padding-top: 14.5rem;
}

@media (min-width: 1024px) {
    .uploaders-main {
        padding-top: 11.5rem;
    }
}

.library-page-header {
    padding-top: 0.5rem;
}

.library-toolbar label span {
    font-family:
        ui-sans-serif,
        Inter,
        system-ui,
        sans-serif;
}

.library-table tbody tr.library-table-row:hover {
    background-color: rgba(45, 10, 49, 0.03);
}

.site-footer .site-footer-brand {
    font-family: "Noto Serif", Georgia, "Times New Roman", serif;
}

.home-hero {
    background:
        linear-gradient(135deg, rgba(45, 10, 49, 0.88) 0%, rgba(45, 10, 49, 0.72) 45%, rgba(166, 139, 91, 0.35) 100%),
        url("/img/hero.jpg") center / cover no-repeat;
}

.home-stat {
    backdrop-filter: blur(8px);
}

.seasons-page .seasons-page-header {
    padding-top: 11.5rem;
}

@media (min-width: 1024px) {
    .seasons-page .seasons-page-header {
        padding-top: 7.5rem;
    }
}

/* Liturgical seasons */
.seasons-panel {
    background: #ffffff;
    box-shadow: 0 20px 50px rgba(45, 10, 49, 0.08);
}

.seasons-panel-header {
    background:
        linear-gradient(165deg, rgba(45, 10, 49, 0.97) 0%, rgba(45, 10, 49, 0.9) 55%, rgba(166, 139, 91, 0.4) 100%);
    position: relative;
}

.seasons-panel-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 15% 20%, rgba(166, 139, 91, 0.2) 0%, transparent 45%),
        radial-gradient(circle at 85% 80%, rgba(255, 255, 255, 0.06) 0%, transparent 40%);
    pointer-events: none;
}

.seasons-panel-header > * {
    position: relative;
    z-index: 1;
}

.seasons-panel-body {
    background: linear-gradient(180deg, #faf9fb 0%, #ffffff 100%);
}

.season-card {
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(45, 10, 49, 0.05);
}

.season-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(45, 10, 49, 0.12);
    border-color: rgba(166, 139, 91, 0.35);
}

.season-card-glow {
    background: radial-gradient(circle at 80% 20%, rgba(166, 139, 91, 0.12) 0%, transparent 55%);
}

.season-card-icon {
    background: rgba(45, 10, 49, 0.06);
    color: #a68b5b;
}

.season-card-period {
    background: rgba(45, 10, 49, 0.06);
    color: rgba(45, 10, 49, 0.55);
}

.season-card-cta {
    color: #a68b5b;
}

.season-card--advent .season-card-icon {
    background: rgba(124, 58, 237, 0.1);
    color: #6d28d9;
}

.season-card--lent .season-card-icon {
    background: rgba(45, 10, 49, 0.1);
    color: #2d0a31;
}

.season-card--ordinary .season-card-icon {
    background: rgba(22, 163, 74, 0.1);
    color: #15803d;
}

.season-card--marian .season-card-icon {
    background: rgba(166, 139, 91, 0.18);
    color: #8f734a;
}

.season-category-pill:focus-visible {
    outline: 2px solid rgba(166, 139, 91, 0.6);
    outline-offset: 2px;
}

.search-suggestions {
    max-height: 18rem;
    overflow-y: auto;
}

.search-suggestion-item:hover,
.search-suggestion-item.is-active {
    background-color: rgba(45, 10, 49, 0.05);
}

.song-lyrics {
    background: linear-gradient(180deg, #ffffff 0%, #faf9fb 100%);
}
