:root{
  --blue:#0b3d91;
  --blue-dark:#072a66;
  --orange:#ff7a00;
  --green:#25d366;
  --gray-bg:#f5f7fa;
  --text:#1a2230;
  --text-light:#5b6577;
  --radius:10px;
}
*{box-sizing:border-box;}
body{margin:0;font-family:"Segoe UI",Arial,sans-serif;color:var(--text);line-height:1.55;background:#fff;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{line-height:1.2;margin:0 0 .6em;}
.container{max-width:1140px;margin:0 auto;padding:0 20px;}

/* Top bar */
.top-bar{background:var(--orange);color:#1a1100;text-align:center;font-weight:700;font-size:.85rem;padding:8px 12px;}
.top-bar a{color:inherit;}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:16px;flex-wrap:wrap;position:relative;}
.logo{font-weight:800;font-size:1.3rem;color:var(--blue);}
.main-nav{display:flex;gap:18px;flex-wrap:wrap;align-items:center;}
.main-nav a{font-weight:600;color:var(--text);}
.main-nav a:hover{color:var(--blue);}
.header-cta{display:flex;gap:10px;flex-wrap:wrap;}
.nav-cta-mobile{display:none;}

/* Hambúrguer (some no desktop, aparece no mobile) */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;border:none;background:transparent;cursor:pointer;padding:0;}
.nav-toggle span{display:block;width:26px;height:3px;background:var(--blue);border-radius:2px;}

