/*
Theme Name: Primasa Engenharia
Theme URI: https://primasa.com.br
Author: JMA Engenharia
Author URI: https://primasa.com.br
Description: Tema institucional leve para JMA Engenharia (primasa.com.br). Cria automaticamente as páginas: Home, Quem Somos, Serviços, Alguns Trabalhos e Contato.
Version: 1.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: primasa-engenharia
*/

:root{
  --primasa-azul:#0b4f8a;
  --primasa-verde:#0f7a4a;
  --primasa-cinza:#f6f7f9;
  --primasa-texto:#1a1a1a;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color:var(--primasa-texto);
  background:var(--primasa-cinza);
  line-height:1.6;
}

a{color:var(--primasa-azul); text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:1100px; margin:0 auto; padding:0 18px}
.site-header{
  background:#fff;
  border-bottom:4px solid var(--primasa-verde);
}
.header-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:14px 0;
}
.brand{
  display:flex; flex-direction:column; gap:2px;
}
.brand .title{font-weight:800; font-size:20px; letter-spacing:.2px}
.brand .subtitle{font-size:12px; color:#444}
.nav-toggle{display:none}
.primary-menu ul{list-style:none; margin:0; padding:0; display:flex; gap:14px; flex-wrap:wrap}
.primary-menu a{display:inline-block; padding:8px 10px; border-radius:8px}
.primary-menu a:hover{background:var(--primasa-cinza); text-decoration:none}

.hero{
  background:linear-gradient(135deg, rgba(11,79,138,.10), rgba(15,122,74,.10));
  border-bottom:1px solid #e6e6e6;
}
.hero-inner{padding:42px 0}
.hero h1{margin:0 0 8px; font-size:34px; line-height:1.15}
.hero p{margin:0 0 18px; font-size:16px; color:#333; max-width:70ch}
.btn{
  display:inline-block; background:var(--primasa-azul); color:#fff;
  padding:10px 14px; border-radius:10px; font-weight:700
}
.btn.secondary{background:var(--primasa-verde)}
.grid{display:grid; grid-template-columns:repeat(12, 1fr); gap:16px; margin:22px 0}
.card{
  background:#fff; border:1px solid #e6e6e6; border-radius:14px;
  padding:16px;
}
.card h3{margin:0 0 8px}
.kpi{font-weight:800; color:var(--primasa-verde)}
.two-col{grid-column:span 6}
.full{grid-column:1 / -1}

.content{background:#fff; border-top:1px solid #e6e6e6}
.content-inner{padding:26px 0}
.page-title{margin:0 0 10px; font-size:28px}

.site-footer{
  margin-top:30px;
  background:#0f1114; color:#d9dde3;
}
.site-footer .footer-inner{padding:18px 0; font-size:12px}
.site-footer a{color:#d9dde3; text-decoration:underline}

.notice{
  padding:12px 14px; border-left:4px solid var(--primasa-azul);
  background:#fff; border-radius:12px; border:1px solid #e6e6e6;
}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.form-row .full{grid-column:1 / -1}
input, textarea{
  width:100%; padding:10px 12px; border-radius:10px;
  border:1px solid #cfd6df; background:#fff; font:inherit
}
textarea{min-height:130px; resize:vertical}
.form-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center}

@media (max-width:820px){
  .two-col{grid-column:1 / -1}
  .hero h1{font-size:28px}
  .primary-menu ul{gap:8px}
}

/* --- Ajuste do cabeçalho: logo à esquerda e menu à direita --- */
.site-header .header-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

/* O bloco da marca não pode “empurrar” o menu para baixo */
.site-header .brand{
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 1 auto;
}

/* Evita o título ocupar 100% e quebrar linha */
.site-header .brand .title,
.site-header .brand .subtitle{
  margin: 0;
}

/* Menu na direita */
.site-header .primary-menu{
  flex: 0 0 auto;
  white-space: nowrap;
}

/* Se a tela for pequena, aí sim pode quebrar (opcional) */
@media (max-width: 780px){
  .site-header .header-row{
    flex-wrap: wrap;
  }
  .site-header .primary-menu{
    width: 100%;
    white-space: normal;
  }
}
