/* Taxonomy archives (taxonomy-*.php via parts/taxonomy-archive-content.php).
   Enqueued by artinfo_enqueue_page_styles() in inc/core/enqueue.php. */

:root {
    --brand-yellow: #FFC107;
    --brand-black: #121212;
    --bg-light: #F8F9FA;
    --card-bg: #FFFFFF;
    --text-dark: #212529;
    --text-muted: #6C757D;
    --border-light: #E9ECEF;
    --soft-yellow: #FFF9E6;
    --soft-purple: #F3E8FF;
    --purple-text: #7E22CE;
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.08);
    --shadow-md: 0 6px 20px rgba(0,0,0,0.12);
    --radius: 16px;
    --transition: all .3s cubic-bezier(.4,0,.2,1);
}

.tax-page { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--bg-light); color: var(--text-dark); }

.btn-brand {
    background: var(--brand-yellow) !important;
    color: var(--brand-black) !important;
    border: none;
    border-radius: 999px;
    font-weight: 700;
    padding: 12px 28px;
    transition: var(--transition);
}
.btn-brand:hover { background: #ffcd39 !important; transform: translateY(-2px); box-shadow: var(--shadow-md); }

.btn-outline-soft { border: 1px solid var(--border-light); border-radius: 999px; padding: 12px 28px; font-weight: 600; background: #fff; }

.hero-section { background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); }

.fw-boldest { font-weight: 900; }

/* Hero schematic counter (replaces the old hero image) */
.tax-counter {
    background: var(--brand-black);
    color: #fff;
    border-radius: 24px;
    padding: 28px;
    box-shadow: var(--shadow-md);
}
.tax-counter-head {
    display: flex; align-items: center; gap: 8px;
    font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    color: rgba(255,255,255,.6);
}
.tax-counter-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--brand-yellow); flex-shrink: 0;
}
.tax-counter-value {
    font-size: clamp(3rem, 7vw, 4.25rem);
    font-weight: 900; line-height: 1.05; letter-spacing: -.04em;
    color: var(--brand-yellow); margin-top: 14px;
}
.tax-counter-label {
    font-size: .95rem; font-weight: 600; color: rgba(255,255,255,.85);
    margin-top: 4px;
}
.tax-counter-stats {
    margin-top: 22px; padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.12);
    display: flex; flex-direction: column; gap: 16px;
}
.tax-counter-stat-top {
    display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
    font-size: .8rem; color: rgba(255,255,255,.7); margin-bottom: 8px;
}
.tax-counter-stat-top strong { color: #fff; font-size: 1rem; font-weight: 800; }
.tax-counter-bar {
    height: 6px; border-radius: 999px;
    background: rgba(255,255,255,.12); overflow: hidden;
}
.tax-counter-bar-fill { display: block; height: 100%; border-radius: 999px; }
.tax-counter-bar-fill.is-open { background: var(--brand-yellow); }
.tax-counter-bar-fill.is-soon { background: #ffd95c; opacity: .75; }
.tax-counter-foot {
    margin-top: 22px; padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.12);
    font-size: .78rem; color: rgba(255,255,255,.55);
}

.icon-stat {
    width: 64px; height: 64px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,193,7,.12); color: var(--brand-black); font-size: 1.25rem;
}

.card-clean {
    background: #fff; border: 1px solid var(--border-light); border-radius: var(--radius);
    box-shadow: var(--shadow-sm); transition: var(--transition);
}
.card-clean:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }

.section-title { letter-spacing: -.03em; }

.content-showcase { border: 1px solid var(--border-light); border-radius: 24px; background: #fff; overflow: hidden; box-shadow: var(--shadow-md); }
.content-panel { padding: 2rem; }
.content-note { background: rgba(255,193,7,.12); border: 1px solid rgba(255,193,7,.25); border-radius: 20px; padding: 1.25rem; }

.placeholder-visual { min-height: 100%; background-position: center; background-size: cover; background-repeat: no-repeat; position: relative; }
.placeholder-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(18,18,18,.55), rgba(18,18,18,.05)); }
.visual-caption { position: absolute; left: 24px; right: 24px; bottom: 24px; z-index: 2; color: #fff; }

.faq-wrap .accordion-item { border: 1px solid var(--border-light); border-radius: 14px !important; overflow: hidden; margin-bottom: 12px; }

.cta-section { background: var(--brand-black); color: #fff; }

/* Support classes for card-events.php / card-organization.php grid cards */
.text-brand-yellow { color: var(--brand-yellow) !important; }
.bg-brand-black { background-color: var(--brand-black) !important; }
.text-brand-black { color: var(--brand-black) !important; }
.text-xs { font-size: .75rem !important; }
.rounded-xl { border-radius: .75rem !important; }
.rounded-2xl { border-radius: 1rem !important; }
.rounded-3xl { border-radius: 1.5rem !important; }
.soft-shadow { box-shadow: 0 10px 40px -10px rgba(0,0,0,.08) !important; }
.hover-lift { transition: transform .3s cubic-bezier(.25,.8,.25,1), box-shadow .3s ease; }
.hover-lift:hover { transform: translateY(-5px); box-shadow: 0 15px 30px -5px rgba(0,0,0,.12) !important; }
.hover-text-yellow:hover { color: var(--brand-yellow) !important; }
.transition { transition: all .3s ease; }

.event-card-img-wrapper { position: relative; overflow: hidden; }
.event-card-img-wrapper img { width: 100%; height: auto; display: block; transition: transform .5s ease; }
.event-card-img-fallback { aspect-ratio: 266 / 161; }
.event-card:hover .event-card-img-wrapper img { transform: scale(1.05); }

@media (max-width: 991.98px) {
    .content-panel { padding: 1.5rem; }
    .placeholder-visual { min-height: 340px; }
}
