/* FX TRES v1 (11/10/2026) - tres blocos de um terco: mapa, servicos, Ostra VIP. Codigo isolado; o conteudo e Elementor nativo. */
.fx3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;padding:0!important;margin:0}
.fx3-c{display:flex!important;flex-direction:column;justify-content:center;gap:1.1rem;padding:clamp(2rem,3.4vw,3.8rem) clamp(1.2rem,2.4vw,2.8rem)!important;box-sizing:border-box;min-height:min(88vh,820px);min-width:0}
.fx3 .elementor-heading-title{font-family:'Marcellus',serif;font-weight:400;line-height:1.12;margin:0}
.fx3 p{font-family:'DM Sans',sans-serif;line-height:1.55;margin:0;max-width:none}
.fx3-map{background:#F1F1F1;color:#0A0A0A}
.fx3-map .fxs-mapimg{width:100%;max-width:230px;margin:0 auto}
.fx3-map .fxs-mapimg svg{max-height:50vh}
.fx3-map .fxs-legenda{gap:.7rem}
.fx3-map .fxs-legenda>.elementor-widget-heading .elementor-heading-title{font-size:clamp(1.3rem,1.8vw,1.7rem);color:#0A0A0A}
.fx3-map .fxs-step{border-left:3px solid #FF7004;padding-left:.9rem!important}
.fx3-map .fxs-step .elementor-heading-title{font-size:clamp(.95rem,1.15vw,1.1rem);color:#0A0A0A}
.fx3-map .fxs-step p{font-size:clamp(.8rem,.92vw,.92rem);color:#2B2B2B;margin-top:.15rem}
.fx3-serv{background:#fff;color:#0A0A0A}
.fx3-serv .elementor-heading-title{color:#0A0A0A}
.fx3-serv h2.elementor-heading-title{font-size:clamp(1.6rem,2.4vw,2.3rem)}
.fx3-serv p{color:#2B2B2B;font-size:clamp(.9rem,1vw,1rem)}
.fx3-list{display:flex!important;flex-direction:column;gap:.6rem;padding:0!important;margin-top:.4rem}
.fx3-item{border:2px solid #FF7004;border-radius:16px;padding:.8rem 1rem!important;background:#fff;box-shadow:0 18px 30px -20px rgba(10,10,10,.35)}
.fx3-item .elementor-heading-title{font-size:clamp(1rem,1.2vw,1.2rem);color:#0A0A0A}
.fx3-item p{font-size:clamp(.8rem,.9vw,.9rem);margin-top:.15rem}
.fx3-vip{background:#2B2B2B;color:#fff}
.fx3-vip .elementor-heading-title{color:#fff}
.fx3-vip h2.elementor-heading-title{font-size:clamp(1.8rem,2.7vw,2.6rem)}
.fx3-vip h2 em,.fx3-vip .fx3-acc{color:#FF7004;font-style:normal}
.fx3-vip p{color:#e9e9e9;font-size:clamp(.92rem,1.02vw,1.02rem)}
.fx3-vip .fx3-sub p{color:#fff;font-weight:700;font-size:clamp(1rem,1.15vw,1.15rem)}
.fx3-vip .elementor-button{background:#FF7004;color:#0A0A0A;border-radius:999px;padding:.95rem 1.5rem;font-family:'DM Sans',sans-serif;font-weight:700;box-shadow:0 14px 26px -12px rgba(0,0,0,.6)}
.fx3-vip .elementor-button:hover{background:#fff;color:#0A0A0A}
.fx3-vip .elementor-widget-button{margin-top:.6rem}
.fx3-load{display:none!important}
@media(max-width:1023px){.fx3{grid-template-columns:1fr}.fx3-c{min-height:0}.fx3-map .fxs-mapimg{max-width:240px}}/* v2 */
.fx3-serv{border-top:4px solid #FF7004}
.fx3-item{position:relative;transition:box-shadow .25s}
.fx3-item .elementor-heading-title a{display:flex;align-items:center;justify-content:space-between;color:inherit;text-decoration:none}
.fx3-item .elementor-heading-title a:before{content:'\2192';order:2;color:#FF7004;font-family:'DM Sans',sans-serif;font-weight:700;margin-left:.6rem;transition:transform .25s}
.fx3-item .elementor-heading-title a:after{content:'';position:absolute;inset:0;z-index:1}
.fx3-item:hover{box-shadow:0 22px 34px -18px rgba(255,112,4,.55);animation:fx3Sway .6s ease}
.fx3-item:hover .elementor-heading-title a:before{transform:translateX(5px)}
.fx3-vip .elementor-button:hover{animation:fx3Sway .6s ease}
@keyframes fx3Sway{0%{transform:none}20%{transform:translateX(-5px) rotate(-2.6deg)}45%{transform:translateX(4px) rotate(2.2deg)}70%{transform:translateX(-2px) rotate(-1.2deg)}100%{transform:none}}
@media (prefers-reduced-motion:reduce){.fx3-item:hover,.fx3-vip .elementor-button:hover{animation:none}}/* v3: bloco Servicos laranja, bordas e sombras em cinza */
.fx3-serv{background:#FF7004;border-top:0;color:#0A0A0A}
.fx3-serv p{color:#0A0A0A}
.fx3-item{border:2px solid #cfcfcf;background:#fff;box-shadow:0 18px 30px -20px rgba(43,43,43,.55)}
.fx3-item:hover{box-shadow:0 22px 34px -16px rgba(43,43,43,.6)}
.fx3-item p{color:#2B2B2B}/* v4: vidro; o balanco agora e feito por JS (igual ao da confraternizacao) */
.fx3-item{background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.2))!important;-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);border:1.5px solid rgba(43,43,43,.2)!important;box-shadow:0 18px 30px -20px rgba(43,43,43,.5)}
.fx3-item p{color:#0A0A0A}
.fx3-item:hover,.fx3-vip .elementor-button:hover{animation:none!important}/* v5: pausa de leitura ao chegar no topo (secao presa por sticky durante ~55vh de rolagem) */
.fx-hold{position:relative;padding:0!important;margin:0}
@media(min-width:1024px) and (min-height:700px){
  .fx-hold{padding-bottom:55vh!important}
  .fx-hold>.fx3{position:sticky;top:0;min-height:100vh}
  .fx-hold>.fx3 .fx3-c{min-height:100vh}
}/* v6: o sticky nao usa o padding do pai como folga; a folga tem de ser altura real */
@media(min-width:1024px) and (min-height:700px){
  .fx-hold{padding-bottom:0!important;min-height:calc(100vh + 55vh)}
}
/* v7: logo do VIP no alto do bloco preto */
.fx3-vip .fx3-vlogo{line-height:0}
.fx3-vip .fx3-vlogo img{display:block;width:clamp(170px,15vw,230px);height:auto;margin:0 0 .2rem;filter:drop-shadow(0 4px 14px rgba(0,0,0,.45));border-radius:0!important}
/* v8: titulo do VIP menor, como o do Kids */
.fx3-vip .elementor-widget-heading h2.elementor-heading-title{font-size:clamp(1.15rem,1.55vw,1.5rem)!important;font-weight:400!important;letter-spacing:-.02em!important;line-height:1.2!important}
