/*
Theme Name: Hello Elementor MT
Theme URI: https://mariateixeiraadv.com.br/
Description: Child theme de Hello Elementor para Maria Teixeira Advogados. Organiza CSS em camadas (tokens, components, mt-header) com cache busting via filemtime().
Author: Maria Teixeira Advogados
Author URI: https://mariateixeiraadv.com.br/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-mt
*/


/* === FONT DECLARATIONS — removidas na Fase 6 (limpeza 2026-05-18).
   Source Serif 4 era a fonte serif do site antigo; a reforma usa
   Cormorant Garamond + Manrope (auto-hospedadas em assets/fonts/,
   enfileiradas por inc/mt-reform-enqueue.php). === */

/* === CD RESPONSIVE @media QUERIES — MT_LAYOUT_FIX_2026_04_30_v8_html_body_prefix === */
/* All selectors prefixed with 'html body ' for specificity boost (0,1,2+) to beat 'html body [data-elementor-type] h1' */

@media (max-width:1460px){html body .page{width:100% !important;margin:0 !important;box-shadow:none !important;border-radius:0 !important;}html, body{background:var(--cream,#FBF8F2) !important;}}

@media (max-width:1059px){html body .topbar{padding:16px 28px !important;gap:20px !important;}html body .topbar nav{gap:16px !important;}html body .topbar nav a{font-size:11px !important;letter-spacing:.12em !important;}html body .header-row{padding:18px 28px !important;gap:24px !important;}html body .header nav{gap:16px !important;}html body .header nav a{font-size:11px !important;letter-spacing:.12em !important;}html body .subbar{padding:8px 28px !important;}html body .subbar .c{padding:8px 28px !important;}html body .crumb{padding:12px 28px !important;}html body .crumb .c{padding:0 28px !important;}html body .index-hero{padding:48px 28px 40px !important;grid-template-columns:1fr !important;gap:32px !important;}html body .index-hero h1{font-size:40px !important;}html body .hero-stats{flex-direction:row !important;flex-wrap:wrap !important;gap:16px !important;}html body .hero-stat{flex:1 !important;min-width:130px !important;padding:12px 0 !important;}html body .content-area{padding:40px 28px 56px !important;}html body .filters-wrap{padding:16px 28px !important;}html body .featured-card{grid-template-columns:1fr !important;}html body .featured-thumb{aspect-ratio:16/7 !important;}html body .article-grid{grid-template-columns:repeat(2,1fr) !important;gap:16px !important;}html body .hero{padding:72px 0 56px !important;}html body .hero-grid{grid-template-columns:1fr !important;gap:40px !important;}html body .guide{position:static !important;margin-top:0 !important;}html body .container{padding:0 28px !important;}html body .subcats{grid-template-columns:repeat(2,1fr) !important;gap:16px !important;}html body .byauth-grid{grid-template-columns:1fr !important;}html body .baselegal .row{grid-template-columns:160px 1fr !important;gap:16px !important;}html body .baselegal .lnk{grid-column:1/-1 !important;}html body .art-row{grid-template-columns:80px 1fr !important;gap:16px !important;}html body section.band{padding:72px 0 !important;}html body h2.sec-title{font-size:36px !important;}html body .post-layout{grid-template-columns:1fr !important;}html body .post-sidebar{display:none !important;}html body .post-body{max-width:100% !important;}html body .post-hero{padding:48px 28px 40px !important;}html body .post-hero h1{font-size:38px !important;}}

@media (max-width:767px){html body .page{margin:0 !important;}html body .topbar{padding:14px 20px !important;gap:12px !important;}html body .topbar nav{display:none !important;}html body .topbar .btn{display:none !important;}html body .topbar .mob-menu-btn{display:flex !important;color:#E8DFC9 !important;}html body .header-row{padding:14px 20px !important;gap:12px !important;}html body .header > .header-row > nav[aria-label="Principal"]{display:none !important;}html body .header .btn{display:none !important;}html body .header .mob-menu-btn{display:flex !important;color:var(--navy,#0F2C4C) !important;}html body .subbar{display:none !important;}html body .crumb{padding:10px 20px !important;}html body .crumb .c{padding:0 20px !important;}html body .index-hero{padding:32px 20px 28px !important;grid-template-columns:1fr !important;gap:24px !important;}html body .index-hero h1{font-size:32px !important;letter-spacing:-.02em !important;}html body .index-hero .lede{font-size:16px !important;}html body .hero-stats{flex-direction:row !important;flex-wrap:wrap !important;gap:12px !important;}html body .hero-stat{flex:1 1 120px !important;padding:8px 0 !important;}html body .hero-stat .num{font-size:26px !important;}html body .filters-wrap{padding:12px 20px !important;top:0 !important;}html body .filters{gap:10px !important;flex-wrap:wrap !important;}html body .chips{flex-wrap:wrap !important;gap:6px !important;}html body .filters-divider{display:none !important;}html body .search-wrap{max-width:100% !important;width:100% !important;margin:0 !important;}html body .filter-select{display:none !important;}html body .content-area{padding:28px 20px 48px !important;}html body .featured-card{grid-template-columns:1fr !important;border-radius:8px !important;}html body .featured-thumb{aspect-ratio:16/9 !important;}html body .feat-body{padding:24px 20px 20px !important;}html body .feat-body h2{font-size:22px !important;}html body .feat-excerpt{font-size:14px !important;margin-bottom:20px !important;}html body .feat-cta{display:none !important;}html body .article-grid{grid-template-columns:1fr !important;gap:14px !important;}html body .pagination{gap:6px !important;padding:0 20px 40px !important;}html body .pg-btn:not(.active):not(.nav){display:none !important;}html body .hero{padding:40px 0 32px !important;}html body .hero h1{font-size:32px !important;line-height:1.15 !important;}html body .hero-grid{grid-template-columns:1fr !important;gap:24px !important;}html body .guide{position:static !important;margin-top:0 !important;}html body .container{padding:0 20px !important;}html body section.band{padding:48px 0 !important;}html body h2.sec-title{font-size:28px !important;line-height:1.2 !important;}html body .sec-dek{font-size:17px !important;line-height:1.6 !important;margin-bottom:32px !important;}html body .subcats{grid-template-columns:1fr !important;gap:12px !important;}html body .subcat{padding:24px 20px !important;}html body .baselegal{padding:40px 0 !important;}html body .baselegal .row{grid-template-columns:1fr !important;gap:8px !important;}html body .baselegal-inner{padding-left:20px !important;}html body .baselegal h3{font-size:24px !important;}html body .byauth-grid{grid-template-columns:1fr !important;gap:12px !important;}html body .author-inline{padding:20px 16px !important;}html body .art-row{grid-template-columns:1fr !important;gap:8px !important;}html body .art-row .date{display:none !important;}html body .hero .sub{font-size:18px !important;line-height:1.4 !important;}html body .faq-item h4{font-size:18px !important;line-height:1.4 !important;}html body .faq-item .r{gap:16px !important;}html body .post-layout{grid-template-columns:1fr !important;padding:0 20px !important;}html body .post-sidebar{display:none !important;}html body .post-hero{padding:32px 20px 28px !important;}html body .post-hero h1{font-size:28px !important;line-height:1.2 !important;}html body .post-hero .lede{font-size:16px !important;}html body .post-body{max-width:100% !important;padding:0 !important;}html body .post-body p, html body .post-body li{font-size:16px !important;line-height:1.7 !important;}html body .footer-grid{grid-template-columns:1fr !important;gap:32px !important;}html body .footer-cols{grid-template-columns:1fr 1fr !important;gap:16px !important;}html body footer{padding:40px 20px 28px !important;}html body .footer-inner{padding:0 20px !important;}html body .topbar .brand-sub{display:none !important;}html body .filters-wrap{position:static !important;overflow:hidden !important;}html body .chips{width:100% !important;max-width:100% !important;}html body .filter-select{width:100% !important;}html body .page{overflow-x:hidden !important;}}

/* === FAQ ACCORDION 2026-05-01 — Pillar pages (.faq-item / .a / .faq-toggle) === */
/* JS handler: /assets/js/mt-faq-toggle.js — toggla classe `.open` no .faq-item */
/* Selectors prefixed with `html body` (specificity 0,1,3) + !important para vencer inline e Elementor */

html body .faq-item .a { display: none !important; }
html body .faq-item.open .a { display: block !important; }
html body .faq-item .r,
html body .faq-item h4,
html body .faq-item .faq-toggle { cursor: pointer !important; }

/* Stubs sem resposta — esconde toggle + cursor padrao */
html body .faq-item.mt-faq-stub .faq-toggle { visibility: hidden !important; }
html body .faq-item.mt-faq-stub .r,
html body .faq-item.mt-faq-stub h4 { cursor: default !important; }

/* /faq/ page (<details class="faq-item">) — nao aplica regra acima de display:none */
/* details usa atributo [open] nativo, ja funciona sem JS */
html body details.faq-item .ans { display: block !important; }
html body details.faq-item:not([open]) .ans { display: none !important; }


/* === FAQ PAGE LAYOUT FIX 2026-05-01 — section-level override === */
/* Bug: Class Patcher 4194 aplicou `mt-faq-wrap` no top-level Elementor section dc6bfa3, */
/* fazendo a section inteira (que contem o page HTML widget) clamp em max-width:820px e */
/* "stuck to the left" (sem margin auto). Override: remove constraint quando `mt-faq-wrap` */
/* esta numa section (top-level), preservando o uso correto em wrappers internos. */
html body section.elementor-section.mt-faq-wrap { max-width: none !important; width: auto !important; }
html body section.elementor-top-section.mt-faq-wrap > .elementor-container { max-width: 1440px !important; margin: 0 auto !important; }

/* === AUTHOR PAGES LAYOUT FIX 2026-05-01 — section-level override === */
/* Bug: Class Patcher 4194 aplicou `mt-article-hero` nos top-level Elementor sections das 3 */
/* author pages (eaabc3b Maria, 7df3091 Danylo, 2368bb4 Giulianna), fazendo a section inteira */
/* (que contem o page HTML widget completo do CD .mt-page) clamp em max-width:1000px e ficar */
/* "stuck to the left" (mt-article-hero nao tem margin auto e tem padding 64px + bg cream). */
/* Override: remove constraint quando `mt-article-hero` esta numa top-level section, */
/* preservando o uso correto em Single Post hero (que usa __title/__standfirst/__byline). */
html body section.elementor-section.mt-article-hero { max-width: none !important; width: auto !important; padding: 0 !important; background: transparent !important; }
html body section.elementor-top-section.mt-article-hero > .elementor-container { max-width: 1440px !important; margin: 0 auto !important; }

/* === HAMBURGER MENU CONTRAST FIX 2026-05-01 v2 === */
/* Default state of hamburger toggle was barely visible against #081A30 navy bg */
/* (#CFC3A8 dark khaki, ~AA contrast). Brightens to #E8DFC9 (warm cream). */
/* Hover state preserved (Round 4 inline → bg navy + cream text). */
/* Specificity: html body .mt-cd-import button.mt-nav-mobile__toggle = (0,2,3) */
/* matches existing 'html body .mt-cd-import .mt-nav-mobile__toggle' (0,2,2) */
/* and wins by source order since loaded later. */
@media (max-width: 1059px) {
  html body .mt-cd-import button.mt-nav-mobile__toggle,
  html body .mt-cd-import .mt-nav-mobile__toggle {
    color: #E8DFC9 !important;
    border-color: #8B7E5E !important;
    background-color: rgba(232, 223, 201, 0.06) !important;
  }
  html body .mt-cd-import button.mt-nav-mobile__toggle .mt-nav-mobile__label,
  html body .mt-cd-import button.mt-nav-mobile__toggle .mt-nav-mobile__icon,
  html body .mt-cd-import .mt-nav-mobile__toggle .mt-nav-mobile__label,
  html body .mt-cd-import .mt-nav-mobile__toggle .mt-nav-mobile__icon {
    color: inherit !important;
  }
}

/* === HERO CTA OUTLINE-NAVY VISIBILITY FIX 2026-05-01 === */
/* Bug: .mt-cd-import wraps the homepage and overrides .btn-outline-navy with */
/* `color:#F5EEDC; border-color:#6A7B91`. Hero bg is var(--cream) #FBF8F2 — */
/* cream-on-cream text is virtually invisible. The page-level rule */
/* `.btn-outline-navy{ color:var(--navy); border-color:var(--navy) }` (0,1,0) */
/* loses to `.mt-cd-import .btn-outline-navy` (0,2,0) on specificity. */
/* Fix: scope to section.hero only (don't touch header CTAs which legitimately */
/* use cream text on navy-deep bg). */
html body .mt-cd-import section.hero a.btn.btn-outline-navy,
html body .mt-cd-import section.hero a.btn-outline-navy {
  color: var(--navy, #0F2C4C) !important;
  border-color: var(--navy, #0F2C4C) !important;
  background: transparent !important;
}
html body .mt-cd-import section.hero a.btn.btn-outline-navy:hover,
html body .mt-cd-import section.hero a.btn-outline-navy:hover {
  color: var(--gold, #B88A3E) !important;
  border-color: var(--gold, #B88A3E) !important;
  background: transparent !important;
}
html body .mt-cd-import section.hero a.btn-outline-navy svg {
  fill: currentColor !important;
}
/* Accessibility: skip link focus visibility */
.skip-link.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  position: fixed !important;
  top: 6px !important;
  left: 6px !important;
  width: auto !important;
  z-index: 100000 !important;
  background: #fff;
  color: #1A2942;
  padding: 10px 20px;
  border: 2px solid #1A2942;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
body .cta .disc{color:rgb(201,188,168) !important;}
