/* ═══════════════════════════════════════════════════════════════════════════
   FitExpress · Iscriviti — anti-magenta, scroll club, plan cards premium
   Usiamo #fi-root come scope + !important su ogni proprietà critica
═══════════════════════════════════════════════════════════════════════════ */
 
/* Nascondi header/footer tema */
body.page-template-page-iscriviti .site-header,
body.page-template-page-iscriviti .elementor-location-header,
body.page-template-page-iscriviti header.site-header,
body.page-template-page-iscriviti #masthead,
body.page-template-page-iscriviti .e-con--header,
body.page-template-page-iscriviti [data-elementor-type="header"],
body.page-template-page-iscriviti .site-footer,
body.page-template-page-iscriviti #fx-footer,
body.page-template-page-iscriviti .fx-footer,
body.page-template-page-iscriviti .elementor-location-footer,
body.page-template-page-iscriviti footer.site-footer,
body.page-template-page-iscriviti #colophon,
body.page-template-page-iscriviti [data-elementor-type="footer"],
body.page-template-page-iscriviti h1.entry-title,
body.page-template-page-iscriviti h1.page-title,
body.page-template-page-iscriviti .entry-header { display:none!important; }
 
body.page-template-page-iscriviti {
    padding-top:0!important; margin-top:0!important;
    background:#F5F5F7!important; font-family:'Poppins',sans-serif!important;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden!important;
}
html body.page-template-page-iscriviti {
    width:100%!important;
    max-width:100%!important;
}
body.page-template-page-iscriviti .site-main,
body.page-template-page-iscriviti #primary,
body.page-template-page-iscriviti main,
body.page-template-page-iscriviti .entry-content {
    padding:0!important; margin:0!important; max-width:none!important; width:100%!important;
    overflow-x:hidden!important;
}

nav.fx-nav {
    display: none;
}
 
/* ── RESET GLOBALE ANTI-MAGENTA ─────────────────────────────────────────────
   Il magenta viene da un tema/plugin che aggiunge:
   .elementor-button, button, input[type=submit] { background-color: #e91e8c }
   Resettiamo OGNI bottone dentro #fi-root con specificità massima           */
#fi-root button,
#fi-root button:link,
#fi-root button:visited,
#fi-root button:hover,
#fi-root button:focus,
#fi-root button:active,
#fi-root input[type="submit"],
#fi-root input[type="button"] {
    background-color: transparent !important;
    background-image: none !important;
    color: inherit !important;
    border: none !important;
    box-shadow: none !important;
    font-family: 'Poppins', sans-serif !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
 
/* ── VARIABILI ──────────────────────────────────────────────────────────────── */
#fi-root {
    --y:   #FFD600;
    --yh:  #F0C800;
    --k:   #0F0F0F;
    --w:   #FFFFFF;
    --bg:  #F5F5F7;
    --bd:  #E5E5EA;
    --bd2: #D1D1D6;
    --tx:  #111111;
    --mu:  #8E8E93;
    --r:   16px;
    --ease: cubic-bezier(.22,1,.36,1);
    font-family: 'Poppins', sans-serif;
    -webkit-font-smoothing: antialiased;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
}
#fi-root *, #fi-root *::before, #fi-root *::after { box-sizing:border-box; margin:0; padding:0; }
 
/* ── TOPBAR ───────────────────────────────────────────────────────────────── */
#fi-root .fi-top {
    background: #fff !important;
    border-bottom: 1px solid var(--bd) !important;
    height: 60px;
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    padding: 0 2rem !important;
    position: sticky !important; top: 0 !important; z-index: 9999 !important;
    box-shadow: 0 1px 0 var(--bd) !important;
}
#fi-root .fi-logo img { height: 26px !important; width: auto !important; }
#fi-root .fi-logo-txt { font-size: .95rem !important; font-weight: 900 !important; color: var(--k) !important; }
 
