:root{
  --blue:#cc3366;
  --blue-dark:#992049;
  --orange:#f5a623;
  --green:#1dce36;
  --gray-bg:#faf5f7;
  --text:#241922;
  --text-light:#5c4c55;
  --border:#ecdfe4;
  --radius:10px;
  --radius-lg:16px;
  --btn-call-bg:#cc3366;
  --btn-whats-bg:#1dce36;
  --shadow-sm:0 2px 8px rgba(36,25,34,.06);
  --shadow-md:0 8px 24px rgba(36,25,34,.1);
  --shadow-lg:0 16px 40px rgba(36,25,34,.16);
}
*{box-sizing:border-box;}
body{margin:0;font-family:"Segoe UI",Arial,sans-serif;color:var(--text);line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{line-height:1.2;margin:0 0 .6em;letter-spacing:-.01em;}
h2{font-size:1.9rem;}
.container{max-width:1140px;margin:0 auto;padding:0 20px;}
section p{color:var(--text-light);}

/* Foco visível para navegação por teclado */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid var(--blue);outline-offset:2px;border-radius:4px;
}

/* Ícones SVG inline */
.jkr-icon{display:inline-block;vertical-align:-4px;flex-shrink:0;}
.btn .jkr-icon{vertical-align:-5px;margin-right:2px;}
h2 .jkr-icon{vertical-align:-3px;margin-right:6px;color:var(--blue);}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}

/* 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-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius);font-weight:700;white-space:nowrap;cursor:pointer;border:none;font-family:inherit;font-size:.95rem;line-height:1.3;max-width:100%;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;}
.btn-call{background:var(--btn-call-bg);color:#fff;box-shadow:0 4px 14px rgba(204,51,102,.3);}
.btn-call:hover{filter:brightness(.92);transform:translateY(-1px);box-shadow:0 6px 18px rgba(204,51,102,.38);}
.btn-whats{background:var(--btn-whats-bg);color:#fff;box-shadow:0 4px 14px rgba(29,206,54,.3);}
.btn-whats:hover{filter:brightness(.94);transform:translateY(-1px);box-shadow:0 6px 18px rgba(29,206,54,.38);}
.btn-lg{padding:16px 28px;font-size:1.05rem;}

/* Botões longos quebram linha em vez de vazar para fora da caixa em telas estreitas */
@media (max-width:480px){
  .btn{white-space:normal;text-align:center;}
}

/* Hero */
.hero{position:relative;background:linear-gradient(135deg,var(--blue) 0%, var(--blue-dark) 100%);color:#fff;padding:72px 0;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 85% 0%, rgba(255,255,255,.16), transparent 60%);pointer-events:none;}
.hero-region{padding:52px 0;}
.hero-inner{position:relative;display:flex;flex-direction:column;gap:18px;}
.hero h1{font-size:2.6rem;font-weight:800;max-width:820px;}
.hero h1 .highlight{color:var(--orange);}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.03em;padding:7px 16px;border-radius:999px;width:fit-content;}
.hero-regions{font-size:1.05rem;color:#ffe3ec;max-width:760px;}
.hero-sub{font-size:1.15rem;color:#ffe3ec;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:20px;flex-wrap:wrap;color:#fff;font-weight:600;}
.hero-badges li{display:flex;align-items:center;gap:6px;}
.hero-badges .jkr-icon{color:#8ef2a0;}

/* 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:56px 0;}
.region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:24px;}
.region-grid-extra{margin-top:16px;}
.region-grid-extra[hidden]{display:none;}
.region-show-more{display:block;margin:20px auto 0;background:transparent;border:2px solid var(--btn-call-bg);color:var(--btn-call-bg);cursor:pointer;font-size:.95rem;padding:10px 20px;border-radius:var(--radius);font-weight:700;transition:background .15s ease,color .15s ease;}
.region-show-more:hover{background:var(--btn-call-bg);color:#fff;}
.region-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;cursor:pointer;}
.region-card:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:var(--shadow-md);}
.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:20px;margin-top:24px;}
.service-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:transform .18s ease,box-shadow .18s ease;}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.service-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--gray-bg);color:var(--blue);margin-bottom:14px;}
.service-icon .jkr-icon{width:22px;height:22px;}
.service-card h3,.service-card h2{color:var(--blue);font-size:1.15rem;}
.service-card .btn{margin-top:10px;}

/* Process (Como funciona) */
.process-section{padding:56px 0;background:var(--gray-bg);}
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:26px;}
.process-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px;text-align:center;box-shadow:var(--shadow-sm);}
.process-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;margin-bottom:14px;font-size:1.1rem;}
.process-card h3{color:var(--blue);font-size:1.05rem;}
.process-card p{color:var(--text-light);margin:0;}

