/* Site-specific article footer CTA */
.footer-game-cta {
    position: relative;
    text-align: center;
}

.footer-game-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 180px;
    padding: 15px 28px;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-decoration: none;
    background: #9b1120;
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(155, 17, 32, 0.22);
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.footer-game-cta__button:hover {
    color: #fff;
    background: #7f0e1a;
    box-shadow: 0 12px 24px rgba(155, 17, 32, 0.3);
    transform: translateY(-2px);
}

.footer-game-cta__button span {
    font-size: 2.1rem;
    line-height: 1;
}

/* ===== 鬼編娛樂城觀察室：首頁 ===== */
/* 首頁使用 qy-home-hero；即使後台保留「顯示出版品封面」，也不顯示 Casper 的空白封面區。 */
body.home-template .site-header-content { display: none; }
.qy-home { overflow: hidden; color: #1d2a3d; background: #fffdf9; }
.qy-home-hero { position: relative; isolation: isolate; display: grid; min-height: min(620px, 68vw); overflow: hidden; background: #1d2a3d; }
.qy-home-hero::after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(15,25,42,.88) 0%, rgba(15,25,42,.62) 43%, rgba(15,25,42,.13) 76%, rgba(15,25,42,.18) 100%); }
.qy-home-hero__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.qy-home-hero__inner { display: flex; align-items: center; width: min(1180px, calc(100% - 64px)); padding: 76px 0; }
.qy-home-hero__copy { max-width: 625px; color: #fff; }
.qy-home-hero__eyebrow, .qy-home-kicker { margin: 0 0 10px; color: #b8c9e6; font-size: 1.25rem; font-weight: 800; letter-spacing: .13em; }
.qy-home-hero h1 { margin: 0; color: #fff; font-size: clamp(4.5rem, 7vw, 8rem); line-height: 1.05; letter-spacing: -.06em; }
.qy-home-hero__lead { max-width: 560px; margin: 24px 0 0; color: rgba(255,255,255,.9); font-size: clamp(1.7rem, 2vw, 2.05rem); line-height: 1.8; }
.qy-home-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.qy-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 21px; border: 1px solid transparent; border-radius: 999px; font-size: 1.55rem; font-weight: 800; text-decoration: none; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.qy-button:hover { transform: translateY(-2px); }
.qy-button--light { color: #1d2a3d; background: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.15); }
.qy-button--outline { color: #fff; border-color: rgba(255,255,255,.75); background: rgba(255,255,255,.08); }
.qy-button--outline:hover { color: #1d2a3d; background: #fff; }
.qy-home-section { padding: 88px 0; }
.qy-home-section > .inner { width: min(1180px, calc(100% - 64px)); }
.qy-home-heading { max-width: 710px; margin-bottom: 34px; }
.qy-home-heading h2, .qy-editor-note h2, .qy-home-game h2 { margin: 0; color: #8f1322; font-size: clamp(3.1rem, 4vw, 4.7rem); line-height: 1.15; letter-spacing: -.045em; }
.qy-home-heading h2::after { display: block; width: 58px; height: 3px; margin-top: 16px; background: linear-gradient(90deg, #8f1322, #d4a650); content: ""; }
.qy-home-heading > p:not(.qy-home-kicker) { margin: 15px 0 0; color: #606878; font-size: 1.72rem; line-height: 1.7; }
.qy-home-heading--row { display: flex; align-items: end; justify-content: space-between; gap: 20px; max-width: none; }
.qy-text-link { padding-bottom: 4px; color: #9b1120; border-bottom: 1px solid currentColor; font-size: 1.5rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.qy-home-kicker { color: #a51626; }
.qy-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.qy-category-card { position: relative; display: flex; flex-direction: column; min-height: 332px; padding: 73px 28px 27px; overflow: visible; color: #1d2a3d; border: 1px solid #d7af71; border-radius: 3px 3px 15px 15px; background: linear-gradient(135deg, #fffdf8, #f7ecdc); box-shadow: 6px 7px 0 #e8d6be, 0 14px 26px rgba(74,44,32,.12); text-decoration: none; transition: transform .22s ease, box-shadow .22s ease; }
.qy-category-card:hover { color: #1d2a3d; box-shadow: 8px 10px 0 #dcc19a, 0 20px 34px rgba(74,44,32,.18); transform: translateY(-6px); }
.qy-category-card::before { position: absolute; z-index: 0; top: 19px; right: 18px; bottom: 17px; left: 18px; border: 1px solid rgba(174,125,50,.35); border-radius: 2px 2px 11px 11px; content: ""; pointer-events: none; }
.qy-category-card::after { position: absolute; z-index: 0; top: 47px; right: 28px; bottom: 54px; left: 28px; border-top: 1px dotted #c29350; border-bottom: 1px dotted #c29350; content: ""; pointer-events: none; }
.qy-category-card__tab { position: absolute; z-index: 2; top: -16px; left: 18px; min-width: calc(100% - 36px); padding: 10px 13px; color: #fff8e6; border: 1px solid #4a1018; border-radius: 9px 9px 3px 3px; background: linear-gradient(90deg, #651522, #8c2631); box-shadow: 3px 3px 0 #d8b275; font-size: 1.22rem; font-weight: 800; letter-spacing: .08em; text-align: center; }
.qy-category-card__tab span { margin-right: 7px; color: #f5cb75; }
.qy-category-card__icon { position: relative; z-index: 1; display: grid; width: 58px; height: 58px; margin: 0 auto 17px; place-items: center; color: #9b1120; border: 1px solid #ba8c47; border-radius: 50%; background: #fffaf1; box-shadow: inset 0 0 0 4px #f0e0c8; font-size: 2.7rem; line-height: 1; }
.qy-category-card__number { position: absolute; z-index: 0; top: 68px; right: 24px; color: rgba(158,110,46,.14); font-family: Georgia, serif; font-size: 7.5rem; line-height: 1; }
.qy-category-card h3 { position: relative; z-index: 1; margin: 0 0 13px; color: #1d2a3d; font-size: 2.32rem; line-height: 1.2; text-align: center; white-space: nowrap; }
.qy-category-card p { position: relative; z-index: 1; margin: 0; color: #59616e; font-size: 1.42rem; line-height: 1.7; }
.qy-category-card__link { position: relative; z-index: 1; display: flex; justify-content: space-between; margin-top: auto; padding-top: 17px; color: #8f1322; font-size: 1.32rem; font-weight: 800; }
.qy-category-card__link span { font-size: 1.7rem; line-height: .8; }
.qy-home-section--author { padding-top: 0; }
.qy-author-intro { position: relative; display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: 26px 36px; overflow: hidden; color: #fffdf8; border: 1px solid #b98a43; border-radius: 4px; background: linear-gradient(110deg, #5f111b, #8e2330 58%, #49121e); box-shadow: 0 14px 26px rgba(76,19,28,.15); text-decoration: none; }
.qy-author-intro::after { position: absolute; top: -72px; right: 13%; width: 240px; height: 240px; border: 1px solid rgba(243,198,112,.22); border-radius: 50%; content: ""; }
.qy-author-intro:hover { color: #fffdf8; background: linear-gradient(110deg, #4d0d16, #7b1d2a 58%, #3f0e19); }
.qy-author-intro__portrait { position: relative; z-index: 1; display: grid; width: 108px; height: 108px; place-items: center; overflow: hidden; color: #f8d992; border: 2px solid #efc96e; border-radius: 50%; background: #3c0d18; box-shadow: 0 0 0 5px rgba(255,255,255,.12); font-size: 4.2rem; font-weight: 900; }
.qy-author-intro__portrait img { width: 100%; height: 100%; object-fit: cover; }
.qy-author-intro__copy { position: relative; z-index: 1; }
.qy-author-intro .qy-home-kicker { margin-bottom: 5px; color: #f5cb75; font-size: 1.15rem; }
.qy-author-intro h2 { margin: 0; color: #fff8e6; font-size: clamp(2.5rem, 3.2vw, 3.8rem); line-height: 1.2; white-space: nowrap; }
.qy-author-intro p:not(.qy-home-kicker) { max-width: 720px; margin: 9px 0 0; color: rgba(255,248,230,.82); font-size: 1.5rem; line-height: 1.65; }
.qy-author-intro__link { position: relative; z-index: 1; color: #f8d992; border-bottom: 1px solid currentColor; font-size: 1.45rem; font-weight: 800; white-space: nowrap; }
.qy-home-section--note { padding: 0 0 88px; }
.qy-editor-note { position: relative; padding: 42px 42px 44px; overflow: hidden; border: 1px solid #dfbd7f; border-radius: 4px; background: linear-gradient(135deg, #fffdf8, #fcf4e8); box-shadow: 0 13px 28px rgba(70,40,25,.08); }
.qy-editor-note::before { position: absolute; top: 0; right: 0; left: 0; height: 7px; background: linear-gradient(90deg, #741521, #b43840 50%, #741521); content: ""; }
.qy-editor-note__heading { max-width: 850px; margin: 0 auto 31px; padding: 0; text-align: center; }
.qy-editor-note h2 { color: #8f1322; font-size: clamp(2.7rem, 3.5vw, 4.1rem); white-space: nowrap; }
.qy-editor-note h2::after { display: block; width: 48px; height: 3px; margin: 15px auto; background: #c99a4a; content: ""; }
.qy-editor-note .qy-home-kicker { color: #a51626; }
.qy-editor-note__heading > p:last-child { margin: 0; color: #606878; font-size: 1.62rem; line-height: 1.65; }
.qy-editor-note__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 0; padding: 0; list-style: none; }
.qy-editor-note__list li { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 15px; min-height: 190px; padding: 24px 21px 21px; border: 1px solid #dfbd7f; background: linear-gradient(135deg, #fffdf9, #f9efe0); }
.qy-editor-note__list li:first-child { border-radius: 12px; }
.qy-editor-note__list li:last-child { border-right: 1px solid #dfbd7f; border-radius: 12px; }
.qy-editor-note__step { position: relative; z-index: 1; display: grid; width: 47px; height: 47px; place-items: center; color: #fff8e6; border: 1px solid #7f1825; border-radius: 2px; background: #8f1322; box-shadow: 3px 3px 0 #d8b275; font-size: 2.1rem; font-weight: 900; }
.qy-editor-note__list li > div { position: relative; z-index: 1; }
.qy-editor-note__list h3 { margin: 3px 0 10px; color: #1d2a3d; font-size: 1.85rem; line-height: 1.35; word-break: keep-all; }
.qy-editor-note__list p { margin: 0; color: #59616e; font-size: 1.42rem; line-height: 1.72; }
/* 首頁精選文章使用獨立卡片，不受 Casper 的 Feed Layout 設定干擾。 */
.qy-featured-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.qy-featured-card { display: flex; min-width: 0; overflow: hidden; border: 1px solid #ead9c9; border-radius: 12px; background: #fff; box-shadow: 0 9px 20px rgba(29,42,61,.07); transition: transform .2s ease, box-shadow .2s ease; }
.qy-featured-card:hover { box-shadow: 0 14px 27px rgba(29,42,61,.13); transform: translateY(-4px); }
.qy-featured-card__image { position: relative; display: block; width: 100%; overflow: hidden; flex: 0 0 auto; aspect-ratio: 16 / 9; background: #f2e8db; }
.qy-featured-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.qy-featured-card:hover .qy-featured-card__image img { transform: scale(1.025); }
.qy-featured-card__content { display: flex; min-height: 178px; flex: 1; flex-direction: column; padding: 17px 18px 16px; }
.qy-featured-card__content-link { display: block; color: inherit; text-decoration: none; }
.qy-featured-card__tag { display: inline-flex; padding: 4px 8px; color: #8f1322; border: 1px solid #e4c496; border-radius: 3px; background: #fff7e8; font-size: 1.18rem; font-weight: 800; line-height: 1.15; }
.qy-featured-card h3 { display: -webkit-box; margin: 10px 0 0; overflow: hidden; color: #1d2a3d; font-size: 2.05rem; line-height: 1.32; -webkit-box-orient: vertical; -webkit-line-clamp: 2; word-break: keep-all; }
.qy-featured-card__content-link:hover h3 { color: #8f1322; }
.qy-featured-card p { display: -webkit-box; margin: 10px 0 0; overflow: hidden; color: #606878; font-size: 1.4rem; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 2; word-break: keep-all; }
.qy-featured-card__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 13px; color: #8c93a0; font-size: 1.2rem; line-height: 1.3; }
.qy-featured-card__meta span::before { margin-right: 8px; color: #c4a67a; content: "•"; }
.qy-editorial-feed { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(166px, auto)) auto; gap: 18px; }
.qy-editorial-feature { grid-column: span 2; grid-row: span 2; overflow: hidden; border: 1px solid #e4cba7; border-radius: 12px; background: #fff; box-shadow: 0 10px 24px rgba(29,42,61,.07); }
.qy-editorial-feature__image { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 8.4; background: #f2e8db; }
.qy-editorial-feature__image img, .qy-editorial-card__image img { width: 100%; height: 100%; object-fit: contain; background: #f6eee2; transition: opacity .2s ease; }
.qy-editorial-feature:hover img, .qy-editorial-card:hover img { opacity: .94; }
.qy-editorial-feature__content { padding: 20px 23px 18px; }
.qy-editorial-feature h3, .qy-editorial-card h3 { margin: 10px 0 0; font-size: 2.65rem; line-height: 1.27; word-break: keep-all; }
.qy-editorial-feature h3 a, .qy-editorial-card h3 a { color: #1d2a3d; text-decoration: none; }
.qy-editorial-feature h3 a:hover, .qy-editorial-card h3 a:hover { color: #8f1322; }
.qy-editorial-feature p, .qy-editorial-card p { display: -webkit-box; overflow: hidden; margin: 12px 0 0; color: #606878; font-size: 1.48rem; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 2; word-break: keep-all; }
.qy-post-tag { display: inline-flex; padding: 5px 8px; color: #8f1322; border: 1px solid #e4c496; border-radius: 3px; background: #fff7e8; font-size: 1.2rem; font-weight: 800; line-height: 1; }
.qy-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 15px; color: #8c93a0; font-size: 1.22rem; }
.qy-post-meta span::before { margin-right: 8px; color: #c4a67a; content: "•"; }
.qy-post-meta a { margin-left: auto; color: #9b1120; font-weight: 800; text-decoration: none; }
.qy-editorial-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #ead9c9; border-radius: 10px; background: #fff; box-shadow: 0 9px 20px rgba(29,42,61,.06); transition: transform .2s ease, box-shadow .2s ease; }
.qy-editorial-card:hover { box-shadow: 0 14px 27px rgba(29,42,61,.13); transform: translateY(-4px); }
.qy-editorial-card__image { display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #f2e8db; }
.qy-editorial-card__content { display: flex; flex: 1; flex-direction: column; padding: 17px 18px; }
.qy-editorial-card h3 { display: -webkit-box; overflow: hidden; font-size: 2.02rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.qy-editorial-card p { font-size: 1.38rem; -webkit-line-clamp: 2; }
.qy-editorial-card .qy-post-meta { margin-top: auto; padding-top: 13px; }
.qy-editorial-card--side { display: grid; grid-template-columns: 43% minmax(0, 1fr); min-height: 0; }
.qy-editorial-card--side .qy-editorial-card__image { height: 100%; min-height: 166px; aspect-ratio: auto; }
.qy-editorial-card--side .qy-editorial-card__content { padding: 16px 15px; }
.qy-editorial-card--side h3 { margin-top: 8px; font-size: 1.82rem; -webkit-line-clamp: 2; }
.qy-editorial-card--side p { display: none; }
.qy-editorial-card--side .qy-post-meta { padding-top: 8px; font-size: 1.15rem; }
.qy-editorial-card--bottom { grid-row: 3; }
.qy-editorial-card--bottom .qy-editorial-card__image { aspect-ratio: 16 / 8.5; }

/* 800 × 500 圖片專用：橫式主打＋三欄文章，避免窄欄裁圖與留白 */
.qy-editorial-feed { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; gap: 22px; }
.qy-editorial-feature { display: grid; grid-column: 1 / -1; grid-row: auto; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: stretch; overflow: hidden; border-radius: 24px; }
.qy-editorial-feature__image { align-self: stretch; min-height: 315px; aspect-ratio: auto; border-radius: 20px 0 0 20px; }
.qy-editorial-feature__image img, .qy-editorial-card__image img { object-fit: cover; background: #f6eee2; }
.qy-editorial-feature__content { display: flex; flex-direction: column; justify-content: center; padding: 34px 34px 30px; }
.qy-editorial-feature h3 { font-size: clamp(2.6rem, 3vw, 3.6rem); }
.qy-editorial-feature p { -webkit-line-clamp: 3; }
.qy-editorial-card { border-radius: 18px; }
.qy-editorial-card__image { aspect-ratio: 8 / 5; border-radius: 17px 17px 0 0; }
.qy-editorial-card__content { padding: 18px 19px 19px; }
.qy-editorial-card h3 { font-size: 2.05rem; }
.qy-home-section--latest { padding-top: 0; }
.qy-home-empty { margin: 0; color: #606878; font-size: 1.65rem; }
.qy-home-game { padding-bottom: 72px; color: #fffdf8; background: #fffdf9; }
.qy-home-game__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; width: min(1180px, calc(100% - 64px)); padding: 38px 46px; border: 1px solid #b98a43; border-radius: 7px; background: linear-gradient(105deg, #641420, #9a2935 54%, #671521); box-shadow: 0 13px 25px rgba(76,19,28,.14); }
.qy-home-game p { margin: 0 0 8px; color: #f5cb75; font-size: 1.35rem; font-weight: 800; letter-spacing: .11em; }
.qy-home-game h2 { color: #fff; font-size: clamp(2.7rem, 3.5vw, 4.1rem); }
.qy-button--game { flex: 0 0 auto; color: #7c1724; background: #fff7e6; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.qy-button--game:hover { color: #651420; background: #f8d992; }
@media (max-width: 1000px) { .qy-category-grid { grid-template-columns: repeat(2, 1fr); } .qy-featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .qy-editorial-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; } .qy-editorial-feature { grid-column: span 2; grid-row: auto; } .qy-editorial-card--side, .qy-editorial-card--bottom { display: flex; grid-row: auto; } .qy-editorial-card--side .qy-editorial-card__image { height: auto; min-height: 0; aspect-ratio: 16 / 9; } .qy-editorial-card--side .qy-editorial-card__content { padding: 17px 18px; } .qy-editorial-card--side h3 { font-size: 2.02rem; } .qy-editorial-card--side p { display: -webkit-box; } }
@media (max-width: 700px) {
    .qy-home-hero { min-height: 590px; } .qy-home-hero::after { background: linear-gradient(90deg, rgba(15,25,42,.86), rgba(15,25,42,.59)), linear-gradient(0deg, rgba(15,25,42,.55), transparent); }
    .qy-home-hero__inner, .qy-home-section > .inner, .qy-home-game__inner { width: calc(100% - 32px); } .qy-home-hero__inner { align-items: end; padding: 52px 0; } .qy-home-hero h1 { font-size: clamp(2.85rem, 8.4vw, 3.5rem); letter-spacing: -.08em; white-space: nowrap; } .qy-home-hero__lead { font-size: 1.65rem; line-height: 1.7; }
    .qy-home-section { padding: 58px 0; } .qy-home-heading { margin-bottom: 26px; } .qy-home-heading--row { align-items: start; flex-direction: column; gap: 14px; } .qy-category-grid, .qy-featured-grid { grid-template-columns: 1fr; } .qy-category-card { min-height: 310px; padding: 73px 25px 25px; }
    .qy-home-section--author { padding-top: 0; } .qy-author-intro { grid-template-columns: 66px minmax(0, 1fr); gap: 16px; padding: 24px 21px; } .qy-author-intro__portrait { width: 62px; height: 62px; font-size: 2.5rem; } .qy-author-intro h2 { font-size: 2.45rem; white-space: normal; word-break: keep-all; } .qy-author-intro p:not(.qy-home-kicker) { font-size: 1.4rem; } .qy-author-intro__link { grid-column: 2; justify-self: start; }
    .qy-editor-note { padding: 33px 21px 26px; border-radius: 3px; } .qy-editor-note__heading { margin: 0 0 24px; padding: 0; text-align: left; } .qy-editor-note h2 { font-size: 2.58rem; white-space: normal; word-break: keep-all; } .qy-editor-note h2::after { margin: 13px 0; } .qy-editor-note__heading > p:last-child { font-size: 1.48rem; } .qy-editor-note__list { grid-template-columns: 1fr; gap: 12px; margin: 0; } .qy-editor-note__list li, .qy-editor-note__list li:first-child, .qy-editor-note__list li:last-child { min-height: 0; padding: 19px 17px; border: 1px solid #dfbd7f; border-radius: 9px; } .qy-editor-note__list h3 { margin-top: 5px; font-size: 1.72rem; } .qy-editor-note__list p { font-size: 1.38rem; } .qy-editorial-feed { grid-template-columns: 1fr; grid-template-rows: auto; gap: 16px; } .qy-editorial-feature { grid-column: auto; grid-row: auto; } .qy-editorial-feature__content { padding: 18px; } .qy-editorial-feature h3 { font-size: 2.25rem; } .qy-editorial-card, .qy-editorial-card--side, .qy-editorial-card--bottom { display: flex; grid-row: auto; } .qy-editorial-card--side .qy-editorial-card__image { height: auto; min-height: 0; aspect-ratio: 16 / 9; } .qy-editorial-card--side .qy-editorial-card__content { padding: 17px 18px; } .qy-editorial-card--side h3, .qy-editorial-card h3 { font-size: 1.95rem; } .qy-editorial-card--side p { display: -webkit-box; } .qy-featured-card__content { min-height: 0; padding: 17px; } .qy-featured-card h3 { font-size: 1.95rem; } .qy-home-section--note { padding: 0 0 58px; } .qy-home-game { padding-bottom: 52px; } .qy-home-game__inner { align-items: start; flex-direction: column; padding: 30px 25px; } .qy-button--game { width: 100%; }
}

@media (max-width: 700px) {
    .qy-editorial-feature { display: flex; flex-direction: column; border-radius: 19px; }
    .qy-editorial-feature__image { min-height: 0; aspect-ratio: 8 / 5; border-radius: 18px 18px 0 0; }
    .qy-editorial-feature__content { padding: 21px 19px 19px; }
}

/* ===== 全站文章：鬼編精選延伸閱讀 ===== */
.read-more-wrap {
    margin-top: max(8vmin, 64px);
    padding: clamp(40px, 6vw, 76px) 0;
    background: linear-gradient(180deg, #fffaf6 0%, #fbf2e9 100%);
    border-top: 1px solid #edd9c6;
    border-bottom: 1px solid #edd9c6;
}

.read-more-shell { max-width: 1200px; }

.read-more-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 30px;
}

.read-more-eyebrow {
    margin: 0 0 8px;
    color: #a41525;
    font-size: 1.28rem;
    font-weight: 800;
    letter-spacing: .11em;
}

.read-more-head h2 {
    margin: 0;
    color: #1b2a41;
    font-size: clamp(2.7rem, 4vw, 4.2rem);
    line-height: 1.15;
    letter-spacing: -.045em;
}

.read-more-description {
    max-width: 620px;
    margin: 12px 0 0;
    color: #5f6774;
    font-size: 1.58rem;
    line-height: 1.7;
}

.read-more-all {
    flex: 0 0 auto;
    padding: 10px 0 7px;
    color: #9d1022;
    border-bottom: 2px solid #d59a37;
    font-size: 1.5rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.read-more-all:hover { color: #c07817; }

.read-more-wrap .read-more {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.read-more-wrap .post-card {
    grid-column: auto !important;
    height: 100%;
    overflow: hidden;
    border: 1px solid #ead8c7;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(76, 31, 28, .08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.read-more-wrap .post-card:hover {
    box-shadow: 0 14px 30px rgba(76, 31, 28, .15);
    transform: translateY(-4px);
}

.read-more-wrap .post-card-image-link { aspect-ratio: 8 / 5; }
.read-more-wrap .post-card-content { padding: 19px 20px 20px; }
.read-more-wrap .post-card-title { font-size: 2rem; line-height: 1.3; }
.read-more-wrap .post-card-excerpt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

/* ===== 全站頁尾：深藍 × 酒紅鬼編版 ===== */
.site-footer {
    position: relative;
    overflow: hidden;
    margin: max(9vmin, 72px) 0 0;
    padding: clamp(54px, 7vw, 88px) 0 0;
    color: #fff;
    background:
        radial-gradient(circle at 87% 6%, rgba(215, 154, 55, .18), transparent 30%),
        radial-gradient(circle at 8% 100%, rgba(166, 21, 38, .45), transparent 37%),
        linear-gradient(118deg, #111d33 0%, #35162b 52%, #7e1020 100%);
    border-top: 0;
}

.site-footer::before {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 235, 190, .22) 1px, transparent 1px);
    background-size: 24px 24px;
    content: "";
    opacity: .23;
    pointer-events: none;
}

.qy-footer,
.qy-footer-bottom { position: relative; z-index: 1; }

.site-footer .qy-footer {
    display: grid;
    grid-template-columns: minmax(360px, 1.15fr) minmax(280px, .7fr) minmax(170px, .45fr);
    align-items: center;
    gap: clamp(34px, 6vw, 82px);
    padding-bottom: clamp(42px, 5vw, 62px);
}

.qy-footer-logo { display: inline-flex; align-items: center; min-height: 38px; color: #fff; text-decoration: none; }
.qy-footer-logo img { width: auto; max-width: 230px; max-height: 46px; }
.qy-footer-logo span { color: #fff7e6; font-size: 2.05rem; font-weight: 800; }
.qy-footer-brand p { max-width: 450px; margin: 20px 0 0; color: rgba(255,255,255,.78); font-size: 1.52rem; line-height: 1.8; }

.qy-footer-links { display: grid; grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: 11px 24px; min-width: 0; }
.qy-footer-label { grid-column: 1 / -1; margin: 0 0 5px; color: #f5cb75; font-size: 1.35rem; font-weight: 800; letter-spacing: .1em; }
.qy-footer-links a { color: rgba(255,255,255,.9); font-size: 1.42rem; text-decoration: none; white-space: nowrap; word-break: keep-all; }
.qy-footer-links a:hover { color: #f6ce78; }

.qy-footer-ghost { align-self: center; text-align: right; opacity: .82; }
.qy-footer-ghost img { width: min(220px, 100%); height: auto; filter: drop-shadow(0 17px 22px rgba(0,0,0,.23)); }

.qy-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 19px 0 22px;
    border-top: 1px solid rgba(255,255,255,.2);
    color: rgba(255,255,255,.66);
    font-size: 1.23rem;
}

.qy-footer-bottom p { margin: 0; }
.qy-footer-bottom a { color: #f5cb75; font-weight: 800; text-decoration: none; }
.qy-footer-bottom a:hover { color: #fff; }

@media (max-width: 800px) {
    .read-more-head { align-items: start; flex-direction: column; gap: 16px; }
    .read-more-wrap .read-more { grid-template-columns: 1fr; gap: 16px; }
    .site-footer .qy-footer { grid-template-columns: 1fr 130px; gap: 34px 20px; }
    .qy-footer-links { grid-column: 1 / -1; }
    .qy-footer-ghost { grid-column: 2; grid-row: 1; }
    .qy-footer-ghost img { width: 125px; }
    .qy-footer-bottom { align-items: start; flex-direction: column; gap: 9px; }
}

@media (max-width: 480px) {
    .site-footer .qy-footer { grid-template-columns: 1fr; }
    .qy-footer-ghost { display: none; }
    .qy-footer-links { grid-template-columns: 1fr; }
}