/* Back link */
#fi-root .fi-back {
    all: unset !important;
    display: inline-flex !important; align-items: center !important; gap: .4rem !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: .9375rem !important; font-weight: 600 !important; color: var(--mu) !important;
    cursor: pointer !important; text-decoration: none !important;
    transition: color .15s !important;
}
#fi-root .fi-back:hover { color: var(--k) !important; }
 
/* Dots indicator */
#fi-root .fi-dots { display: flex !important; align-items: center !important; gap: .4rem !important; }
#fi-root .fi-dot {
    height: 5px !important; border-radius: 3px !important;
    width: 5px !important; background: var(--bd2) !important;
    transition: all .3s !important;
}
#fi-root .fi-dot.act { width: 18px !important; background: var(--k) !important; }
#fi-root .fi-dot.don { background: var(--k) !important; }
 
/* ── LAYOUT ───────────────────────────────────────────────────────────────── */
#fi-root .fi-wrap {
    max-width: 1440px !important; margin: 0 auto !important;
    padding: 2.5rem 3rem 6rem !important;
    display: grid !important;
    grid-template-columns: 1fr 420px !important;
    gap: 2.5rem !important;
    align-items: start !important;
}
 
/* ── STEP RAIL ────────────────────────────────────────────────────────────── */
#fi-root .fi-steps { display: flex !important; flex-direction: column !important; }
#fi-root .fi-step  { display: flex !important; gap: 1.1rem !important; }
#fi-root .fi-rail  {
    display: flex !important; flex-direction: column !important;
    align-items: center !important; flex-shrink: 0 !important; width: 28px !important;
}
#fi-root .fi-circ {
    width: 28px !important; height: 28px !important; border-radius: 50% !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-size: .9rem !important; font-weight: 800 !important; flex-shrink: 0 !important;
    transition: all .3s var(--ease) !important;
    font-family: 'Poppins', sans-serif !important;
    /* RESET colore bottone */
    background-color: var(--bd) !important; color: var(--mu) !important;
    border: none !important; box-shadow: none !important;
    -webkit-appearance: none !important;
}
#fi-root .fi-circ.act {
    background-color: var(--y) !important; color: var(--k) !important;
    box-shadow: 0 0 0 5px rgba(255,214,0,.18) !important;
}
#fi-root .fi-circ.don {
    background-color: var(--k) !important; color: #fff !important;
    box-shadow: none !important;
}
 
#fi-root .fi-line {
    flex: 1 !important; width: 1.5px !important; min-height: 14px !important;
    background: var(--bd) !important; margin: 3px 0 !important;
    transition: background .35s !important;
}
#fi-root .fi-line.act { background: var(--y) !important; }
 
#fi-root .fi-body { flex: 1 !important; padding-bottom: 2.25rem !important; min-width: 0 !important; }
 
#fi-root .fi-h {
    font-size: clamp(1.5rem,3.2vw,2rem) !important; font-weight: 800 !important;
    letter-spacing: -.04em !important; color: var(--k) !important;
    line-height: 1.1 !important; margin-bottom: .35rem !important;
}
#fi-root .fi-h.pen { color: #C8C9CE !important; font-size: clamp(1.3rem,2.8vw,1.75rem) !important; }
 
#fi-root .fi-sub {
    font-size: .9375rem !important; font-weight: 300 !important;
    color: var(--mu) !important; margin-bottom: 1.5rem !important; line-height: 1.55 !important;
}
 
/* ── SEARCH ───────────────────────────────────────────────────────────────── */
#fi-root .fi-search {
    display: flex !important; align-items: center !important; gap: .55rem !important;
    background: var(--w) !important; border: 1.5px solid var(--bd) !important;
    border-radius: 50px !important; padding: .58rem 1rem !important;
    margin-bottom: .85rem !important;
    transition: border-color .2s, box-shadow .2s !important;
}
#fi-root .fi-search:focus-within {
    border-color: var(--y) !important;
    box-shadow: 0 0 0 3px rgba(255,214,0,.14) !important;
}
#fi-root .fi-search svg { color: #c0c0c8 !important; flex-shrink: 0 !important; }
#fi-root .fi-search input {
    all: unset !important; flex: 1 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1rem !important; color: var(--tx) !important;
}
#fi-root .fi-search input::placeholder { color: #c0c0c8 !important; }
 
