/* CreativeFlux Design — cabeçalho (vidro) e rodapé globais */
:root{--cfx-a:#ff4f8b;--cfx-b:#ff9d42;--cfx-grad:linear-gradient(135deg,#ff4f8b,#ff9d42);--cfx-line:rgba(255,255,255,.12);--cfx-mut:#a1a1ac}

/* ================= CABEÇALHO ================= */
.cf-overlay-header .elementor-location-header{position:absolute;top:0;left:0;right:0;z-index:60;background:transparent!important}
.cf-flow-header .elementor-location-header{position:relative;z-index:60;background:#0e0e11!important;min-height:94px}
.elementor-location-header .e-parent{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important}

/* a "pílula": vidro no ::before (assim o menu suspenso dentro dela ainda consegue desfocar a página) */
.elementor-location-header .e-parent>.e-child{position:relative;isolation:isolate;width:calc(100% - 40px)!important;max-width:1240px;margin:16px auto 0!important;padding:9px 10px 9px 30px!important;min-height:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:999px;transition:margin .3s}
.elementor-location-header .e-parent>.e-child::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03)),rgba(16,16,22,.52);
  -webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);
  border:1px solid var(--cfx-line);box-shadow:0 22px 50px -22px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.16);transition:background .3s,box-shadow .3s}
.elementor-location-header .elementor-sticky--effects>.e-child{margin-top:10px!important}
.elementor-location-header .elementor-sticky--effects>.e-child::before{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),rgba(12,12,16,.72);box-shadow:0 26px 60px -20px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.14)}

/* logo */
.elementor-location-header .elementor-widget-theme-site-logo{width:auto!important;flex:0 0 auto}
.elementor-location-header .elementor-widget-theme-site-logo img{width:150px!important;max-width:none!important;height:auto!important}

