.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;
}

/* ============================================================
   CSS movido do index.php para manter a página organizada.
   ============================================================ */
/* ============================================================
   Ajuste Google Ads + Identidade Jacy Cabeleireiro
   Mantém a lógica original e padroniza a home em dourado tom sobre tom.
   ============================================================ */
:root{
  --jacy-bg:#070604;
  --jacy-bg-2:#100d08;
  --jacy-card:#12100c;
  --jacy-border:rgba(209,170,87,.24);
  --jacy-gold:#d1aa57;
  --jacy-gold-2:#b8862d;
  --jacy-gold-3:#8f6520;
  --jacy-text:#f8f1e5;
  --jacy-muted:#ddcfbc;
}
.btn-primary,
.btn-contact,
.btn-ver-mais,
.btn-avaliar-google,
.cookie-buttons button#aceitarCookies{
  background:linear-gradient(135deg,var(--jacy-gold) 0%,var(--jacy-gold-2) 55%,var(--jacy-gold-3) 100%) !important;
  border-color:rgba(209,170,87,.55) !important;
  color:#111 !important;
  font-weight:800 !important;
  box-shadow:0 10px 24px rgba(184,134,45,.26) !important;
}
.btn-primary:hover,
.btn-contact:hover,
.btn-ver-mais:hover,
.btn-avaliar-google:hover,
.cookie-buttons button#aceitarCookies:hover{
  filter:brightness(1.06);
  color:#111 !important;
}
.btn-outline-primary,
.btn-info,
.alert-info{
  background:rgba(209,170,87,.10) !important;
  border-color:rgba(209,170,87,.30) !important;
  color:#5f4518 !important;
}
a,
.faq-toggle .toggle-icon{
  text-decoration-thickness:1px;
}
.seo-home-intro a:first-child,
.product_section .detail-box a,
.seo-links-section a:hover{
  background:linear-gradient(135deg,var(--jacy-gold) 0%,var(--jacy-gold-2) 55%,var(--jacy-gold-3) 100%) !important;
  border-color:rgba(209,170,87,.55) !important;
  color:#111 !important;
}
.simulador_section .box h4,
.simulador_section .box p{
  color:#22180d !important;
}
.simulador_section .box p{
  color:#5f4d34 !important;
}
.experience-section strong,
.google-reviews-section strong{
  color:#fff8ea !important;
}
.carousel-control-prev:hover,
.carousel-control-next:hover{
  background:linear-gradient(135deg,var(--jacy-gold),var(--jacy-gold-2)) !important;
  color:#111 !important;
}
.cookie-banner{
  border:1px solid rgba(209,170,87,.26) !important;
}
.cookie-buttons .termos-btn,
.cookie-buttons button#recusarCookies{
  background:rgba(209,170,87,.08) !important;
  color:var(--jacy-text) !important;
  border:1px solid rgba(209,170,87,.24) !important;
}
/* Correção definitiva da linha/faixa entre Serviços e Simulação Capilar.
   Mantém a lógica do sistema e altera somente apresentação visual. */
