/*
Theme Name: Arquiteto Moderno
Theme URI: https://arquitetomoderno.com.br
Author: Josias Galdino
Description: Tema editorial do Arquiteto Moderno. Carvão, teal e Montserrat. Blog com paginação de 6 artigos, filtro por pilar, hero com carrossel e layout responsivo.
Version: 1.0.8
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: arquiteto-moderno
*/

:root {
  --carvao: #282F33;
  --teal: #7FA7A6;
  --cinza-medio: #686F72;
  --cinza-claro: #E6E7E9;
  --off-white: #F1EFE8;
  --branco: #FFFFFF;
  --p1: #5B8DB8;
  --p2: #7FA7A6;
  --p3: #9B7FB6;
  --p4: #6DAA7A;
  --p5: #C08050;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { font-family:'Montserrat',sans-serif; background:var(--branco); color:var(--carvao); font-size:14px; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; }

/* ── SITE HEADER ── */
.site-header { background:var(--carvao); padding:0 48px; display:flex; align-items:center; justify-content:space-between; height:72px; position:sticky; top:0; z-index:100; border-bottom:1px solid rgba(255,255,255,.06); }
.site-logo { display:flex; flex-direction:column; gap:2px; text-decoration:none; }
.site-logo .custom-logo-link { display:flex; align-items:center; height:72px; }
.site-logo img.custom-logo, img.custom-logo { max-height:44px !important; width:auto !important; }
.site-logo .mark { font-size:22px; font-weight:800; color:var(--branco); letter-spacing:-.04em; line-height:1; }
.site-logo .teal-line { width:100%; height:1.5px; background:var(--teal); margin:2px 0; }
.site-logo .wordmark { font-size:8px; font-weight:600; letter-spacing:.25em; text-transform:uppercase; color:var(--cinza-medio); }

.site-nav { display:flex; align-items:center; gap:0; height:72px; }
.nav-item { position:relative; height:72px; display:flex; align-items:center; }
.nav-item > a { font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.6); text-decoration:none; padding:0 18px; height:72px; display:flex; align-items:center; gap:4px; transition:color .2s; border-bottom:2px solid transparent; line-height:1; }
.nav-item > a .arrow { font-size:8px; display:inline-block; margin-top:1px; }
.nav-item > a:hover, .nav-item > a.active { color:var(--branco); border-bottom-color:var(--teal); }

.nav-search { display:flex; align-items:center; gap:8px; padding-left:16px; border-left:1px solid rgba(255,255,255,.08); margin-left:8px; }
.nav-search form { display:flex; align-items:center; gap:8px; }
.search-toggle { background:none; border:none; color:rgba(255,255,255,.5); font-size:16px; cursor:pointer; padding:8px; display:flex; align-items:center; transition:color .2s; }
.search-toggle:hover { color:var(--teal); }
.search-box { background:rgba(255,255,255,.06); border:none; border-bottom:1px solid rgba(255,255,255,.2); padding:6px 10px; font-family:'Montserrat',sans-serif; font-size:11px; color:rgba(255,255,255,.8); outline:none; width:0; opacity:0; transition:width .3s, opacity .3s; }
.search-box.open { width:160px; opacity:1; }
.search-box::placeholder { color:rgba(255,255,255,.3); }

/* Menu hambúrguer (mobile) */
.menu-toggle { display:none; background:none; border:1px solid rgba(255,255,255,.15); color:var(--branco); width:40px; height:40px; cursor:pointer; align-items:center; justify-content:center; }
.menu-toggle svg { pointer-events:none; }

/* ── DIVISOR ── */
.tempo-divisor { background:#1e2528; display:flex; align-items:center; padding:0 48px; height:36px; border-bottom:1px solid rgba(127,167,166,.1); }
.tempo-divisor-line { flex:1; height:1px; background:rgba(127,167,166,.15); }
.tempo-divisor-text { font-size:9px; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--teal); padding:0 24px; white-space:nowrap; opacity:.7; }

