/* ZYX · estilos complementares do redesign (Teberge Web Design)
   Tudo que o Elementor não faz nativamente. Classes prefixadas com zyx-. */

/* ---------- Base das páginas do redesign ---------- */
html,body{overflow-x:clip}
.zyx-depo-carousel .swiper{overflow:hidden}
.zyx-header .elementor-menu-toggle{background:transparent!important;padding:6px!important}
.zyx-header .elementor-menu-toggle svg{fill:#F9FAFD}

/* ---------- Header responsivo ---------- */
.zyx-header .elementor-widget-image{flex-shrink:0}
@media (max-width:1024px){
  .zyx-header .elementor-widget-nav-menu{flex:0 0 48px!important;width:48px!important;max-width:48px!important;--flex-grow:0!important;margin-left:auto}
  .zyx-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{position:absolute;top:calc(100% + 18px)}
}

/* ---------- Hero ---------- */
@media (max-width:1024px){
  .zyx-hero .zyx-hero-comp{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;margin:48px auto 0!important}
}
@media (max-width:767px){.zyx-hero .zyx-hero-comp{margin-top:36px!important}}
.zyx-hero{isolation:isolate}
.zyx-hero-comp{pointer-events:none}
.zyx-flip img{transform:scaleX(-1)}
.zyx-fox img{filter:drop-shadow(0 18px 28px rgba(3,3,3,.28)) drop-shadow(0 40px 60px rgba(3,3,3,.18))}
.zyx-outline .elementor-heading-title{color:transparent!important;-webkit-text-stroke:1px currentColor}
.zyx-outline--light .elementor-heading-title{-webkit-text-stroke-color:#F9FAFD}
.zyx-outline--dark .elementor-heading-title{-webkit-text-stroke-color:#242020}
.zyx-nowrap .elementor-heading-title{white-space:nowrap}
.zyx-tag{align-self:flex-start;--width:auto!important;width:auto!important}
@media (max-width:1024px){.zyx-tag{align-self:center}}

/* ---------- Faixas diagonais (marquee) ---------- */
.zyx-faixas{--fx-fs:2.5vw;--fx-band:5.8vw;position:relative;height:25vw;overflow:visible;pointer-events:auto}
@media (max-width:1024px){.zyx-faixas{--fx-fs:2.9vw;--fx-band:6.8vw;height:29vw}}
@media (max-width:767px){.zyx-faixas{--fx-fs:4.4vw;--fx-band:10vw;height:42vw}}
.zyx-faixa{position:absolute;left:-6vw;width:112vw;height:var(--fx-band);display:flex;align-items:center;box-shadow:0 12px 30px -18px rgba(3,3,3,.6)}
.zyx-faixa--amarela{background:#FFCB05;color:#282828;top:calc(50% - var(--fx-band)/2 + 1vw);transform:rotate(3.1deg)}
.zyx-faixa--preta{background:#1C1A1A;color:#F9FAFD;top:calc(50% - var(--fx-band)/2 - 1vw);transform:rotate(-3.8deg);z-index:2}
.zyx-faixa .zyx-marquee__track{--zyx-marquee-gap:calc(var(--fx-fs)*1.1);--zyx-marquee-speed:38s}
.zyx-faixa--preta .zyx-marquee__track{--zyx-marquee-speed:44s}
.zyx-faixa__item{display:inline-flex;align-items:center;gap:calc(var(--fx-fs)*.7);font-family:'Righteous',sans-serif;font-size:var(--fx-fs);line-height:1;text-transform:uppercase;letter-spacing:.02em}
.zyx-faixa__item svg{height:calc(var(--fx-fs)*1.15);width:auto;flex:none}
.zyx-faixa__item svg path{fill:currentColor}

/* ---------- Header redesign ---------- */
.zyx-header{transition:background-color var(--zyx-m300,300ms) var(--zyx-ease-out,ease-out),padding var(--zyx-m300,300ms) var(--zyx-ease-out,ease-out),box-shadow var(--zyx-m300,300ms)}
.zyx-header{background-color:transparent!important}
body.zyx-scrolled .zyx-header{background-color:rgba(245,130,32,.97)!important;box-shadow:0 10px 30px -20px rgba(3,3,3,.6);padding-top:14px!important;padding-bottom:14px!important}
.zyx-header .elementor-nav-menu a{position:relative}
.zyx-header .elementor-nav-menu--main .elementor-item:after{transition:transform var(--zyx-m200,200ms) var(--zyx-ease-out,ease-out)!important}

/* ---------- Cards de serviço ---------- */
.zyx-svc-card{overflow:hidden}
.zyx-svc-card .zyx-svc-media img{transition:transform var(--zyx-m300,300ms) var(--zyx-ease-out,ease-out)}
.zyx-svc-card:hover .zyx-svc-media img{transform:scale(1.05)}
.zyx-svc-card .zyx-svc-media,.zyx-svc-card .zyx-svc-media .elementor-widget-container{height:100%;overflow:hidden}
.zyx-svc-card .zyx-svc-media img{transform-origin:center top;display:block}

/* ---------- Quote IA + humano ---------- */
.zyx-quote{background:#030303;overflow:hidden}
.zyx-quote::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(118% 170% at 50% 104%,#FFC27A 0%,#F8963C 24%,#F58220 44%,#C25E0C 53%,#3A1A05 59%,rgba(3,3,3,0) 63%)}
.zyx-quote-text .zyx-q-fox{width:2.5em!important;height:.84em!important;max-width:none!important;object-fit:cover!important;border-radius:0 .5em 0 .5em!important;border:0!important;padding:0!important;box-shadow:none!important}
.zyx-quote::after{-webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.35) 18%,#000 42%);mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.35) 18%,#000 42%)}
.zyx-quote>*{position:relative;z-index:1}
.zyx-quote-text p{margin:0}
.zyx-quote .zyx-hl{background:#030303;color:#FFCB05;padding:.02em .3em;border-radius:0 .5em 0 .5em}
.zyx-q-fox{display:inline-block;width:2.5em;height:.84em;object-fit:cover;object-position:50% 34%!important;border-radius:0 .5em 0 .5em;vertical-align:-.06em;margin:0 .1em}
.zyx-flip-180 img{transform:rotate(180deg)}

/* ---------- Cards de serviço (link) ---------- */
a.zyx-svc-card,a.zyx-svc-card:hover{color:inherit;text-decoration:none}
.zyx-svc-card .zyx-svc-media{align-self:stretch;flex:0 0 103px!important;width:103px!important}
@media (max-width:767px){.zyx-svc-card .zyx-svc-media{flex-basis:96px!important;width:96px!important}}
.zyx-svc-card>.e-con{flex:1 1 0%!important;min-width:0;width:auto!important}
@media (min-width:768px) and (max-width:900px){.zyx-svc-card h3.elementor-heading-title{font-size:17px!important}}
.zyx-svc-card .zyx-svc-media img{height:100%!important;object-fit:cover;object-position:top center}

/* ---------- Como funciona ---------- */
.zyx-ack{font-family:'Ackbar',sans-serif;color:#F58220;font-weight:400}
.zyx-steps{position:relative}
.zyx-line-wrap{pointer-events:none}
.zyx-steps-line{display:block;height:1px;width:100%;background:repeating-linear-gradient(90deg,#282828 0 14px,transparent 14px 26px);transform-origin:left center}
.zyx-line-wrap:not(.is-in) .zyx-steps-line{transform:scaleX(0)}
.zyx-line-wrap .zyx-steps-line{transition:transform var(--zyx-m300,300ms) var(--zyx-ease-out,ease-out) 150ms}
.zyx-line-wrap.zyx-reveal{opacity:1;transform:none}
.zyx-step-dot{display:block;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FFCB05,#F58220 60%,#C25E0C);box-shadow:0 0 0 6px #F9FAFD,0 0 0 7px rgba(245,130,32,.25);animation:zyx-breathe 4s ease-in-out infinite}
@media (max-width:767px){
  .zyx-line-wrap{left:11px!important;top:0!important;width:1px!important;height:100%}
  .zyx-steps-line{width:1px;height:100%;background:repeating-linear-gradient(180deg,#282828 0 14px,transparent 14px 26px);transform-origin:top center}
  .zyx-line-wrap:not(.is-in) .zyx-steps-line{transform:scaleY(0)}
  .zyx-steps .zyx-step-dot{margin-left:-40px}
}
@media (prefers-reduced-motion:reduce){.zyx-step-dot{animation:none}.zyx-line-wrap .zyx-steps-line{transform:none!important}}

/* ---------- Depoimentos ---------- */
.zyx-btn .elementor-button{white-space:nowrap}
.e-con>.zyx-btn,.e-con-inner>.zyx-btn{flex-shrink:0}
.zyx-depo-carousel .elementor-swiper-button{top:auto!important;bottom:0!important;transform:none!important;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform var(--zyx-m150,150ms) var(--zyx-ease-out,ease-out),background-color var(--zyx-m150,150ms)}
.zyx-depo-carousel .elementor-swiper-button-prev{left:486px!important;right:auto!important;border:2px solid #030303!important;color:#030303!important;background:transparent!important;opacity:1!important;transition:opacity var(--zyx-m200,200ms),transform var(--zyx-m150,150ms)}
.zyx-depo-carousel.zyx-at-start .elementor-swiper-button-prev{opacity:0!important;pointer-events:none;transform:translate3d(-8px,0,0)!important}
.zyx-depo-carousel .elementor-swiper-button-next{left:552px!important;right:auto!important;background:#030303!important;color:#F9FAFD!important;opacity:1!important}
.zyx-depo-carousel.zyx-at-start .elementor-swiper-button-next{left:486px!important}
.zyx-depo-carousel .elementor-swiper-button:hover{transform:translate3d(0,-2px,0)!important}
.zyx-depo-carousel .elementor-swiper-button-prev svg{fill:#030303!important}
.zyx-depo-carousel .elementor-swiper-button-next svg{fill:#F9FAFD!important}
.zyx-depo-carousel .swiper.zyx-autoheight .swiper-wrapper{align-items:flex-start}
.zyx-depo-carousel .elementor-swiper-button svg,.zyx-depo-carousel .elementor-swiper-button i{fill:currentColor;color:currentColor;width:20px;height:20px}
@media (max-width:1024px){.zyx-depo-carousel .elementor-swiper-button-prev{left:calc(45% + 25px)!important}.zyx-depo-carousel .elementor-swiper-button-next{left:calc(45% + 91px)!important}}
@media (max-width:767px){.zyx-depo-carousel .elementor-swiper-button-prev{left:0!important}.zyx-depo-carousel .elementor-swiper-button-next{left:66px!important}}

/* ---------- Rodapé ---------- */
.zyx-foot-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.zyx-foot-list a{font-family:'Satoshi',sans-serif;font-size:16px;line-height:26px;color:rgba(255,255,255,.7);text-decoration:none;display:inline-block;transition:color var(--zyx-m150,150ms),transform var(--zyx-m150,150ms) var(--zyx-ease-out,ease-out)}
.zyx-foot-list a:hover{color:#FFCB05;transform:translate3d(4px,0,0)}
.zyx-wordmark .elementor-heading-title{white-space:nowrap;letter-spacing:-.01em}

/* ---------- Formulário (seção) ---------- */
.zyx-form-panel{border-radius:20px 0 0 20px}
@media (max-width:1024px){.zyx-form-panel{border-radius:0}}
.zyx-seal{transition:transform var(--zyx-m200,200ms) var(--zyx-ease-out,ease-out)}
.zyx-seal:hover{transform:translate3d(4px,0,0)}
.zyx-avatars{display:flex;align-items:center}
.zyx-avatars img{width:59px;height:59px;border-radius:50%;object-fit:cover;object-position:center 18%;border:3px solid #fff;margin-left:-14px;background:#fff;transition:transform var(--zyx-m200,200ms) var(--zyx-ease-out,ease-out)}
.zyx-avatars img:first-child{margin-left:0}
.zyx-avatars img:hover{transform:translate3d(0,-6px,0)}

/* ---------- Formulário de orçamento ---------- */
.zyx-form-progress{margin-bottom:28px}
.zyx-form-progress__top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px}
.zyx-form-progress__count{font-family:'Satoshi',sans-serif;font-size:18px;color:rgba(40,40,40,.8)}
.zyx-form-progress__title{font-family:'Righteous',sans-serif;font-size:20px;color:rgba(40,40,40,.8);text-align:right}
.zyx-form-progress__bar{height:9px;border-radius:50px;background:#CDCDCD;overflow:hidden}
.zyx-form-progress__bar span{display:block;height:100%;background:#F58220;border-radius:50px;transform-origin:left center;transition:transform var(--zyx-m300,300ms) var(--zyx-ease-out,ease-out)}
.zyx-form .elementor-field-group>label.elementor-field-label{font-family:'Righteous',sans-serif;font-size:16px;letter-spacing:.02em;color:#282828;margin-bottom:10px}
.zyx-form .elementor-field-group-servico>label.elementor-field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.zyx-form .elementor-field-subgroup.zyx-chips{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;width:100%;flex-wrap:initial}
.zyx-form .zyx-chips .elementor-field-option{position:relative;margin:0!important;padding:0!important;width:auto!important}
.zyx-form .zyx-chips .elementor-field-option input{position:absolute;opacity:0;pointer-events:none}
.zyx-form .zyx-chips .elementor-field-option label{display:flex;align-items:center;gap:14px;min-height:57px;padding:12px 16px;background:#fff;border:1.3px solid #CDCDCD;border-radius:11px;font-family:'Satoshi',sans-serif;font-size:18px;line-height:1.25;color:rgba(40,40,40,.85);cursor:pointer;transition:border-color var(--zyx-m150,150ms),background-color var(--zyx-m150,150ms),transform var(--zyx-m150,150ms) var(--zyx-ease-out,ease-out)}
.zyx-form .zyx-chips .elementor-field-option label::before{content:"";flex:none;width:21px;height:20px;border-radius:5px;background:#EEE;border:1px solid #CDCDCD;transition:background-color var(--zyx-m150,150ms),border-color var(--zyx-m150,150ms)}
.zyx-form .zyx-chips .elementor-field-option label:hover{border-color:#F58220;transform:translate3d(0,-1px,0)}
.zyx-form .zyx-chips .elementor-field-option input:checked+label{border-color:#F58220;background:#FFF6EE;color:#282828}
.zyx-form .zyx-chips .elementor-field-option input:checked+label::before{background:#F58220 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center/14px no-repeat;border-color:#F58220}
.zyx-form .zyx-chips .elementor-field-option input:focus-visible+label{outline:2px solid #282828;outline-offset:2px}
.zyx-form .zyx-chips .elementor-field-option:last-child:nth-child(odd){grid-column:1/-1}
.zyx-form .elementor-field-textual{min-height:57px;border-radius:11px!important;border:1.3px solid #CDCDCD!important;background:#fff!important;font-family:'Satoshi',sans-serif;font-size:17px!important;color:#282828!important;transition:border-color var(--zyx-m150,150ms)}
.zyx-form .elementor-field-textual:focus{border-color:#F58220!important;box-shadow:0 0 0 3px rgba(245,130,32,.18)}
.zyx-form .elementor-field-group{margin-bottom:20px}
.zyx-form .e-form__buttons{gap:12px;flex-wrap:nowrap!important}
.zyx-form .e-form__buttons__wrapper{flex:1 1 auto}
.zyx-form .elementor-button,.zyx-form button[type=submit]{width:100%;min-height:70px;border-radius:70px!important;background:#F58220!important;color:#F9FAFD!important;font-family:'Righteous',sans-serif!important;font-size:22px!important;text-transform:none;transition:transform var(--zyx-m150,150ms) var(--zyx-ease-out,ease-out),background-color var(--zyx-m150,150ms),box-shadow var(--zyx-m150,150ms)}
.zyx-form .elementor-button:hover{background:#E06F10!important;transform:translate3d(0,-2px,0);box-shadow:0 12px 26px -14px rgba(245,130,32,.9)}
.zyx-form .e-form__buttons__wrapper__button-previous{background:transparent!important;color:#282828!important;border:1.3px solid #282828!important}
.zyx-form .e-form__buttons__wrapper__button-previous:hover{background:#282828!important;color:#F9FAFD!important}
.zyx-form .elementor-message{font-family:'Satoshi',sans-serif;font-size:18px;padding:16px 20px;border-radius:11px}
.zyx-form .elementor-message-success{background:#fff;border:1.3px solid #F58220;color:#282828}
@media (max-width:767px){.zyx-form .elementor-field-subgroup.zyx-chips{grid-template-columns:1fr}.zyx-form .elementor-field-group.elementor-col-50{width:100%}.zyx-form-progress__title{font-size:16px}.zyx-form .elementor-button{font-size:18px!important;min-height:60px}}

#depoimentos h2 .zyx-ack{font-size:1.2em!important}

/* ---------- Miniaturas sincronizadas ---------- */
.zyx-depo-thumbs{display:flex;gap:10px}
.zyx-depo-thumb{width:110px;height:149px;padding:0;border:0;border-radius:5px;overflow:hidden;cursor:pointer;background:#F58220;flex:none;animation:zyx-float 6s ease-in-out infinite}
.zyx-depo-thumb:nth-child(2){animation-delay:-2s}.zyx-depo-thumb:nth-child(3){animation-delay:-4s}
.zyx-depo-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--zyx-m300) var(--zyx-ease-out)}
.zyx-depo-thumb:hover img{transform:scale(1.06)}
.zyx-depo-thumb__ini{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-family:'Ackbar',sans-serif;font-size:40px;color:#F9FAFD;text-transform:uppercase}
.zyx-depo-thumbs.is-swap .zyx-depo-thumb{animation:zyx-thumb-in var(--zyx-m300) var(--zyx-ease-out) both,zyx-float 6s ease-in-out infinite}
.zyx-depo-thumbs.is-swap .zyx-depo-thumb:nth-child(2){animation-delay:60ms,-2s}.zyx-depo-thumbs.is-swap .zyx-depo-thumb:nth-child(3){animation-delay:120ms,-4s}
@keyframes zyx-thumb-in{from{opacity:0;transform:translate3d(16px,0,0)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.zyx-depo-thumb,.zyx-depo-thumbs.is-swap .zyx-depo-thumb{animation:none}}

/* ---------- Páginas internas ---------- */
.zyx-watermark .elementor-heading-title{white-space:nowrap;letter-spacing:-.01em}
.zyx-pills{display:flex;flex-wrap:wrap;gap:12px}
.zyx-pills a{display:inline-flex;align-items:center;padding:10px 22px;border:1px solid rgba(249,250,253,.7);border-radius:36px;font-family:'Righteous',sans-serif;font-size:16px;text-transform:uppercase;color:#F9FAFD;text-decoration:none;transition:background-color var(--zyx-m150,150ms),color var(--zyx-m150,150ms),transform var(--zyx-m150,150ms) var(--zyx-ease-out,ease-out)}
.zyx-pills a:hover{background:#F58220;border-color:#F58220;transform:translate3d(0,-2px,0)}
@media (max-width:767px){.zyx-pills{gap:8px}.zyx-pills a{padding:8px 14px;font-size:13px}}
.zyx-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.zyx-list li{position:relative;padding-left:28px;font-family:'Satoshi',sans-serif;font-weight:700;font-size:18px;line-height:1.4;color:#282828}
.zyx-list li::before{content:"";position:absolute;left:0;top:.28em;width:14px;height:14px;background:#F58220;border-radius:1px 7px 1px 7px}
@media (max-width:767px){.zyx-list li{font-size:16px}}
.zyx-svc-visual{position:relative;overflow:hidden}
.zyx-badge{position:absolute;top:24px;left:24px;z-index:2;display:inline-flex;padding:8px 16px;background:#282828;color:#FFCB05;font-family:'Righteous',sans-serif;font-size:16px;border-radius:4px 20px 4px 20px}
[id]{scroll-margin-top:110px}
.zyx-card-info{transition:transform var(--zyx-m200,200ms) var(--zyx-ease-out,ease-out),box-shadow var(--zyx-m200,200ms)}
.zyx-card-info:hover{transform:translate3d(0,-6px,0);box-shadow:0 22px 40px -24px rgba(3,3,3,.4)}
.zyx-icon-leaf{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#F58220;color:#030303;border-radius:4px 32px 4px 32px}
.zyx-icon-leaf svg{width:30px;height:30px}

.zyx-steps--dark .zyx-steps-line{background:repeating-linear-gradient(90deg,rgba(249,250,253,.35) 0 14px,transparent 14px 26px)}
.zyx-steps--dark .zyx-step-dot{box-shadow:0 0 0 6px #030303,0 0 0 7px rgba(245,130,32,.35)}
@media (max-width:767px){.zyx-steps--dark .zyx-steps-line{background:repeating-linear-gradient(180deg,rgba(249,250,253,.35) 0 14px,transparent 14px 26px)}}
.zyx-nelson img{border-radius:0 20px 20px 0}
.zyx-canal a{color:#282828;text-decoration:none;border-bottom:1px solid rgba(245,130,32,.5);transition:color var(--zyx-m150,150ms)}
.zyx-canal a:hover{color:#F58220}

/* ---------- Utilidades ---------- */
.zyx-abs-fill{position:absolute;inset:0}
.zyx-hl{background:#030303;color:#F9FAFD;padding:0 .25em;border-radius:0 .5em 0 .5em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.zyx-text-orange{color:#F58220}

/* Quebra de linha só no desktop */
@media (max-width:1024px){.zyx-br-d{display:none}}

/* Depoimentos: fotos verticais; no mobile o quadro era quase quadrado e cortava cabeça e corpo */
.zyx-depo-photo img{object-position:center 22%!important}
@media (max-width:767px){.zyx-depo-photo img{height:auto!important;aspect-ratio:4/5}}
