/**
 * 火桥（huoqiao）· 多功能沉浸式 WordPress 主题
 * 联系方式：12492501@qq.com
 * 支持正版，从我做起，你的支持是我们前行的动力！
 *
 * @package   huoqiao
 * @author    三木
 * @copyright Copyright (c) 2026-09-01 huoqiao.cn
 * @license   GPL-2.0-or-later
 * @link      https://huoqiao.cn
 * @tags      design-tokens, responsive, dark-mode, glassmorphism, animation
 */

.hq-season-banner-wrapper {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 600px;
}

.hq-season-nav {
    position: fixed;
    bottom: 34px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 240px;
    transition: opacity .3s ease, transform .3s ease;
}

.hq-season-nav.is-hidden {
    opacity: 0;
    transform: translate(-50%, 24px);
    pointer-events: none;
}

.hq-season-nav-labels {
    display: flex;
    width: 100%;
}

.hq-season-nav-item {
    flex: 1;
    padding: 4px 0;
    border: none;
    background: transparent;
    font-size: 12px;
    font-family: inherit;
    color: rgba(255, 255, 255, .4);
    cursor: pointer;
    transition: color .3s ease;
    letter-spacing: .18em;
    text-align: center;
    line-height: 1;
}

.hq-season-nav-item:hover {
    color: rgba(255, 255, 255, .75);
}

.hq-season-nav-item.active {
    color: #fff;
    text-shadow: 0 1px 6px rgba(var(--color-primary-rgb), .55);
}

.hq-season-nav-track {
    position: relative;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, .12);
    border-radius: 2px;
    overflow: hidden;
}

.hq-season-nav-progress {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 25%;
    background: rgba(255, 255, 255, .6); 
    border-radius: 2px;
    transition: transform .45s cubic-bezier(.4, 0, .2, 1), background .45s ease;
}

.hq-season-hero {
    position: absolute;
    inset: 0;
    overflow: hidden;
    display: none;
}

.hq-season-hero.active {
    display: block;
}

.hq-season-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

.hq-season-overlay {
    position: absolute;
    inset: 0;
}

.hq-season-hero::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 175px;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.30) 0%,
        rgba(0, 0, 0, 0.14) 45%,
        rgba(0, 0, 0, 0) 100%
    );
    pointer-events: none;
    z-index: 3;
}

.hq-season-content {
    position: absolute;
    z-index: 5;
    max-width: 640px;
}

.hq-season-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    letter-spacing: .28em;
    font-weight: 600;
    padding: 6px 18px;
    border-radius: 999px;
    margin-bottom: 24px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.hq-season-tag-cn {
    font-family: "Noto Serif SC", "Songti SC", "SimSun", serif;
    font-size: 15px;
    font-weight: 700;
}

.hq-season-content h1 {
    font-family: "Noto Serif SC", "Songti SC", "SimSun", serif;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .03em;
}

.hq-season-sub {
    font-size: 16px;
    line-height: 1.9;
    margin: 22px 0 34px;
}

.hq-season-cta {
    display: flex;
    gap: 12px;
}

.hq-season-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 30px;
    border-radius: 11px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 700;
    letter-spacing: .06em;
    cursor: pointer;
    transition: all .25s;
    text-decoration: none;
}

.hq-season-btn-primary {
    border: none;
}

.hq-season-btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(var(--color-primary-rgb), .35); 
}

.hq-season-btn-primary:active {
    transform: translateY(-1px) scale(.98);
}

