/*
Theme Name: Henschel Advocacia
Theme URI: https://henschel.adv.br
Author: Henschel Advocacia
Author URI: https://henschel.adv.br
Description: Tema profissional para o escritório Henschel Advocacia. Funciona automaticamente ao ativar. Personalizável via Aparência > Personalizar.
Version: 3.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: henschel
*/

/* ═══════════════ RESET & BASE ═══════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --color-black: #171B1C;
  --color-navy: #0F0F3F;
  --color-white: #FFFFFF;
  --color-gray-50: #F8F8F8;
  --color-gray-100: #F3F4F6;
  --color-gray-200: #E5E7EB;
  --color-gray-500: #6B7280;
  --color-gold: #B8A88A;
  --color-whatsapp: #25D366;
  /* Cores dinâmicas (controladas pelo Customizer) */
  --color-body-bg: #FFFFFF;
  --color-body-text: #171B1C;
  --color-heading-text: #171B1C;
  --color-header-bg: #0F0F3F;
  --color-header-text: #FFFFFF;
  --color-btn-bg: #0F0F3F;
  --color-btn-text: #FFFFFF;
  --color-footer-bg: #171B1C;
  --color-footer-text: #FFFFFF;
  --color-section-alt-bg: #F8F8F8;
  --font-heading: 'Montserrat', Helvetica, Arial, sans-serif;
  --font-body: 'Montserrat', Helvetica, Arial, sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--color-body-text); background: var(--color-body-bg); line-height: 1.6; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { color: var(--color-heading-text); }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; transition: color 0.2s; }
ul, ol { list-style: none; }
.container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 640px) { .container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .container { padding: 0 2rem; } }

/* ═══════════════ TYPOGRAPHY ═══════════════ */
h1, h2, h3, h4 { font-family: var(--font-heading); line-height: 1.15; }
h1 { font-size: clamp(2rem, 4.5vw, 3.5rem); font-weight: 600; letter-spacing: -0.02em; }
h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); font-weight: 600; letter-spacing: -0.01em; }
h3 { font-size: clamp(1rem, 2vw, 1.35rem); font-weight: 500; }
.section-label { font-family: var(--font-body); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--color-navy); }
.accent-line { width: 48px; height: 2px; background: var(--color-navy); }

/* ═══════════════ BUTTONS ═══════════════ */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.875rem 1.75rem; font-family: var(--font-body); font-size: 0.875rem; font-weight: 600; border: none; cursor: pointer; transition: all 0.2s; }
.btn-primary { background: var(--color-white); color: var(--color-black); }
.btn-primary:hover { background: var(--color-gray-100); }
.btn-outline { background: transparent; color: var(--color-white); border: 1px solid rgba(255,255,255,0.3); }
.btn-outline:hover { background: transparent; color: var(--color-gold); border-color: var(--color-gold); }
.btn-navy { background: var(--color-btn-bg); color: var(--color-btn-text); }
.btn-navy:hover { opacity: 0.85; }
.btn-navy-outline { background: transparent; color: var(--color-btn-bg); border: 1px solid var(--color-btn-bg); }
.btn-navy-outline:hover { background: var(--color-btn-bg); color: var(--color-btn-text); }

/* ═══════════════ HEADER ═══════════════ */
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; padding: 1.25rem 0; transition: all 0.3s; }
.site-header--fixed { background: var(--color-header-bg); }
.site-header--fixed.scrolled { background: var(--color-header-bg); box-shadow: 0 2px 8px rgba(0,0,0,0.2); padding: 0.75rem 0; }
.header-inner { display: flex; align-items: center; justify-content: space-between; }
.site-logo { display: flex; align-items: center; gap: 0.75rem; }
.site-logo img { max-height: 40px; width: auto; }
.site-logo-text { font-family: var(--font-body); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.25em; text-transform: uppercase; color: var(--color-header-text); transition: color 0.3s; }
.scrolled .site-logo-text { color: var(--color-header-text); }
.main-nav { display: flex; align-items: center; gap: 2rem; }
.main-nav a { font-family: var(--font-body); font-size: 0.8rem; font-weight: 500; color: var(--color-header-text); opacity: 0.7; transition: all 0.2s; letter-spacing: 0.02em; }
.main-nav a:hover { color: var(--color-gold); opacity: 1; }
.scrolled .main-nav a { color: var(--color-header-text); opacity: 0.7; }
.scrolled .main-nav a:hover { color: var(--color-gold); opacity: 1; }
.mobile-toggle { display: none; background: none; border: none; cursor: pointer; padding: 0.5rem; }
.mobile-toggle span { display: block; width: 22px; height: 2px; background: var(--color-header-text); margin: 5px 0; transition: all 0.3s; }
.scrolled .mobile-toggle span { background: var(--color-header-text); }
.mobile-menu { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--color-white); z-index: 999; padding: 5rem 2rem 2rem; }
.mobile-menu.active { display: flex; flex-direction: column; gap: 1.5rem; }
.mobile-menu a { font-family: var(--font-body); font-size: 1.1rem; font-weight: 500; color: var(--color-black); }
.mobile-close { position: absolute; top: 1.25rem; right: 1.5rem; background: none; border: none; font-size: 1.5rem; cursor: pointer; color: var(--color-black); }
@media (max-width: 768px) { .main-nav { display: none; } .mobile-toggle { display: block; } }

