.btn-contact,
.btn-ver-mais {
  background-color: #b8862d !important;
  color: #fff !important;
  font-size: 1.6rem;
  padding: 12px 34px;
  border-radius: 50px;
  text-decoration: none;
  display: inline-block;
  font-weight: bold;
  box-shadow: 0 4px 8px rgba(0, 0, 0, .2);
  transition: background-color .3s ease, transform .3s ease, box-shadow .3s ease;
}

.btn-contact:hover,
.btn-ver-mais:hover {
  background-color: #0056b3 !important;
  color: #fff !important;
  text-decoration: none;
}

.slider_section .carousel-inner,
.slider_section .carousel-item {
  min-height: 420px;
}

.client_section .img-1 {
  width: 120px;
  height: 120px;
  object-fit: cover;
  display: block;
}

.service .service-img {
  min-height: 250px;
}

.service .service-img img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
}

.product_owl-carousel .owl-stage-outer,
.client_owl-carousel .owl-stage-outer {
  min-height: 320px;
}

header,
.header,
nav,
.navbar,
.top-bar,
.menu-header {
  z-index: 1000 !important;
  position: relative;
}

.modal-backdrop {
  z-index: 10040 !important;
  background-color: rgba(0, 0, 0, 0.7) !important;
}

.modal {
  z-index: 10050 !important;
}

.modal-dialog {
  z-index: 10060 !important;
}

.modal.show {
  display: block !important;
  z-index: 10050 !important;
}

body.modal-open {
  overflow: hidden;
  padding-right: 0 !important;
}

.btn-avaliar-google:hover {
  background: #357ae8 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(66, 133, 244, .5) !important;
}

.mini-review {
  transition: all .3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.mini-review:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .4);
  border-color: #4285f4 !important;
}

.experience-section {
  position: relative;
  overflow: hidden;
}

.experience-section::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .08;
  pointer-events: none;
}

.year-highlight {
  animation: fadeInScale 1s ease-out;
}

@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(.8);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.mini-stat {
  transition: all .3s ease;
}

.mini-stat:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, .1) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .3);
}

.trust-indicators > div {
  transition: all .3s ease;
}

.trust-indicators > div:hover {
  transform: translateX(5px);
  box-shadow: 0 4px 12px rgba(66, 133, 244, .3);
}

#modalSimulacaoCliente .modal-content {
  border-radius: 18px;
  border: 0;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .25);
}

#modalSimulacaoCliente .modal-header {
  background: linear-gradient(90deg, #111 0%, #1f1f1f 100%);
  color: #fff;
  border-bottom: 0;
  padding: 18px 22px;
}

#modalSimulacaoCliente .modal-header .close {
  color: #fff;
  opacity: 1;
  text-shadow: none;
}

#modalSimulacaoCliente .modal-body {
  background: #f7f8fa;
  padding: 22px;
}

#modalSimulacaoCliente .alert {
  border-radius: 12px;
  border: 1px solid #d7c29a;
  background: #f7f0e3;
  color: #5e4824;
  margin-bottom: 18px;
}

#modalSimulacaoCliente .form-group label {
  font-weight: 700;
  color: #333;
  margin-bottom: 8px;
}

#modalSimulacaoCliente .form-control {
  border-radius: 10px;
  min-height: 46px;
  border: 1px solid #d8dee6;
  box-shadow: none;
}

#modalSimulacaoCliente .form-control:focus {
  border-color: #b8862d;
  box-shadow: 0 0 0 .15rem rgba(184, 134, 45, .15);
}

.painel-comparacao-simulacao {
  background: #fff;
  border: 1px solid #e4e7eb;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .05);
  height: 100%;
}

.painel-comparacao-simulacao .titulo-painel {
  font-size: 15px;
  font-weight: 700;
  color: #2d3436;
  margin-bottom: 12px;
}

.box-imagem-simulacao {
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fb 100%);
  border: 1px solid #dfe4ea;
  border-radius: 14px;
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  position: relative;
  overflow: hidden;
}

.box-imagem-simulacao img {
  position: relative;
  z-index: 2;
  max-width: 100%;
  max-height: 310px;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
  background: #fff;
}

.legenda-simulacao {
  margin-top: 12px;
  font-size: 13px;
  color: #6c757d;
  line-height: 20px;
}

#btn_simular_cliente {
  border-radius: 50px;
  min-height: 52px;
  font-size: 18px;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(184, 134, 45, .18);
}

#mensagem_simulacao_cliente {
  font-size: 14px;
  font-weight: 600;
  min-height: 22px;
}

.selo-comparacao {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 30px;
  font-size: 12px;
  font-weight: 700;
  background: #111;
  color: #fff;
  margin-bottom: 10px;
}

.map_container {
  border: 1px solid #2a2a2c;
  border-radius: 12px;
  overflow: hidden;
  min-height: 300px;
  background: #0f0f10;
}