.hq-season-btn-ghost {
    background: transparent;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.hq-season-btn-ghost:hover {
    box-shadow: 0 6px 18px rgba(var(--color-primary-rgb), .25); 
}

.hq-season-particles {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    overflow: hidden;
}

.hq-season-particle {
    position: absolute;
    top: -30px;
    animation: hq-season-fall linear infinite;
}

@keyframes hq-season-fall {
    0%   { transform: translateY(-30px) rotate(0deg); opacity: 0; }
    10%  { opacity: 1; }
    90%  { opacity: 1; }
    100% { transform: translateY(110vh) rotate(360deg); opacity: 0; }
}

.hq-season-spring .hq-season-overlay {
    background: linear-gradient(135deg, rgba(248, 180, 200, .15) 0%, rgba(168, 213, 160, .1) 100%);
}

.hq-season-spring .hq-season-content {
    left: 8%;
    top: 50%;
    transform: translateY(-50%);
}

.hq-season-spring .hq-season-tag {
    background: rgba(255, 255, 255, .55);
    border: 1px solid rgba(248, 180, 200, .4);
    color: #c46a8a;
}

.hq-season-spring h1 {
    font-size: 60px;
    color: #5a3a4a;
    text-shadow: 0 2px 20px rgba(255, 255, 255, .5);
}

.hq-season-spring .hq-season-sub {
    color: rgba(90, 58, 74, .8);
    max-width: 480px;
}

.hq-season-spring .hq-season-btn-primary {
    background: linear-gradient(135deg, #f8b4c8, #e89ab0);
    color: #fff;
    box-shadow: 0 8px 24px rgba(248, 180, 200, .45);
}

.hq-season-spring .hq-season-btn-primary:hover {
    box-shadow: 0 12px 32px rgba(248, 180, 200, .55);
}

.hq-season-spring .hq-season-btn-ghost {
    border: 1.5px solid rgba(90, 58, 74, .4);
    color: #5a3a4a;
}

.hq-season-spring .hq-season-btn-ghost:hover {
    background: rgba(255, 255, 255, .3);
}

.hq-season-spring .hq-season-particle {
    width: 12px;
    height: 12px;
    background: radial-gradient(ellipse at 30% 30%, #ffd4e0, #f8b4c8);
    border-radius: 50% 0 50% 50%;
}

.hq-season-summer .hq-season-overlay {
    background: linear-gradient(180deg, rgba(42, 127, 184, .1) 0%, rgba(42, 127, 184, .35) 100%);
}

.hq-season-summer .hq-season-content {
    right: 8%;
    top: 50%;
    transform: translateY(-50%);
    text-align: right;
}

.hq-season-summer .hq-season-tag {
    background: rgba(255, 255, 255, .15);
    border: 1px solid rgba(255, 255, 255, .3);
    color: #fff;
}

.hq-season-summer h1 {
    font-size: 58px;
    color: #fff;
    text-shadow: 0 4px 30px rgba(0, 40, 80, .5);
}

.hq-season-summer .hq-season-sub {
    color: rgba(255, 255, 255, .85);
    max-width: 480px;
    margin-left: auto;
    text-shadow: 0 2px 12px rgba(0, 40, 80, .4);
}

.hq-season-summer .hq-season-cta {
    justify-content: flex-end;
}

.hq-season-summer .hq-season-btn-primary {
    background: linear-gradient(135deg, #ffd966, #ffb84d);
    color: #5a3a00;
    box-shadow: 0 8px 24px rgba(255, 217, 102, .4);
}

.hq-season-summer .hq-season-btn-primary:hover {
    box-shadow: 0 12px 32px rgba(255, 217, 102, .5);
}

.hq-season-summer .hq-season-btn-ghost {
    border: 1.5px solid rgba(255, 255, 255, .5);
    color: #fff;
}

.hq-season-summer .hq-season-btn-ghost:hover {
    background: rgba(255, 255, 255, .15);
}

.hq-season-summer .hq-season-light-spot {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 230, 150, .35) 0%, transparent 70%);
    animation: hq-season-light-float 8s ease-in-out infinite;
    pointer-events: none;
}

@keyframes hq-season-light-float {
    0%, 100% { transform: translate(0, 0) scale(1); opacity: .6; }
    50%      { transform: translate(30px, -20px) scale(1.15); opacity: .9; }
}

.hq-season-summer .hq-season-bubble {
    position: absolute;
    bottom: -90px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .35);
    background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, .1) 38%, transparent 72%);
    box-shadow: inset 0 0 10px rgba(255, 255, 255, .14);
    animation: hq-season-bubble-rise linear infinite;
    pointer-events: none;
    will-change: transform, opacity;
}

.hq-season-summer .hq-season-bubble::after {
    content: '';
    position: absolute;
    left: 24%;
    top: 16%;
    width: 22%;
    height: 22%;
    border-radius: 50%;
    background: rgba(255, 255, 255, .6);
    filter: blur(1px);
}