.service.pt-5.pb-3,
.service.pt-5.pb-3 .container,
.service.pt-5.pb-3 .row,
.service.pt-5.pb-3 .ver-mais-wrapper{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.service.pt-5.pb-3,
.service.pt-5.pb-3::before,
.service.pt-5.pb-3::after{
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.service.pt-5.pb-3::before,
.service.pt-5.pb-3::after{
  display:none !important;
  content:none !important;
}
.service.pt-5.pb-3 + .simulador_section,
.simulador_section.layout_padding{
  position:relative !important;
  margin-top:-1px !important;
  padding-top:20px !important;
  border-top:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  background:#100d08 !important;
  overflow:hidden !important;
}
.simulador_section::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  height:8px !important;
  background:#100d08 !important;
  border:0 !important;
  box-shadow:none !important;
  z-index:20 !important;
  pointer-events:none !important;
}
.simulador_section::after{
  display:none !important;
  content:none !important;
}
.simulador_section .container{
  position:relative !important;
  z-index:21 !important;
}
.simulador_section .heading_container{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}

/* Correção definitiva da linha/faixa antes do bloco de contato.
   Mantém a lógica do sistema e altera somente a apresentação visual. */
.seo-links-section,
.seo-links-section .container,
.seo-links-section .row,
.seo-links-section .col-lg-11{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.seo-links-section::before,
.seo-links-section::after,
.contact_section::before,
.contact_section::after{
  display:none !important;
  content:none !important;
}
.seo-links-section + .contact_section,
.contact_section.layout_padding-bottom{
  position:relative !important;
  margin-top:-1px !important;
  padding-top:18px !important;
  border-top:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  background:#020202 !important;
  overflow:hidden !important;
}
.contact_section.layout_padding-bottom .heading_container{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}
.contact_section.layout_padding-bottom .heading_container h2{
  margin-top:0 !important;
}

/* Correção definitiva da linha/faixa antes da seção Sobre.
   Mantém a lógica do sistema e altera somente a apresentação visual. */
.simulador_section,
.simulador_section.layout_padding,
.simulador_section .container,
.simulador_section .row:last-child,
.simulador_section .col-md-8,
.simulador_section .col-md-8 > div{
  border-bottom:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.simulador_section::after{
  display:none !important;
  content:none !important;
}
.simulador_section + .about_section,
.about_section{
  margin-top:-1px !important;
  padding-top:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  background:#020202 !important;
}
.about_section::before,
.about_section::after{
  display:none !important;
  content:none !important;
}
.about_section .container-fluid,
.about_section .row{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}


/* ============================================================
   Correção visual da modal de simulação capilar.
   Mantém a lógica original e corrige apenas a leitura do título.
   ============================================================ */
#modalSimulacaoCliente .modal-header{
  background:linear-gradient(135deg,#11100d 0%,#1b1711 100%) !important;
  border-bottom:1px solid rgba(209,170,87,.32) !important;
  color:#fff !important;
  align-items:center !important;
}
#modalSimulacaoCliente .modal-title,
#modalSimulacaoClienteLabel{
  color:#fff8ea !important;
  font-weight:800 !important;
  opacity:1 !important;
  text-shadow:none !important;
  margin:0 !important;
}
#modalSimulacaoCliente .close,
#modalSimulacaoCliente .close span{
  color:#fff8ea !important;
  opacity:1 !important;
  text-shadow:none !important;
}
#modalSimulacaoCliente .modal-content{
  overflow:hidden !important;
  border:1px solid rgba(209,170,87,.28) !important;
  border-radius:16px !important;
}


/* ============================================================
   Padronização profissional dos cards de depoimentos.
   Mantém a lógica original e altera somente a organização visual.
   ============================================================ */
