/* =========================================================
   China TA · MEDIA / GOODS / LYRICS
   Unified fixed archive header

   让后半三大栏目与 NEWS / DISCOGRAPHY / LIVE 保持同一套
   顶部视觉逻辑：固定、半透明、内容从下方滚过。
========================================================= */

:root {
    --archive-ui-gold: #b89b68;
    --archive-ui-header-bg: rgba(7, 7, 7, 0.90);
    --archive-ui-header-line: rgba(184, 155, 104, 0.14);
}

/* ---------------------------------------------------------
   Fixed archive bar
--------------------------------------------------------- */

.media-site-header,
.goods-site-header,
.lyrics-site-header {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;

    background: var(--archive-ui-header-bg);
    border-bottom: 1px solid var(--archive-ui-header-line);

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);

    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
}

.media-brand,
.goods-brand,
.lyrics-brand {
    flex: 0 0 auto;
}

.media-mini-nav,
.goods-mini-nav,
.lyrics-mini-nav {
    min-width: 0;
    white-space: nowrap;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.media-mini-nav a,
.goods-mini-nav a,
.lyrics-mini-nav a {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* ---------------------------------------------------------
   Archive hero
   Header 脱离文档流后，在 hero 内留出呼吸空间；背景处理与
   音乐作品页保持同一视觉家族。
--------------------------------------------------------- */

.media-hero,
.goods-hero,
.lyrics-hero {
    position: relative;
    overflow: hidden;

    padding-top: 180px;

    background:
        radial-gradient(
            circle at 77% 26%,
            rgba(184, 155, 104, 0.085),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #070707 0%,
            #0b0b0b 100%
        );
}

.media-hero::after,
.goods-hero::after,
.lyrics-hero::after {
    content: "A";

    position: absolute;
    right: 3vw;
    bottom: -9vw;

    color: rgba(255, 255, 255, 0.015);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(240px, 32vw, 520px);
    font-style: italic;
    line-height: .8;

    pointer-events: none;
}

.media-hero-grid,
.goods-hero-grid,
.lyrics-hero-grid {
    position: relative;
    z-index: 1;
}

/* ---------------------------------------------------------
   Detail pages
   原先 header 在普通文档流中；固定后补回对应顶部空间。
--------------------------------------------------------- */

body[data-page="detail"] .media-detail-shell,
body[data-page="detail"] .goods-detail-shell,
body[data-page="detail"] .lyrics-detail-shell {
    padding-top: clamp(190px, 14vw, 238px);
}

/* ---------------------------------------------------------
   Tablet / mobile
--------------------------------------------------------- */

@media (max-width: 1080px) {
    .media-site-header,
    .goods-site-header,
    .lyrics-site-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .media-mini-nav,
    .goods-mini-nav,
    .lyrics-mini-nav {
        width: 100%;
        justify-content: flex-start;
        gap: 24px;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: none;
    }

    .media-mini-nav::-webkit-scrollbar,
    .goods-mini-nav::-webkit-scrollbar,
    .lyrics-mini-nav::-webkit-scrollbar {
        display: none;
    }
}

@media (max-width: 760px) {
    .media-site-header,
    .goods-site-header,
    .lyrics-site-header {
        min-height: 0;
        padding: 20px 18px 16px;
    }

    .media-mini-nav,
    .goods-mini-nav,
    .lyrics-mini-nav {
        margin-right: -18px;
        padding-right: 18px;
        gap: 22px;
        font-size: 10px;
    }

    .media-hero,
    .goods-hero,
    .lyrics-hero {
        padding-top: 154px;
    }

    .media-hero::after,
    .goods-hero::after,
    .lyrics-hero::after {
        right: -8vw;
        bottom: -16vw;
        font-size: clamp(220px, 72vw, 360px);
    }

    body[data-page="detail"] .media-detail-shell,
    body[data-page="detail"] .goods-detail-shell,
    body[data-page="detail"] .lyrics-detail-shell {
        padding-top: 166px;
    }
}

@media (max-width: 420px) {
    .media-site-header,
    .goods-site-header,
    .lyrics-site-header {
        padding-right: 15px;
        padding-left: 15px;
    }

    .media-mini-nav,
    .goods-mini-nav,
    .lyrics-mini-nav {
        margin-right: -15px;
        padding-right: 15px;
    }

    .media-hero,
    .goods-hero,
    .lyrics-hero {
        padding-top: 150px;
    }
}
