/*
Theme Name: MVC 2026
Theme URI: https://macielvieiracoelho.com.br
Author: Maciel Vieira & Coelho Contabil
Description: Tema proprio do site institucional da Maciel Vieira & Coelho, com identidade dourado/grafite. Estrutura inspirada em referencias de escritorios de servicos profissionais (areas de atuacao com pagina propria, equipe com foto e especialidade, prova social).
Version: 1.0.0
Text Domain: mvc-2026
*/

:root{
  --gold:#9a7a4d;
  --gold-deep:#7d6039;
  --gold-light:#c7ab7d;
  --graphite:#3e3b39;
  --graphite-2:#55504a;
  --bg:#faf8f4;
  --surface:#ffffff;
  --surface-2:#f2ede5;
  --border:#e4ddd0;
  --text:#2b2724;
  --text-muted:#736a5e;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;
  font-size:16px;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1120px;margin:0 auto;padding:0 24px;}

h1,h2,h3,h4{
  font-family:Georgia,"Iowan Old Style","Times New Roman",serif;
  font-weight:400;
  text-wrap:balance;
  margin:0 0 14px;
  color:var(--text);
}
.section-eyebrow{
  font-size:12.5px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--gold-deep);
  font-weight:600;
  margin-bottom:10px;
  display:block;
}
.section-head{max-width:64ch;margin-bottom:36px;}
.section-head p{color:var(--text-muted);font-size:16px;margin:0;}

/* ---------- header ---------- */
.site-header{
  background:var(--surface);
  color:var(--text);
  border-bottom:1px solid var(--border);
  position:sticky;
  top:0;
  z-index:50;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 0;
  gap:24px;
}
.brand{
  font-family:Georgia,serif;
  font-size:19px;
  letter-spacing:.02em;
  color:var(--text);
  display:flex;
  align-items:center;
}
.brand strong{color:var(--gold-deep);font-weight:400;}
.brand img, .custom-logo{max-height:72px;width:auto;display:block;}
.main-nav ul{
  list-style:none;
  display:flex;
  gap:26px;
  margin:0;
  padding:0;
}
.main-nav a{
  position:relative;
  display:inline-block;
  font-size:13.5px;
  color:var(--text-muted);
  text-transform:uppercase;
  letter-spacing:.04em;
  padding-bottom:6px;
  transition:color .15s ease;
}
.main-nav a::after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  height:2px;
  width:0;
  background:var(--gold);
  transition:width .2s ease;
}
.main-nav a:hover, .main-nav a:focus-visible{color:var(--gold-deep);}
.main-nav a:hover::after, .main-nav a:focus-visible::after{width:100%;}
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a{
  color:var(--gold-deep);
}
.main-nav .current-menu-item > a::after,
.main-nav .current_page_item > a::after{width:100%;}
.header-cta{
  display:flex;
  align-items:center;
  gap:18px;
}
.phone-badge{
  font-size:13.5px;
  color:var(--text);
  white-space:nowrap;
}
.btn-whatsapp{
  background:var(--gold);
  color:#241b0f;
  font-size:13px;
  font-weight:600;
  padding:9px 18px;
  border-radius:100px;
  white-space:nowrap;
  transition:background .15s ease;
}
.btn-whatsapp:hover, .btn-whatsapp:focus-visible{background:var(--gold-deep);}
.nav-toggle{display:none;background:none;border:0;color:var(--text);font-size:24px;cursor:pointer;}

@media (max-width:860px){
  .main-nav{
    display:none;
    position:absolute;
    top:100%;left:0;right:0;
    background:var(--surface);
    border-bottom:1px solid var(--border);
    padding:14px 24px 22px;
  }
  .main-nav.is-open{display:block;}
  .main-nav ul{flex-direction:column;gap:14px;}
  .nav-toggle{display:block;}
  .phone-badge{display:none;}
}