/* ── LISTA CLUB — scroll con auto-position ────────────────────────────────── */
#fi-root .fi-club-list {
    display: flex !important; flex-direction: column !important; gap: .45rem !important;
    max-height: 380px !important; overflow-y: auto !important;
    scroll-behavior: smooth !important;
    padding-right: 3px !important;
    scrollbar-width: thin !important; scrollbar-color: var(--y) transparent !important;
}
#fi-root .fi-club-list::-webkit-scrollbar { width: 3px !important; }
#fi-root .fi-club-list::-webkit-scrollbar-thumb { background: var(--y) !important; border-radius: 3px !important; }
 
#fi-root .fi-club-row {
    display: flex !important; align-items: center !important; gap: .85rem !important;
    padding: .8rem 1rem !important;
    background: var(--w) !important;
    border: 1.5px solid var(--bd) !important; border-radius: 12px !important;
    cursor: pointer !important;
    transition: border-color .18s, transform .18s !important;
    scroll-margin-top: 8px !important; /* per scrollIntoView */
}
#fi-root .fi-club-row:hover { border-color: var(--bd2) !important; transform: translateX(2px) !important; }
#fi-root .fi-club-row.sel {
    border-color: var(--y) !important;
    box-shadow: 0 0 0 3px rgba(255,214,0,.14) !important;
}
 
/* Radio personalizzato */
#fi-root .fi-radio {
    width: 18px !important; height: 18px !important; border-radius: 50% !important;
    border: 2px solid var(--bd2) !important; flex-shrink: 0 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    transition: border-color .18s !important;
    background: transparent !important;
}
#fi-root .fi-radio::after {
    content: '' !important; width: 8px !important; height: 8px !important;
    border-radius: 50% !important; background: var(--y) !important; display: none !important;
}
#fi-root .fi-club-row.sel .fi-radio { border-color: var(--y) !important; }
#fi-root .fi-club-row.sel .fi-radio::after { display: block !important; }
 
#fi-root .fi-crow__info { flex: 1 !important; min-width: 0 !important; }
#fi-root .fi-crow__tag {
    font-size: .625rem !important; font-weight: 700 !important;
    letter-spacing: .18em !important; text-transform: uppercase !important;
    color: var(--mu) !important; display: block !important; margin-bottom: .1rem !important;
}
#fi-root .fi-crow__name {
    font-size: .88rem !important; font-weight: 700 !important; color: var(--tx) !important;
    line-height: 1.25 !important; white-space: nowrap !important;
    overflow: hidden !important; text-overflow: ellipsis !important;
}
#fi-root .fi-crow__addr {
    font-size: .875rem !important; color: var(--mu) !important; margin-top: .1rem !important;
    white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
}
#fi-root .fi-crow__promo {
    background: var(--k) !important; color: var(--y) !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    font-size: .62rem !important; font-weight: 800 !important; letter-spacing: .06em !important;
    padding: .22rem .6rem !important; border-radius: 999px !important; flex-shrink: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}
#fi-root .fi-empty { text-align: center !important; padding: 2rem !important; color: var(--mu) !important; font-size: 1rem !important; }
 
/* ── PIANI ABBONAMENTO — stile screen3 (24FIT-inspired, no description) ────── */
#fi-root .fi-plans { display: flex !important; flex-direction: column !important; gap: .55rem !important; }
 
#fi-root .fi-plan {
    background: var(--w) !important;
    border: 1.5px solid var(--bd) !important; border-radius: var(--r) !important;
    overflow: hidden !important;
    transition: border-color .18s, box-shadow .18s !important;
    cursor: pointer !important;
}
#fi-root .fi-plan.sel {
    border-color: var(--y) !important;
    box-shadow: 0 0 0 3px rgba(255,214,0,.14) !important;
}
#fi-root .fi-plan.sale { border-color: var(--y) !important; }
 