/* ── HERO ── */
.hero-block { display:grid; grid-template-columns:1fr 340px; background:var(--carvao); }
.hero-carousel { position:relative; overflow:hidden; min-height:520px; }
.hero-slide { position:absolute; inset:0; opacity:0; transition:opacity .7s; display:flex; flex-direction:column; justify-content:flex-end; pointer-events:none; }
.hero-slide.active { opacity:1; position:relative; min-height:520px; pointer-events:auto; }
.hero-slide-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.hero-slide-bg.fallback-1 { background:linear-gradient(160deg,#1e3a50 0%,#0e2035 100%); }
.hero-slide-bg.fallback-2 { background:linear-gradient(160deg,#2a1e40 0%,#1a0e30 100%); }
.hero-slide-bg.fallback-3 { background:linear-gradient(160deg,#1a3028 0%,#0a2018 100%); }
.hero-slide-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.4) 50%, rgba(0,0,0,.1) 100%); }
.hero-slide-content { position:relative; z-index:2; padding:40px 48px; }
.hero-slide-cat { font-size:9px; font-weight:700; letter-spacing:.25em; text-transform:uppercase; color:var(--teal); margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.hero-slide-cat::before { content:''; width:16px; height:1px; background:var(--teal); }
.hero-slide-date { font-size:11px; color:rgba(255,255,255,.4); margin-bottom:12px; }
.hero-slide-title { font-size:30px; font-weight:800; color:var(--branco); line-height:1.1; letter-spacing:-.02em; margin-bottom:20px; max-width:540px; }
.hero-slide-title a { color:var(--branco); text-decoration:none; }
.hero-slide-author { display:flex; align-items:center; gap:10px; font-size:11px; color:rgba(255,255,255,.5); }
.hero-author-avatar { width:32px; height:32px; border-radius:50%; background:var(--teal); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:var(--branco); flex-shrink:0; }

.hero-controls { position:absolute; bottom:24px; left:48px; z-index:10; display:flex; align-items:center; gap:10px; }
.hero-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.3); cursor:pointer; transition:all .2s; border:none; padding:0; }
.hero-dot.active { background:var(--teal); width:20px; border-radius:3px; }
.hero-arrow { width:36px; height:36px; border:1px solid rgba(255,255,255,.2); background:rgba(0,0,0,.3); color:rgba(255,255,255,.7); font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s; border-radius:50%; }
.hero-arrow:hover { border-color:var(--teal); color:var(--teal); }

.hero-sidebar { border-left:1px solid rgba(255,255,255,.06); display:flex; flex-direction:column; }
.hero-sidebar-header { font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(127,167,166,.5); padding:16px 20px; border-bottom:1px solid rgba(255,255,255,.06); }
.hero-sidebar-card { flex:1; position:relative; overflow:hidden; border-bottom:1px solid rgba(255,255,255,.06); display:flex; flex-direction:column; justify-content:flex-end; cursor:pointer; min-height:160px; text-decoration:none; }
.hero-sidebar-card:last-child { border-bottom:none; }
.sidebar-card-bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .4s; }
.sidebar-card-bg.fallback-1 { background:linear-gradient(135deg,#1e3040 0%,#0e2030 100%); }
.sidebar-card-bg.fallback-2 { background:linear-gradient(135deg,#2a2040 0%,#1a1030 100%); }
.sidebar-card-bg.fallback-3 { background:linear-gradient(135deg,#2a1a1a 0%,#1a0a0a 100%); }
.sidebar-card-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.2) 60%, transparent 100%); }
.sidebar-card-content { position:relative; z-index:2; padding:16px 20px; }
.sidebar-card-cat { font-size:8px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:5px; }
.sidebar-card-title { font-size:13px; font-weight:700; color:var(--branco); line-height:1.25; margin-bottom:5px; }
.sidebar-card-date { font-size:10px; color:rgba(255,255,255,.35); }
.hero-sidebar-card:hover .sidebar-card-bg { transform:scale(1.03); }

/* ── SECTIONS ── */
.content-section { background:var(--branco); padding:48px; border-bottom:1px solid var(--cinza-claro); }
.content-section.alt { background:var(--off-white); }
.content-section.dark { background:var(--carvao); }
.section-header { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:28px; }
.section-title { font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--carvao); display:flex; align-items:center; gap:12px; }
.section-title::after { content:''; width:32px; height:1px; background:var(--teal); }
.content-section.dark .section-title { color:var(--branco); }
.section-link { font-size:11px; font-weight:600; color:var(--teal); text-decoration:none; }

.articles-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--cinza-claro); }
.article-card { background:var(--branco); overflow:hidden; transition:background .2s; text-decoration:none; display:block; }
.article-card:hover { background:var(--off-white); }
.article-card-img { width:100%; height:180px; background:var(--cinza-claro); background-size:cover; background-position:center; }
.article-card-body { padding:20px; }
.article-card-cat { font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:8px; }
.article-card-title { font-size:14px; font-weight:700; color:var(--carvao); line-height:1.35; margin-bottom:10px; }
.article-card-meta { font-size:11px; color:var(--cinza-medio); }

/* ── PODCAST STRIP (home) ── */
.podcast-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.08); }
.podcast-card { background:rgba(255,255,255,.04); padding:24px; text-decoration:none; display:block; }
.podcast-ep { font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:8px; }
.podcast-title { font-size:14px; font-weight:700; color:var(--branco); line-height:1.3; margin-bottom:12px; }
.podcast-player { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); padding:10px 14px; display:flex; align-items:center; gap:10px; font-size:11px; color:var(--cinza-medio); }
.podcast-play { width:28px; height:28px; background:var(--teal); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:10px; color:var(--branco); flex-shrink:0; }
.podcast-bar { flex:1; height:2px; background:rgba(255,255,255,.15); }

