/* ============================================
   architecture-geo.css — 建筑地理栏目专用样式
   ============================================ */

/* ---- Hero Customization ---- */
.architecture-hero {
    background: linear-gradient(160deg, #1a0f0a 0%, #2d1b12 30%, #3E2723 60%, #1a1210 100%);
}

.architecture-hero .column-hero-badge .dot {
    background: #8D6E63;
}

/* ---- Core Topics ---- */
#core-topics .subcategory-card::before {
    background: linear-gradient(90deg, #8D6E63, #A1887F);
}

#core-topics .subcategory-icon {
    background: linear-gradient(135deg, #EFEBE9, #D7CCC8) !important;
    color: #5D4037 !important;
}

/* ---- Featured Cases ---- */
#featured-cases { background: var(--color-card); }

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

.case-card {
    background: var(--color-bg);
    border-radius: var(--radius-xl);
    overflow: hidden;
    border: 1px solid var(--color-border-light);
    transition: var(--transition-base);
    display: flex;
    flex-direction: column;
}

.case-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
}

.case-visual {
    width: 100%;
    aspect-ratio: 16/9;
    background: var(--color-card);
    overflow: hidden;
}

.case-visual svg {
    width: 100%;
    height: 100%;
}

.case-content {
    padding: var(--space-xl);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.case-tag {
    display: inline-block;
    background: var(--color-sky);
    color: var(--color-secondary-dark);
    padding: 4px 12px;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: var(--space-sm);
    width: fit-content;
}

.case-content h3 {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    margin-bottom: var(--space-sm);
    color: var(--color-text);
}

.case-content p {
    font-size: 0.9375rem;
    color: var(--color-text-secondary);
    line-height: 1.8;
    margin-bottom: var(--space-lg);
    flex: 1;
}

.case-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm);
    padding-top: var(--space-md);
    border-top: 1px solid var(--color-border-light);
}

.case-facts .fact {
    font-size: 0.8125rem;
    color: var(--color-text-secondary);
    line-height: 1.6;
}

.case-facts .fact strong {
    color: var(--color-text);
    font-weight: 600;
    display: block;
    margin-bottom: 2px;
}

/* ---- World Architecture Gallery ---- */
#world-architecture { background: var(--color-bg); }

.world-arch-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-xl);
}

.world-arch-card {
    background: var(--color-card);
    border-radius: var(--radius-xl);
    overflow: hidden;
    border: 1px solid var(--color-border-light);
    transition: var(--transition-base);
}

.world-arch-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}

.world-arch-visual {
    width: 100%;
    aspect-ratio: 16/10;
    background: var(--color-card);
}

.world-arch-visual svg {
    width: 100%;
    height: 100%;
}

.world-arch-content {
    padding: var(--space-lg);
}

.world-arch-content h4 {
    font-family: var(--font-heading);
    font-size: 1.0625rem;
    margin-bottom: var(--space-sm);
    color: var(--color-text);
}

.world-arch-content p {
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    line-height: 1.7;
    margin-bottom: var(--space-md);
}

.world-arch-tag {
    display: inline-block;
    background: var(--color-sky);
    color: var(--color-secondary-dark);
    padding: 4px 12px;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 600;
}

/* ---- Data Chart Containers ---- */
#folkHouseChart, #climateArchChart, #materialChart, #roofChart, #settlementChart {
    width: 100%;
    height: 100%;
}

/* ---- Responsive ---- */
@media (min-width: 1024px) and (max-width: 1439px) {
    .cases-grid { grid-template-columns: 1fr; }
    .world-arch-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .cases-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
    .world-arch-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); }
    .case-facts { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
    .cases-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
    .world-arch-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
    .case-facts { grid-template-columns: 1fr 1fr; }
    .data-chart-container { min-height: 240px !important; }
    .case-content { padding: var(--space-lg); }
    .case-visual { aspect-ratio: 16/10; }
}

@media (max-width: 479px) {
    .case-facts { grid-template-columns: 1fr; }
    .case-content { padding: var(--space-md); }
    .world-arch-content { padding: var(--space-md); }
}
