/* ===================================================================
   LudiTech HTML — Réplica fiel do site WordPress (BeTheme)
   Tokens exatos extraídos dos estilos computados do site original.
   =================================================================== */

/* ---------- Reset & base ---------- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: Roboto, Arial, Tahoma, sans-serif;
  font-size: 13px;
  line-height: 1.6;
  color: #626262;
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; border: 0; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
h1, h2, h3, h4, h5 { font-family: 'Open Sans', Arial, Tahoma, sans-serif; color: #000; font-weight: 300; }
h2 { font-size: 34px; line-height: 34px; }
h4 { font-size: 20px; line-height: 26px; }
h5 { font-size: 16px; line-height: 24px; }
hr.no_line {
  border: 0;
  background: rgba(0,0,0,.08);
  height: 1px;
  margin: 0 auto 20px;
  width: 70%;
  max-width: 380px;
}
.column_attr p { margin-bottom: 12px; }
.column_attr p:last-child { margin-bottom: 0; }

/* ---------- Container / grid (BeTheme 1220px) ---------- */
.container { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.section_wrapper { max-width: 1200px; margin: 0 auto; padding: 0; position: relative; }
.column { float: left; margin: 0 1%; }
.column.one { width: 98%; }
.column.one-fourth { width: 23%; }
.column.one-third { width: 31.333%; }
.column.one-second { width: 48%; }
.wrap.one-second { float: left; width: 48%; margin: 0 1%; }
.valign-top { vertical-align: top; }
.align_center { text-align: center; }
.aligncenter { text-align: center; }
.clearfix::after { content: ""; display: block; clear: both; }
.container::after,
.section_wrapper::after,
.wrap::after { content: ""; display: block; clear: both; }
.section { padding-top: 60px; padding-bottom: 60px; position: relative; overflow: hidden; }
.section.dark { color: #fff; }
.section.dark h2, .section.dark h4 { color: #fff; }
.section#repair { padding-top: 10px; padding-bottom: 30px; overflow: visible; z-index: 5; }
.section.section-slider { padding-top: 60px; padding-bottom: 20px; }
.section#offer { padding-top: 70px; padding-bottom: 50px; }
.section#testimonials { padding-top: 90px; padding-bottom: 30px; }
.section#reasons { padding-top: 140px; padding-bottom: 110px; background-size: auto; }
.section#device { padding-top: 80px; padding-bottom: 30px; }
.section#fale { padding-top: 90px; padding-bottom: 30px; }
.section#clients { padding-top: 80px; padding-bottom: 30px; }
.section.the_content.no_content { height: 0; min-height: 0; padding: 0; }

@media only screen and (min-width: 960px) {
  .section#repair { min-height: 220px; }
  .section.section-slider { min-height: 600px; }
  .section#offer { min-height: 520px; }
  .section#testimonials { min-height: 385px; }
  .section#reasons { min-height: 600px; }
  .section#device { min-height: 565px; }
  .section#fale { min-height: 155px; }
  .section#clients { min-height: 295px; }
}
h2.callto-title { display: inline-block; margin-right: 35px; position: relative; top: -26px; }
h2.callto-title a { font-weight: 700; color: #fff; }

/* ---------- Header ---------- */
#Header_wrapper { background: #fff; }
#Content { position: relative; z-index: 900; }
#Top_bar {
  position: sticky; top: 0; left: 0; width: 100%; height: 90px; z-index: 2000;
  background: rgba(255,255,255,.97);
  box-shadow: 0 2px 5px 0 rgba(0,0,0,.1);
  transition: transform .3s ease-out, background .3s ease-out;
}
#Top_bar.transparent { background: rgba(255,255,255,.97); box-shadow: 0 2px 5px 0 rgba(0,0,0,.1); }
.header_placeholder { display: none; }
#Top_bar .top_bar_left { display: flex; align-items: center; }
#Top_bar .logo { float: left; margin: 0 30px 0 20px; }
#Top_bar #logo { display: block; height: 60px; line-height: 60px; padding: 15px 0; box-sizing: content-box; }
#Top_bar #logo img { vertical-align: middle; max-height: 46px; width: 253px; }
#Top_bar .logo-sticky { display: none; }
.menu_wrapper { float: left; z-index: 201; }
#menu > li { display: block; float: left; margin: 0; position: relative; }
#menu > li > a { display: block; line-height: 60px; padding: 15px 0; position: relative; box-sizing: content-box; }
#menu > li > a span {
  display: block; line-height: 30px; padding: 0 20px; white-space: nowrap;
  border-right: 1px solid rgba(0,0,0,.05);
  color: #4f4f4f; font-size: 14px; font-family: Roboto, Arial, Tahoma, sans-serif;
  transition: all .3s ease-in-out;
}
#menu > li:last-child > a span { border-right: 0; }
#menu > li > a:hover { text-decoration: none; }
#menu > li.current-menu-item > a span, #menu > li:hover > a span { color: #37ac50; font-weight: 500; }
#menu a::after {
  content: ""; height: 4px; width: 100%; position: absolute; left: 0; top: -4px;
  background: #37ac50; opacity: 0; transition: opacity .3s ease-in-out;
}
#menu > li.current-menu-item > a::after { opacity: 1; }
.responsive-menu-toggle { display: none; font-size: 20px; padding: 10px 15px; cursor: pointer; }

/* ---------- Revolution Slider (hero) ---------- */
.mfn-main-slider { position: relative; width: 100%; }
.rev_slider_wrapper { position: relative; width: 100%; overflow: hidden; margin: 0 auto; }
.rev_slider { position: relative; width: 100%; height: 680px; overflow: hidden; }
.rev_slide {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  opacity: 0; visibility: hidden;
  transition: opacity .4s ease-in-out;
  background: #000;
}
.rev_slide.active { opacity: 1; visibility: visible; z-index: 1; }
.rev-slidebg {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center bottom;
}
.tp-caption {
  position: absolute; z-index: 5; opacity: 0;
  white-space: nowrap; text-align: inherit;
  /* Posicionamento idêntico ao Revolution Slider (data-x/y=center com hoffset/voffset):
     left = 50% do slide + hoffset - metade da largura do elemento
     top  = 50% do slide + voffset - metade da altura do elemento */
  left: calc(50% + var(--ho, 0px));
  top: calc(50% + var(--vo, 0px));
  transform: translate(-50%, -50%);
}
.tp-caption.mfnrsitservicelargedark,
.tp-caption.mfnrsitservicemediumdark,
.tp-caption { color: #fff; font-family: 'Open Sans', Arial, Tahoma, sans-serif; }
.tp-caption.mfnrsitservicelargedark { font-size: 50px; line-height: 56px; font-weight: 300; z-index: 5; }
.tp-caption.mfnrsitservicemediumdark { font-size: 24px; line-height: 31px; font-weight: 300; z-index: 6; }

/* Animação das camadas (Power3.easeInOut, y:50px -> opacity 1) */
.rev_slide.active .tp-caption { animation: tp-caption-in 1.1s cubic-bezier(.23,1,.32,1) forwards; }
.rev_slide.active .tp-caption:nth-child(2) { animation-delay: .2s; }
.rev_slide.active .tp-caption:nth-child(3) { animation-delay: .4s; }
.rev_slide .tp-caption:nth-child(2) { animation-delay: 1.1s; }
.rev_slide .tp-caption:nth-child(3) { animation-delay: 1.7s; }
.rev_slide .tp-caption {
  transform: translate(-50%, -50%) translateY(50px);
}
@keyframes tp-caption-in {
  from { opacity: 0; transform: translate(-50%, -50%) translateY(50px); }
  to   { opacity: 1; transform: translate(-50%, -50%) translateY(0); }
}

.slider-btn { display: inline-block; }
.slider-btn img { display: block; }
.tp-bullets { position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%); z-index: 20; display: flex; gap: 8px; }
.tp-bullet {
  width: 12px; height: 12px; border-radius: 50%; background: rgba(255,255,255,.4);
  cursor: pointer; transition: background .3s;
}
.tp-bullet.selected { background: #fff; }
.tp-bullets .tp-bullet:hover { background: rgba(255,255,255,.8); }
.tp-arrows .tparrows {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 100;
  width: 40px; height: 40px; border-radius: 50%; background: rgba(0,0,0,.5);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 18px; transition: background .2s ease-out; cursor: pointer;
}
.tp-arrows .tparrows:hover { background: rgba(0,0,0,1); }
.tp-arrows .tp-leftarrow { left: 20px; }
.tp-arrows .tp-rightarrow { right: 20px; }
.tp-bannertimer {
  position: absolute; bottom: 0; left: 0; height: 3px; z-index: 200;
  background: rgba(255,255,255,.5); width: 0; transition: none;
}
.tp-bannertimer.running { animation: banner-timer 5s linear forwards; }
@keyframes banner-timer { from { width: 0; } to { width: 100%; } }

/* ---------- Intro ---------- */
#repair .section_wrapper { position: static; }
.section#repair .move-up {
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;
  margin-top: 0;
  z-index: 1000;
  pointer-events: none;
}
.section#repair .column_image,
.section#repair .image_frame,
.section#repair .image_wrapper { position: relative; z-index: 30; overflow: visible; }
.section#repair .image_frame img { max-width: 56px; position: relative; z-index: 31; display: inline-block; }
#repair .move-up + .wrap { margin-top: 60px; }
#repair hr.no_line { margin-bottom: 22px; }
#repair h5 { color: #a9a9a9; }

/* ---------- Content slider ---------- */
.content_slider { position: relative; min-height: 520px; padding: 0; }
.content_slider ul.content_slider_ul {
  max-width: 890px;
  min-height: 440px;
  margin: 0 auto;
  line-height: 0;
  list-style: none;
  position: relative;
}
.content_slider ul li { display: none; }
.content_slider:not(.initialized) ul li:first-child,
.content_slider ul li.current { display: block; }
.content_slider ul li img { width: 100%; max-width: 890px; display: block; margin: 0 auto; }
.content_slider.flat a.button {
  position: absolute; top: 430px; margin-top: -25px; font-size: 13px; line-height: 21px;
  background: none; border: 0; box-shadow: none; z-index: 3; cursor: pointer;
}
.content_slider.flat a.slider_prev { left: 15%; }
.content_slider.flat a.slider_next { right: 15%; }
.content_slider.flat a.button .button_icon { color: #37ac50; font-size: 54px; opacity: .28; transition: opacity .3s ease-in-out; }
.content_slider.flat a:hover.button .button_icon { opacity: 1; }
.content_slider .slider_pager { width: 100%; margin-top: 20px; text-align: center; display: flex; justify-content: center; gap: 14px; }
.slider_pager a, .slider_pager span {
  color: #37ac50; font-size: 13px; font-family: Roboto, Arial, sans-serif;
  cursor: pointer; line-height: 20px;
}
.slider_pager .selected { font-weight: 700; }

/* ---------- Serviços ---------- */
.column_attr h4 { margin-bottom: 12px; }
.column_attr p { color: #A2A2A2; font-size: 13px; }
#offer .column.one-fourth .column_attr {
  background: #fff;
  height: 320px;
  padding: 35px 28px 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#offer .column.one-fourth {
  margin-top: 42px;
}
#offer .column.one-fourth .image_frame {
  min-height: 142px;
  margin-bottom: 6px;
}
#offer .column.one-fourth h4 {
  color: #241535;
  font-size: 20px;
  line-height: 26px;
  margin-bottom: 18px;
  font-weight: 300;
}
#offer .column.one-fourth p {
  max-width: 210px;
  margin: 0 auto;
  line-height: 20px;
}

