
/* ============================================================
   MIOTTI & ALMEIDA ADVOCACIA — CSS v6.0.0
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Lato:wght@300;400;700&display=swap');

:root {
  --azul:#0D1F2D; --dourado:#C9A84C;
  --dourado-hover:#b8943f; --branco:#fff; --creme:#F9F5EF;
}
body { font-family:'Lato',sans-serif; margin:0; padding:0; }
h1,h2,h3,h4,h5 { font-family:'Playfair Display',serif; }
*,*::before,*::after { box-sizing:border-box; }

/* HEADER */
#masthead, .site-header, .ast-primary-header-bar, .main-header-bar {
  background:var(--azul)!important;
  border-bottom:3px solid var(--dourado)!important;
  padding:0!important; margin:0!important;
}
.ast-primary-header-bar { min-height:80px!important; }
.ast-menu-toggle, .menu-toggle { color:var(--dourado)!important; }

/* LOGO */
.custom-logo-link img { max-height:70px!important; width:auto!important; }

/* NAVEGAÇÃO */
.main-navigation a,.ast-primary-nav a,.menu-item a {
  color:rgba(255,255,255,.85)!important;
  font-family:'Lato',sans-serif!important; font-weight:700!important;
  letter-spacing:1px!important; text-transform:uppercase!important; font-size:.85rem!important;
}
.menu-item a:hover { color:var(--dourado)!important; }

/* HERO */
.ma-section { width:100%; display:block; }
.ma-inner { max-width:1100px; margin:0 auto; padding:0 20px; }
.ma-hero {
  background:var(--azul); color:var(--branco);
  padding:100px 20px 80px; text-align:center;
}
.ma-eyebrow {
  font-family:'Lato',sans-serif; letter-spacing:4px;
  text-transform:uppercase; color:var(--dourado);
  font-size:.8rem; margin-bottom:20px;
}
.ma-hero h1 {
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,5vw,3.5rem); color:var(--branco);
  margin:0 0 24px; line-height:1.2;
}
.ma-subtitle { font-size:1.1rem; color:rgba(255,255,255,.8); margin:0 0 40px; line-height:1.7; }
.ma-hero-ctas { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.ma-btn {
  display:inline-block; padding:16px 36px; border-radius:4px;
  font-family:'Lato',sans-serif; font-weight:700; font-size:1rem;
  letter-spacing:1px; text-decoration:none; transition:.2s;
}
.ma-btn-gold { background:var(--dourado); color:var(--azul); }
.ma-btn-gold:hover { background:var(--dourado-hover); color:var(--azul); }
.ma-btn-outline { border:2px solid var(--dourado); color:var(--dourado); }
.ma-btn-outline:hover { background:var(--dourado); color:var(--azul); }

/* SEÇÕES */
.ma-dark { background:var(--azul); color:var(--branco); padding:80px 20px; }
.ma-dark h2,.ma-dark h3 { color:var(--branco); }
.ma-cream { background:var(--creme); color:var(--azul); padding:80px 20px; }
.ma-white { background:var(--branco); color:var(--azul); padding:80px 20px; }
.ma-center { text-align:center; }
.ma-section h2 { font-size:clamp(1.6rem,3vw,2.4rem); margin:0 0 12px; }
.ma-section h3 { font-size:1.2rem; color:var(--dourado); margin:0 0 8px; }
.ma-section p { line-height:1.8; }
.ma-gold-line { width:60px; height:3px; background:var(--dourado); margin:0 auto 40px; }
.ma-section.ma-left .ma-gold-line { margin-left:0; }

/* CARDS */
.ma-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; margin-top:40px; }
.ma-card { background:var(--branco); border-radius:8px; padding:32px 24px; border-top:4px solid var(--dourado); box-shadow:0 4px 20px rgba(0,0,0,.08); }
.ma-card .icon { font-size:2rem; margin-bottom:16px; }

/* ÁREAS */
.ma-areas { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; margin-top:32px; }
.ma-area { border:1px solid #e0d8cc; border-radius:8px; padding:28px 20px; transition:.2s; }
.ma-area:hover { border-color:var(--dourado); box-shadow:0 4px 16px rgba(201,168,76,.15); }
.ma-area .num { font-size:2rem; color:var(--dourado); font-family:'Playfair Display',serif; }

/* STATS */
.ma-stats { display:flex; justify-content:center; gap:48px; flex-wrap:wrap; }
.ma-stat-num { font-size:2.5rem; font-family:'Playfair Display',serif; color:var(--dourado); }
.ma-stat-label { font-size:.85rem; opacity:.7; }

/* OAB */
.ma-oab { display:inline-block; border:2px solid var(--dourado); color:var(--dourado); padding:8px 20px; border-radius:4px; font-size:.85rem; letter-spacing:2px; margin-top:16px; }

/* CTA */
.ma-cta-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:32px; }