/* Header piano — nome + prezzo + radio */
#fi-root .fi-plan__head {
    display: flex !important; align-items: center !important; gap: 1rem !important;
    padding: 1.1rem 1.2rem !important;
}
 
#fi-root .fi-plan__radio {
    width: 18px !important; height: 18px !important; border-radius: 50% !important;
    border: 2px solid var(--bd2) !important; flex-shrink: 0 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    transition: border-color .18s !important; background: transparent !important;
}
#fi-root .fi-plan__radio::after {
    content: '' !important; width: 8px !important; height: 8px !important;
    border-radius: 50% !important; background: var(--y) !important; display: none !important;
}
#fi-root .fi-plan.sel .fi-plan__radio { border-color: var(--y) !important; }
#fi-root .fi-plan.sel .fi-plan__radio::after { display: block !important; }
 
#fi-root .fi-plan__info { flex: 1 !important; min-width: 0 !important; }
 
#fi-root .fi-plan__name-row {
    display: flex !important; align-items: center !important; gap: .5rem !important;
    flex-wrap: wrap !important;
}
#fi-root .fi-plan__name {
    font-size: 1rem !important; font-weight: 700 !important;
    color: var(--tx) !important; line-height: 1.2 !important;
}
#fi-root .fi-plan.sale .fi-plan__name { color: var(--tx) !important; } /* nome piano sempre leggibile */
 
#fi-root .fi-plan__tag {
    background: var(--k) !important; color: var(--y) !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    font-size: .62rem !important; font-weight: 800 !important;
    letter-spacing: .06em !important; text-transform: uppercase !important;
    padding: .22rem .6rem !important; border-radius: 999px !important; flex-shrink: 0 !important;
    white-space: nowrap !important;
}
 
#fi-root .fi-plan__subdesc {
    font-size: .9rem !important; color: var(--mu) !important;
    margin-top: .18rem !important; font-weight: 300 !important;
}
 
/* Prezzo */
#fi-root .fi-plan__price-col { text-align: right !important; flex-shrink: 0 !important; }
#fi-root .fi-plan__old {
    font-size: .875rem !important; color: var(--bd2) !important;
    text-decoration: line-through !important; display: block !important;
    margin-bottom: .1rem !important;
}
#fi-root .fi-plan__price {
    font-size: 1.3rem !important; font-weight: 800 !important;
    color: var(--k) !important; letter-spacing: -.04em !important; white-space: nowrap !important;
}
#fi-root .fi-plan__per {
    font-size: .75rem !important; color: var(--bd2) !important;
    font-weight: 400 !important; display: block !important; margin-top: .05rem !important;
    letter-spacing: .04em !important; text-transform: uppercase !important;
}
 
/* Accordion dettagli */
#fi-root .fi-plan__toggle {
    all: unset !important;
    display: flex !important; align-items: center !important; gap: .35rem !important;
    padding: .65rem 1.2rem !important;
    border-top: 1px solid var(--bd) !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: .9375rem !important; font-weight: 500 !important; color: var(--mu) !important;
    cursor: pointer !important; width: 100% !important;
    background: transparent !important; color: var(--mu) !important;
    transition: color .15s !important;
    -webkit-appearance: none !important;
}
#fi-root .fi-plan__toggle:hover { color: var(--tx) !important; }
#fi-root .fi-plan__toggle svg { transition: transform .2s !important; flex-shrink: 0 !important; }
#fi-root .fi-plan__toggle.open svg { transform: rotate(180deg) !important; }
 
#fi-root .fi-plan__details {
    display: none !important;
    padding: .5rem 1.2rem .9rem !important;
    border-top: 1px solid var(--bd) !important;
}
#fi-root .fi-plan__details.open { display: block !important; }
 
#fi-root .fi-plan__bullets {
    list-style: none !important;
    display: flex !important; flex-direction: column !important; gap: .45rem !important;
}
#fi-root .fi-plan__bullet {
    display: flex !important; align-items: center !important; gap: .6rem !important;
    font-size: .9375rem !important; color: var(--tx) !important; font-weight: 400 !important;
}
/* Check icon bullet */
#fi-root .fi-plan__bullet::before {
    content: '' !important;
    width: 16px !important; height: 16px !important; border-radius: 50% !important;
    background: rgba(255,214,0,.15) !important; flex-shrink: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23FFD600' stroke-width='3' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 10px !important;
}
 