.map_container iframe {
  width: 100%;
  height: 450px;
  border: 0;
  display: block;
  background: #0f0f10;
}

@media (max-width: 991px) {
  #modalSimulacaoCliente .modal-body {
    padding: 16px;
  }

  .box-imagem-simulacao {
    min-height: 260px;
    margin-bottom: 12px;
  }

  .box-imagem-simulacao img {
    max-height: 230px;
  }

  #btn_simular_cliente {
    font-size: 16px;
  }
}

@media (max-width: 768px) {
  .google-review-box {
    padding: 20px !important;
  }

  .rating-number {
    font-size: 2.8rem !important;
  }

  .stars {
    font-size: 1.5rem !important;
  }

  .review-cta h2 {
    font-size: 1.5rem !important;
  }

  .btn-avaliar-google {
    padding: 12px 25px !important;
    font-size: 1rem !important;
  }

  .mini-review {
    padding: 20px !important;
    min-height: 180px !important;
  }

  .year-highlight div:first-child {
    font-size: 5rem !important;
  }

  .experience-content h2 {
    font-size: 1.8rem !important;
  }

  .experience-content p {
    font-size: 1rem !important;
  }

  .mini-stat div:first-child {
    font-size: 2rem !important;
  }

  .trust-indicators {
    justify-content: center !important;
  }

  .trust-indicators > div {
    width: 100%;
    justify-content: center;
  }

  .btn-contact,
  .btn-ver-mais {
    font-size: 1.2rem;
    padding: 10px 20px;
  }

  .map_container iframe {
    height: 320px;
  }
}

body.cookie-banner-open {
  padding-bottom: 0px !important;
}

/* =====================================================
   Cookies - modelo compacto profissional
   Mantém a lógica original: mesmo ID, mesmas classes e mesmos botões.
   Ajusta somente tamanho, posição e apresentação visual.
   ===================================================== */
.cookie-banner {
  position: fixed !important;
  left: max(16px, calc((100vw - 1440px) / 2)) !important;
  right: max(16px, calc((100vw - 1440px) / 2)) !important;
  bottom: 28px !important;
  width: auto !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 28px 36px !important;
  background: linear-gradient(135deg, rgba(17, 16, 23, .98) 0%, rgba(31, 29, 41, .98) 100%) !important;
  color: #fff !important;
  z-index: 999999 !important;
  text-align: left !important;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .38) !important;
  border: 1px solid rgba(209, 170, 87, .22) !important;
  border-radius: 30px !important;
  display: grid !important;
  grid-template-columns: 64px minmax(260px, 1fr) auto !important;
  grid-template-areas:
    "cookieIcon cookieTitle cookieButtons"
    "cookieIcon cookieInfo cookieButtons" !important;
  align-items: center !important;
  column-gap: 22px !important;
  row-gap: 4px !important;
  overflow: hidden !important;
}

.cookie-banner::before {
  content: "✂" !important;
  grid-area: cookieIcon !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(209, 170, 87, .14) !important;
  border: 1px solid rgba(209, 170, 87, .32) !important;
  color: #d1aa57 !important;
  font-size: 27px !important;
  line-height: 1 !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04) !important;
}

.cookie-banner::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 15% 50%, rgba(209, 170, 87, .10), transparent 34%) !important;
  pointer-events: none !important;
}

.cookie-banner.hide {
  display: grid !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(120%) !important;
}

.cookie-banner .cookie-text {
  grid-area: cookieTitle !important;
  display: block !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.25 !important;
  color: #fff !important;
  letter-spacing: -.02em !important;
}

.cookie-banner .cookie-info {
  grid-area: cookieInfo !important;
  display: block !important;
  max-width: 650px !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  opacity: .88 !important;
  color: rgba(255, 255, 255, .88) !important;
}

.cookie-banner .cookie-buttons {
  grid-area: cookieButtons !important;
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

.cookie-banner button,
.cookie-banner .termos-btn,
.cookie-banner a.termos-btn {
  min-width: 178px !important;
  min-height: 56px !important;
  padding: 14px 22px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  background: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
  white-space: nowrap !important;
}

.cookie-banner button#aceitarCookies {
  background: linear-gradient(135deg, #f2d08a 0%, #d1aa57 55%, #b8862d 100%) !important;
  border-color: rgba(209, 170, 87, .60) !important;
  color: #111 !important;
  box-shadow: 0 12px 26px rgba(184, 134, 45, .28) !important;
}

.cookie-banner button#recusarCookies,
.cookie-banner .termos-btn,
.cookie-banner a.termos-btn {
  background: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .18) !important;
  box-shadow: none !important;
}

.cookie-banner button:hover,
.cookie-banner .termos-btn:hover,
.cookie-banner a.termos-btn:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(209, 170, 87, .55) !important;
  color: #fff !important;
}