.btn{display:inline-block;padding:10px 18px;border-radius:var(--radius);font-weight:700;white-space:nowrap;}
.btn-call{background:var(--blue);color:#fff;}
.btn-call:hover{background:var(--blue-dark);}
.btn-whats{background:var(--green);color:#fff;}
.btn-whats:hover{background:#1ebd59;}
.btn-lg{padding:16px 26px;font-size:1.05rem;}

/* Hero */
.hero{background:linear-gradient(135deg,var(--blue) 0%, var(--blue-dark) 100%);color:#fff;padding:60px 0;}
.hero-region{padding:48px 0;}
.hero-inner{display:flex;flex-direction:column;gap:18px;}
.hero h1{font-size:2.4rem;font-weight:800;}
.hero h1 .highlight{color:var(--orange);}
.hero-badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.03em;padding:6px 14px;border-radius:999px;width:fit-content;}
.hero-regions{font-size:1.05rem;color:#dde6ff;max-width:760px;}
.hero-sub{font-size:1.1rem;color:#dde6ff;max-width:760px;}
.cta-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.cta-buttons-stack{flex-direction:column;align-items:stretch;max-width:420px;}
.cta-buttons-stack .btn{text-align:center;}
.hero-badges{list-style:none;padding:0;margin:18px 0 0;display:flex;gap:18px;flex-wrap:wrap;color:#dde6ff;font-weight:600;}

/* Breadcrumb */
.breadcrumb{font-size:.9rem;color:var(--text-light);padding:14px 20px;}
.breadcrumb a{color:var(--blue);}

/* Page header (sections) */
.page-header{background:var(--gray-bg);padding:40px 0;}

/* Regions */
.regions-section, .services-section, .why-us, .region-details, .about-section, .contact-section{padding:50px 0;}
.region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:20px;}
.region-card{background:var(--gray-bg);border:1px solid #e3e8f0;border-radius:var(--radius);padding:18px;transition:.2s;}
.region-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 6px 16px rgba(11,61,145,.12);}
.region-card h3{margin-bottom:4px;color:var(--blue);font-size:1.05rem;}
.region-card p{margin:0;color:var(--text-light);font-size:.9rem;}

/* Services */
.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:20px;}
.service-card{background:#fff;border:1px solid #e3e8f0;border-radius:var(--radius);padding:20px;}
.service-card h3,.service-card h2{color:var(--blue);}

.logo-image img{max-height:50px;width:auto;display:block;}

/* Testimonials */
.testimonials-section{padding:50px 0;background:var(--gray-bg);}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:20px;}
.testimonials-grid .testimonial-card{height:100%;}
.stars{color:var(--orange);margin-top:10px;font-size:1.1rem;letter-spacing:2px;}

/* Gallery */
.gallery-section{padding:50px 0;}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:20px;}
.gallery-grid img{width:100%;height:180px;object-fit:cover;border-radius:var(--radius);}

/* Why us */
.why-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:start;}
.check-list{list-style:none;padding:0;}
.check-list li{padding:8px 0 8px 28px;position:relative;border-bottom:1px solid #eef1f6;}
ul.check-list li::before{content:"✔";position:absolute;left:0;color:var(--green);font-weight:700;}
ol.check-list{padding-left:0;}
ol.check-list li{padding-left:6px;}
.testimonial-card{background:var(--gray-bg);border-left:4px solid var(--orange);border-radius:var(--radius);padding:22px;font-style:italic;}

/* CTA block */
.cta-block{background:var(--orange);color:#fff;padding:46px 0;text-align:center;}
.cta-inner h2{font-size:1.7rem;}
.cta-block .btn-call{background:#fff;color:var(--orange);}
.cta-block .btn-whats{background:var(--blue-dark);}

/* FAQ */
.faq-section{padding:50px 0;background:var(--gray-bg);}
.faq-list{margin-top:18px;display:flex;flex-direction:column;gap:10px;}
.faq-item{background:#fff;border:1px solid #e3e8f0;border-radius:var(--radius);padding:14px 18px;}
.faq-item summary{font-weight:700;cursor:pointer;color:var(--blue);}
.faq-item p{margin:10px 0 0;color:var(--text-light);}

/* Region details */
.related-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.related-links a{color:var(--blue);font-weight:600;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.contact-form,.contact-form-wrap form{display:flex;flex-direction:column;gap:12px;}
.contact-form label,.contact-form-wrap label{font-weight:600;display:flex;flex-direction:column;gap:6px;}
.contact-form input,.contact-form textarea,
.contact-form-wrap input:not([type=submit]),.contact-form-wrap textarea{padding:10px;border:1px solid #d0d7e2;border-radius:8px;font-family:inherit;}
.contact-form-wrap .wpcf7-not-valid-tip{color:#d33;font-size:.85rem;font-weight:500;}
.contact-form-wrap .wpcf7-response-output{margin-top:14px;padding:12px;border-radius:8px;border:1px solid var(--green);color:var(--blue-dark);}

/* Footer */
.site-footer{background:var(--blue-dark);color:#dde6ff;padding:50px 0 16px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;}
.footer-grid h3,.footer-grid h4{color:#fff;}
.footer-links{display:flex;flex-direction:column;gap:6px;}
.footer-links a{color:#c4d1ee;}
.footer-links a:hover{color:#fff;}
.footer-links-regions{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;}
.footer-see-all{grid-column:1 / -1;color:var(--orange) !important;font-weight:700;margin-top:6px;}
.footer-bottom{text-align:center;padding-top:24px;font-size:.85rem;color:#9fb0d6;}

/* Floating WhatsApp */
.floating-whats{position:fixed;bottom:22px;right:22px;background:var(--green);width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:60;}

/* Responsive */
@media (max-width:900px){
  .why-grid,.contact-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-links-regions{grid-template-columns:1fr 1fr;}

  /* Header compacto com menu hambúrguer */
  .header-cta{display:none;}
  .nav-toggle{display:flex;}
  .main-nav{
    display:none;
    position:absolute;
    top:100%;left:0;right:0;
    background:#fff;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    box-shadow:0 8px 16px rgba(0,0,0,.12);
    padding:8px 20px 16px;
  }
  .main-nav.is-open{display:flex;}
  .main-nav a{padding:10px 0;border-bottom:1px solid #eef1f6;}
  .nav-cta-mobile{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
  .nav-cta-mobile .btn{text-align:center;}
}
@media (max-width:600px){
  .hero h1{font-size:1.6rem;}
  .hero-badge{font-size:.72rem;}
  .cta-inner h2{font-size:1.3rem;}
  .btn-lg{flex:1;text-align:center;}
  .top-bar{font-size:.75rem;}
}
