/*
Theme Name: Carnieto Advogados
Theme URI: https://www.carnietoadvogados.com.br/
Author: João Paulo Barbosa
Author URI: https://www.carnietoadvogados.com.br/
Description: Tema institucional profissional para o escritório Carnieto Advogados. Cores: azul marinho, dourado e branco. Inclui página inicial com seções (Herói, Áreas de Atuação, Escritório, Equipe, Depoimentos e Contato), menu fixo, rodapé e opções básicas no Personalizar.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: carnieto
Tags: one-column, two-columns, custom-logo, custom-menu, footer-widgets, blog, news, translation-ready
*/

/* Core reset */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: "Lato", Arial, sans-serif; color: #ffffff; background: #0e2a47; line-height: 1.6; }
a { color: #c8a650; text-decoration: none; }
a:hover { text-decoration: underline; }

/* Layout */
.container { width: min(1120px, 92%); margin: 0 auto; }
.site-header { position: sticky; top: 0; z-index: 999; background: rgba(14,42,71,.96); border-bottom: 1px solid rgba(255,255,255,.08); }
.brand { display:flex; align-items:center; gap:.75rem; padding: .9rem 0; }
.brand .site-title { font-family: "Playfair Display", Georgia, serif; font-size: 1.35rem; letter-spacing:.5px; }
.brand .tagline { font-size:.85rem; opacity:.85; }

nav.primary { display:flex; gap:1.2rem; align-items:center; }
nav.primary a { color: #ffffff; opacity:.9; }
nav.primary a.btn { background:#c8a650; color:#0e2a47; padding:.55rem .9rem; border-radius: 999px; font-weight:700; }
.header-wrap { display:flex; justify-content:space-between; align-items:center; }

@media (max-width: 900px) {
  nav.primary { display:none; }
  
}

/* Hero */
.hero { padding: 90px 0 64px; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,0)); }
.hero h1 { font-family:"Playfair Display", Georgia, serif; font-size: clamp(2rem, 3.6vw + .5rem, 3.25rem); margin: 0 0 .5rem; }
.hero p.lead { max-width: 55ch; font-size: clamp(1rem, 1.2vw + .4rem, 1.25rem); opacity:.95; }
.hero .cta { margin-top: 1.1rem; display:flex; gap:.75rem; flex-wrap:wrap; }
.btn-primary { background:#c8a650; color:#0e2a47; padding:.8rem 1.1rem; border-radius: 999px; font-weight: 800; letter-spacing:.2px; }
.btn-outline { border:2px solid #c8a650; color:#c8a650; padding:.75rem 1.05rem; border-radius:999px; font-weight:700; }

/* Sections */
.section { padding: 56px 0; border-top: 1px solid rgba(255,255,255,.07); }
.section h2 { font-family:"Playfair Display", Georgia, serif; font-size: 1.9rem; margin: 0 0 18px; }
.grid { display:grid; gap:18px; grid-template-columns: repeat(3, 1fr); }
.card { background: rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 18px; }
.card h3 { margin-top:0; }
.badge { display:inline-block; padding:.2rem .55rem; border-radius:6px; background: rgba(200,166,80,.15); color:#c8a650; font-size:.8rem; }

@media (max-width: 900px) {
  .grid { grid-template-columns: 1fr; }
}

/* Footer */
.site-footer { padding: 28px 0 46px; margin-top: 28px; border-top:1px solid rgba(255,255,255,.08); }
.footer-cols { display:grid; gap:18px; grid-template-columns: 2fr 1fr 1fr; }
.footer-cols h4 { margin-top:0; }
.footer-note { opacity:.75; margin-top: 16px; font-size:.92rem; }
@media (max-width: 900px) {
  .footer-cols { grid-template-columns: 1fr; }
}


/* Testimonials grid */
.testimonials .grid { grid-template-columns: repeat(3, 1fr); gap:18px; }
.testimonial { background: rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:18px; display:flex; flex-direction:column; justify-content:space-between; aspect-ratio: 1/1; }
.testimonial p { margin:0 0 .75rem; font-style: normal; }
.testimonial .who { margin-top: auto; font-weight:700; opacity:.95; }
@media (max-width: 900px) {
  .testimonials .grid { grid-template-columns: 1fr; }
  .testimonial { aspect-ratio: auto; }
}



.center-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.center-logo .brand {
  margin: 0 auto;
}



@media (max-width: 900px) {
  #contato .grid {
    grid-template-columns: 1fr !important;
  }
}



.center-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.center-logo .brand img {
  height: 90px !important;
  width: auto;
  display: block;
  margin: 0 auto;
}