.cookie-banner button#aceitarCookies:hover {
  color: #111 !important;
  filter: brightness(1.05) !important;
}

@media (max-width: 991.98px) {
  body.cookie-banner-open {
    padding-bottom: 0px !important;
  }

  .cookie-banner {
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    padding: 22px !important;
    grid-template-columns: 52px 1fr !important;
    grid-template-areas:
      "cookieIcon cookieTitle"
      "cookieIcon cookieInfo"
      "cookieButtons cookieButtons" !important;
    border-radius: 24px !important;
    column-gap: 16px !important;
    row-gap: 12px !important;
  }

  .cookie-banner::before {
    width: 50px !important;
    height: 50px !important;
    font-size: 23px !important;
  }

  .cookie-banner .cookie-text {
    font-size: 20px !important;
  }

  .cookie-banner .cookie-info {
    max-width: 100% !important;
    font-size: 14px !important;
  }

  .cookie-banner .cookie-buttons {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding-top: 4px !important;
  }

  .cookie-banner button,
  .cookie-banner .termos-btn,
  .cookie-banner a.termos-btn {
    min-width: 0 !important;
    flex: 1 1 180px !important;
    min-height: 50px !important;
    font-size: 15px !important;
    padding: 12px 16px !important;
  }
}

@media (max-width: 575.98px) {
  .cookie-banner {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    padding: 18px 14px !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "cookieTitle"
      "cookieInfo"
      "cookieButtons" !important;
    text-align: center !important;
    border-radius: 20px !important;
  }

  .cookie-banner::before {
    display: none !important;
  }

  .cookie-banner .cookie-text {
    font-size: 18px !important;
    margin-bottom: 0 !important;
  }

  .cookie-banner .cookie-info {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .cookie-banner .cookie-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .cookie-banner button,
  .cookie-banner .termos-btn,
  .cookie-banner a.termos-btn {
    width: 100% !important;
    flex: 0 0 auto !important;
  }
}

/* =====================================================
   PageSpeed Home - ajustes seguros sem alterar a lógica
   ===================================================== */
.slider_section{
  position:relative;
  display:block!important;
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  background:#000!important;
  overflow:hidden;
}

.slider_section #customCarousel1{
  position:relative!important;
  width:100%;
  background:#000;
}

.slider_section #customCarousel1>.container{
  position:absolute;
  left:0;
  right:0;
  bottom:24px;
  z-index:6;
  pointer-events:none;
}

.slider_section .carousel-inner,
.slider_section .carousel-item{background:#000;}
.slider_section .carousel-item>div{min-height:720px;}

.slider_section .carousel_btn-box{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0!important;
  padding:0!important;
  width:auto;
  pointer-events:none;
}

.slider_section .carousel-control-prev,
.slider_section .carousel-control-next{
  position:relative!important;
  inset:auto!important;
  width:52px!important;
  height:52px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#111!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
  box-shadow:0 8px 18px rgba(0,0,0,.28);
  pointer-events:auto;
}

.slider_section .carousel-control-prev:hover,
.slider_section .carousel-control-next:hover{
  background:#b8862d!important;
  color:#fff!important;
  text-decoration:none;
}

.slider_section .carousel-arrow{
  display:block!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:700!important;
  font-family:Arial,Helvetica,sans-serif!important;
  color:#fff!important;
  transform:translateY(-1px);
}

.slider_section .sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.seo-home-intro,
.product_section,
.service,
.simulador_section,
.about_section,
.experience-section,
.google-reviews-section,
.client_section,
.faq-section,
.seo-links-section,
.contact_section{
  content-visibility:auto;
  contain-intrinsic-size:1px 760px;
}

.cookie-banner.hide{display:block!important;opacity:0!important;pointer-events:none!important;transform:translateY(100%)!important;}

@media (max-width:991.98px){
  .slider_section .carousel-item>div{min-height:620px;}
  .slider_section #customCarousel1>.container{bottom:18px;}
}

@media (max-width:767.98px){
  .slider_section .carousel-item>div{min-height:520px;}
  .slider_section .detail-box{margin-top:110px!important;}
  .slider_section .detail-box h2{font-size:32px;line-height:1.2;}
  .slider_section .detail-box p{font-size:15px;line-height:1.6;}
  .slider_section .carousel-control-prev,
  .slider_section .carousel-control-next{width:46px!important;height:46px!important;}
}


/* PageSpeed V3 - cookie sem CLS: mantém fixo, mas evita display:none/display:block depois da pintura. */
.cookie-banner{
  transform:translateY(0);
  opacity:1;
  transition:opacity .2s ease, transform .2s ease;
  contain:layout paint style;
}
.cookie-banner.hide{
  display:block!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(100%)!important;
}