/* links (desktop) */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu{display:flex;gap:2px;align-items:center}
.elementor-location-header .elementor-nav-menu--main a.elementor-item{color:#d6d6de!important;font:500 .78rem/1 Poppins,system-ui,sans-serif!important;letter-spacing:.1em;text-transform:uppercase;padding:12px 17px!important;border-radius:999px;background:transparent!important;transition:background .25s,color .25s}
.elementor-location-header .elementor-nav-menu--main a.elementor-item:hover{color:#fff!important;background:rgba(255,255,255,.09)!important}
.elementor-location-header .elementor-nav-menu--main a.elementor-item.elementor-item-active{color:#fff!important;background:rgba(255,255,255,.12)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.cf-menu-cta{display:none!important}

/* botão Orçamento */
.elementor-location-header .elementor-widget-button .elementor-button{background:var(--cfx-grad)!important;border:0!important;color:#fff!important;border-radius:999px!important;padding:14px 28px!important;font:600 .76rem/1 Poppins,system-ui,sans-serif!important;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 14px 34px -12px rgba(255,79,139,.75)!important;transition:transform .25s,box-shadow .25s!important}
.elementor-location-header .elementor-widget-button .elementor-button:hover{transform:translateY(-2px);box-shadow:0 20px 40px -12px rgba(255,79,139,.9)!important}

/* menu suspenso (celular/tablet) — vidro */
.elementor-location-header nav.elementor-nav-menu--dropdown{margin:12px 0 0!important;left:auto!important;right:-8px!important;width:calc(100vw - 24px)!important;max-width:none;box-sizing:border-box;padding:10px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03)),rgba(13,13,19,.78)!important;
  -webkit-backdrop-filter:blur(30px) saturate(170%);backdrop-filter:blur(30px) saturate(170%);
  border:1px solid var(--cfx-line)!important;border-radius:26px!important;box-shadow:0 34px 70px -22px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.16)!important}
.elementor-location-header nav.elementor-nav-menu--dropdown .elementor-nav-menu{background:transparent!important;border:0!important}
.elementor-location-header nav.elementor-nav-menu--dropdown li{border:0!important;margin:2px 0}
.elementor-location-header nav.elementor-nav-menu--dropdown a.elementor-item{display:flex;align-items:center;justify-content:flex-start!important;text-align:left!important;min-height:52px;padding:14px 20px!important;border:0!important;border-radius:16px;
  background:transparent!important;color:#e6e6ec!important;font:500 .86rem/1 Poppins,system-ui,sans-serif!important;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,color .2s}
.elementor-location-header nav.elementor-nav-menu--dropdown a.elementor-item:hover,.elementor-location-header nav.elementor-nav-menu--dropdown a.elementor-item:focus{background:rgba(255,255,255,.09)!important;color:#fff!important}
.elementor-location-header nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{color:#fff!important;background:linear-gradient(135deg,rgba(255,79,139,.30),rgba(255,157,66,.22))!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.elementor-location-header nav.elementor-nav-menu--dropdown .cf-menu-cta{display:block!important;margin-top:8px}
.elementor-location-header nav.elementor-nav-menu--dropdown .cf-menu-cta a.elementor-item{justify-content:center!important;text-align:center!important;border-radius:999px!important;background:var(--cfx-grad)!important;color:#fff!important;font-weight:600;box-shadow:0 14px 34px -12px rgba(255,79,139,.75)}

/* tablet e celular */
@media(max-width:1024px){
  .cf-flow-header .elementor-location-header{min-height:86px}
  .elementor-location-header .elementor-widget-button{display:none!important}
  .elementor-location-header .elementor-menu-toggle{width:46px;height:46px;display:flex!important;align-items:center;justify-content:center;border-radius:50%!important;background:rgba(255,255,255,.10)!important;border:1px solid var(--cfx-line)!important;color:#fff!important;transition:background .25s}
  .elementor-location-header .elementor-menu-toggle:hover,.elementor-location-header .elementor-menu-toggle.elementor-active{background:rgba(255,255,255,.18)!important}
  .elementor-location-header .elementor-menu-toggle svg{fill:#fff!important;width:20px;height:20px}
  .elementor-location-header .e-parent>.e-child{width:calc(100% - 24px)!important;margin-top:12px!important;padding:8px 8px 8px 22px!important}
  .elementor-location-header .elementor-widget-theme-site-logo img{width:138px!important}
}
@media(max-width:767px){
  .elementor-location-header .elementor-widget-theme-site-logo img{width:128px!important}
}

/* título dos arquivos/busca (shortcode [cf_archive_title]) */
.cf-arc-h1{max-width:920px;margin:16px auto 0!important;font-family:Unbounded,Poppins,system-ui,sans-serif!important;font-size:clamp(1.8rem,4.4vw,3.3rem)!important;font-weight:500;line-height:1.18!important;letter-spacing:-.01em;text-align:center;padding-bottom:.1em;
  background:linear-gradient(180deg,#fff 35%,#a9a9b3);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}

/* busca / arquivos */
.cf-search{width:100%;max-width:640px!important;margin:30px auto 0!important}
.cf-search .elementor-search-form__container{border-radius:999px!important;overflow:hidden;min-height:58px;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:none!important}
.cf-search input.elementor-search-form__input{color:#fff!important;font:400 1rem Poppins,system-ui,sans-serif!important;padding:0 26px!important;background:transparent!important;height:58px}
.cf-search .elementor-search-form__submit{background:var(--cfx-grad)!important;color:#fff!important;min-width:68px;height:58px;border-radius:0!important}
.e-loop-nothing-found-message:empty{display:none}
.cf-empty{text-align:center;padding:10px 0 20px}
.cf-empty p{color:#a1a1ac;font:400 1.05rem/1.7 Poppins,system-ui,sans-serif;max-width:560px;margin:0 auto 26px}
.cf-empty__btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cf-empty .cf-empty__btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 30px;border-radius:999px;background:#fff;color:#111!important;font:500 .95rem Poppins,system-ui,sans-serif;text-decoration:none!important;transition:transform .2s,box-shadow .2s,background .2s}
.cf-empty .cf-empty__btn:hover{background:var(--cfx-grad);color:#fff!important;transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(255,79,139,.7)}
.cf-empty .cf-empty__btn--o{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.28)}

/* portfólio: respiro entre as abas (Todos / Landing Pages…) e os projetos */
.cf-portfolio .htmega-tab-area .htmega-tab-content-area{margin-top:44px!important}
.cf-portfolio .htmega-tab-area .htmega-tab-nav{row-gap:10px}
@media(max-width:767px){.cf-portfolio .htmega-tab-area .htmega-tab-content-area{margin-top:26px!important}}

/* botão voltar ao topo (canto inferior ESQUERDO, longe do chat) */
.cf-top{position:fixed;left:24px;right:auto;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:99980;width:48px;height:48px;padding:0;margin:0;display:grid;place-items:center;border-radius:50%;cursor:pointer;color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.04)),rgba(16,16,22,.62);-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);
  border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 34px -14px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.18);-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;
  opacity:0;visibility:hidden;transform:translateY(14px) scale(.85);transition:opacity .3s,transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s,background .25s,border-color .25s,box-shadow .25s}
.cf-top.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s,background .25s,border-color .25s,box-shadow .25s}
.cf-top:hover{background:var(--cfx-grad);border-color:transparent;box-shadow:0 16px 36px -12px rgba(255,79,139,.75)}
.cf-top:focus-visible{outline:2px solid #fff;outline-offset:3px}
body:has(#cfchat[data-open]) .cf-top{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:520px){.cf-top{left:16px;right:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:46px;height:46px}}
/* foguetinho: parado treme de leve; no hover acelera; no clique decola */
.cf-top .cf-rocket{display:block;overflow:visible;animation:cfIdle 2.6s ease-in-out infinite}
.cf-top .cf-flame{transform-box:fill-box;transform-origin:50% 0;animation:cfFlame .34s ease-in-out infinite alternate}
.cf-top:hover .cf-rocket,.cf-top:focus-visible .cf-rocket{animation:cfShake .11s linear infinite}
.cf-top:hover .cf-flame,.cf-top:focus-visible .cf-flame{animation:cfFlameHot .12s ease-in-out infinite alternate}
.cf-top.is-launch{pointer-events:none;opacity:1!important;visibility:visible!important;transform:none!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:none!important}
.cf-top.is-launch .cf-rocket{animation:cfLaunch 1.05s cubic-bezier(.5,0,.8,.5) forwards}
.cf-top.is-launch .cf-flame{animation:cfFlameHot .07s ease-in-out infinite alternate}
@keyframes cfIdle{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-1.5px) rotate(.6deg)}}
@keyframes cfShake{0%{transform:translate(-.7px,0)}25%{transform:translate(.7px,-.6px)}50%{transform:translate(-.5px,.4px)}75%{transform:translate(.6px,-.4px)}100%{transform:translate(-.7px,0)}}
@keyframes cfFlame{from{transform:scale(.9,.7);opacity:.85}to{transform:scale(1.05,1.25);opacity:1}}
@keyframes cfFlameHot{from{transform:scale(1,1.3);opacity:.9}to{transform:scale(1.2,1.9);opacity:1}}
@keyframes cfLaunch{0%{transform:translateY(0)}14%{transform:translateY(3px)}85%{opacity:1}100%{transform:translateY(-115vh) scale(.8);opacity:0}}
@media(prefers-reduced-motion:reduce){.cf-top,.cf-top *{transition:none!important;animation:none!important}}
@media print{.cf-top{display:none!important}}

/* links dentro de texto: sublinhados (não dependem só da cor) */
.elementor-widget-text-editor a:not(.elementor-button),.cf-pagespeed a:not(.elementor-button){text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:1px}

/* formulários: listas suspensas (select) legíveis no tema escuro — o navegador desenha a lista com fundo próprio */
.elementor-form select,.elementor-form .elementor-select-wrapper select{color-scheme:dark}
.elementor-form select option,.elementor-form select optgroup{background-color:#17171c!important;color:#f4f4f6!important}
.elementor-form select option:checked,.elementor-form select option:hover{background-color:#2b2b36!important;color:#fff!important}
.elementor-form select option:disabled{color:#8d8d98!important}

/* posts: tabelas — no celular cada linha vira um cartão (nome da coluna ao lado do valor), sem rolar nem quebrar palavras */
.cf-article .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 1.8em}
.cf-article .wp-block-table table{margin:0}
.cf-article .wp-block-table td,.cf-article .wp-block-table th{vertical-align:top}
.cf-article h3{scroll-margin-top:110px}
@media(max-width:767px){
  .cf-article .wp-block-table table.cf-stack{display:block;min-width:0;border:0;font-size:.95rem}
  .cf-article table.cf-stack thead{display:none}
  .cf-article table.cf-stack tbody{display:block}
  .cf-article table.cf-stack tr{display:block;margin:0 0 12px;padding:6px 0 8px;border:1px solid var(--cf-line);border-radius:16px;background:rgba(255,255,255,.04);overflow:hidden}
  .cf-article table.cf-stack td{display:grid;grid-template-columns:108px 1fr;gap:12px;border:0;padding:7px 16px;line-height:1.45}
  .cf-article table.cf-stack td:first-child{display:block;padding:10px 16px 8px;margin-bottom:4px;border-bottom:1px solid var(--cf-line);color:#fff;font-weight:600}
  .cf-article table.cf-stack td[data-label]::before{content:attr(data-label);color:var(--cf-mut);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding-top:3px}
}

/* ================= RODAPÉ ================= */
.elementor-location-footer{background:#0a0a0d;border-top:1px solid var(--cfx-line);position:relative}
.elementor-location-footer .e-con,.elementor-location-footer .e-con-inner{background:transparent!important}
.elementor-location-footer .elementor-heading-title{color:#fff!important;font-family:Unbounded,Poppins,system-ui,sans-serif!important;font-size:1rem!important;font-weight:500}
.elementor-location-footer p,.elementor-location-footer .elementor-widget-text-editor,.elementor-location-footer .elementor-icon-list-text,.elementor-location-footer .elementor-item{color:var(--cfx-mut)!important;font-family:Poppins,system-ui,sans-serif!important}
.elementor-location-footer a:hover,.elementor-location-footer .elementor-item:hover{color:var(--cfx-b)!important}
.elementor-location-footer .elementor-icon-list-icon *{color:var(--cfx-b)!important;fill:var(--cfx-b)!important}
.elementor-location-footer .elementor-social-icon{background:rgba(255,255,255,.08)!important;border-radius:50%}
@media(max-width:1024px){
  .elementor-location-footer .elementor-nav-menu a.elementor-item{padding-block:12px!important;min-height:44px;display:flex;align-items:center}
  .elementor-location-footer .elementor-icon-list-items a{display:inline-block;padding-block:12px}
  .elementor-social-icon{width:44px!important;height:44px!important;--icon-size:18px;display:inline-flex!important;align-items:center;justify-content:center}
}
@media(max-width:767px){
  .elementor-location-footer .e-con-boxed{padding-inline:0!important}
  .elementor-location-footer .e-con-boxed>.e-con-inner{width:100%!important;max-width:100%!important;padding-inline:24px!important;box-sizing:border-box}
}
@media(prefers-reduced-motion:reduce){.elementor-location-header *,.elementor-location-header *::before{transition:none!important}}

/* ===== Desempenho no celular (1.9.0) =====
   Enfeites animados pausam quando a seção sai da tela (classe cf-offscreen, posta pelo top.js). */
.cf-offscreen,.cf-offscreen *,.cf-offscreen *::before,.cf-offscreen *::after{animation-play-state:paused!important}
/* No celular/tablet os cards do topo e o astronauta ficam parados e as barrinhas estáticas: em movimento, o vidro desfocado
   era recalculado a cada quadro e a página caía para ~20 fps num celular comum. O visual (vidro, sombras, cores) continua igual. */
@media (max-width:1024px),(hover:none){
  .elementor-2011 .cf-stat,.elementor-2011 .cf-hero-img img,.cf-stat__chip--live i,.cf-stat__bar u::after{animation:none!important}
  .cf-stat__hours u{animation:none!important;opacity:.8}
  .cf-stat__rise u{animation:none!important}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important}}