.about-strip { background:#1e2528; padding:48px; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.about-strip p { font-size:18px; font-weight:500; color:var(--branco); max-width:480px; line-height:1.5; }
.about-strip p em { color:var(--teal); font-style:normal; }
.hero-cta { display:inline-block; border:1.5px solid var(--teal); color:var(--teal); font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; padding:12px 28px; text-decoration:none; transition:all .2s; }
.hero-cta:hover { background:var(--teal); color:var(--branco); }

/* ── FOOTER ── */
.site-footer { background:#111518; padding:40px 48px; border-top:1px solid rgba(255,255,255,.04); }
.footer-main { display:flex; align-items:start; justify-content:space-between; margin-bottom:40px; gap:32px; flex-wrap:wrap; }
.footer-logo { display:flex; flex-direction:column; gap:2px; }
.footer-logo .mark { font-size:20px; font-weight:800; color:var(--branco); letter-spacing:-.04em; line-height:1; }
.footer-logo .teal-line { width:100%; height:1.5px; background:var(--teal); margin:2px 0; }
.footer-logo .wordmark { font-size:7px; font-weight:600; letter-spacing:.25em; text-transform:uppercase; color:var(--cinza-medio); }
.footer-logo .tagline { font-size:10px; color:var(--cinza-medio); margin-top:8px; line-height:1.5; max-width:180px; }
.footer-nav { display:grid; grid-template-columns:repeat(4,auto); gap:0 48px; align-items:start; }
.footer-nav-col h4 { font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:16px; }
.footer-nav-col a { display:block; font-size:11px; color:rgba(255,255,255,.4); text-decoration:none; margin-bottom:10px; letter-spacing:.03em; transition:color .2s; }
.footer-nav-col a:hover { color:var(--teal); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:24px; border-top:1px solid rgba(255,255,255,.06); gap:16px; flex-wrap:wrap; }
.footer-copy { font-size:10px; color:rgba(255,255,255,.2); letter-spacing:.05em; }
.footer-legal { display:flex; gap:20px; }
.footer-legal a { font-size:10px; color:rgba(255,255,255,.2); text-decoration:none; transition:color .2s; }
.footer-legal a:hover { color:var(--cinza-medio); }

/* ── BLOG ── */
.blog-header { background:var(--carvao); padding:48px 48px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.blog-title { font-size:32px; font-weight:800; color:var(--branco); letter-spacing:-.02em; margin-bottom:28px; }
.blog-title .blog-title-count { font-size:13px; font-weight:500; color:var(--cinza-medio); letter-spacing:0; display:block; margin-top:6px; }

/* Filtro por pilar — chips coloridos e selecionáveis, visíveis no corpo da página */
.pilar-filter-row { background:var(--off-white); padding:20px 48px; display:flex; gap:10px; flex-wrap:wrap; border-bottom:1px solid var(--cinza-claro); }
.pilar-chip { --chip-color:var(--teal); display:inline-flex; align-items:center; gap:8px; background:var(--branco); border:1.5px solid var(--cinza-claro); color:var(--cinza-medio); font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; padding:8px 16px; text-decoration:none; transition:all .18s; border-radius:2px; }
.pilar-chip-dot { width:8px; height:8px; border-radius:50%; background:var(--chip-color); flex-shrink:0; transition:transform .18s; }
.pilar-chip:hover { border-color:var(--chip-color); color:var(--carvao); }
.pilar-chip:hover .pilar-chip-dot { transform:scale(1.2); }
.pilar-chip.active { background:var(--chip-color); border-color:var(--chip-color); color:var(--branco); }
.pilar-chip.active .pilar-chip-dot { background:var(--branco); }

.blog-card-img.fallback-1, .article-card-img.fallback-1 { background-image:linear-gradient(135deg,#1e3040,#0e2030); }
.blog-card-img.fallback-2, .article-card-img.fallback-2 { background-image:linear-gradient(135deg,#2a2040,#1a1030); }
.blog-card-img.fallback-3, .article-card-img.fallback-3 { background-image:linear-gradient(135deg,#1a3028,#0a2018); }

.blog-grid { background:var(--branco); }
.blog-card { background:var(--branco); display:grid; grid-template-columns:380px 1fr; overflow:hidden; transition:background .2s; border-bottom:1px solid var(--cinza-claro); min-height:240px; text-decoration:none; }
.blog-card:hover { background:var(--off-white); }
.blog-card-img { width:380px; height:100%; min-height:240px; background:var(--cinza-claro); background-size:cover; background-position:center; }
.blog-card-body { padding:36px 40px; display:flex; flex-direction:column; justify-content:center; }
.blog-card-cat { font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; margin-bottom:12px; }
.blog-card-title { font-size:22px; font-weight:700; color:var(--carvao); line-height:1.25; margin-bottom:12px; }
.blog-card-excerpt { font-size:13px; color:var(--cinza-medio); line-height:1.7; margin-bottom:16px; max-width:480px; }
.blog-card-meta { font-size:11px; color:var(--cinza-medio); display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.blog-card-read { font-size:11px; font-weight:600; color:var(--teal); letter-spacing:.05em; margin-left:auto; }
.blog-empty { padding:64px 48px; font-size:14px; color:var(--cinza-medio); }

/* ── PAGINAÇÃO (abas) ── */
.am-pagination, .navigation.pagination { background:var(--branco); padding:36px 48px; }
.am-pagination .nav-links, .navigation.pagination .nav-links { display:flex; justify-content:center; align-items:center; gap:8px; flex-wrap:wrap; }
.navigation .page-numbers { min-width:42px; height:42px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--cinza-claro); color:var(--carvao); font-family:'Montserrat',sans-serif; font-weight:600; font-size:12px; text-decoration:none; transition:all .2s; }
.navigation .page-numbers.current { background:var(--carvao); color:var(--branco); border-color:var(--carvao); }
.navigation a.page-numbers:hover { border-color:var(--teal); color:var(--teal); }
.navigation .page-numbers.dots { border:none; }

/* ── ARTIGO ── */
.article-header { background:var(--branco); padding:56px 48px 40px; max-width:860px; margin:0 auto; }
.article-cat { font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--catcolor, var(--teal)); margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.article-cat-dot { width:9px; height:9px; border-radius:50%; background:var(--catcolor, var(--teal)); flex-shrink:0; }
.article-cat a { color:inherit; text-decoration:none; }
.article-title { font-size:36px; font-weight:800; color:var(--carvao); line-height:1.1; letter-spacing:-.02em; margin-bottom:20px; }
.article-byline { display:flex; align-items:center; gap:16px; font-size:12px; color:var(--cinza-medio); padding-bottom:24px; border-bottom:1px solid var(--cinza-claro); flex-wrap:wrap; }
.article-byline strong { color:var(--carvao); }
.article-featured-img { width:100%; max-width:860px; margin:0 auto; }
.article-featured-img img { width:100%; height:auto; }
.article-featured-img.fallback-1, .article-featured-img.fallback-2, .article-featured-img.fallback-3 { height:340px; background-size:cover; background-position:center; }
.article-featured-img.fallback-1 { background-image:linear-gradient(135deg,#1e3040,#0e2030); }
.article-featured-img.fallback-2 { background-image:linear-gradient(135deg,#2a2040,#1a1030); }
.article-featured-img.fallback-3 { background-image:linear-gradient(135deg,#1a3028,#0a2018); }
.article-body { background:var(--branco); max-width:750px; margin:0 auto; padding:48px 48px 64px; }
.article-body p { font-size:16px; color:var(--cinza-medio); line-height:1.85; margin-bottom:24px; }
.article-body p strong, .article-body li strong { color:var(--carvao); }
.article-body h2 { font-size:22px; font-weight:700; color:var(--carvao); margin:40px 0 16px; }
.article-body h3 { font-size:18px; font-weight:700; color:var(--carvao); margin:32px 0 12px; }
.article-body ul, .article-body ol { margin:0 0 24px 22px; }
.article-body li { font-size:16px; color:var(--cinza-medio); line-height:1.85; margin-bottom:8px; }
.article-body a { color:var(--teal); }
.article-body blockquote { border-left:3px solid var(--teal); padding:12px 24px; margin:0 0 24px; background:var(--off-white); }
.article-body img { margin:0 auto 24px; }
.article-body figure { margin:0 0 24px; }
.article-body figcaption { font-size:12px; color:var(--cinza-medio); text-align:center; margin-top:8px; }
.wp-block-image img { height:auto; }

.article-cta-box { background:var(--carvao); padding:32px; margin:48px 0; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.article-cta-box p { font-size:15px; color:var(--branco); line-height:1.5; margin:0; max-width:400px; }
.article-cta-box p em { color:var(--teal); font-style:normal; }
.btn-teal { display:inline-block; background:none; border:1.5px solid var(--teal); color:var(--teal); font-family:'Montserrat',sans-serif; font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; padding:10px 22px; cursor:pointer; white-space:nowrap; text-decoration:none; }
.btn-teal:hover { background:var(--teal); color:var(--branco); }

.article-share { display:flex; align-items:center; gap:12px; padding:24px 0; border-top:1px solid var(--cinza-claro); margin-top:48px; flex-wrap:wrap; }
.article-share-label { font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--cinza-medio); }
.share-btn { border:1px solid var(--cinza-claro); background:none; padding:8px 16px; font-family:'Montserrat',sans-serif; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--cinza-medio); cursor:pointer; text-decoration:none; }
.share-btn:hover { border-color:var(--carvao); color:var(--carvao); }

.article-related { background:var(--off-white); padding:48px; }
.article-related-inner { max-width:860px; margin:0 auto; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--cinza-claro); margin-top:24px; }
.related-card { background:var(--branco); padding:20px; text-decoration:none; display:block; }
.related-card:hover { background:var(--off-white); }
.related-cat { font-size:9px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--teal); margin-bottom:8px; }
.related-title { font-size:13px; font-weight:700; color:var(--carvao); line-height:1.3; }

/* ── PODCASTS (página) ── */
.podcast-header { background:var(--carvao); padding:56px 48px; }
.podcast-header h1 { font-size:40px; font-weight:800; color:var(--branco); letter-spacing:-.02em; margin-bottom:12px; }
.podcast-header p { font-size:15px; color:var(--cinza-medio); max-width:480px; line-height:1.6; }
.podcast-list { background:var(--branco); padding:0 48px; }
.podcast-item { display:grid; grid-template-columns:120px 1fr auto; gap:28px; align-items:center; padding:28px 0; border-bottom:1px solid var(--cinza-claro); }
.podcast-thumb { width:120px; height:120px; background:var(--cinza-claro); display:flex; align-items:center; justify-content:center; font-size:32px; }
.podcast-item-ep { font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:8px; }
.podcast-item-title { font-size:18px; font-weight:700; color:var(--carvao); line-height:1.2; margin-bottom:10px; }
.podcast-item-desc { font-size:13px; color:var(--cinza-medio); line-height:1.6; margin-bottom:14px; max-width:520px; }
.podcast-item-player { display:flex; align-items:center; gap:10px; }
.podcast-item-play { width:32px; height:32px; background:var(--teal); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--branco); font-size:11px; cursor:pointer; }
.podcast-item-bar { width:200px; height:2px; background:var(--cinza-claro); }
.podcast-item-time { font-size:11px; color:var(--cinza-medio); }
.podcast-item-duration { font-size:22px; font-weight:300; color:var(--cinza-claro); text-align:center; }

/* ── PRODUTOS ── */
.produtos-header { background:var(--carvao); padding:56px 48px 40px; border-bottom:1px solid rgba(255,255,255,.06); }
.produtos-header h1 { font-size:32px; font-weight:800; color:var(--branco); letter-spacing:-.02em; margin-bottom:12px; }
.produtos-header p { font-size:15px; color:var(--cinza-medio); line-height:1.6; max-width:520px; }
.produtos-grid { background:var(--cinza-claro); display:grid; grid-template-columns:repeat(3,1fr); gap:1px; }
.produto-card { background:var(--branco); padding:36px 28px; display:flex; flex-direction:column; }
.produto-card.dimmed { opacity:.4; }
.produto-badge { display:inline-block; font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); border:1px solid var(--teal); padding:3px 8px; margin-bottom:16px; align-self:flex-start; }
.produto-badge.em-breve { color:var(--cinza-medio); border-color:var(--cinza-claro); }
.produto-name { font-size:20px; font-weight:700; color:var(--carvao); margin-bottom:12px; line-height:1.2; }
.produto-desc { font-size:13px; color:var(--cinza-medio); line-height:1.7; margin-bottom:20px; flex:1; }
.produto-publico { font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--cinza-medio); margin-bottom:20px; padding-top:16px; border-top:1px solid var(--cinza-claro); }
.produto-price.em-breve-price { font-size:14px; font-weight:600; color:var(--cinza-medio); }
.email-capture { display:flex; gap:0; margin-top:8px; }
.email-capture input { flex:1; min-width:0; border:1px solid var(--cinza-claro); border-right:none; padding:10px 14px; font-family:'Montserrat',sans-serif; font-size:12px; color:var(--carvao); outline:none; }
.email-capture button { background:var(--carvao); color:var(--branco); border:none; padding:10px 16px; font-family:'Montserrat',sans-serif; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }

/* ── SOBRE ── */
.sobre-hero { background:var(--carvao); padding:72px 48px; display:grid; grid-template-columns:1fr 320px; gap:64px; align-items:center; }
.sobre-hero h1 { font-size:44px; font-weight:800; color:var(--branco); letter-spacing:-.02em; line-height:1.05; margin-bottom:20px; }
.sobre-hero h1 em { color:var(--teal); font-style:normal; }
.sobre-hero p { font-size:15px; color:var(--cinza-medio); line-height:1.7; }
.sobre-photo { width:320px; height:320px; background:#2a3a3a; display:flex; align-items:center; justify-content:center; font-size:13px; color:#555; background-size:cover; background-position:center; }
.sobre-body { background:var(--branco); padding:64px 48px; }
.sobre-block { max-width:720px; margin:0 auto 56px; padding-bottom:56px; border-bottom:1px solid var(--cinza-claro); }
.sobre-block:last-child { border-bottom:none; margin-bottom:0; }
.sobre-block-label { font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:16px; }
.sobre-block h2 { font-size:26px; font-weight:700; color:var(--carvao); letter-spacing:-.01em; margin-bottom:16px; line-height:1.2; }
.sobre-block p { font-size:15px; color:var(--cinza-medio); line-height:1.8; margin-bottom:16px; }
.sobre-valores { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--cinza-claro); margin-top:28px; }
.sobre-valor { background:var(--branco); padding:28px 24px; }
.sobre-valor-label { font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:12px; border-left:3px solid var(--teal); padding-left:10px; }
.sobre-valor p { font-size:13px; color:var(--cinza-medio); line-height:1.7; margin:0; }
.sobre-manifesto { background:var(--carvao); padding:48px; margin:0 auto 56px; max-width:720px; }
.sobre-manifesto-label { font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:20px; }
.sobre-manifesto p.quote { font-size:20px; font-weight:500; color:var(--branco); line-height:1.6; font-style:italic; }
.sobre-manifesto .line { width:40px; height:1.5px; background:var(--teal); margin-top:24px; }
.sobre-manifesto p.sig { font-size:11px; color:var(--cinza-medio); margin-top:12px; letter-spacing:.05em; }
.sobre-founder { display:flex; gap:28px; align-items:start; margin-top:24px; }
.founder-photo { width:80px; height:80px; background:var(--cinza-claro); flex-shrink:0; border-radius:50%; background-size:cover; background-position:center; }
.founder-info h3 { font-size:16px; font-weight:700; color:var(--carvao); margin-bottom:4px; }
.founder-info .founder-role { font-size:11px; color:var(--teal); font-weight:600; margin-bottom:10px; }
.founder-info p { font-size:13px; color:var(--cinza-medio); line-height:1.7; margin-bottom:14px; }
.founder-links { display:flex; gap:10px; flex-wrap:wrap; }
.founder-links a { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); text-decoration:none; border:1px solid var(--teal); padding:6px 12px; }

/* ── CONTATO ── */
.contato-layout { background:var(--branco); display:grid; grid-template-columns:1fr 480px; min-height:calc(100vh - 108px); }
.contato-left { background:var(--carvao); padding:72px 56px; }
.contato-left h1 { font-size:40px; font-weight:800; color:var(--branco); letter-spacing:-.02em; margin-bottom:16px; }
.contato-left p { font-size:15px; color:var(--cinza-medio); line-height:1.7; margin-bottom:48px; max-width:360px; }
.contato-info-item { margin-bottom:28px; }
.contato-info-label { font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:6px; }
.contato-info-value { font-size:14px; color:var(--cinza-claro); font-weight:500; word-break:break-word; }
.contato-socials { display:flex; gap:12px; margin-top:48px; }
.social-btn { width:36px; height:36px; border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--cinza-medio); cursor:pointer; text-decoration:none; transition:all .2s; }
.social-btn:hover { border-color:var(--teal); color:var(--teal); }
.contato-right { padding:72px 56px; }
.contato-right .form-group, .contato-right .wpforms-field { margin-bottom:20px; }
.form-label, .contato-right .wpforms-field-label { display:block; font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--carvao); margin-bottom:8px; }
.form-input, .contato-right input[type=text], .contato-right input[type=email], .contato-right textarea { width:100%; border:1px solid var(--cinza-claro); padding:12px 16px; font-family:'Montserrat',sans-serif; font-size:14px; color:var(--carvao); outline:none; background:var(--branco); }
.form-input:focus, .contato-right input:focus, .contato-right textarea:focus { border-color:var(--teal); }
.contato-right textarea { height:140px; resize:vertical; }
.form-submit, .contato-right button[type=submit] { width:100%; background:var(--carvao); color:var(--branco); border:none; padding:14px; font-family:'Montserrat',sans-serif; font-size:12px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; margin-top:8px; }
.form-submit:hover, .contato-right button[type=submit]:hover { background:var(--teal); }

.hero-tag { font-size:9px; font-weight:700; letter-spacing:.25em; text-transform:uppercase; color:var(--teal); display:flex; align-items:center; gap:12px; }
.hero-tag::before { content:''; width:24px; height:1px; background:var(--teal); }

/* Página genérica */
.page-generic { max-width:750px; margin:0 auto; padding:56px 48px; background:var(--branco); }
.page-generic h1 { font-size:32px; font-weight:800; letter-spacing:-.02em; margin-bottom:32px; }
.page-generic p { font-size:15px; color:var(--cinza-medio); line-height:1.8; margin-bottom:16px; }

/* Acessibilidade */
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }
a:focus-visible, button:focus-visible, input:focus-visible { outline:2px solid var(--teal); outline-offset:2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition:none !important; animation:none !important; }
}

/* ══════════════════ RESPONSIVO ══════════════════ */

/* Tablet grande / notebook pequeno */
@media (max-width: 1024px) {
  .hero-block { grid-template-columns:1fr; }
  .hero-sidebar { border-left:none; border-top:1px solid rgba(255,255,255,.06); flex-direction:row; }
  .hero-sidebar-header { display:none; }
  .hero-sidebar-card { border-bottom:none; border-right:1px solid rgba(255,255,255,.06); min-height:140px; }
  .hero-sidebar-card:last-child { border-right:none; }
  .articles-grid { grid-template-columns:repeat(2,1fr); }
  .footer-nav { grid-template-columns:repeat(2,1fr); gap:32px 48px; }
  .blog-card { grid-template-columns:300px 1fr; }
  .blog-card-img { width:300px; }
}

/* Tablet */
@media (max-width: 768px) {
  .site-header { padding:0 20px; }
  .menu-toggle { display:flex; }
  .site-nav { display:none; position:absolute; top:72px; left:0; right:0; background:var(--carvao); flex-direction:column; height:auto; align-items:stretch; border-bottom:2px solid var(--teal); box-shadow:0 12px 24px rgba(0,0,0,.4); }
  .site-nav.open { display:flex; }
  .nav-item { height:auto; flex-direction:column; align-items:stretch; }
  .nav-item > a { height:auto; padding:16px 24px; border-bottom:1px solid rgba(255,255,255,.06); border-left:2px solid transparent; }
  .nav-item > a.active { border-bottom-color:rgba(255,255,255,.06); border-left-color:var(--teal); }
  .nav-item > a .arrow { display:none; }
  .nav-search { border-left:none; margin:0; padding:16px 24px; }
  .nav-search .search-box { width:100%; opacity:1; flex:1; }
  .nav-search form { width:100%; }

  .tempo-divisor { padding:0 20px; }
  .hero-carousel, .hero-slide.active { min-height:420px; }
  .hero-slide-content { padding:28px 20px; }
  .hero-slide-title { font-size:22px; }
  .hero-controls { left:20px; }
  .hero-sidebar { flex-direction:column; }
  .hero-sidebar-card { border-right:none; border-bottom:1px solid rgba(255,255,255,.06); min-height:120px; }

  .content-section { padding:32px 20px; }
  .articles-grid { grid-template-columns:repeat(2,1fr); }
  .podcast-strip { grid-template-columns:1fr; }
  .about-strip { padding:32px 20px; }

  .blog-header { padding:32px 20px 0; }
  .pilar-filter-row { padding:16px 20px; }
  .blog-card { grid-template-columns:1fr; min-height:0; }
  .blog-card-img { width:100%; height:200px; min-height:0; }
  .blog-card-body { padding:24px 20px; }
  .blog-card-title { font-size:18px; }
  .am-pagination, .navigation.pagination { padding:28px 20px; }

  .article-header { padding:40px 20px 28px; }
  .article-title { font-size:26px; }
  .article-body { padding:32px 20px 48px; }
  .article-body p, .article-body li { font-size:15px; }
  .article-related { padding:32px 20px; }
  .related-grid { grid-template-columns:1fr; }

  .podcast-header { padding:40px 20px; }
  .podcast-header h1 { font-size:28px; }
  .podcast-list { padding:0 20px; }
  .podcast-item { grid-template-columns:80px 1fr; }
  .podcast-thumb { width:80px; height:80px; font-size:24px; }
  .podcast-item-duration { display:none; }
  .podcast-item-bar { width:100px; }

  .produtos-header { padding:40px 20px 28px; }
  .produtos-grid { grid-template-columns:1fr; }

  .sobre-hero { grid-template-columns:1fr; gap:32px; padding:48px 20px; }
  .sobre-hero h1 { font-size:30px; }
  .sobre-photo { width:100%; max-width:320px; height:240px; }
  .sobre-body { padding:40px 20px; }
  .sobre-valores { grid-template-columns:1fr; }
  .sobre-manifesto { padding:32px 20px; }
  .sobre-founder { flex-direction:column; }

  .contato-layout { grid-template-columns:1fr; min-height:0; }
  .contato-left { padding:48px 20px; }
  .contato-left h1 { font-size:30px; }
  .contato-right { padding:48px 20px; }

  .site-footer { padding:32px 20px; }
  .footer-main { flex-direction:column; }
  .footer-nav { grid-template-columns:repeat(2,1fr); gap:24px 32px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
}

/* Celular */
@media (max-width: 480px) {
  .articles-grid { grid-template-columns:1fr; }
  .hero-carousel, .hero-slide.active { min-height:360px; }
  .hero-slide-title { font-size:19px; }
  .blog-title { font-size:24px; }
  .article-title { font-size:22px; }
  .footer-nav { grid-template-columns:1fr; }
  .navigation .page-numbers { min-width:38px; height:38px; }
}
