/* FX GLOBAL v1 (10/10/2026) - cabecalho, rodape, voltar ao topo e acessibilidade, em todo o site. Paleta: #FF7004 #0A0A0A #2B2B2B #F1F1F1 #FFF. */
.fx-header{position:fixed!important;top:0;left:0;right:0;z-index:9980;padding:.9rem 6vw!important;transition:background .35s,padding .35s;flex-direction:row!important;align-items:center;justify-content:space-between}
.admin-bar .fx-header{top:32px}
.fx-header.fx-solid{background:rgba(10,10,10,.76);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);padding:.6rem 6vw!important}
.fx-header .fx-logo img{height:52px;width:auto}
.fx-nav .elementor-nav-menu a{font-family:'DM Sans',sans-serif;font-size:19px!important;color:#fff!important;opacity:.9;padding:.4rem .8rem!important;transition:color .2s,opacity .2s}
.fx-nav .elementor-nav-menu a:hover,.fx-nav .elementor-nav-menu .elementor-item-active{color:#FF7004!important;opacity:1}
.fx-nav .elementor-menu-toggle{color:#fff;background:transparent}
.fx-nav .elementor-nav-menu--dropdown{background:#0A0A0A}
.fx-hbtn .elementor-button{font-size:1rem}
.fx-footer{background:#0A0A0A;color:#fff;padding:5rem 6vw 0!important;position:relative}
.fx-footer a{color:rgba(255,255,255,.75);text-decoration:none;transition:color .2s}
.fx-footer a:hover{color:#FF7004}
.fx-footer .fx-fcols{display:grid!important;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}
.fx-footer .fx-flogo img{width:260px;height:auto}
.fx-footer h4,.fx-footer .elementor-heading-title{font-family:'Marcellus',serif;font-weight:400;color:#fff}
.fx-footer .fx-slogan-f .elementor-heading-title{font-size:1.6rem;margin-top:1rem}
.fx-footer ul{list-style:none;margin:0;padding:0}.fx-footer li{margin:.5rem 0;font-size:1rem}
.fx-footer .fx-fbar{margin-top:4rem;border-top:1px solid rgba(255,255,255,.18);padding:1.4rem 0!important;display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.95rem}
.fx-footer .fx-fbar>*{display:flex;align-items:center}
.fx-credit img{width:216px;height:69px;display:block}
@media(max-width:800px){.fx-footer .fx-fcols{grid-template-columns:1fr}.fx-header .fx-logo img{height:42px}.admin-bar .fx-header{top:46px}}
#fx-top{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;border:2px solid #FF7004;background:#0A0A0A;color:#FF7004;cursor:pointer;display:grid;place-items:center;z-index:5}
#fx-top svg{width:22px;height:22px;animation:fxup 1.8s ease-in-out infinite}
#fx-top:after{content:'';position:absolute;inset:-2px;border-radius:50%;border:2px solid #FF7004;animation:fxpulse 3.6s ease-out infinite}
@keyframes fxup{0%,100%{transform:translateY(2px)}50%{transform:translateY(-3px)}}
@keyframes fxpulse{0%{transform:scale(1);opacity:.7}70%,100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){#fx-top svg,#fx-top:after{animation:none}}
#fx-a11y{position:fixed;left:14px;bottom:14px;z-index:9990;font-family:'DM Sans',sans-serif}
#fx-a11y>button{width:46px;height:46px;border-radius:50%;border:0;background:#0A0A0A;color:#fff;font-size:1.05rem;cursor:pointer;box-shadow:0 0 0 2px #fff}
#fx-a11y .fx-a11y-row{display:none;gap:.4rem;margin-bottom:.5rem}
#fx-a11y.open .fx-a11y-row{display:flex}
#fx-a11y .fx-a11y-row button{background:#FF7004;color:#0A0A0A;border:0;border-radius:99px;padding:.5rem .9rem;font-weight:700;cursor:pointer;font-family:inherit}
html.fx-hc body{background:#000!important;color:#fff!important}
html.fx-hc .elementor-heading-title,html.fx-hc p,html.fx-hc li,html.fx-hc a{color:#fff!important}
html.fx-hc .elementor-button{background:#FFB000!important;color:#000!important}
html.fx-hc .fx-gray,html.fx-hc .fx-dark,html.fx-hc .fx-sv,html.fx-hc .fx-or{background:#000!important;color:#fff!important}
/* botao flutuante de WhatsApp */
#fx-wa{position:fixed;right:14px;bottom:14px;z-index:9990;background:#25d366;color:#0A0A0A!important;border-radius:99px;padding:.8rem 1.2rem;font:700 .95rem 'DM Sans',sans-serif;text-decoration:none}

/* menu: estados */
.fx-nav .elementor-nav-menu a{position:relative}
.fx-nav .elementor-nav-menu a:after{content:'';position:absolute;left:.8rem;right:.8rem;bottom:.2rem;height:2px;background:#FF7004;transform:scaleX(0);transform-origin:right center;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.fx-nav .elementor-nav-menu a:hover:after,.fx-nav .elementor-nav-menu a:focus-visible:after,.fx-nav .elementor-nav-menu .elementor-item-active:after{transform:scaleX(1);transform-origin:left center}
.fx-nav .elementor-nav-menu a:active{opacity:.75;transform:translateY(1px)}
.fx-nav .elementor-nav-menu a:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px}
.fx-nav .elementor-nav-menu--dropdown a:after{display:none}
.fx-nav .elementor-nav-menu--dropdown a:hover,.fx-nav .elementor-nav-menu--dropdown .elementor-item-active{color:#FF7004!important;background:rgba(255,255,255,.06)}
.fx-hbtn .elementor-button{transition:background .3s,color .3s,transform .25s}
.fx-hbtn .elementor-button:hover{background:#fff!important;color:#0A0A0A!important;transform:translateY(-2px)}
.fx-hbtn .elementor-button:active{transform:translateY(0) scale(.98)}
.fx-hbtn .elementor-button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.fx-nav .elementor-nav-menu a:after,.fx-hbtn .elementor-button{transition:none}}

/* v5: menu em 19px cabe em uma linha com os 2 botoes */
@media(min-width:1024px){.fx-nav .elementor-nav-menu--main a{padding:.4rem .5rem!important}.fx-nav .elementor-nav-menu--main a:after{left:.5rem;right:.5rem}.fx-nav .elementor-nav-menu--main{white-space:nowrap}.fx-hbtns .elementor-button{padding:.8rem 1.2rem}}

/* v6: itens do menu encostados nos botoes da direita; submenu de Servicos em vidro escuro */
@media(min-width:1024px){.fx-header .fx-nav{margin-left:auto!important;margin-right:1.2rem!important;flex:0 0 auto!important;width:auto!important}.fx-nav .elementor-nav-menu--main .sub-menu{background:rgba(10,10,10,.82)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;padding:.4rem!important;min-width:15rem;box-shadow:0 18px 30px -16px rgba(0,0,0,.6)}.fx-nav .elementor-nav-menu--main .sub-menu a{font-size:17px!important;padding:.55rem .8rem!important}}

/* v7: paginas internas (menos a Home): menu SEMPRE com fundo escuro translucido, para o laranja nao sumir no topo; mais transparente */
body:not(.home):not(.page-id-54) .fx-header{background:rgba(10,10,10,.6)!important;-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);padding-top:.6rem!important;padding-bottom:.6rem!important}
/* v8: rodape (logo a esquerda, titulos Hanken 600 grandes, listas Oswald, icones vazados, botao de topo centralizado) */
.fx-footer .fx-fcols{grid-template-columns:1.1fr .8fr 1.3fr}
.fx-footer .fx-flogo,.fx-footer .fx-flogo .elementor-widget-container{text-align:left!important}
.fx-footer .fx-flogo img{display:block;margin:0 0 0 -1px;width:260px;height:auto}
.fx-footer h4.elementor-heading-title{font-family:var(--fx-font)!important;font-weight:600!important;font-size:clamp(1.7rem,2.3vw,2.2rem)!important;letter-spacing:-.03em!important;line-height:1.1!important;margin:0 0 .5rem}
.fx-footer .elementor-widget-text-editor li,.fx-footer .elementor-widget-text-editor li a,.fx-footer a.fx-ct{font-family:var(--fx-font-alt)!important;font-weight:400!important;letter-spacing:.005em!important}
.fx-footer .elementor-widget-text-editor li,.fx-footer .elementor-widget-text-editor li a{font-size:clamp(1.3rem,1.7vw,1.55rem)!important;line-height:1.2!important}
.fx-footer .elementor-widget-text-editor li{margin:.55rem 0}
.fx-footer a.fx-ct{display:flex;align-items:center;gap:.95rem;margin:.75rem 0;color:#fff;font-size:clamp(1.1rem,1.35vw,1.3rem)!important;line-height:1.2;overflow-wrap:anywhere}
.fx-footer .fx-ci{flex:none;width:50px;height:50px;border:1.6px solid #FF7004;border-radius:50%;display:grid;place-items:center;color:#FF7004;transition:background .2s,color .2s}
.fx-footer .fx-ci svg{width:26px;height:26px;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fx-footer a.fx-ct:hover{color:#fff}
.fx-footer a.fx-ct:hover .fx-ci{background:#FF7004;color:#0A0A0A}
#fx-top{box-sizing:border-box;width:54px;height:54px;padding:0;display:flex;align-items:center;justify-content:center}
#fx-top svg{display:block;flex:none;margin:0}
/* v9: pesos e fontes do rodape vencem o fx-type */
.fx-footer .elementor-widget-heading:not(.fxh-title) h4.elementor-heading-title{font-family:var(--fx-font)!important;font-weight:600!important}
.fx-footer a.fx-ct span:not(.fx-ci){font-family:var(--fx-font-alt)!important;font-weight:400!important}
/* v10: titulos do rodape agora sao h3 (hierarquia sem salto): mesmas regras do v8/v9 */
.fx-footer h3.elementor-heading-title{font-family:var(--fx-font)!important;font-weight:600!important;font-size:clamp(1.7rem,2.3vw,2.2rem)!important;letter-spacing:-.03em!important;line-height:1.1!important;margin:0 0 .5rem;color:#fff}
.fx-footer .elementor-widget-heading:not(.fxh-title) h3.elementor-heading-title{font-family:var(--fx-font)!important;font-weight:600!important}
/* v11: banner de cookies */
.fx-ck{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);width:min(980px,calc(100% - 2rem));box-sizing:border-box;z-index:99999;display:flex;align-items:center;gap:1.2rem 1.6rem;flex-wrap:wrap;background:#0A0A0A;color:#fff;border-radius:20px;padding:1.1rem 1.4rem;box-shadow:0 24px 50px -20px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.14)}
.fx-ck .fx-ck-t{flex:1 1 360px;margin:0;font-size:.98rem;line-height:1.5;font-weight:300;color:#e9e9e9}
.fx-ck .fx-ck-t a{color:#FF7004;text-decoration:underline}
.fx-ck-b{display:flex;gap:.7rem;flex-wrap:wrap}
.fx-ck button{font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;padding:.7rem 1.3rem;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;transition:background .2s,color .2s,border-color .2s}
.fx-ck button:hover{border-color:#fff;background:rgba(255,255,255,.12)}
.fx-ck button.fx-ck-y{background:#FF7004;border-color:#FF7004;color:#0A0A0A;font-weight:700}
.fx-ck button.fx-ck-y:hover{background:#fff;border-color:#fff}
.fx-ck button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.fx-footer .fx-cklink{color:rgba(255,255,255,.75);text-decoration:underline;cursor:pointer}
@media(max-width:600px){.fx-ck{bottom:.6rem;padding:1rem}.fx-ck-b{width:100%}.fx-ck button{flex:1}}
/* v12: Servicos sem link no menu; segundo botao de topo no fim do rodape */
.fx-nav .fx-nolink>a{cursor:default}
.fx-top2{width:46px;height:46px;box-sizing:border-box;padding:0;border-radius:50%;border:2px solid #FF7004;background:transparent;color:#FF7004;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.fx-top2 svg{width:20px;height:20px;display:block}
.fx-top2:hover{background:#FF7004;color:#0A0A0A}
/* v13: segundo botao de topo com largura fixa (o tema impoe largura minima em button) */
.fx-footer .fx-top2{width:46px!important;min-width:0!important;max-width:46px!important;height:46px!important;flex:0 0 46px}
/* v14: padding do segundo botao de topo (o tema impoe padding em button com !important) */
.fx-footer .fx-top2{padding:0!important}
/* v15 (11/10/2026): CELULAR e TABLET. Menu hamburguer (antes o menu ficava escondido), cabecalho em uma linha, rodape em coluna unica. */
@media(max-width:1024px){
.fx-header{flex-wrap:nowrap!important;gap:.5rem}
.fx-header .fx-logo{order:1;flex:0 0 auto}
.fx-header .fx-hbtns{order:2;margin-left:auto!important;flex:0 0 auto}
.fx-header .fx-nav{order:3;display:block!important;width:auto!important;flex:0 0 auto;position:static!important;margin:0 0 0 .3rem!important}
.fx-header .fx-hb2b{display:none!important}
.fx-hbtns .elementor-button{padding:.65rem 1.05rem!important;font-size:.92rem!important;white-space:nowrap}
.fx-nav .elementor-menu-toggle{width:46px;height:46px;box-sizing:border-box;padding:0;display:flex!important;align-items:center;justify-content:center;border:1.6px solid rgba(255,255,255,.8);border-radius:50%;color:#fff;background:rgba(10,10,10,.28);font-size:22px}
.fx-nav .elementor-menu-toggle svg,.fx-nav .elementor-menu-toggle i{width:22px;height:22px;fill:#fff;color:#fff}
.fx-nav .elementor-nav-menu__container.elementor-nav-menu--dropdown{position:absolute!important;left:0!important;right:0!important;top:100%!important;width:100%!important;margin:.5rem 0 0!important;background:rgba(10,10,10,.97);border-radius:0 0 24px 24px;max-height:calc(100vh - 100px);overflow-y:auto;box-shadow:0 26px 40px -18px rgba(0,0,0,.7);padding:.6rem 0 1rem}
.fx-header .fx-nav .elementor-nav-menu--dropdown .elementor-item{font-family:var(--fx-font-alt)!important;font-size:25px!important;font-weight:400!important;line-height:1.1!important;letter-spacing:.005em!important;padding:.8rem 6vw!important;color:#fff!important;opacity:1;border:0}
.fx-header .fx-nav .elementor-nav-menu--dropdown .elementor-item:hover,.fx-header .fx-nav .elementor-nav-menu--dropdown .elementor-item-active{color:#FF7004!important}
.fx-nav .elementor-nav-menu--dropdown .sub-menu{display:block!important;position:static!important;background:transparent!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;height:auto!important;visibility:visible!important;opacity:1!important}
.fx-header .fx-nav .elementor-nav-menu--dropdown .sub-menu .elementor-item{font-size:21px!important;padding:.55rem 6vw .55rem calc(6vw + 1.1rem)!important;color:rgba(255,255,255,.82)!important}
.fx-nav .elementor-nav-menu--dropdown .sub-arrow{display:none!important}
.fx-header .fx-nav .elementor-nav-menu--dropdown .fx-nolink>.elementor-item{font-family:'Hanken Grotesk',system-ui,sans-serif!important;font-size:.78rem!important;font-weight:700!important;letter-spacing:.16em!important;text-transform:uppercase;color:#FF7004!important;padding:1rem 6vw .1rem!important;pointer-events:none}
.fx-nav .elementor-nav-menu--dropdown a:after{display:none!important}
}
@media(max-width:800px){
.fx-footer{padding:4rem 6vw 0!important}
.fx-footer .fx-fcols{grid-template-columns:1fr!important;gap:2.4rem}
.fx-footer .fx-flogo img{width:210px}
.fx-footer .fx-slogan-f .elementor-heading-title{font-size:1.25rem!important;margin-top:.7rem}
.fx-footer h3.elementor-heading-title{font-size:1.7rem!important;margin-bottom:.3rem}
.fx-footer .elementor-widget-text-editor ul{columns:2;column-gap:1.4rem}
.fx-footer .elementor-widget-text-editor li,.fx-footer .elementor-widget-text-editor li a{font-size:1.3rem!important;break-inside:avoid}
.fx-footer a.fx-ct{font-size:1.1rem!important;gap:.8rem;margin:.65rem 0}
.fx-footer .fx-ci{width:46px;height:46px}
.fx-footer .fx-ci svg{width:24px;height:24px}
.fx-footer .fx-fbar{margin-top:2.4rem;justify-content:center;text-align:center;flex-direction:column!important;gap:.9rem}
.fx-footer .fx-fbar>*{justify-content:center}
}
/* v16: dropdown restrito ao conteiner do menu (os submenus tem a mesma classe); rodape com respiro para o botao de topo */
/* v17: celular: botao de topo na borda superior do rodape (nao sobre a logo) */
@media(max-width:800px){.fx-footer #fx-top{top:-4rem}}
