/* LABGEO — site estático (Netlify) */
:root{
  --blue-dark:#0F75BC;
  --blue-light:#25AAE1;
  --purple-dark:#9957A3;
  --purple-light:#C089BD;
  --green-dark:#9CCB3B;
  --green-light:#BFD737;
  --cta-green:#61CE70;
  --text:#2b2b2b;
  --text-light:#5a5a5a;
  --bg:#ffffff;
  --bg-alt:#f5f6f7;
  --border:#e5e5e5;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}

/* Header */
header.site-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;max-width:1200px;margin:0 auto;
  flex-wrap:wrap;gap:16px;
}
.logo img{height:56px;width:auto;}
nav.main-nav{flex:1;display:flex;justify-content:center;}
nav.main-nav ul{display:flex;gap:28px;flex-wrap:wrap;}
nav.main-nav a{
  font-size:14px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
  color:var(--text);padding:6px 2px;border-bottom:2px solid transparent;
  transition:color .2s,border-color .2s;
}
nav.main-nav a:hover,
nav.main-nav a.active{color:var(--blue-dark);border-color:var(--blue-dark);}
.btn-outline{
  border:2px solid var(--text);color:var(--text);
  padding:10px 20px;font-size:13px;font-weight:700;letter-spacing:.03em;
  text-transform:uppercase;border-radius:2px;white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s;
}
.btn-outline:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff;}
.nav-toggle{display:none;background:none;border:none;font-size:28px;cursor:pointer;color:var(--text);}

/* Hero (a imagem já contém a barra tricolor e, na home, a marca) */
.hero-img{width:100%;line-height:0;}
.hero-img img{width:100%;height:auto;}
.page-title-block{padding:40px 0 8px;}
.page-title-block h1{font-size:2.1rem;margin:0;}

.btn-cta{
  display:inline-block;background:var(--cta-green);color:#fff;font-weight:700;
  padding:14px 30px;border-radius:2px;font-size:14px;letter-spacing:.03em;text-transform:uppercase;
  transition:filter .2s;
}
.btn-cta:hover{filter:brightness(0.92);}

/* Sections */
section{padding:64px 0;}
section.alt{background:var(--bg-alt);}
h2.section-title{font-size:1.9rem;margin:0 0 16px;font-weight:700;}
.text-block p{color:var(--text-light);margin:0 0 16px;}

.split{display:flex;gap:48px;align-items:center;flex-wrap:wrap;}
.split > div{flex:1;min-width:280px;}

.divider-icon{width:60px;margin:0 0 18px;}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:860px){.cards{grid-template-columns:1fr;}}
.card{background:#fff;border:1px solid var(--border);border-radius:6px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.04);}
.card img{height:190px;width:100%;object-fit:cover;}
.card .card-body{padding:22px;}
.card h3{font-size:1.05rem;margin:0 0 10px;}
.card p{font-size:.92rem;color:var(--text-light);margin:0;}

/* Licenses grid */
.licenses-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center;}
@media(max-width:760px){.licenses-grid{grid-template-columns:repeat(2,1fr);}}
.license-item img{height:110px;margin:0 auto 14px;object-fit:contain;}
.license-item p{font-size:.85rem;color:var(--text-light);margin:0;font-weight:600;}