.depoimentos-clientes-section{
  background:#070604 !important;
  color:#fff !important;
  margin:0 !important;
  padding:48px 0 42px !important;
}
.depoimentos-clientes-section .heading_container{
  text-align:center !important;
  justify-content:center !important;
  margin-bottom:24px !important;
}
.depoimentos-clientes-section .heading_container h2{
  color:#fff8ea !important;
  font-size:32px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  margin:0 0 8px !important;
}
.depoimentos-clientes-section .client_owl-carousel .owl-stage{
  display:flex !important;
  align-items:stretch !important;
}
.depoimentos-clientes-section .client_owl-carousel .owl-item{
  display:flex !important;
  height:auto !important;
}
.depoimentos-clientes-section .client_owl-carousel .item{
  width:100% !important;
  display:flex !important;
  padding:10px !important;
}
.depoimento-card-profissional{
  width:100% !important;
  height:620px !important;
  display:flex !important;
  flex-direction:column !important;
  background:linear-gradient(180deg,#121212 0%,#0b0b0c 100%) !important;
  color:#fff !important;
  border:1px solid rgba(209,170,87,.24) !important;
  border-radius:18px !important;
  padding:24px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.38) !important;
  overflow:hidden !important;
}
.depoimento-topo-profissional{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  min-height:104px !important;
  padding-bottom:18px !important;
  margin-bottom:16px !important;
  border-bottom:1px solid rgba(209,170,87,.16) !important;
}
.depoimento-foto-profissional{
  margin:0 !important;
  flex:0 0 92px !important;
}
.depoimento-foto-profissional img{
  width:92px !important;
  height:92px !important;
  object-fit:cover !important;
  border-radius:50% !important;
  display:block !important;
  border:3px solid rgba(209,170,87,.42) !important;
  background:#000 !important;
  box-shadow:0 10px 24px rgba(0,0,0,.30) !important;
}
.depoimento-info-profissional{
  flex:1 !important;
  min-width:0 !important;
  text-align:left !important;
}
.depoimento-info-profissional h5{
  color:#fff !important;
  margin:0 0 6px !important;
  font-size:25px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  word-break:break-word !important;
}
.depoimento-info-profissional span{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  color:#d7c6a8 !important;
  font-size:14px !important;
  line-height:1.4 !important;
}
.depoimento-info-profissional span:before{
  content:"✓" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:18px !important;
  height:18px !important;
  border-radius:50% !important;
  background:rgba(209,170,87,.20) !important;
  color:#d1aa57 !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.depoimento-conteudo-profissional{
  display:flex !important;
  flex-direction:column !important;
  flex:1 !important;
  min-height:0 !important;
}
.depoimento-texto-profissional{
  color:#f2f2f2 !important;
  margin:0 !important;
  line-height:1.7 !important;
  font-size:16px !important;
  background:#0a0a0b !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:14px !important;
  padding:18px !important;
  height:172px !important;
  overflow:auto !important;
  scrollbar-width:thin !important;
}
.depoimento-medias-profissional{
  width:100% !important;
  height:238px !important;
  margin-top:16px !important;
  display:flex !important;
  gap:12px !important;
}
.depoimento-media-profissional{
  flex:1 1 0 !important;
  min-width:0 !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#030303 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:16px !important;
  overflow:hidden !important;
}
.depoimento-media-profissional video,
.depoimento-media-profissional img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border:0 !important;
  border-radius:0 !important;
  margin:0 !important;
  background:#030303 !important;
}
.depoimento-sem-midia-profissional{
  flex:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:16px !important;
  border:1px dashed rgba(209,170,87,.18) !important;
  border-radius:16px !important;
  color:#9f927f !important;
  font-size:14px !important;
  text-align:center !important;
  background:rgba(209,170,87,.035) !important;
}
@media (max-width:767px){
  .depoimento-card-profissional{
    height:auto !important;
    min-height:0 !important;
    padding:18px !important;
  }
  .depoimento-topo-profissional{
    gap:14px !important;
    min-height:86px !important;
  }
  .depoimento-foto-profissional{
    flex-basis:76px !important;
  }
  .depoimento-foto-profissional img{
    width:76px !important;
    height:76px !important;
  }
  .depoimento-info-profissional h5{
    font-size:21px !important;
  }
  .depoimento-texto-profissional{
    height:auto !important;
    max-height:220px !important;
    font-size:15px !important;
  }
  .depoimento-medias-profissional{
    height:260px !important;
    flex-direction:column !important;
  }
  .depoimento-sem-midia-profissional{
    display:none !important;
  }
}

/* ============================================================
   Atalhos abaixo do banner - modelo profissional em cards
   Substitui a antiga seção com título e texto.
   ============================================================ */
.seo-card-links-section {
  background: linear-gradient(180deg, #020202 0%, #070604 100%) !important;
  color: #fff !important;
  padding: 26px 0 22px !important;
  margin: 0 !important;
  border-top: 1px solid rgba(209, 170, 87, .14) !important;
  border-bottom: 1px solid rgba(209, 170, 87, .10) !important;
  content-visibility: auto;
  contain-intrinsic-size: 1px 260px;
}

.seo-card-links-section .container {
  max-width: 1200px;
}

.seo-card-links-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.seo-card-link {
  position: relative;
  display: flex !important;
  flex-direction: column;
  min-height: 185px;
  padding: 22px 20px 20px;
  border-radius: 18px;
  border: 1px solid rgba(209, 170, 87, .22);
  background: linear-gradient(180deg, rgba(22, 18, 12, .96) 0%, rgba(9, 8, 6, .98) 100%);
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 18px 36px rgba(0, 0, 0, .24);
  overflow: hidden;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.seo-card-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 18% 0%, rgba(209, 170, 87, .16), transparent 42%);
  opacity: .85;
  pointer-events: none;
}