/* ═══════════════ HERO ═══════════════ */
.hero { position: relative; height: 100vh; min-height: 600px; overflow: hidden; display: flex; align-items: center; }
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.8), rgba(0,0,0,0.6), rgba(0,0,0,0.3)); }
.hero-overlay::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.5), transparent, rgba(0,0,0,0.2)); }
.hero-content { position: relative; z-index: 2; max-width: 640px; padding-top: 4rem; }
.hero-line { width: 40px; height: 2px; background: rgba(255,255,255,0.6); margin-bottom: 2rem; }
.hero-label { font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255,255,255,0.6); font-weight: 500; margin-bottom: 1.25rem; }
.hero h1 { color: var(--color-white); margin-bottom: 1.25rem; }
.hero-desc { color: rgba(255,255,255,0.7); font-size: 1rem; line-height: 1.7; max-width: 500px; margin-bottom: 2rem; }
.hero-buttons { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.hero-scroll { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,0.4); animation: bounce 2s infinite; }
@keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }

/* ═══════════════ ABOUT ═══════════════ */
.about { padding: 5rem 0; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.about-img-wrap { position: relative; }
.about-img-wrap img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.about-img-wrap::after { content: ''; position: absolute; bottom: -12px; right: -12px; width: 100%; height: 100%; border: 1px solid rgba(15,15,63,0.1); z-index: -1; }
.founder-card { padding: 1.25rem; background: var(--color-gray-50); border-left: 2px solid var(--color-navy); margin-top: 1.75rem; }
.founder-card h4 { font-family: var(--font-body); font-size: 0.875rem; font-weight: 600; }
.founder-card .role { color: rgba(15,15,63,0.6); font-size: 0.75rem; margin-bottom: 0.5rem; }
.founder-card p { color: rgba(23,27,28,0.5); font-size: 0.875rem; line-height: 1.6; margin: 0; }
@media (max-width: 768px) { .about-grid { grid-template-columns: 1fr; } }

/* ═══════════════ STATS ═══════════════ */
.stats { padding: 3.5rem 0; background: var(--color-btn-bg); }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; text-align: center; }
.stats-grid .number { font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; color: var(--color-white); }
.stats-grid .label { color: rgba(255,255,255,0.5); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 0.5rem; }
@media (max-width: 768px) { .stats-grid { grid-template-columns: repeat(2, 1fr); } }

/* ═══════════════ AREAS ═══════════════ */
.areas { padding: 5rem 0; }
.areas-header { text-align: center; margin-bottom: 3.5rem; }
.areas-header .accent-line { margin: 0 auto 1.25rem; }
.areas-header p { color: rgba(23,27,28,0.5); max-width: 560px; margin: 0.75rem auto 0; font-size: 0.95rem; }
.areas-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.area-card { padding: 1.75rem 2rem; border: none; transition: all 0.3s; display: flex; align-items: flex-start; gap: 1rem; }
.area-card:hover { background: rgba(248,248,248,0.5); }
.area-icon { width: 40px; height: 40px; background: rgba(15,15,63,0.05); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.area-card:hover .area-icon { background: rgba(15,15,63,0.1); }
.area-icon svg { width: 20px; height: 20px; stroke: var(--color-navy); fill: none; stroke-width: 1.5; }
.area-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.5rem; }
.area-card:hover h3 { color: var(--color-navy); }
.area-card .arrow { color: rgba(23,27,28,0.2); transition: all 0.3s; }
.area-card:hover .arrow { color: var(--color-navy); transform: translateX(4px); }
.area-card p { color: rgba(23,27,28,0.45); font-size: 0.875rem; line-height: 1.6; }
@media (max-width: 768px) { .areas-grid { grid-template-columns: 1fr; } }