/* FOOTER */
.site-footer, #colophon {
  background:var(--azul)!important; color:rgba(255,255,255,.7)!important;
  padding:40px 20px!important; text-align:center;
  border-top:3px solid var(--dourado)!important;
}
.site-footer a, #colophon a { color:var(--dourado)!important; }
.ast-footer-copyright { color:rgba(255,255,255,.6)!important; }

/* WPFORMS */
.wpforms-submit, .wpforms-form button[type=submit] {
  background:var(--dourado)!important; border-color:var(--dourado)!important;
  color:var(--azul)!important; font-weight:700!important; padding:14px 36px!important;
  border-radius:4px!important; font-size:1rem!important; cursor:pointer!important;
  letter-spacing:1px!important; font-family:'Lato',sans-serif!important;
  display:inline-block!important; width:auto!important;
}
.wpforms-submit:hover { background:var(--dourado-hover)!important; }
.wpforms-form input[type=text],.wpforms-form input[type=email],
.wpforms-form input[type=tel],.wpforms-form select,.wpforms-form textarea {
  border:1px solid #d0c9bb!important; border-radius:4px!important;
  padding:12px!important; font-size:1rem!important; width:100%!important;
  font-family:'Lato',sans-serif!important;
}
.wpforms-form label { font-weight:700!important; color:var(--azul)!important; margin-bottom:6px!important; }
.wpforms-field { margin-bottom:20px!important; }

/* === v7.0 gap fix via body class === */
.miotti-no-gap #content.site-content,
.miotti-no-gap .ast-container,
.miotti-no-gap #primary.content-area,
.miotti-no-gap #main.site-main,
.miotti-no-gap article.page,
.miotti-no-gap .hentry,
.miotti-no-gap .ast-article-single { padding-top: 0 !important; margin-top: 0 !important; }
.miotti-no-gap .entry-header { display: none !important; }
.miotti-no-gap .entry-content.clear { padding-top: 0 !important; margin-top: 0 !important; }

/* Páginas internas: padding interno no content */
.miotti-no-gap.page-id-24 .entry-content,
.page-id-25 .entry-content,
.page-id-26 .entry-content { padding: 0 !important; }

/* v8 — sem gap nas internas */
.page-id-24 .entry-content,
.page-id-25 .entry-content,
.page-id-26 .entry-content { padding: 0 !important; margin: 0 !important; }

/* Dar espaço interno via padding nas seções de conteúdo HTML */


/* === GAP FINAL: zerar espaço entre header e conteúdo em páginas internas === */
.page .site-content { margin-top: 0 !important; }
.page #content { margin-top: 0 !important; padding-top: 0 !important; }
.page #primary { margin-top: 0 !important; }
.page #main { margin-top: 0 !important; }
.page article { margin-top: 0 !important; padding-top: 0 !important; }
.page .entry-content { margin-top: 0 !important; }

/* Remover qualquer padding/margin após a linha dourada do header */
#masthead + #content,
.site-header + .site-content,
.ast-primary-header-bar + * { margin-top: 0 !important; }

/* Compensar: header fixo (position sticky/fixed) */
.ast-header-break-point .site-content,
.ast-desktop .site-content { padding-top: 0 !important; }

/* === GAP DEFINITIVO: zerar padding no primeiro elemento das páginas internas === */
.page-id-24 .entry-content > *:first-child,
.page-id-25 .entry-content > *:first-child,
.page-id-26 .entry-content > *:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.page-id-24 .entry-content > p,
.page-id-25 .entry-content > p,
.page-id-26 .entry-content > p {
    padding-top: 0 !important;
}


/* ===== FOOTER: remover "Powered by Tema Astra" ===== */
.site-below-footer-wrap { display: none !important; }

/* ===== GAP: eliminar espaço entre header e conteudo em paginas internas ===== */
/* Astra adiciona padding-top via ast-above-header / content layout */
body.page:not(.home) .ast-container > *:first-child,
body.page:not(.home) .ast-article-single { padding-top: 0 !important; margin-top: 0 !important; }
body.page:not(.home) .entry-header.ast-no-thumbnail { padding-top: 10px !important; }