/* ---------- Depoimento ---------- */
.section#testimonials h2 { margin: 0 7%; line-height: 120%; }
.section#testimonials h4 { color: #218136; font-weight: 700; }
.section#testimonials .image_wrapper img { max-width: 72px; }

/* ---------- Reasons ---------- */
#reasons .column_attr img { margin-bottom: 20px; }
#reasons .wrap.one-second { width: 50%; margin: 0; }
#reasons .wrap.one-second .column.one { width: 98%; }
#reasons .wrap.one-second .column.one-third { width: 31.333%; }
#reasons h2 { margin-bottom: 58px; }
#reasons .column_attr h4 {
  color: #626262;
  font-size: 20px;
  line-height: 24px;
  margin-bottom: 14px;
}
#reasons .column_attr p {
  line-height: 21px;
}

/* ---------- Formulário ---------- */
#device .column_attr p { margin-bottom: 12px; }
#device .big { font-size: 15px; line-height: 24px; color: #626262; }
#device input[type="text"], #device input[type="email"], #device textarea {
  width: 100%; display: block; background: #fff; border: 1px solid #ebebeb;
  padding: 10px; font-size: 13px; color: #626262; font-family: inherit;
  border-radius: 0; margin-bottom: 10px; transition: border-color .3s, background .3s;
}
#device .column.one-third { margin-top: 42px; }
#device input:focus, #device textarea:focus { background: #E9F5FC !important; border-color: #d5e5ee; color: #1982C2; outline: none; }
.submit-btn {
  display: inline-block; background: transparent; color: #37ac50;
  border: 2px solid #37ac50; border-radius: 3px;
  padding: 11px 20px; font-size: 13px; font-weight: 400; font-family: inherit;
  cursor: pointer; transition: all .3s;
}
.submit-btn:hover { background: #37ac50; color: #fff; }
.wpcf7-response-output { margin: 8px 0 0; font-size: 12px; }
.wpcf7-response-output.error { color: #e74c3c; }
.wpcf7-response-output.success { color: #37ac50; }

/* ---------- Icon bars (redes sociais) ---------- */
a.icon_bar {
  display: inline-block; overflow: hidden; text-align: center; margin: 0 2px 2px 0;
  border: 1px solid #e7e7e7; position: relative; background: #fff;
  box-shadow: inset 0 0 5px 0 rgba(0,0,0,.08);
}
a.icon_bar, a.icon_bar span { width: 58px; height: 58px; line-height: 58px; font-size: 20px; color: #444; }
a.icon_bar span { display: block; transition: transform .3s; }
a.icon_bar span.t { position: relative; }
a.icon_bar span.b { position: absolute; top: 100%; transform: translate3d(0,0,0); }
a.icon_bar span.b { background: #3a589b; color: #fff; }
a.icon_bar_google span.b { background: #d6492f; }
a:hover.icon_bar span { transform: translateY(-100%); }

/* ---------- Clients slider ---------- */
.clients_slider ul { display: flex; justify-content: center; align-items: center; gap: 60px; flex-wrap: wrap; }
#clients .image_frame { margin-top: 28px; }
#clients .clients_slider { margin-top: 42px; }
#clients .clients_slider ul { gap: 144px; }
.clients_slider ul li .client_wrapper img { transition: all .4s ease-in-out; opacity: .8; }
.clients_slider ul li .client_wrapper:hover img { opacity: 1; transform: scale(1.03); }

/* ---------- Footer ---------- */
#Footer { background: #434647; color: #7e7e7e; }
#Footer .widgets_wrapper { padding: 50px 0; }
#Footer .column { margin-bottom: 0; }
#Footer .widget { padding: 15px 0; }
#Footer .widget h4 { color: #d5d5d5; font-size: 20px; line-height: 25px; margin-bottom: 15px; font-weight: 300; }
#Footer .widget p, #Footer .widget li { font-size: 13px; color: #7e7e7e; line-height: 21px; }
#Footer .widget ul { list-style: disc; margin: 0 0 0 14px; }
#Footer .footer_copy { border-top: 1px solid rgba(255,255,255,.1); }
#Footer .footer_copy { min-height: 84px; }
#Footer .footer_copy .column { min-height: 33px; padding-top: 30px; }
#Footer .footer_copy .copyright { float: none; text-align: center; font-size: 13px; line-height: 21px; color: #7e7e7e; }
#Footer .footer_copy .social { float: right; }

/* ---------- WhatsApp flutuante ---------- */
.wptwa-btn {
  position: fixed; right: 22px; bottom: 22px; z-index: 9000;
  display: flex; align-items: center; gap: 8px;
  background: #25d366; color: #fff; border-radius: 27px;
  padding: 0 20px 0 14px; height: 54px; font-size: 13px; font-weight: 500; font-family: Roboto, Arial, sans-serif;
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
  transition: transform .25s cubic-bezier(.23,1,.32,1);
}
.wptwa-btn i { font-size: 26px; }
.wptwa-btn:hover { transform: scale(1.05); color: #fff; }
@media only screen and (max-width: 767px) {
  .wptwa-btn { padding: 0 16px 0 12px; height: 48px; }
  .wptwa-btn i { font-size: 22px; }
}
.wptwa-pulse {
  position: absolute; inset: -6px; border-radius: 50%; border: 2px solid #25d366;
  animation: wptwa-pulse 2s infinite;
}
@keyframes wptwa-pulse { 0% { transform: scale(.95); opacity: .8; } 100% { transform: scale(1.35); opacity: 0; } }

/* ---------- Animações de scroll (betheme) ---------- */
.animate { opacity: 0; transition: none; }
.animate.animated { opacity: 1 !important; transform: none !important; animation: none !important; }
@media (prefers-reduced-motion: no-preference) {
  @keyframes zoomIn   { from { opacity: 0; transform: scale(.5); } to { opacity: 1; transform: scale(1); } }
  @keyframes fadeInLeft { from { opacity: 0; transform: translateX(-200px); } to { opacity: 1; transform: translateX(0); } }
  @keyframes fadeInUp { from { opacity: 0; transform: translateY(200px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes bounceIn { 0% { opacity: 0; transform: scale(.3); } 60% { opacity: 1; transform: scale(1.05); } 100% { transform: scale(1); } }
  .animate.animated { animation-fill-mode: both; animation-duration: .7s; }
  .animate.zoomIn.animated      { animation-name: zoomIn; }
  .animate.fadeInLeft.animated  { animation-name: fadeInLeft; }
  .animate.fadeInUp.animated    { animation-name: fadeInUp; }
  .animate.bounceIn.animated    { animation-name: bounceIn; }
}
@media (prefers-reduced-motion: reduce) {
  .animate { opacity: 1 !important; }
}

/* ---------- Responsivo ---------- */
@media only screen and (max-width: 959px) {
  .content_slider { padding: 0; margin: 0 0 50px; }
  .content_slider a.button { top: auto !important; bottom: -50px; }
  .content_slider a.slider_prev { left: 0 !important; }
  .content_slider a.slider_next { right: 0 !important; }
  .content_slider a.button .button_icon { padding: 7px 9px; font-size: 30px; }
  .content_slider .slider_pager { padding: 0 20%; }
  .section#reasons { padding-top: 80px; padding-bottom: 60px; background-image: none !important; }
}
@media only screen and (max-width: 767px) {
  .responsive-menu-toggle { display: block; }
  .menu_wrapper #menu {
    display: none; position: absolute; top: 100%; left: 0; width: 100%;
    background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.08); z-index: 300;
  }
  .menu_wrapper #menu.open { display: block; }
  .menu_wrapper #menu > li { float: none; }
  .menu_wrapper #menu > li > a span { border-right: 0; border-bottom: 1px solid rgba(0,0,0,.05); }
  .menu_wrapper #menu > li:last-child > a span { border-bottom: 0; }
  .column { float: none !important; width: 100% !important; margin: 0 0 30px; }
  .wrap.one-second { float: none; width: 100%; margin: 0; }
  .column.one-fourth, .column.one-third, .column.one-second { width: 100% !important; }
  .rev_slider { height: 420px; }
  .tp-caption.mfnrsitservicelargedark { font-size: 32px; line-height: 38px; }
  .tp-caption.mfnrsitservicemediumdark { font-size: 16px; line-height: 22px; }
  h2 { font-size: 26px; line-height: 34px; }
  .clients_slider ul { gap: 30px; }
  #Top_bar .logo { margin-left: 10px; }
  .wptwa-btn { right: 14px; bottom: 14px; width: 50px; height: 50px; font-size: 25px; }
  h2.callto-title { top: 0; margin-right: 0; }
}