/* ═══════════════ PARALLAX QUOTE ═══════════════ */
.parallax-quote { position: relative; padding: 6rem 0; overflow: hidden; text-align: center; }
.parallax-quote .bg { position: absolute; inset: 0; background-size: cover; background-position: center; background-attachment: fixed; }
.parallax-quote .overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.6); }
.parallax-quote blockquote { position: relative; z-index: 2; max-width: 700px; margin: 0 auto; padding: 0 1.5rem; }
.parallax-quote blockquote p { font-family: var(--font-heading); font-size: clamp(1.4rem, 3vw, 2.5rem); color: var(--color-white); font-style: italic; line-height: 1.4; }
.parallax-quote .divider { width: 40px; height: 2px; background: rgba(255,255,255,0.4); margin: 1.5rem auto 0.75rem; }
.parallax-quote cite { color: rgba(255,255,255,0.5); font-size: 0.875rem; font-style: normal; letter-spacing: 0.05em; }

/* ═══════════════ VALORES ═══════════════ */
.valores { padding: 5rem 0; background: var(--color-section-alt-bg); }
.valores-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: start; }
.valores-intro { position: sticky; top: 7rem; }
.valores-intro p { color: rgba(23,27,28,0.5); max-width: 400px; font-size: 0.95rem; line-height: 1.7; }
.valor-item { display: flex; align-items: flex-start; gap: 1.25rem; padding: 1.25rem 0; border-bottom: 1px solid var(--color-gray-200); }
.valor-item .num { color: rgba(15,15,63,0.2); font-size: 0.875rem; font-weight: 600; width: 20px; flex-shrink: 0; margin-top: 2px; }
.valor-item h3 { font-family: var(--font-body); font-size: 1rem; font-weight: 600; margin-bottom: 0.125rem; }
.valor-item p { color: rgba(23,27,28,0.45); font-size: 0.875rem; }
@media (max-width: 768px) { .valores-grid { grid-template-columns: 1fr; gap: 2rem; } .valores-intro { position: static; } }

/* ═══════════════ MISSÃO ═══════════════ */
.missao { padding: 5rem 0; }
.missao-header { text-align: center; margin-bottom: 3.5rem; }
.missao-header .accent-line { margin: 0 auto 1.25rem; }
.missao-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.missao-card { padding: 1.75rem 2rem; border: 1px solid var(--color-gray-100); }
.missao-card .letter { font-family: var(--font-heading); font-size: 3rem; font-weight: 600; color: rgba(15,15,63,0.1); }
.missao-card h3 { margin: 0.75rem 0; }
.missao-card p { color: rgba(23,27,28,0.5); font-size: 0.875rem; line-height: 1.6; }
@media (max-width: 768px) { .missao-grid { grid-template-columns: 1fr; } }

/* ═══════════════ BLOG PREVIEW ═══════════════ */
.blog-preview { padding: 5rem 0; background: var(--color-section-alt-bg); }
.blog-preview-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 3.5rem; }
.blog-preview-header .link { font-size: 0.875rem; font-weight: 500; color: var(--color-navy); display: flex; align-items: center; gap: 0.375rem; }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.blog-card { background: var(--color-white); border: 1px solid var(--color-gray-100); overflow: hidden; transition: box-shadow 0.3s; }
.blog-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.blog-card-body { padding: 1.5rem; }
.blog-card .meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.blog-card .tag { font-size: 0.7rem; font-weight: 500; color: var(--color-navy); background: rgba(15,15,63,0.05); padding: 0.125rem 0.5rem; }
.blog-card .time { font-size: 0.7rem; color: rgba(23,27,28,0.3); }
.blog-card h3 { font-size: 1.1rem; margin-bottom: 0.5rem; line-height: 1.3; }
.blog-card:hover h3 { color: var(--color-navy); }
.blog-card p { color: rgba(23,27,28,0.45); font-size: 0.875rem; line-height: 1.6; margin-bottom: 1rem; }
.blog-card .read-more { font-size: 0.75rem; font-weight: 500; color: var(--color-navy); display: inline-flex; align-items: center; gap: 0.25rem; }
@media (max-width: 768px) { .blog-grid { grid-template-columns: 1fr; } .blog-preview-header { flex-direction: column; align-items: flex-start; gap: 1rem; } }

