
/* === Engineering palette (higher contrast) === */
:root{
  --brand-950:#08151d;
  --brand-900:#0a1d29;
  --brand-800:#103042;
  --brand-700:#17485f;
  --brand-600:#1b5773;
  --brand-500:#1e6485; /* main */
  --brand-400:#2a7ba6;
  --brand-300:#5ea6c9;
  --accent-500:#f59e0b; /* safety amber with better contrast */
  --neutral-950:#0b0f13;
  --neutral-900:#10171d;
  --neutral-800:#1e2932;
  --neutral-700:#2b3742;
  --neutral-600:#374553;
  --neutral-500:#445363;
  --neutral-400:#6b7c8b;
  --neutral-300:#98a6b3;
  --neutral-200:#c5cfd7;
  --neutral-150:#d8e1e8;
  --neutral-100:#eaf0f5;
  --surface:#f5f8fb;
}

/* === Base === */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--surface);
  color:var(--neutral-900);
  font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  font-size:16px;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--brand-500); text-decoration:none}
a:hover{text-decoration:underline}

/* === Layout container (applies to common sections/cards) === */
.container, main, section.hero, section#parceiros, section#clientes-atendidos, .card{
  width:100%;
  max-width:1200px;
  margin-left:auto; margin-right:auto;
}
main{padding: clamp(12px, 2vw, 24px);}
section{padding: clamp(8px, 1.5vw, 16px) 0}

/* === Header / Nav (responsive) === */
header, nav{
  background:var(--brand-900);
  color:#fff;
  padding:10px clamp(12px, 2vw, 24px);
  border-bottom:2px solid var(--brand-800);
}
nav .wrap{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
nav a{color:#fff; margin-right:12px; display:inline-block}
#logo-oficial{height:48px; width:auto}

/* === Components === */
.btn{
  display:inline-block; padding: 10px 16px;
  border-radius:10px; background:var(--brand-500); color:#fff; font-weight:600;
  border:1px solid rgba(0,0,0,.08);
}
.btn:hover{background:var(--brand-600)}
.card{
  background:#fff; border-radius:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  padding: clamp(12px, 1.6vw, 20px);
  margin: clamp(12px, 2vw, 20px) auto;
}
.grid{display:grid; gap: clamp(12px, 1.6vw, 20px)}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width: 1100px){ .grid-3{grid-template-columns:repeat(2,1fr)} }
@media (max-width: 680px){ .grid-3{grid-template-columns:1fr} }

/* === Hero === */
.hero{
  border-radius:14px; overflow:hidden; margin: clamp(12px, 2vw, 18px) auto;
  position:relative; min-height: clamp(180px, 28vw, 360px);
  background-color:var(--brand-900);
  background-size:cover; background-position:center;
}
.hero .overlay{
  position:relative; background:linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,.2));
  padding: clamp(20px, 3.2vw, 44px);
  color:#ebf3fa;
}
.hero h1{
  margin:0 0 8px 0;
  font-size: clamp(22px, 4vw, 40px);
  line-height:1.15;
}

/* === Footer === */
footer{
  background:var(--brand-900); color:#cfe0ec;
  padding: clamp(18px, 3vw, 32px);
  margin-top:40px;
}

/* === Utility === */
.badge{display:inline-block; background:var(--neutral-100); border:1px solid var(--neutral-200); color:var(--neutral-700); padding:6px 10px; border-radius:999px}
.center{text-align:center}
.muted{color:var(--neutral-500)}
hr{border:none; border-top:1px solid var(--neutral-150); margin: clamp(12px, 2vw, 24px) 0}

/* === Partners & Clients sections responsive === */
#parceiros h2, #clientes-atendidos h2{
  font-size: clamp(18px, 3.5vw, 28px);
  margin: 0 0 10px 0;
}
#parceiros .grid, #clientes-atendidos .grid{
  grid-template-columns:repeat(5,1fr);
}
@media (max-width:1100px){ #parceiros .grid, #clientes-atendidos .grid{ grid-template-columns:repeat(3,1fr);} }
@media (max-width:680px){ #parceiros .grid, #clientes-atendidos .grid{ grid-template-columns:repeat(2,1fr);} }

/* === Tables (if any) === */
table{width:100%; border-collapse:collapse; border:1px solid var(--neutral-150); background:#fff}
th, td{padding:10px; border-top:1px solid var(--neutral-150); text-align:left}
th{background:var(--neutral-100)}

/* === Forms === */
input, select, textarea{
  width:100%; padding:12px; border-radius:10px; border:1px solid var(--neutral-200);
  background:#fff; color:var(--neutral-900);
}
label{display:block; font-weight:600; margin:8px 0 4px}
::placeholder{color:var(--neutral-400)}

/* === Accessibility: focus styles === */
:focus-visible{outline:3px solid var(--accent-500); outline-offset:2px}

/* === Fix images inside links and cards === */
.card a img{border-radius:10px}


/* FIX10: compact partners/clients cards and better logo fit */
#parceiros .grid img, #clientes-atendidos .grid img{
  max-height: 70px;
  object-fit: contain;
  background:#fff;
  border-radius:12px;
  padding:10px;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
  transition: transform .15s ease;
}
#parceiros .grid img:hover, #clientes-atendidos .grid img:hover{ transform: translateY(-2px) }

/* FIX10: tighter nav spacing on small screens */
@media (max-width: 560px){
  nav .wrap{ gap:8px }
  #logo-oficial{ height:42px }
}

/* FIX10: hero overlay stronger contrast */
.hero .overlay{
  background: linear-gradient(0deg, rgba(0,0,0,.62), rgba(0,0,0,.25));
}

/* FIX10: headings tighter margins */
h1,h2,h3{ line-height:1.2; margin: 0 0 8px 0 }

/* FIX11: ensure partner logos fit nicely */
#parceiros .grid img{max-height:70px;object-fit:contain;background:#fff;border-radius:12px;padding:10px;box-shadow:0 2px 6px rgba(0,0,0,.05)}


/* === INÍCIO: Padronização de Logos de Parceiros (FIX28) === */
.parceiros-carousel img,
#parceiros img,
.section-parceiros img,
.parceiros img,
.partners img,
.logos-parceiros img,
.clients-logos img,
.marcas img,
[data-parceiros] img {
  width: 150px;
  height: 150px;
  object-fit: contain;
  background-color: #ffffff;
  border-radius: 12px;
  padding: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  display: inline-block;
}
/* Hover sutil opcional */
.parceiros-carousel img:hover,
#parceiros img:hover,
.section-parceiros img:hover,
.parceiros img:hover,
.partners img:hover,
.logos-parceiros img:hover,
.clients-logos img:hover,
.marcas img:hover,
[data-parceiros] img:hover {
  transform: scale(1.03);
  transition: transform .25s ease;
}
/* Garante alinhamento central em carrosséis ou grids comuns */
.parceiros-carousel,
#parceiros,
.section-parceiros,
.parceiros,
.partners,
.logos-parceiros,
.clients-logos,
.marcas,
[data-parceiros] {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
/* === FIM: Padronização de Logos de Parceiros (FIX28) === */