/* ---------- hero ---------- */
.hero{
  background:linear-gradient(135deg, var(--graphite), var(--graphite-2));
  color:#f1ece3;
  padding:72px 0 56px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:56px;
  align-items:center;
}
.hero-text{max-width:60ch;min-width:0;}
.hero-visual{display:flex;justify-content:center;min-width:0;}
.hero-logo-panel{
  background:var(--surface);
  border-radius:24px;
  padding:44px;
  width:100%;
  max-width:360px;
  aspect-ratio:1;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 24px 48px -12px rgba(0,0,0,.35);
}
.hero-logo-panel img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;}
.hero h1{color:#fff;font-size:38px;margin-bottom:16px;}
.hero .lede{color:#d8cfc2;font-size:17px;margin-bottom:32px;max-width:52ch;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px;}
.btn-primary{
  background:var(--gold);
  color:#241b0f;
  font-weight:600;
  font-size:14.5px;
  padding:13px 26px;
  border-radius:8px;
}
.btn-primary:hover, .btn-primary:focus-visible{background:var(--gold-light);}
.btn-secondary{
  border:1px solid #6b655c;
  color:#f1ece3;
  font-size:14.5px;
  padding:12px 25px;
  border-radius:8px;
}
.btn-secondary:hover, .btn-secondary:focus-visible{border-color:var(--gold-light);color:var(--gold-light);}

.stat-row{display:flex;gap:44px;flex-wrap:wrap;}
.stat .num{
  font-family:Georgia,serif;
  font-size:32px;
  color:var(--gold-light);
  font-variant-numeric:tabular-nums;
}
.stat .label{
  font-size:12px;
  color:#c9bfb1;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-top:2px;
}

/* ---------- services grid ---------- */
.services{padding:76px 0;}
.services-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}
.service-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:12px;
  padding:28px;
  min-width:0;
  transition:background .15s ease, border-color .15s ease;
}
.service-card:hover{background:var(--surface-2);border-color:var(--gold);}

@media (max-width:900px){
  .services-grid{grid-template-columns:repeat(2, 1fr);}
}
@media (max-width:600px){
  .services-grid{grid-template-columns:1fr;}
}
.service-card .tag{
  display:inline-block;
  font-size:10.5px;
  color:var(--gold-deep);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:10px;
  font-weight:700;
}
.service-card h3{font-size:17px;margin:0 0 8px;}
.service-card p{margin:0 0 14px;font-size:14px;color:var(--text-muted);}
.service-card .more{font-size:13px;color:var(--gold-deep);font-weight:600;}

/* ---------- team ---------- */
.team{padding:76px 0;background:var(--surface-2);}
.team-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:28px;
}
.team-card{
  display:block;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:12px;
  padding:26px;
  text-decoration:none;
  transition:border-color .15s ease, background .15s ease;
}
.team-card:hover, .team-card:focus-visible{border-color:var(--gold);background:var(--surface-2);}
.team-photo{
  width:72px;height:72px;
  border-radius:50%;
  background:var(--graphite);
  color:var(--gold-light);
  display:flex;align-items:center;justify-content:center;
  font-family:Georgia,serif;
  font-size:22px;
  margin-bottom:16px;
  overflow:hidden;
}
.team-photo img{width:100%;height:100%;object-fit:cover;}
.team-card h3{font-size:16.5px;margin:0 0 2px;}
.team-role{font-size:12.5px;color:var(--gold-deep);font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px;}
.team-card p{font-size:13.5px;color:var(--text-muted);margin:0;}
.team-bio{font-size:13.5px;color:var(--text-muted);line-height:1.6;}
.team-bio p{margin:0 0 10px;}
.team-bio ul{margin:0;padding-left:18px;}
.team-bio li{margin-bottom:6px;}

/* ---------- proof / awards ---------- */
.proof{padding:88px 0;}
.proof-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}
.proof-card{
  border:1px solid var(--border);
  border-radius:14px;
  padding:30px;
  background:var(--surface);
  min-height:220px;
  min-width:0;
}
.proof-card .icon{font-size:28px;margin-bottom:14px;}
.proof-card h4{font-size:17px;margin:0 0 12px;font-family:Georgia,serif;font-weight:400;}
.proof-card p{font-size:14px;line-height:1.6;color:var(--text-muted);margin:0;}
.proof-card-badge{border-color:var(--gold);background:var(--surface-2);}