/* Policy boxes */
.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:36px;}
@media(max-width:760px){.policy-grid{grid-template-columns:1fr;}}
.policy-box{background:#fff;border:1px solid var(--border);border-left:4px solid var(--blue-dark);padding:26px;border-radius:4px;}
.policy-box h3{margin:0 0 10px;font-size:1.1rem;}
.policy-box:nth-child(2){border-left-color:var(--purple-dark);}
.policy-box:nth-child(3){border-left-color:var(--green-dark);}
.policy-box:nth-child(4){border-left-color:var(--blue-light);}
.policy-box p{margin:0;color:var(--text-light);font-size:.92rem;}

/* News */
.news-item{display:flex;gap:26px;background:#fff;border:1px solid var(--border);border-radius:6px;overflow:hidden;flex-wrap:wrap;}
.news-item img{width:280px;height:auto;object-fit:cover;flex-shrink:0;}
.news-body{padding:26px;flex:1;min-width:240px;}
.news-date{font-size:.8rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;}
.news-body h3{margin:8px 0 10px;font-size:1.2rem;}
.news-body p{color:var(--text-light);margin:0 0 14px;}

/* Contact */
.contact-grid{display:flex;gap:56px;flex-wrap:wrap;}
.contact-info{flex:1;min-width:260px;}
.contact-info h3{margin:0 0 14px;font-size:1.2rem;}
.contact-info p{margin:0 0 18px;color:var(--text-light);}
.social-row{display:flex;gap:14px;}
.social-row a{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;
}
.social-row a:hover{background:var(--blue-dark);border-color:var(--blue-dark);}
.social-row a:hover svg{fill:#fff;}
.social-row svg{width:18px;height:18px;fill:var(--text);}

form.contact-form{flex:1.4;min-width:300px;display:flex;flex-direction:column;gap:18px;}
.form-row{display:flex;gap:18px;flex-wrap:wrap;}
.form-row > div{flex:1;min-width:220px;}
label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;}
input,textarea{
  width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:4px;
  font-family:inherit;font-size:.95rem;background:#fff;
}
input:focus,textarea:focus{outline:none;border-color:var(--blue-dark);}
textarea{min-height:150px;resize:vertical;}
.form-status{font-size:.9rem;padding:10px 14px;border-radius:4px;display:none;}
.form-status.show{display:block;}
.form-status.ok{background:#e8f7ea;color:#1c7a2e;}
.form-status.err{background:#fdeaea;color:#a02222;}

/* Article (post individual) */
.article-hero{
  position:relative;min-height:260px;display:flex;align-items:flex-end;
  background-size:cover;background-position:center;
}
.article-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,15,20,.15) 0%,rgba(10,15,20,.65) 100%);
}
.article-hero h1{
  position:relative;z-index:1;color:#fff;font-size:1.9rem;margin:0;
  padding:32px 24px;max-width:1200px;margin:0 auto;width:100%;
}
.article-meta-row{display:flex;gap:18px;align-items:center;margin-bottom:28px;}
.article-date-box{
  background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;
  text-align:center;padding:10px 18px;flex-shrink:0;
}
.article-date-box .mon{font-size:.75rem;font-weight:700;letter-spacing:.05em;color:var(--blue-dark);text-transform:uppercase;}
.article-date-box .day{font-size:1.4rem;font-weight:700;line-height:1.1;}
.article-date-box .yr{font-size:.8rem;color:var(--text-light);}
.article-body p{color:var(--text-light);margin:0 0 16px;max-width:760px;}
.article-category{font-size:.85rem;color:var(--text-light);padding-top:18px;border-top:1px solid var(--border);margin-top:8px;}
.article-category a{color:var(--blue-dark);font-weight:600;}

/* Footer */
footer.site-footer{background:#1c2126;color:#c7ccd1;padding:44px 0 26px;font-size:.9rem;}
footer.site-footer .container{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;}
footer.site-footer strong{color:#fff;}
footer.site-footer p{margin:4px 0;}
footer.site-footer .social-row a{border-color:#3a4149;}
footer.site-footer .social-row svg{fill:#c7ccd1;}
.footer-bottom{text-align:center;padding-top:24px;margin-top:24px;border-top:1px solid #333;font-size:.8rem;color:#8a9099;}

/* WhatsApp float button */
.whatsapp-float{
  position:fixed;bottom:24px;right:24px;width:58px;height:58px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:999;transition:transform .2s;
}
.whatsapp-float:hover{transform:scale(1.06);}
.whatsapp-float svg{width:30px;height:30px;fill:#fff;}

/* Mobile nav */
@media(max-width:900px){
  .nav-toggle{display:block;}
  nav.main-nav{
    display:none;order:3;flex-basis:100%;
  }
  nav.main-nav.open{display:block;}
  nav.main-nav ul{flex-direction:column;gap:0;background:#fff;border-top:1px solid var(--border);}
  nav.main-nav a{display:block;padding:14px 4px;border-bottom:1px solid var(--border);}
  .hero-inner{padding:56px 20px;}
  .hero h1{font-size:1.5rem;}
}
