/* ========================================
   SCROLL PROGRESS BAR
   ======================================== */
.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 1001;
    background: rgba(255,255,255,0.1);
}

.scroll-progress::after {
    content: '';
    position: absolute;
    inset: 0;
    transform: scaleX(0);
    transform-origin: left;
    background: linear-gradient(90deg, var(--color-accent), var(--color-gold));
    transition: transform 0.1s linear;
}

.scroll-progress.scrolled::after {
    transform: scaleX(var(--scroll-progress, 0));
}

/* ========================================
   ARTICULATE ASIAN - L3 DESIGN SYSTEM
   CATEGORY PAGE STYLES
   ======================================== */

/* ========================================
   HERO BANNER
   ======================================== */
.hero-banner {
    position: relative;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0a0f1a 0%, #1a365d 100%);
    overflow: hidden;
}

.hero-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, rgba(197, 48, 48, 0.2) 0%, transparent 60%);
}

.hero-banner.bg-yangtze {
    background: linear-gradient(135deg, #0a0f1a 0%, #1a365d 100%);
}

.hero-banner.bg-yangtze::before {
    background: radial-gradient(ellipse at 50% 50%, rgba(197, 48, 48, 0.2) 0%, transparent 60%);
}

.hero-banner.bg-chongqing {
    background: linear-gradient(135deg, #1a365d 0%, #c53030 100%);
}

.hero-banner.bg-chongqing::before {
    background: radial-gradient(ellipse at 50% 50%, rgba(255,255,255,0.1) 0%, transparent 60%);
}

.hero-banner.bg-china-tours {
    background: linear-gradient(135deg, #0f2342 0%, #d4a574 100%);
}

.hero-banner.bg-china-tours::before {
    background: radial-gradient(ellipse at 50% 50%, rgba(255,255,255,0.1) 0%, transparent 60%);
}

.hero-banner.bg-tips {
    background: linear-gradient(135deg, #1a365d 0%, #0a0f1a 100%);
}

.hero-banner.bg-tips::before {
    background: radial-gradient(ellipse at 50% 50%, rgba(212, 165, 116, 0.2) 0%, transparent 60%);
}

.hero-banner h1 {
    position: relative;
    z-index: 1;
    color: white;
}

/* ========================================
   CATEGORY INTRO
   ======================================== */
.category-intro {
    padding: var(--space-2xl) 0;
    background: var(--color-surface);
    text-align: center;
}

.category-intro p {
    color: var(--color-text-muted);
    max-width: 600px;
    margin: 0 auto;
}

/* ========================================
   PAGE WITH SIDEBAR LAYOUT
   ======================================== */
.page-with-sidebar {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-2xl);
    max-width: var(--max-width);
    margin: 0 auto;
    padding: var(--space-3xl) var(--space-lg);
}

@media (min-width: 992px) {
    .page-with-sidebar { grid-template-columns: 1fr 300px; }
}

/* ========================================
   ARTICLE GRID
   ======================================== */
.article-grid {
    padding: 0;
}

.article-grid h2 {
    margin-bottom: var(--space-xl);
}

.article-grid-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-lg);
}

@media (min-width: 768px) {
    .article-grid-list { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1200px) {
    .article-grid-list { grid-template-columns: repeat(3, 1fr); }
}

/* ========================================
   CATEGORY CARDS (for index page)
   ======================================== */
.category-grid-section {
    padding: var(--space-2xl) 0;
    background: var(--color-surface);
}

.category-grid-section h2 {
    margin-bottom: var(--space-lg);
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
}

@media (min-width: 768px) {
    .category-grid { grid-template-columns: repeat(4, 1fr); }
}

.category-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 3/4;
    cursor: pointer;
}

.category-card-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease;
}

.category-card:hover .category-card-bg { transform: scale(1.1); }

.category-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(10, 15, 26, 0.95) 0%, rgba(10, 15, 26, 0.4) 60%, transparent 100%);
    transition: background 0.3s ease;
}

.category-card:hover .category-card-overlay {
    background: linear-gradient(to top, rgba(10, 15, 26, 0.95) 0%, rgba(197, 48, 48, 0.3) 60%, transparent 100%);
}

.category-card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--space-lg);
}

.category-card-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-sm);
    transition: transform 0.3s ease;
}

.category-card:hover .category-card-icon { transform: scale(1.1); }

.category-card h3 {
    color: white;
    font-size: 1.125rem;
    margin-bottom: var(--space-xs);
}

.category-card p {
    color: var(--color-text-muted);
    font-size: 0.875rem;
    margin-bottom: var(--space-sm);
}

.category-card-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    color: var(--color-gold);
    font-size: 0.875rem;
    font-weight: 500;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.category-card:hover .category-card-link {
    opacity: 1;
    transform: translateY(0);
}