/* ═══════════════ CTA ═══════════════ */
.cta { position: relative; padding: 5rem 0; overflow: hidden; text-align: center; }
.cta .bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cta .overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.7); }
.cta-content { position: relative; z-index: 2; }
.cta h2 { color: var(--color-white); margin-bottom: 1.25rem; }
.cta p { color: rgba(255,255,255,0.6); max-width: 560px; margin: 0 auto 2rem; font-size: 0.95rem; line-height: 1.7; }

/* ═══════════════ CONTATO ═══════════════ */
.contato { padding: 5rem 0; }
.contato-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; }
.contato-info > p { color: rgba(23,27,28,0.5); max-width: 400px; font-size: 0.95rem; line-height: 1.7; margin-bottom: 2rem; }
.contact-item { display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 1.25rem; }
.contact-icon { width: 36px; height: 36px; background: rgba(15,15,63,0.05); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contact-icon svg { width: 15px; height: 15px; stroke: var(--color-navy); fill: none; stroke-width: 1.5; }
.contact-item h4 { font-family: var(--font-body); font-size: 0.875rem; font-weight: 600; margin-bottom: 0.125rem; }
.contact-item a, .contact-item p { color: rgba(23,27,28,0.5); font-size: 0.875rem; margin: 0; }
.contact-item a:hover { color: var(--color-navy); }
.contato-form { padding: 1.75rem 2rem; background: var(--color-gray-50); border: 1px solid var(--color-gray-100); }
.contato-form h3 { margin-bottom: 0.25rem; }
.contato-form .subtitle { color: rgba(23,27,28,0.4); font-size: 0.875rem; margin-bottom: 1.75rem; }
.form-group { margin-bottom: 1rem; }
.form-group label { display: block; font-size: 0.75rem; font-weight: 500; color: rgba(23,27,28,0.6); margin-bottom: 0.375rem; }
.form-group input, .form-group textarea, .form-group select { width: 100%; padding: 0.625rem 1rem; border: 1px solid var(--color-gray-200); background: var(--color-white); font-family: var(--font-body); font-size: 0.875rem; color: var(--color-black); outline: none; transition: border-color 0.2s; }
.form-group input:focus, .form-group textarea:focus { border-color: rgba(15,15,63,0.3); }
.form-group input::placeholder, .form-group textarea::placeholder { color: rgba(23,27,28,0.25); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-submit { width: 100%; padding: 0.75rem; background: var(--color-btn-bg); color: var(--color-btn-text); font-family: var(--font-body); font-size: 0.875rem; font-weight: 600; border: none; cursor: pointer; transition: all 0.2s; margin-top: 0.5rem; }
.form-submit:hover { opacity: 0.85; }
.success-msg { padding: 1rem; background: #d4edda; border: 1px solid #c3e6cb; margin-bottom: 1.5rem; font-size: 0.875rem; color: #155724; }
@media (max-width: 768px) { .contato-grid { grid-template-columns: 1fr; } .form-row { grid-template-columns: 1fr; } }

/* ═══════════════ FOOTER ═══════════════ */
.site-footer { background: var(--color-footer-bg); color: var(--color-footer-text); padding: 4rem 0 0; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2rem; padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,0.08); }
.footer-brand .logo { font-family: var(--font-body); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.25em; text-transform: uppercase; color: var(--color-footer-text); margin-bottom: 1rem; display: block; }
.footer-brand p { color: var(--color-footer-text); opacity: 0.35; font-size: 0.8rem; line-height: 1.7; max-width: 300px; }
.footer-col h4 { font-family: var(--font-body); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-footer-text); opacity: 0.5; margin-bottom: 1rem; }
.footer-col a { display: block; color: var(--color-footer-text); opacity: 0.35; font-size: 0.8rem; margin-bottom: 0.5rem; }
.footer-col a:hover { opacity: 1; }
.footer-bottom { padding: 1.5rem 0; display: flex; align-items: center; justify-content: space-between; }
.footer-bottom p, .footer-bottom a { color: var(--color-footer-text); opacity: 0.2; font-size: 0.7rem; }
.footer-bottom a:hover { opacity: 0.5; }
@media (max-width: 768px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .footer-grid { grid-template-columns: 1fr; } }

/* ═══════════════ WHATSAPP FLOAT ═══════════════ */
.whatsapp-float { position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 999; width: 52px; height: 52px; background: var(--color-whatsapp); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(37,211,102,0.4); transition: transform 0.2s; }
.whatsapp-float:hover { transform: scale(1.05); }
.whatsapp-float svg { width: 24px; height: 24px; fill: white; }

/* ═══════════════ INNER PAGES ═══════════════ */
.page-header { padding: 8rem 0 3rem; background: var(--color-section-alt-bg); text-align: center; }
.page-header h1 { margin-bottom: 0.75rem; }
.page-header p { color: rgba(23,27,28,0.5); font-size: 0.95rem; max-width: 500px; margin: 0 auto; }
.inner-page { padding: 4rem 0; }
.inner-page-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 3rem; align-items: start; }
.inner-page-content p { color: rgba(23,27,28,0.6); font-size: 0.95rem; line-height: 1.8; margin-bottom: 1.5rem; }
.inner-page-content h3 { margin: 2rem 0 1rem; }
.services-list li { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--color-gray-100); color: rgba(23,27,28,0.6); font-size: 0.95rem; }
.services-list li::before { content: ''; width: 6px; height: 6px; background: var(--color-navy); border-radius: 50%; flex-shrink: 0; }
.sidebar { position: sticky; top: 6rem; }
.sidebar-card { padding: 1.75rem; background: var(--color-gray-50); border: 1px solid var(--color-gray-100); margin-bottom: 1.5rem; }
.sidebar-card h4 { font-family: var(--font-body); font-size: 0.95rem; font-weight: 600; margin-bottom: 0.75rem; }
.sidebar-card p { color: rgba(23,27,28,0.5); font-size: 0.875rem; line-height: 1.6; margin-bottom: 1rem; }
.sidebar-areas a { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 0; border-bottom: 1px solid var(--color-gray-100); font-size: 0.875rem; color: rgba(23,27,28,0.6); }
.sidebar-areas a:hover { color: var(--color-navy); }
.sidebar-areas a.current { color: var(--color-navy); font-weight: 600; }
@media (max-width: 768px) { .inner-page-grid { grid-template-columns: 1fr; } }