#fi-root .fi-no-prod {
    background: var(--w) !important; border: 1px solid var(--bd) !important;
    border-radius: var(--r) !important; padding: 1.5rem !important;
    font-size: 1rem !important; color: var(--mu) !important; text-align: center !important;
}
 
/* ── BOTTONE PRINCIPALE — colore hardcoded, resiste a qualsiasi tema ────────── */
#fi-root .fi-btn,
#fi-root .fi-btn:link,
#fi-root .fi-btn:visited,
#fi-root .fi-btn:focus,
#fi-root .fi-btn:active {
    all: unset !important;
    display: inline-flex !important; align-items: center !important; gap: .45rem !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1rem !important; font-weight: 700 !important;
    background-color: #FFD600 !important;
    background-image: none !important;
    color: #0F0F0F !important;
    padding: .82rem 1.9rem !important; border-radius: 50px !important;
    border: none !important; outline: none !important;
    box-shadow: none !important;
    cursor: pointer !important; letter-spacing: .025em !important;
    transition: transform .15s, filter .15s !important;
    margin-top: 1.25rem !important; text-decoration: none !important;
    -webkit-appearance: none !important; appearance: none !important;
    filter: drop-shadow(0 4px 10px rgba(255,214,0,.32)) !important;
}
#fi-root .fi-btn:hover:not([disabled]) {
    background-color: #F0C800 !important; background-image: none !important;
    color: #0F0F0F !important;
    transform: translateY(-2px) !important;
    filter: drop-shadow(0 7px 16px rgba(255,214,0,.4)) !important;
}
#fi-root .fi-btn[disabled],
#fi-root .fi-btn[disabled]:hover {
    background-color: #FFD600 !important;
    opacity: .38 !important; cursor: not-allowed !important;
    transform: none !important; filter: none !important;
}
 
/* ── ERRORE ───────────────────────────────────────────────────────────────── */
#fi-root .fi-err {
    display: none !important; margin-top: .85rem !important;
    background: #fff5f5 !important; border: 1px solid #f5c6c6 !important;
    border-radius: 8px !important; padding: .6rem .9rem !important;
    font-size: .9375rem !important; color: #c0392b !important; font-weight: 500 !important;
}
 
/* ── SIDEBAR PANORAMICA ───────────────────────────────────────────────────── */
#fi-root .fi-side { position: sticky !important; top: calc(60px + 1.5rem) !important; }
 
#fi-root .fi-pan {
    background: var(--w) !important;
    border: 1.5px solid var(--bd) !important; border-radius: var(--r) !important;
    overflow: hidden !important; box-shadow: 0 2px 20px rgba(0,0,0,.05) !important;
}
#fi-root .fi-pan__head {
    padding: .95rem 1.25rem !important; border-bottom: 1px solid var(--bd) !important;
}
#fi-root .fi-pan__title {
    font-size: .6875rem !important; font-weight: 700 !important;
    letter-spacing: .18em !important; text-transform: uppercase !important; color: var(--mu) !important;
}
#fi-root .fi-pan-row {
    display: flex !important; justify-content: space-between !important;
    align-items: flex-start !important; gap: .75rem !important;
    padding: .75rem 1.25rem !important; border-bottom: 1px solid var(--bd) !important;
}
#fi-root .fi-pan-row:last-of-type { border-bottom: none !important; }
#fi-root .fi-pan-lbl { font-size: .875rem !important; font-weight: 400 !important; color: var(--mu) !important; flex-shrink: 0 !important; white-space: nowrap !important; }
#fi-root .fi-pan-val {
    font-size: .9375rem !important; font-weight: 700 !important; color: var(--tx) !important;
    text-align: right !important; display: flex !important; align-items: center !important; gap: .5rem !important;
    flex-wrap: wrap !important; justify-content: flex-end !important;
}
#fi-root .fi-pan-val.empty { color: var(--bd2) !important; font-weight: 400 !important; }
 