.seo-card-link:hover,
.seo-card-link:focus {
  color: #fff !important;
  border-color: rgba(209, 170, 87, .56);
  transform: translateY(-4px);
  box-shadow: 0 24px 48px rgba(0, 0, 0, .34);
  text-decoration: none !important;
}

.seo-card-link__icon {
  position: relative;
  z-index: 1;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  background: rgba(209, 170, 87, .14);
  border: 1px solid rgba(209, 170, 87, .30);
  color: #d1aa57;
  font-size: 18px;
}

.seo-card-link__title {
  position: relative;
  z-index: 1;
  display: block;
  color: #fff8ea;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 8px;
}

.seo-card-link__text {
  position: relative;
  z-index: 1;
  display: block;
  color: #d9d0c1;
  font-size: 14.5px;
  line-height: 1.55;
  margin: 0 0 18px;
}

.seo-card-link__action {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  color: #d1aa57;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.seo-card-link--featured {
  border-color: rgba(209, 170, 87, .42);
  background: linear-gradient(135deg, rgba(209, 170, 87, .22) 0%, rgba(10, 8, 5, .98) 62%);
}

.seo-card-link--featured .seo-card-link__icon {
  background: linear-gradient(135deg, #d1aa57 0%, #b8862d 100%);
  color: #111;
  border-color: rgba(209, 170, 87, .65);
}

@media (max-width: 991px) {
  .seo-card-links-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .seo-card-links-section {
    padding: 18px 0 16px !important;
  }

  .seo-card-links-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .seo-card-link {
    min-height: 0;
    padding: 18px;
  }
}

/* ============================================================
   Correção do carrossel de serviços.
   Mantém a lógica do sistema e evita área vazia caso o Owl demore a iniciar.
   ============================================================ */
.product_section .product_container{
  min-height: 360px !important;
  overflow: hidden !important;
}

.product_owl-carousel{
  min-height: 340px !important;
}

.product_owl-carousel:not(.owl-loaded){
  display: flex !important;
  gap: 18px !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.product_owl-carousel:not(.owl-loaded) .item{
  flex: 0 0 calc(33.333% - 12px) !important;
  max-width: calc(33.333% - 12px) !important;
  display: block !important;
}

.product_owl-carousel.owl-loaded{
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.product_owl-carousel .owl-stage{
  display: flex !important;
  align-items: stretch !important;
}

.product_owl-carousel .owl-item{
  display: flex !important;
  align-items: stretch !important;
}

.product_owl-carousel .item,
.product_owl-carousel .box{
  height: 100% !important;
}

.product_owl-carousel .img-box{
  min-height: 220px !important;
  height: 220px !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #050505 !important;
}

.product_owl-carousel .img-box img{
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
}

.product_owl-carousel .owl-dots{
  margin-top: 14px !important;
}

@media (max-width: 991.98px){
  .product_owl-carousel:not(.owl-loaded) .item{
    flex-basis: calc(50% - 9px) !important;
    max-width: calc(50% - 9px) !important;
  }
}

@media (max-width: 575.98px){
  .product_section .product_container{
    min-height: 350px !important;
  }

  .product_owl-carousel:not(.owl-loaded) .item{
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}


/* ============================================================
   PageSpeed CLS Final - 14/07/2026
   Corrige pulos de layout sem alterar a lógica PHP/JS.
   ============================================================ */
html,
body {
  overflow-x: hidden !important;
}

/* Evita troca de layout causada por content-visibility com tamanho estimado incorreto. */
.seo-home-intro,
.seo-card-links-section,
.product_section,
.service,
.simulador_section,
.about_section,
.experience-section,
.google-reviews-section,
.client_section,
.faq-section,
.seo-links-section,
.contact_section {
  content-visibility: visible !important;
  contain-intrinsic-size: auto !important;
}

/* Reserva espaço estável para o banner e impede o carrossel de empurrar conteúdo após iniciar. */
.slider_section,
.slider_section #customCarousel1,
.slider_section .carousel-inner,
.slider_section .carousel-item,
.slider_section .slider-lcp-box,
.slider_section .slider-lcp-row {
  min-height: 680px !important;
}

.slider_section .carousel-item > .slider-lcp-box,
.slider_section .slider-lcp-box {
  height: 680px !important;
  max-height: 680px !important;
}

.slider_section .carousel-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.slider_section #customCarousel1 > .container {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 62px !important;
  z-index: 8 !important;
  pointer-events: none !important;
}

.slider_section .carousel_btn-box {
  position: static !important;
  display: inline-flex !important;
  gap: 12px !important;
  pointer-events: auto !important;
}

.slider_section .carousel-control-prev,
.slider_section .carousel-control-next {
  background: rgba(0, 0, 0, .18) !important;
  border: 1px solid rgba(255, 255, 255, .35) !important;
  box-shadow: none !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

/* Área dos cards abaixo do banner sempre com altura reservada. */
.seo-card-links-section {
  min-height: 245px !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.seo-card-links-grid {
  align-items: stretch !important;
}

.seo-card-link {
  min-height: 185px !important;
  will-change: auto !important;
}

/* Carrossel de serviços estável antes e depois do Owl iniciar. */
.product_section {
  padding-top: 42px !important;
  padding-bottom: 42px !important;
}

.product_section .heading_container {
  min-height: 82px !important;
}

.product_section .product_container,
.jacy-product-container {
  min-height: 385px !important;
  contain: layout paint !important;
}

.product_owl-carousel {
  min-height: 360px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.product_owl-carousel:not(.owl-loaded) {
  display: flex !important;
  gap: 18px !important;
  overflow: hidden !important;
}

.product_owl-carousel:not(.owl-loaded) .item {
  flex: 0 0 calc(33.333% - 12px) !important;
  max-width: calc(33.333% - 12px) !important;
}

.product_owl-carousel .img-box,
.product_owl-carousel .img-box img,
.product_owl-carousel .jacy-service-carousel-img {
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.product_owl-carousel .detail-box {
  min-height: 116px !important;
}

/* Imagens de depoimentos/avaliações sem pulo de layout. */
.google-reviews-carousel,
.client_owl-carousel {
  min-height: 260px !important;
}

.google-reviews-carousel .owl-stage,
.client_owl-carousel .owl-stage {
  display: flex !important;
  align-items: stretch !important;
}

/* Cookie permanece fixed e não reserva espaço no body. */
body.cookie-banner-open {
  padding-bottom: 0 !important;
}

.cookie-banner {
  position: fixed !important;
  contain: layout paint style !important;
}

.cookie-banner.hide {
  visibility: hidden !important;
}

@media (max-width: 991.98px) {
  .slider_section,
  .slider_section #customCarousel1,
  .slider_section .carousel-inner,
  .slider_section .carousel-item,
  .slider_section .slider-lcp-box,
  .slider_section .slider-lcp-row {
    min-height: 600px !important;
  }

  .slider_section .carousel-item > .slider-lcp-box,
  .slider_section .slider-lcp-box {
    height: 600px !important;
    max-height: 600px !important;
  }

  .product_owl-carousel:not(.owl-loaded) .item {
    flex-basis: calc(50% - 9px) !important;
    max-width: calc(50% - 9px) !important;
  }
}

@media (max-width: 575.98px) {
  .slider_section,
  .slider_section #customCarousel1,
  .slider_section .carousel-inner,
  .slider_section .carousel-item,
  .slider_section .slider-lcp-box,
  .slider_section .slider-lcp-row {
    min-height: 560px !important;
  }

  .slider_section .carousel-item > .slider-lcp-box,
  .slider_section .slider-lcp-box {
    height: 560px !important;
    max-height: 560px !important;
  }

  .slider_section #customCarousel1 > .container {
    bottom: 42px !important;
  }

  .seo-card-links-section {
    min-height: 0 !important;
  }

  .product_section .product_container,
  .jacy-product-container {
    min-height: 370px !important;
  }

  .product_owl-carousel:not(.owl-loaded) .item {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

/* Acessibilidade de teclado: mantém o visual normal e exibe foco somente na navegação por teclado. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid #f0c36a !important;
  outline-offset: 3px !important;
}

/* Respeita a preferência do usuário por menos movimento. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