@keyframes hq-season-bubble-rise {
    0%   { transform: translateY(0) translateX(0) scale(.9); opacity: 0; }
    8%   { opacity: .85; }
    50%  { transform: translateY(-55vh) translateX(16px) scale(1); opacity: .55; }
    92%  { opacity: .35; }
    100% { transform: translateY(-112vh) translateX(-10px) scale(1.05); opacity: 0; }
}

.hq-season-summer .hq-season-cloud {
    position: absolute;
    width: 150px;
    height: 56px;
    border-radius: 60px;
    background: rgba(255, 255, 255, .14);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    animation: hq-season-cloud-drift linear infinite;
    pointer-events: none;
    will-change: transform;
}

.hq-season-summer .hq-season-cloud::before,
.hq-season-summer .hq-season-cloud::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: inherit;
}

.hq-season-summer .hq-season-cloud::before {
    width: 56px;
    height: 56px;
    left: 26px;
    top: -24px;
}

.hq-season-summer .hq-season-cloud::after {
    width: 76px;
    height: 76px;
    right: 32px;
    top: -34px;
}

@keyframes hq-season-cloud-drift {
    0%   { transform: translateX(-18vw); }
    100% { transform: translateX(118vw); }
}

.hq-season-summer .hq-season-firefly {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #ffe9a8;
    box-shadow: 0 0 6px 2px rgba(255, 233, 168, .5), 0 0 16px 7px rgba(255, 217, 102, .22);
    animation: hq-season-firefly-float ease-in-out infinite;
    pointer-events: none;
    will-change: transform, opacity;
}

@keyframes hq-season-firefly-float {
    0%, 100% { transform: translate(0, 0); opacity: 0; }
    12%      { opacity: .9; }
    50%      { transform: translate(26px, -32px); opacity: .35; }
    74%      { transform: translate(-12px, -52px); opacity: .8; }
}

.hq-season-autumn .hq-season-overlay {
    background: linear-gradient(135deg, rgba(212, 98, 42, .1) 0%, rgba(var(--color-primary-light-rgb), .15) 100%);
}

.hq-season-autumn .hq-season-content {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.hq-season-autumn .hq-season-tag {
    background: rgba(255, 245, 230, .6);
    border: 1px solid rgba(var(--color-primary-light-rgb), .4);
    color: #a0521a;
}

.hq-season-autumn h1 {
    font-size: 62px;
    color: #fff;
    text-shadow: 0 4px 30px rgba(120, 50, 10, .6);
}

.hq-season-autumn .hq-season-sub {
    color: rgba(255, 245, 230, .9);
    max-width: 520px;
    margin: 22px auto 34px;
    text-shadow: 0 2px 12px rgba(120, 50, 10, .5);
}

.hq-season-autumn .hq-season-cta {
    justify-content: center;
}

.hq-season-autumn .hq-season-btn-primary {
    background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary-hover));
    color: #fff;
    box-shadow: 0 8px 24px rgba(212, 98, 42, .45);
}

.hq-season-autumn .hq-season-btn-primary:hover {
    box-shadow: 0 12px 32px rgba(212, 98, 42, .55);
}

.hq-season-autumn .hq-season-btn-ghost {
    border: 1.5px solid rgba(255, 245, 230, .6);
    color: #fff5e6;
}

.hq-season-autumn .hq-season-btn-ghost:hover {
    background: rgba(255, 245, 230, .15);
}

.hq-season-autumn .hq-season-particle {
    width: 16px;
    height: 16px;
    background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary-hover));
    clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
}

.hq-season-winter .hq-season-overlay {
    background: linear-gradient(180deg, rgba(123, 168, 212, .08) 0%, rgba(123, 168, 212, .2) 100%);
}

.hq-season-winter .hq-season-content {
    left: 8%;
    bottom: 18%;
}

.hq-season-winter .hq-season-tag {
    background: rgba(255, 255, 255, .4);
    border: 1px solid rgba(123, 168, 212, .35);
    color: #3a5a7a;
}

.hq-season-winter h1 {
    font-size: 58px;
    color: #2a4a6a;
    text-shadow: 0 2px 20px rgba(255, 255, 255, .6);
}