#fi-root .fi-edit {
    all: unset !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: .875rem !important; font-weight: 600 !important; color: var(--mu) !important;
    cursor: pointer !important; text-decoration: underline !important;
    text-underline-offset: 2px !important; transition: color .15s !important;
}
#fi-root .fi-edit:hover { color: var(--k) !important; }
 
#fi-root .fi-pan__tot {
    display: flex !important; justify-content: space-between !important;
    align-items: baseline !important; padding: .9rem 1.25rem !important;
    border-top: 1px solid var(--bd) !important;
}
#fi-root .fi-pan__tot-lbl { font-size: .9375rem !important; color: var(--mu) !important; font-weight: 400 !important; }
#fi-root .fi-pan__tot-val {
    font-size: 1.3rem !important; font-weight: 900 !important;
    color: var(--k) !important; letter-spacing: -.04em !important;
}
#fi-root .fi-pan__tot-val.empty { font-size: 1rem !important; color: var(--bd2) !important; font-weight: 400 !important; }
 
#fi-root .fi-pan__cta { padding: .9rem 1.25rem !important; border-top: 1px solid var(--bd) !important; }
 
/* Bottone sidebar — stesso trattamento anti-magenta */
#fi-root .fi-btn-side,
#fi-root .fi-btn-side:link,
#fi-root .fi-btn-side:visited,
#fi-root .fi-btn-side:focus,
#fi-root .fi-btn-side:active {
    all: unset !important;
    display: flex !important; align-items: center !important; justify-content: center !important; gap: .4rem !important;
    width: 100% !important;
    background-color: #FFD600 !important; background-image: none !important; color: #0F0F0F !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1rem !important; font-weight: 700 !important; letter-spacing: .025em !important;
    padding: .82rem 1.5rem !important; border-radius: 50px !important;
    border: none !important; outline: none !important; cursor: pointer !important;
    box-shadow: none !important;
    filter: drop-shadow(0 4px 10px rgba(255,214,0,.28)) !important;
    transition: transform .15s, filter .15s !important;
    -webkit-appearance: none !important; appearance: none !important; text-decoration: none !important;
    box-sizing: border-box !important;
}
#fi-root .fi-btn-side:hover:not([disabled]) {
    background-color: #F0C800 !important; background-image: none !important;
    color: #0F0F0F !important;
    transform: translateY(-1px) !important;
    filter: drop-shadow(0 6px 14px rgba(255,214,0,.36)) !important;
}
#fi-root .fi-btn-side[disabled],
#fi-root .fi-btn-side[disabled]:hover {
    background-color: #FFD600 !important;
    opacity: .38 !important; cursor: not-allowed !important;
    transform: none !important; filter: none !important;
}
 
#fi-root .fi-pan__note {
    padding: .6rem 1.25rem .9rem !important;
    font-size: .875rem !important; color: var(--mu) !important;
    text-align: center !important; line-height: 1.6 !important;
    border-top: 1px solid var(--bd) !important;
}
#fi-root .fi-pan__note strong { color: var(--tx) !important; font-weight: 600 !important; }
 