/* Diferenciais (cards com ícone) */
.differentials-section{padding:56px 0;}
.differentials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:26px;}
.differential-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px 22px;text-align:center;transition:transform .18s ease,box-shadow .18s ease;}
.differential-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.differential-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--gray-bg);color:var(--blue);margin-bottom:14px;}
.differential-icon .jkr-icon{width:26px;height:26px;}
.differential-card h3{color:var(--blue);font-size:1.05rem;}
.differential-card p{margin:0;color:var(--text-light);font-size:.92rem;}
body.jkr-dark .differential-card{background:#211823;border-color:#3a2c38;}
body.jkr-dark .differential-icon{background:#2a1f29;}

/* Coverage */
.coverage-section{padding:56px 0;}
.coverage-list{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:10px;}
.coverage-list li{background:var(--gray-bg);border:1px solid var(--border);border-radius:999px;padding:9px 18px;font-weight:600;color:var(--blue-dark);font-size:.92rem;}

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

/* Testimonials */
.testimonials-section{padding:56px 0;background:var(--gray-bg);}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:24px;}
.testimonials-grid .testimonial-card{height:100%;}
.stars{color:var(--orange);margin-bottom:10px;display:flex;gap:2px;}
.stars .jkr-icon{width:16px;height:16px;}

/* Gallery */
.gallery-section{padding:56px 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:36px;align-items:start;}
.check-list{list-style:none;padding:0;}
.check-list li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid var(--border);}
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;}
.testimonial-card p{color:var(--text);font-style:italic;}