@media (max-width:900px){
  .proof-grid{grid-template-columns:repeat(2, 1fr);}
}
@media (max-width:600px){
  .proof-grid{grid-template-columns:1fr;}
}
.proof-card-featured{border-width:2px;}
.proof-badge-img{width:92px;height:auto;margin-bottom:16px;border-radius:6px;}

/* ---------- news ---------- */
.news{padding:120px 0;background:var(--surface-2);min-height:92vh;display:flex;align-items:center;}
.news .container{max-width:1360px;width:100%;}
.news-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}
.news-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:12px;
  padding:36px 30px;
  display:flex;
  flex-direction:column;
  min-height:420px;
  min-width:0;
  overflow-wrap:break-word;
}
.news-card .date{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;}
.news-card h3{font-size:19px;line-height:1.35;margin:0 0 16px;}
.news-card p{font-size:14.5px;line-height:1.65;color:var(--text-muted);margin:0 0 20px;flex:1;}
.news-card .more{font-size:13px;color:var(--gold-deep);font-weight:600;margin-top:auto;}
.news-empty{color:var(--text-muted);font-size:14.5px;}

@media (max-width:1100px){
  .news-grid{grid-template-columns:repeat(2, 1fr);}
  .news{min-height:0;}
}
@media (max-width:640px){
  .news-grid{grid-template-columns:1fr;}
  .news-card{min-height:0;}
}

/* ---------- cta band ---------- */
.cta-band{
  background:var(--graphite);
  color:#f1ece3;
  padding:52px 0;
  text-align:center;
}
.cta-band h2{color:#fff;margin-bottom:10px;}
.cta-band p{color:#d8cfc2;margin:0 0 26px;}

/* ---------- footer ---------- */
.site-footer{
  background:#241f1a;
  color:#c9bfb1;
  padding:56px 0 26px;
  font-size:13.5px;
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:40px;
  margin-bottom:36px;
}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr;gap:28px;}}
.footer-grid h5{
  color:#f1ece3;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin:0 0 14px;
  font-family:inherit;
  font-weight:600;
}
.footer-grid .brand{color:#fff;margin-bottom:10px;}
.footer-grid ul{list-style:none;margin:0;padding:0;}
.footer-grid li{margin-bottom:8px;}
.footer-grid a:hover{color:var(--gold-light);}
.footer-social{display:flex;gap:12px;margin-top:14px;}
.footer-social a{
  width:34px;height:34px;border-radius:50%;
  border:1px solid #48413a;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;
}
.footer-social a:hover{border-color:var(--gold-light);color:var(--gold-light);}
.footer-bottom{
  border-top:1px solid #3a352d;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  font-size:12px;
  color:#8f8579;
}
.footer-bottom a:hover{color:var(--gold-light);}

/* ---------- generic page ---------- */
.page-hero{
  background:var(--graphite);
  color:#f1ece3;
  padding:52px 0;
}
.page-hero h1{color:#fff;margin:0;}
.entry-content{padding:56px 0;max-width:72ch;margin:0 auto;}
.entry-content h2{font-size:22px;margin-top:36px;}
.entry-content p{margin:0 0 18px;color:var(--text);}
.entry-content ul{margin:0 0 18px;padding-left:22px;}

.wp-block-quote, blockquote{
  border-left:3px solid var(--gold);
  margin:24px 0;
  padding:4px 0 4px 20px;
  color:var(--text-muted);
  font-style:italic;
}

@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:36px;}
  .hero-visual{justify-content:flex-start;}
  .hero-logo-panel{max-width:220px;padding:26px;}
}
@media (max-width:640px){
  .hero h1{font-size:29px;}
  .footer-grid{grid-template-columns:1fr;}
}