/* ── RESPONSIVE MOBILE ────────────────────────────────────────────────────── */
@media (max-width:860px) {
    #fi-root { padding-inline:1rem!important; }
    #fi-root .fi-top {
        margin-inline:-1rem!important;
        width:calc(100% + 2rem)!important;
    }
    #fi-root .fi-wrap {
        display:block!important;
        grid-template-columns: none !important;
        padding: 1.6rem 0 110px !important;
        width:100%!important;
        max-width:480px!important;
        margin:0 auto!important;
    }
    #fi-root .fi-side { position: static !important; order: -1 !important; }
    #fi-root .fi-pan  { display: none !important; }
    #fi-root .fi-rail { display:none!important; }
    #fi-root .fi-step { display:block!important; gap:0!important; }
    #fi-root .fi-body { width:100%!important; padding-bottom:2rem!important; }
    #fi-root .fi-club-list { max-height:none!important; overflow:visible!important; padding-right:0!important; }
    #fi-root .fi-plan__head { display:grid!important; grid-template-columns:auto minmax(0,1fr)!important; align-items:start!important; gap:.8rem!important; padding:1rem!important; }
    #fi-root .fi-plan__price-col { grid-column:2!important; text-align:left!important; margin-top:.25rem!important; }
    #fi-root .fi-plan__price { font-size:1.45rem!important; }
    #fi-root .fi-plan__old { font-size:.9rem!important; }
    #fi-root .fi-plan__toggle { padding:.75rem 1rem!important; }
    /* Bottone fisso in basso su mobile */
    #fi-root .fi-mobile-cta {
        display: flex !important;
        position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
        z-index: 9998 !important;
        background: #fff !important;
        border-top: 1px solid #E5E5EA !important;
        padding: .85rem 1.25rem !important;
        gap: .75rem !important;
        align-items: center !important;
        box-shadow: 0 -4px 20px rgba(0,0,0,.08) !important;
    }
    #fi-root .fi-mobile-cta__info { flex: 1 !important; min-width: 0 !important; }
    #fi-root .fi-mobile-cta__club { font-size: .9rem !important; color: #8E8E93 !important; font-weight: 400 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
    #fi-root .fi-mobile-cta__price { font-size: 1.1rem !important; font-weight: 800 !important; color: #0F0F0F !important; letter-spacing: -.03em !important; }
    #fi-root .fi-mobile-btn {
        all: unset !important;
        background-color: #FFD600 !important; background-image: none !important;
        color: #0F0F0F !important; font-family: 'Poppins', sans-serif !important;
        font-size: 1rem !important; font-weight: 700 !important;
        padding: .82rem 1.6rem !important; border-radius: 50px !important;
        border: none !important; cursor: pointer !important; flex-shrink: 0 !important;
        filter: drop-shadow(0 3px 8px rgba(255,214,0,.3)) !important;
        -webkit-appearance: none !important;
    }
    #fi-root .fi-mobile-btn[disabled] { opacity: .38 !important; cursor: not-allowed !important; filter: none !important; }
}
@media (min-width:861px) {
    #fi-root .fi-mobile-cta { display: none !important; }
}
@media (max-width:520px) {
    #fi-root { padding-inline:1.05rem!important; }
    #fi-root .fi-top  { height:58px!important; margin-inline:-1.05rem!important; width:calc(100% + 2.1rem)!important; padding: 0 1rem !important; gap:.55rem!important; }
    #fi-root .fi-back { font-size:.78rem!important; max-width:88px!important; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important; }
    #fi-root .fi-logo img { height:24px!important; max-width:160px!important; }
    #fi-root .fi-dots { gap:.32rem!important; }
    #fi-root .fi-wrap { padding: 1.35rem 0 104px !important; }
    #fi-root .fi-h    { font-size: 1.48rem !important; letter-spacing:-.035em!important; }
    #fi-root .fi-sub  { font-size:.92rem!important; margin-bottom:1.1rem!important; }
    #fi-root .fi-search { padding:.62rem .9rem!important; }
    #fi-root .fi-search input { font-size:.95rem!important; }
    #fi-root .fi-club-row { padding:.82rem .9rem!important; gap:.72rem!important; }
    #fi-root .fi-crow__name { font-size:.92rem!important; }
    #fi-root .fi-crow__addr { font-size:.82rem!important; }
    #fi-root .fi-crow__promo { display:none!important; }
    #fi-root .fi-plan__name { font-size:.98rem!important; }
    #fi-root .fi-plan__subdesc { font-size:.86rem!important; }
    #fi-root .fi-btn { width:auto!important; max-width:100%!important; padding:.95rem 1.55rem!important; }
    #fi-root .fi-mobile-cta { padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom))!important; }
    #fi-root .fi-mobile-btn { padding:.78rem 1.25rem!important; font-size:.95rem!important; }
}