/* CTA block */
.cta-block{background:linear-gradient(135deg,var(--orange),#e8961a);color:#3a2900;padding:52px 0;text-align:center;}
.cta-inner h2{font-size:1.8rem;}
.cta-inner p{color:#4a3600;}
.cta-inner .cta-buttons{justify-content:center;}
.cta-block .btn-call{background:#fff;color:var(--orange);}
.cta-block .btn-whats{background:var(--blue-dark);color:#fff;}

/* FAQ */
.faq-section{padding:56px 0;background:var(--gray-bg);}
.faq-list{margin-top:20px;display:flex;flex-direction:column;gap:10px;}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;transition:box-shadow .15s ease;}
.faq-item[open]{box-shadow:var(--shadow-sm);}
.faq-item summary{font-weight:700;cursor:pointer;color:var(--blue);list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";float:right;font-weight:400;color:var(--text-light);}
.faq-item[open] summary::after{content:"–";}
.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:#ffe3ec;padding:56px 0 16px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;}
.footer-grid h3,.footer-grid h4{color:#fff;}
.footer-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.footer-sep{opacity:.6;}
.footer-links{display:flex;flex-direction:column;gap:8px;}
.footer-links a{color:#f3c7d5;transition:color .15s ease;}
.footer-links a:hover{color:#fff;}
.footer-links-regions{display:grid;grid-template-columns:1fr 1fr;gap:8px 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:#e0a9bc;}

/* Floating WhatsApp */
.floating-whats{position:fixed;bottom:22px;right:22px;background:var(--green);width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:60;transition:transform .15s ease;}
.floating-whats:hover{transform:scale(1.06);}

/* Barra fixa de CTA (mobile) */
.jkr-mobile-cta-bar{display:none;}
@media (max-width:600px){
  .jkr-mobile-cta-bar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;
    background:#fff;box-shadow:0 -4px 16px rgba(0,0,0,.12);
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px;
  }
  .jkr-mobile-cta-bar .btn{flex:1;padding:12px 10px;font-size:.9rem;}
  body{padding-bottom:64px;}
  .floating-whats,.jkr-chat-widget{bottom:76px;}
}
body.jkr-dark .jkr-mobile-cta-bar{background:#1c141e;box-shadow:0 -4px 16px rgba(0,0,0,.4);}

/* Acessibilidade (header) */
.jkr-a11y-controls{display:flex;gap:6px;margin-left:8px;}
.jkr-a11y-controls button{background:var(--gray-bg);border:1px solid var(--border);border-radius:8px;width:40px;height:40px;cursor:pointer;font-size:.85rem;font-weight:700;color:var(--text);display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s ease,background .15s ease;position:relative;}
.jkr-a11y-controls button:hover{border-color:var(--blue);}
#jkr-dark-toggle .jkr-icon-sun{display:none;}
body.jkr-dark #jkr-dark-toggle .jkr-icon-moon{display:none;}
body.jkr-dark #jkr-dark-toggle .jkr-icon-sun{display:inline-block;}

/* Modo escuro */
body.jkr-dark{background:#161018;color:#f1e6ec;}
body.jkr-dark .site-header{background:#1c141e;box-shadow:0 2px 12px rgba(0,0,0,.4);}
body.jkr-dark .service-card,body.jkr-dark .region-card,body.jkr-dark .faq-item,body.jkr-dark .process-card,body.jkr-dark .calculator-form,body.jkr-dark .jkr-chat-panel,body.jkr-dark .google-reviews-badge{background:#211823;border-color:#3a2c38;color:#f1e6ec;}
body.jkr-dark .region-card p,body.jkr-dark .faq-item p,body.jkr-dark .process-card p,body.jkr-dark section p,body.jkr-dark .calculator-disclaimer,body.jkr-dark .google-reviews-count{color:#c9b8c3;}
body.jkr-dark .page-header,body.jkr-dark .faq-section,body.jkr-dark .process-section,body.jkr-dark .testimonials-section,body.jkr-dark .coverage-section,body.jkr-dark .calculator-section,body.jkr-dark .regions-section,body.jkr-dark .services-section{background:#1c141e;}
body.jkr-dark .testimonial-card{background:#211823;}
body.jkr-dark .service-icon{background:#2a1f29;}
body.jkr-dark .coverage-list li{background:#211823;border-color:#3a2c38;color:#f1e6ec;}
body.jkr-dark .calculator-result{background:#2a1f29;}
body.jkr-dark .main-nav{background:#1c141e;}
body.jkr-dark .main-nav a{color:#f1e6ec;}
body.jkr-dark .jkr-a11y-controls button{background:#2a1f29;border-color:#3a2c38;color:#f1e6ec;}
body.jkr-dark .contact-form input,body.jkr-dark .contact-form textarea,body.jkr-dark .contact-form-wrap input,body.jkr-dark .contact-form-wrap textarea,
body.jkr-dark .calculator-form select,body.jkr-dark .jkr-chat-body select,body.jkr-dark .jkr-chat-body input{background:#2a1f29;border-color:#3a2c38;color:#f1e6ec;}
body.jkr-dark .site-footer{background:#120c14;}

/* Chat de triagem */
.jkr-chat-widget{position:fixed;bottom:22px;right:22px;z-index:60;}
.jkr-chat-toggle{background:var(--green);width:60px;height:60px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);cursor:pointer;transition:transform .15s ease;}
.jkr-chat-toggle:hover{transform:scale(1.06);}
.jkr-chat-panel{position:absolute;bottom:74px;right:0;width:300px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border);}
.jkr-chat-header{background:var(--blue);color:#fff;padding:16px;}
.jkr-chat-header strong{display:block;font-size:1rem;}
.jkr-chat-header span{font-size:.8rem;opacity:.9;}
.jkr-chat-body{padding:16px;display:flex;flex-direction:column;gap:12px;}
.jkr-chat-body label{font-weight:600;font-size:.85rem;display:flex;flex-direction:column;gap:5px;}
.jkr-chat-body select,.jkr-chat-body input{padding:10px;border:1px solid #d0d7e2;border-radius:8px;font-family:inherit;font-size:.95rem;}
.jkr-chat-body button{margin-top:4px;width:100%;text-align:center;}

/* Calculadora de orçamento */
.calculator-section{padding:56px 0;background:var(--gray-bg);}
.calculator-form{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;margin-top:22px;max-width:520px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow-sm);}
.calculator-form label{font-weight:600;display:flex;flex-direction:column;gap:6px;}
.calculator-form select{padding:11px;border:1px solid #d0d7e2;border-radius:8px;font-family:inherit;font-size:.95rem;}
.calculator-form input[type=range]{width:100%;accent-color:var(--blue);}
.calculator-result{background:var(--gray-bg);border-radius:10px;padding:16px;}
.calculator-result-label{font-weight:600;display:block;margin-bottom:4px;}
#jkr-calc-price{font-size:1.7rem;color:var(--blue);}
.calculator-breakdown{list-style:none;padding:0;margin:10px 0 0;font-size:.85rem;color:var(--text-light);display:flex;flex-direction:column;gap:3px;}
.calculator-disclaimer{display:flex;align-items:flex-start;gap:6px;margin:12px 0 0;padding-top:12px;border-top:1px dashed var(--border);font-size:.8rem;color:var(--text-light);}
.calculator-disclaimer .jkr-icon{color:var(--orange);margin-top:1px;}

/* Avaliações do Google */
.google-reviews-section{padding:28px 0;text-align:center;}
.google-reviews-badge{display:inline-flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:12px 22px;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease;}
.google-reviews-badge:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.google-reviews-logo{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#4285F4;color:#fff;font-weight:800;font-size:.9rem;}
.google-reviews-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.9rem;}
.google-reviews-stars{color:var(--orange);display:inline-flex;gap:1px;}
.google-reviews-stars .jkr-icon{width:15px;height:15px;}
.google-reviews-count{color:var(--text-light);}

/* Mapa de cobertura */
.coverage-map-section{padding:56px 0;}
.coverage-map-embed{margin-top:22px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm);}

/* Landing Page (Ads) */
.jkr-lp .lp-header{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:16px 0;}
.lp-header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.lp-header-inner .logo{font-weight:800;font-size:1.2rem;color:var(--blue);display:flex;align-items:center;gap:8px;}
.lp-header-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.lp-header-tag{display:none;align-items:center;gap:6px;font-size:.85rem;font-weight:700;color:var(--green);}
.hero-lp{padding:64px 0;}
.jkr-lp .lp-footer{background:var(--blue-dark);color:#fff;text-align:center;padding:26px 0;}
.jkr-lp .lp-footer p{display:flex;align-items:center;justify-content:center;gap:8px;color:#ffe3ec;}
.jkr-lp .lp-footer a{color:#fff;font-weight:700;}
@media (min-width:640px){
  .lp-header-tag{display:flex;}
}

/* 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{text-align:center;}
  .top-bar{font-size:.75rem;}
  .jkr-chat-panel{width:calc(100vw - 40px);max-width:320px;right:-6px;}
  .jkr-chat-widget{right:16px;}
  .floating-whats{right:16px;}
}