/* ═══════════════ VAGAS ═══════════════ */
.vagas-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-bottom: 3rem; }
.vaga-card { padding: 1.75rem; border: 1px solid var(--color-gray-100); transition: all 0.3s; }
.vaga-card:hover { border-color: rgba(15,15,63,0.15); box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.vaga-card .tags { display: flex; gap: 0.5rem; margin-bottom: 0.75rem; }
.vaga-card .tag { font-size: 0.65rem; font-weight: 500; padding: 0.125rem 0.5rem; background: rgba(15,15,63,0.05); color: var(--color-navy); }
.vaga-card h3 { margin-bottom: 0.5rem; }
.vaga-card p { color: rgba(23,27,28,0.45); font-size: 0.875rem; line-height: 1.6; }
.candidatura-section { padding: 3rem; background: var(--color-gray-50); border: 1px solid var(--color-gray-100); text-align: center; }
@media (max-width: 768px) { .vagas-grid { grid-template-columns: 1fr; } }

/* ═══════════════ BLOG FILTERS ═══════════════ */
.blog-filters { display: flex; gap: 0.5rem; margin-bottom: 2.5rem; flex-wrap: wrap; }
.blog-filter-btn { padding: 0.5rem 1rem; font-family: var(--font-body); font-size: 0.8rem; font-weight: 500; border: 1px solid var(--color-gray-200); background: transparent; color: rgba(23,27,28,0.5); cursor: pointer; transition: all 0.2s; }
.blog-filter-btn:hover, .blog-filter-btn.active { background: var(--color-navy); color: var(--color-white); border-color: var(--color-navy); }

/* ═══════════════ ANIMATIONS ═══════════════ */
.fade-in { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
.fade-left { opacity: 0; transform: translateX(-20px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-left.visible { opacity: 1; transform: translateX(0); }
.fade-right { opacity: 0; transform: translateX(20px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-right.visible { opacity: 1; transform: translateX(0); }

/* ═══════════════ GOLD ACCENTS ═══════════════ */
.text-gold { color: var(--color-gold); }
.accent-line-gold { width: 48px; height: 2px; background: var(--color-gold); }
.border-gold { border-color: var(--color-gold); }
.btn-gold { background: var(--color-gold); color: var(--color-white); }
.btn-gold:hover { background: #a69578; }
.section-label-gold { font-family: var(--font-body); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--color-gold); }

/* WordPress defaults */
.wp-block-image img { max-width: 100%; height: auto; }
.aligncenter { text-align: center; }
.alignleft { float: left; margin-right: 1.5rem; }
.alignright { float: right; margin-left: 1.5rem; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }
