/* =====================================================
   CARROSSEL PRINCIPAL
   Centraliza verticalmente as setas do #introCarousel.
   Corrige a combinação anterior de top com bottom ativo.
   ===================================================== */
#intro #introCarousel .carousel-control-prev,
#intro #introCarousel .carousel-control-next {
  top: 50% !important;
  bottom: auto !important;
  width: 58px !important;
  height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: translateY(-50%) !important;
  opacity: .92;
  z-index: 20 !important;
  text-decoration: none !important;
}

#intro #introCarousel .carousel-control-prev {
  left: 20px !important;
}

#intro #introCarousel .carousel-control-next {
  right: 20px !important;
}

#intro #introCarousel .carousel-control-prev-icon,
#intro #introCarousel .carousel-control-next-icon {
  width: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-image: none !important;
  background-color: rgba(2, 9, 24, .58) !important;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 50%;
  color: #fff !important;
  font-size: 42px !important;
  line-height: 1 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .42);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .24);
  transition: background-color .2s ease, transform .2s ease, opacity .2s ease;
}

#intro #introCarousel .carousel-control-prev:hover,
#intro #introCarousel .carousel-control-prev:focus,
#intro #introCarousel .carousel-control-next:hover,
#intro #introCarousel .carousel-control-next:focus {
  opacity: 1;
  outline: none;
}

#intro #introCarousel .carousel-control-prev:hover .carousel-control-prev-icon,
#intro #introCarousel .carousel-control-prev:focus .carousel-control-prev-icon,
#intro #introCarousel .carousel-control-next:hover .carousel-control-next-icon,
#intro #introCarousel .carousel-control-next:focus .carousel-control-next-icon {
  background-color: rgba(13, 71, 161, .88) !important;
  transform: scale(1.04);
}