.hq-season-winter .hq-season-sub {
    color: rgba(42, 74, 106, .75);
    max-width: 480px;
}

.hq-season-winter .hq-season-btn-primary {
    background: linear-gradient(135deg, #7ba8d4, #5a8ab8);
    color: #fff;
    box-shadow: 0 8px 24px rgba(123, 168, 212, .4);
}

.hq-season-winter .hq-season-btn-primary:hover {
    box-shadow: 0 12px 32px rgba(123, 168, 212, .5);
}

.hq-season-winter .hq-season-btn-ghost {
    border: 1.5px solid rgba(42, 74, 106, .4);
    color: #2a4a6a;
}

.hq-season-winter .hq-season-btn-ghost:hover {
    background: rgba(255, 255, 255, .3);
}

.hq-season-winter .hq-season-particle {
    width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(255, 255, 255, .8);
    animation-name: hq-season-snow-fall;
}

@keyframes hq-season-snow-fall {
    0%   { transform: translateY(-30px) translateX(0); opacity: 0; }
    10%  { opacity: 1; }
    90%  { opacity: 1; }
    100% { transform: translateY(110vh) translateX(40px); opacity: 0; }
}

.hq-season-cards {
    display: none;
    position: absolute;
    z-index: 5;
}

.hq-season-cards-title {
    font-family: "Noto Serif SC", "Songti SC", "SimSun", serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .15em;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.hq-season-cards-title::after {
    content: '';
    flex: 1;
    height: 1px;
    background: currentColor;
    opacity: .3;
}

.hq-season-cards-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.hq-season-card {
    display: block;
    padding: 16px 18px;
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 14px;
    cursor: pointer;
    transition: all .3s ease;
    text-decoration: none;
    color: inherit;
}

.hq-season-card:hover {
    background: rgba(255, 255, 255, .18);
    border-color: rgba(var(--color-primary-rgb), .55); 
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(var(--color-primary-rgb), .22);
}

.hq-season-card:active {
    transform: translateY(-1px) scale(.99);
}

.hq-season-card:link,
.hq-season-card:visited,
.hq-season-card:hover,
.hq-season-card:focus,
.hq-season-card:active {
    color: inherit !important;
    text-decoration: none !important;
}

.hq-season-card-tag {
    display: inline-block;
    font-size: 10.5px;
    letter-spacing: .12em;
    padding: 3px 10px;
    border-radius: 999px;
    margin-bottom: 8px;
    background: rgba(255, 255, 255, .15);
}

.hq-season-card h3 {
    font-family: "Noto Serif SC", "Songti SC", "SimSun", serif;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 6px;
    color: inherit;
}

.hq-season-card p {
    font-size: 12px;
    line-height: 1.6;
    opacity: .7;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
}

.hq-season-card-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    font-size: 10.5px;
    letter-spacing: .08em;
    opacity: .55;
}

.hq-season-spring .hq-season-cards { color: #5a3a4a; }
.hq-season-spring .hq-season-card { background: rgba(255, 255, 255, .45); border-color: rgba(248, 180, 200, .3); }
.hq-season-spring .hq-season-card:hover { background: rgba(255, 255, 255, .6); }
.hq-season-spring .hq-season-card-tag { background: rgba(248, 180, 200, .3); color: #c46a8a; }

.hq-season-summer .hq-season-cards { color: #fff; }
.hq-season-summer .hq-season-card { background: rgba(0, 40, 80, .25); border-color: rgba(255, 255, 255, .2); }
.hq-season-summer .hq-season-card:hover { background: rgba(0, 40, 80, .4); }
.hq-season-summer .hq-season-card-tag { background: rgba(255, 217, 102, .25); color: #ffd966; }

.hq-season-summer .hq-season-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 18px;
}

.hq-season-summer .hq-season-card-num {
    font-family: "Noto Serif SC", "Songti SC", "SimSun", serif;
    font-size: 30px;
    font-weight: 900;
    color: #ffd966;
    opacity: .85;
    flex: none;
    width: 42px;
    text-align: center;
    line-height: 1;
}

.hq-season-summer .hq-season-card-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.hq-season-summer .hq-season-card-body .hq-season-card-tag { margin-bottom: 5px; }
.hq-season-summer .hq-season-card-body h3 { margin-bottom: 0; font-size: 14.5px; }
.hq-season-summer .hq-season-card p,
.hq-season-summer .hq-season-card-meta { display: none; }

.hq-season-autumn .hq-season-cards { color: #fff5e6; }
.hq-season-autumn .hq-season-card { background: rgba(120, 50, 10, .25); border-color: rgba(255, 245, 230, .2); }
.hq-season-autumn .hq-season-card:hover { background: rgba(120, 50, 10, .4); }
.hq-season-autumn .hq-season-card-tag { background: rgba(var(--color-primary-light-rgb), .3); color: #ffd966; }

.hq-season-winter .hq-season-cards { color: #2a4a6a; }
.hq-season-winter .hq-season-card { background: rgba(255, 255, 255, .5); border-color: rgba(123, 168, 212, .3); }
.hq-season-winter .hq-season-card:hover { background: rgba(255, 255, 255, .65); }
.hq-season-winter .hq-season-card-tag { background: rgba(123, 168, 212, .25); color: #5a8ab8; }

@media (min-width: 1024px) {
    .hq-season-cards { display: block; width: 340px; }
    .hq-season-spring .hq-season-cards { right: 7%; top: 50%; transform: translateY(-50%); }
    .hq-season-summer .hq-season-cards { left: 7%; bottom: 16%; top: auto; transform: none; }
    .hq-season-autumn .hq-season-cards { left: 50%; bottom: 12%; transform: translateX(-50%); width: 720px; }
    .hq-season-autumn .hq-season-cards-list { flex-direction: row; gap: 16px; }
    .hq-season-autumn .hq-season-card { flex: 1; }
    .hq-season-winter .hq-season-cards { right: 7%; top: 50%; transform: translateY(-50%); }

    
    .hq-season-spring .hq-season-content,
    .hq-season-summer .hq-season-content,
    .hq-season-winter .hq-season-content { max-width: 500px; }
    .hq-season-autumn .hq-season-content { max-width: 560px; top: 42%; }
}

@media (min-width: 1440px) {
    .hq-season-cards { width: 380px; }
    .hq-season-autumn .hq-season-cards { width: 820px; }
    .hq-season-spring .hq-season-content,
    .hq-season-summer .hq-season-content,
    .hq-season-winter .hq-season-content { max-width: 560px; }
}

@media (max-width: 900px) {
    .hq-season-nav { bottom: 22px; width: 200px; gap: 8px; }
    .hq-season-nav-item { font-size: 11px; }
    .hq-season-spring .hq-season-content,
    .hq-season-summer .hq-season-content,
    .hq-season-winter .hq-season-content { left: 6%; right: 6%; max-width: 88%; }
    .hq-season-summer .hq-season-content { text-align: left; }
    .hq-season-summer .hq-season-cta { justify-content: flex-start; }
    .hq-season-autumn .hq-season-content { max-width: 88%; }
    .hq-season-spring h1, .hq-season-summer h1, .hq-season-autumn h1, .hq-season-winter h1 { font-size: 40px; }
    .hq-season-sub { font-size: 14.5px; }
    .hq-season-btn { padding: 11px 24px; font-size: 13px; }
    .hq-season-winter .hq-season-content { bottom: 14%; }
}

@media (max-width: 560px) {
    .hq-season-banner-wrapper { min-height: 560px; }
    .hq-season-nav { bottom: 16px; width: 180px; gap: 6px; }
    .hq-season-nav-item { font-size: 10.5px; letter-spacing: .12em; }
    .hq-season-spring h1, .hq-season-summer h1, .hq-season-autumn h1, .hq-season-winter h1 { font-size: 32px; }
    .hq-season-cta { flex-direction: column; }
    .hq-season-btn { width: 100%; }
}

body.has-fullscreen-slider .site-header .container {
    max-width: 1750px !important;
    width: 100% !important;
    transition: max-width .4s ease-in-out !important;
}

body.has-fullscreen-slider .site-header.scrolled .container {
    max-width: var(--page-width, 1450px) !important;
}