@media (max-width: 767px) {
  #intro #introCarousel .carousel-control-prev,
  #intro #introCarousel .carousel-control-next {
    width: 46px !important;
    height: 46px !important;
  }

  #intro #introCarousel .carousel-control-prev {
    left: 10px !important;
  }

  #intro #introCarousel .carousel-control-next {
    right: 10px !important;
  }

  #intro #introCarousel .carousel-control-prev-icon,
  #intro #introCarousel .carousel-control-next-icon {
    width: 44px !important;
    height: 44px !important;
    font-size: 34px !important;
  }
}

  :root{
    --sf-blue-dark:#0d47a1;
    --sf-blue:#1565c0;
    --sf-blue-light:#1e88e5;
    --sf-blue-soft:#eaf3ff;
    --sf-blue-soft-2:#f4f9ff;
    --sf-bg:#f4f7fc;
    --sf-whats:#25d366;
    --sf-text:#102033;
  }
  .sf-section{padding:64px 0;font-family:'Open Sans',Arial,sans-serif;}
  .sf-section h1,.sf-section h2,.sf-section h3{font-family:'Montserrat',Arial,sans-serif;font-weight:900;line-height:1.15;}
  .sf-section p{font-size:16px;line-height:1.7;}
  .sf-eyebrow{display:inline-block;margin-bottom:10px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#7ec8ff;}

  .sf-emergency-bar{background:linear-gradient(135deg,#f7fbff 0%,#eaf3ff 48%,#d9ebff 100%)!important;color:var(--sf-text)!important;}
  .sf-emergency-card{padding:42px 46px;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f4f9ff 48%,#e6f2ff 100%);border:1px solid rgba(13,71,161,.10);box-shadow:0 26px 60px rgba(13,71,161,.15);position:relative;overflow:hidden;}
  .sf-emergency-card:before{content:"";position:absolute;top:-80px;right:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(30,136,229,.18),rgba(30,136,229,0) 70%);}
  .sf-emergency-card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,#1e88e5,#0d47a1);}
  .sf-emergency-card .row{position:relative;z-index:2;}
  .sf-emergency-bar .sf-eyebrow{color:var(--sf-blue)!important;}
  .sf-emergency-bar h2,.sf-emergency-bar p{color:var(--sf-text)!important;text-shadow:none!important;}
  .sf-emergency-bar h2{font-size:34px;margin:0 0 14px;}
  .sf-emergency-bar p{margin:0;color:#334155!important;max-width:780px;}

  .sf-btn-whats,.sf-btn-whats:visited{background:var(--sf-whats)!important;border:1px solid var(--sf-whats)!important;color:#fff!important;border-radius:999px!important;padding:14px 26px!important;font-weight:900!important;text-decoration:none!important;box-shadow:0 14px 30px rgba(37,211,102,.28);display:inline-flex;align-items:center;justify-content:center;gap:8px;}
  .sf-btn-whats:hover,.sf-btn-whats:focus{background:#128c7e!important;border-color:#128c7e!important;color:#fff!important;text-decoration:none!important;}

  .sf-about{background:linear-gradient(135deg,#061a37 0%,#0d47a1 52%,#1565c0 100%)!important;color:#fff!important;}
  .sf-about h2,.sf-about h3,.sf-about p,.sf-about li,.sf-about .sf-admin-text{color:#fff!important;}
  .sf-about .sf-eyebrow{color:#9bd7ff!important;}
  .sf-subtitle-about{font-size:20px;margin:0 0 16px;color:#bfe7ff!important;}
  .sf-admin-text p{margin:0 0 14px;}
  .sf-admin-text ul,.sf-admin-text ol{margin:0 0 14px 18px;padding:0;}
  .sf-admin-text li{margin-bottom:7px;}
  .sf-about-media-column{display:flex;}
  .sf-about-content-column{display:flex;flex-direction:column;justify-content:center;}
  .sf-about-media-card{width:100%;height:100%;padding:10px;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 22px 50px rgba(2,9,24,.20);display:flex;flex-direction:column;}
  .sf-about-media-card-empty{height:auto;align-self:flex-start;}
  .sf-image-card{border-radius:18px;overflow:hidden;background:#dbeeff;}
  .sf-image-card img,.sf-about-img{width:100%;height:auto;display:block;border-radius:18px;}
  .sf-about-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;padding-top:10px;flex:1;}
  .sf-about-highlight{min-height:112px;padding:14px 12px;border-radius:16px;background:linear-gradient(145deg,#f7fbff 0%,#e6f2ff 100%);border:1px solid rgba(13,71,161,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 10px 22px rgba(13,71,161,.10);}
  .sf-about-highlight-icon{width:42px;height:42px;margin-bottom:9px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e88e5,#0d47a1);color:#fff;font-size:18px;box-shadow:0 9px 18px rgba(13,71,161,.24);}
  .sf-about-highlight strong{display:block;color:var(--sf-blue-dark)!important;font-family:'Montserrat',Arial,sans-serif;font-size:14px;font-weight:900;line-height:1.3;}
  .sf-about-highlight span:not(.sf-about-highlight-icon){display:block;margin-top:4px;color:#475569!important;font-size:12px;line-height:1.4;}
  .sf-video-wrap{position:relative;width:100%;padding-top:56.25%;border-radius:18px;overflow:hidden;background:#061a37;}
  .sf-video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}

  .sf-services{background:linear-gradient(135deg,#f7fbff 0%,#eaf3ff 52%,#dceeff 100%)!important;color:var(--sf-text)!important;}
  .sf-steps{background:linear-gradient(135deg,#061a37 0%,#0d47a1 52%,#1565c0 100%)!important;color:#fff!important;}
  .sf-area{background:linear-gradient(135deg,#f7fbff 0%,#eaf3ff 52%,#dceeff 100%)!important;color:var(--sf-text)!important;}
  .sf-works{background:linear-gradient(135deg,#061a37 0%,#0d47a1 52%,#1565c0 100%)!important;color:#fff!important;}
  .sf-contact{background:linear-gradient(135deg,#f4f9ff 0%,#eaf3ff 50%,#dceeff 100%)!important;color:var(--sf-text)!important;}

  .sf-heading{max-width:820px;margin:0 auto 38px;}
  .sf-services .sf-heading h2,.sf-services .sf-heading p,.sf-area .sf-heading h2,.sf-area .sf-heading p{color:var(--sf-text)!important;text-shadow:none!important;}
  .sf-services .sf-eyebrow,.sf-area .sf-eyebrow{color:var(--sf-blue-light)!important;}
  .sf-steps h2,.sf-steps p,.sf-works .sf-heading h2,.sf-works .sf-heading p{color:#fff!important;text-shadow:none!important;}
  .sf-steps .sf-eyebrow,.sf-works .sf-eyebrow{color:#9bd7ff!important;}
  .sf-contact-left .sf-eyebrow{color:#9bd7ff!important;}

  .sf-card,.sf-work-card{height:100%;overflow:hidden;border-radius:22px;background:rgba(255,255,255,.96);border:1px solid rgba(13,71,161,.12);box-shadow:0 18px 40px rgba(13,71,161,.13);}
  .sf-card-media{background:#dbeeff;}
  .sf-service-img{width:100%;height:210px;display:block;object-fit:cover;}
  .sf-card-body-db{padding:24px;}
  .sf-card h3,.sf-work-card h3{color:var(--sf-blue-dark)!important;font-size:20px;margin:0 0 12px;}
  .sf-card p,.sf-work-card p,.sf-service-text{color:#334155!important;font-size:15px;}
  .sf-card a,.sf-work-card a{color:var(--sf-blue-dark)!important;font-weight:900;text-decoration:underline;}

  .sf-truck-img{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 32px rgba(13,71,161,.22));border-radius:20px;}
  .sf-step{display:flex;gap:14px;align-items:flex-start;margin:0 0 14px;padding:16px;border-radius:18px;background:rgba(255,255,255,.94);border:1px solid rgba(13,71,161,.12);box-shadow:0 12px 28px rgba(13,71,161,.08);}
  .sf-step strong{min-width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--sf-blue-light);color:#fff;font-family:'Montserrat';font-size:20px;}
  .sf-step span{color:var(--sf-text)!important;font-size:16px;line-height:1.55;}
  .sf-steps .sf-btn-whats{margin-top:10px;}

  .sf-area-box{padding:18px;border-radius:18px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.22);text-align:center;font-weight:900;color:var(--sf-blue-dark);box-shadow:0 12px 28px rgba(0,0,0,.12);}
  .sf-final-cta{background:linear-gradient(135deg,#020918,#0d47a1);color:#fff;text-align:center;}
  .sf-final-cta h2,.sf-final-cta p{color:#fff!important;}
  .sf-logo-final{max-width:280px;width:100%;height:auto;margin:0 auto 18px;display:block;}

  .sf-contact .container{max-width:1180px;}
  .sf-contact-card{overflow:hidden;border-radius:30px;background:linear-gradient(135deg,#eaf3ff 0%,#d9ebff 100%);box-shadow:0 30px 70px rgba(2,9,24,.28);border:1px solid rgba(255,255,255,.24);}
  .sf-contact-left{background:linear-gradient(145deg,#061a37 0%,#0d47a1 55%,#1565c0 100%);color:#fff!important;}
  .sf-contact-right{background:linear-gradient(145deg,#ffffff 0%,#eef6ff 55%,#dbeeff 100%);}
  .sf-contact-column-inner{height:100%;padding:38px;}
  .sf-contact-left h2,.sf-contact-left p{color:#fff!important;}
  .sf-contact-right h2,.sf-contact-right p{color:var(--sf-text)!important;}
  .sf-contact-info{margin-top:22px;}
  .sf-contact-info p{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:#fff!important;}
  .sf-contact-info i{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);}
  .sf-map-card{margin-top:26px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(30,136,229,.12));border:1px solid rgba(255,255,255,.25);box-shadow:0 22px 48px rgba(0,0,0,.22);backdrop-filter:blur(6px);}
  .sf-map-card-head{display:flex;align-items:center;gap:14px;padding:18px 20px;background:linear-gradient(135deg,rgba(30,136,229,.36),rgba(13,71,161,.24));}
  .sf-map-card-head span{display:block;color:#a9dcff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
  .sf-map-card-head strong{display:block;color:#fff;font-size:17px;line-height:1.35;font-family:'Montserrat',Arial,sans-serif;font-weight:900;}
  .sf-map-icon{min-width:44px;width:44px;height:44px;border-radius:50%;display:flex!important;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e88e5,#0d47a1);color:#fff!important;box-shadow:0 12px 24px rgba(0,0,0,.22);}
  .sf-map-frame{height:250px;background:#0b2348;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);}
  .sf-map-frame iframe{width:100%;height:100%;display:block;border:0;filter:saturate(1.05) contrast(1.02);}
  .sf-map-card-foot{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:rgba(2,9,24,.24);}
  .sf-map-card-foot p{margin:0!important;color:#fff!important;font-size:15px;line-height:1.5;display:flex;align-items:center;gap:8px;}
  .sf-map-card-foot a{color:#fff!important;font-weight:900;text-decoration:underline;white-space:nowrap;}

  .sf-form{height:100%;padding:30px;border-radius:24px;background:rgba(255,255,255,.86);border:1px solid rgba(13,71,161,.10);box-shadow:0 18px 42px rgba(13,71,161,.12);}
  .sf-form .form-control{height:50px;border-radius:12px;border:1px solid #d9e2f3;background:#f8fbff;color:#102033;}
  .sf-form textarea.form-control{height:auto;min-height:118px;}
  .sf-form .form-control::placeholder{color:#64748b!important;opacity:1!important;-webkit-text-fill-color:#64748b!important;}
  .sf-form .form-control:focus{background:#ffffff;color:#102033!important;-webkit-text-fill-color:#102033!important;border-color:#1e88e5;box-shadow:0 0 0 .18rem rgba(30,136,229,.16);}
  .sf-form input[readonly]{background:#eef4ff!important;color:#0d47a1!important;-webkit-text-fill-color:#0d47a1!important;font-weight:900;}
  .sf-form .jc-form-privacy{background:#f4f7fc;color:#334155;border-color:#d9e2f3;}
  .sf-form .jc-form-privacy a{color:#0d47a1;}

  @media(max-width:767px){.sf-section{padding:46px 0}.sf-emergency-bar h2,.sf-section h2{font-size:25px}.sf-btn-whats{width:100%;margin-top:10px}.sf-logo-final{max-width:220px}.sf-emergency-card{padding:30px 22px;border-radius:24px}.sf-service-img{height:180px}.sf-about-media-column{display:block}.sf-about-media-card{height:auto;margin-bottom:22px}.sf-about-highlights{grid-template-columns:1fr}.sf-about-highlight{min-height:0;flex-direction:row;justify-content:flex-start;text-align:left;padding:13px 14px}.sf-about-highlight-icon{min-width:42px;margin:0 12px 0 0}.sf-contact-card{border-radius:24px}.sf-contact-column-inner{padding:26px 20px}.sf-map-card{margin-top:22px;}.sf-map-frame{height:230px;}.sf-map-card-foot a{white-space:normal;}}
