/* Presentazione NextGen per MemberPress / account WooCommerce.
   Usa i token di app/assets/fm.css (--ground, --ink, --line, --gold…): il tema chiaro/scuro segue quello della NextGen
   (preferenza di sistema o scelta salvata da fm-guide-theme.js). Nessuna regola nasconde etichette, errori o condizioni di pagamento. */
body.fm-mp{--fm-link:var(--gold);margin:0;min-height:100vh;background:var(--ground);color:var(--ink);font-family:var(--sans);line-height:1.55}
body.fm-mp *,body.fm-mp *::before,body.fm-mp *::after{box-sizing:border-box}
body.fm-mp a{color:var(--fm-link)}
body.fm-mp :focus-visible{outline:2px solid var(--gold-vivid);outline-offset:3px}
body.fm-mp .site-header,body.fm-mp .masthead,body.fm-mp .account-header,body.fm-mp #mepr-account-nav,body.fm-mp .mepr-rl-footer-widgets,
body.fm-mp .site-footer,body.fm-mp #colophon,body.fm-mp .custom-header,body.fm-mp .navigation-top,body.fm-mp .woocommerce-breadcrumb{display:none!important}
body.fm-mp .wrap{max-width:var(--maxw,1120px);margin:0 auto;padding-inline:clamp(16px,4vw,32px)}
body.fm-mp .fg-skip{position:absolute;left:-999px;top:0;background:var(--gold-vivid);color:#1a1224;padding:8px 16px;z-index:50}
body.fm-mp .fg-skip:focus{left:16px;top:16px}

/* testate compatte */
.fm-mp-plan,.fm-mp-head{padding-top:20px;padding-bottom:8px}
.fm-mp-plan h1,.fm-mp-head h1{margin:4px 0 8px;font-size:clamp(1.8rem,4.2vw,2.7rem);line-height:1.05;letter-spacing:-.035em;font-weight:500;max-width:none}
.fm-mp .k{font:500 .68rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0}
.fm-mp-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:500 .72rem var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--fm-link)}
.fm-mp-facts{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin:0;color:var(--muted)}
.fm-mp-facts strong{font-size:1.5rem;font-weight:500;color:var(--fm-link);letter-spacing:-.02em}
.fm-mp-lead{max-width:56ch;margin:0 0 8px;color:var(--muted)}
.fm-mp-links{display:flex;flex-wrap:wrap;gap:4px 24px;margin:8px 0 0}
.fm-mp-links a{display:inline-flex;align-items:center;min-height:44px}

/* navigazione personale */
.fm-mp-subnav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;margin-top:12px;border-bottom:1px solid var(--line)}
.fm-mp-tabs{display:flex;flex-wrap:wrap;gap:0 4px}
.fm-mp-tabs a,.fm-mp-pills a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;text-decoration:none;color:var(--muted);font-size:.9rem;border-bottom:2px solid transparent;margin-bottom:-1px}
.fm-mp-tabs a:hover,.fm-mp-pills a:hover{color:var(--ink)}
.fm-mp-tabs a[aria-current],.fm-mp-pills a[aria-current]{color:var(--ink);border-bottom-color:var(--gold-vivid)}
.fm-mp-pills{display:flex;gap:6px;margin-top:12px}
.fm-mp-pills a{border:1px solid var(--line);border-radius:999px;margin:0}
.fm-mp-pills a[aria-current]{border-color:var(--gold-vivid)}
.fm-mp-note{margin:12px 0 0;color:var(--muted);font-size:.9rem}

/* contenuto MemberPress / WooCommerce */
body.fm-mp .mp_wrapper,body.fm-mp .mepr-account-container,body.fm-mp .mepr-account-content,body.fm-mp .mepr-pro-account-table,body.fm-mp .woocommerce{max-width:var(--maxw,1120px);margin-inline:auto}
body.fm-mp main,body.fm-mp .site-content-contain,body.fm-mp #page,body.fm-mp .content-area{background:transparent!important;color:var(--ink)}
body.fm-mp .mp_wrapper,body.fm-mp .mepr-account-container,body.fm-mp .woocommerce{padding:12px clamp(16px,4vw,32px) 56px}
body.fm-mp .mepr-account-message,body.fm-mp .mepr-account-welcome-message{color:var(--muted)}
body.fm-mp-anon.fm-mp-account .mepr-unauthorized-excerpt{display:none!important}          /* messaggio storico lungo: solo qui, l'opzione globale resta intatta */
body.fm-mp .mepro-login-hero,body.fm-mp .mepro-login-contents{background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important;padding:0!important}
body.fm-mp .mepro-boxed{max-width:440px;margin:8px auto 0;padding:24px;background:var(--ground-2);border:1px solid var(--line);border-radius:12px}
body.fm-mp .mepro-login-hero img,body.fm-mp .mepr-login-welcome-image{display:none}

body.fm-mp input[type=text],body.fm-mp input[type=email],body.fm-mp input[type=password],body.fm-mp input[type=tel],body.fm-mp input[type=number],body.fm-mp select,body.fm-mp textarea{
  width:100%;min-height:44px;padding:8px 12px;background:var(--ground-2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:8px;font:inherit}
body.fm-mp input::placeholder{color:var(--faint,var(--muted));opacity:1}
body.fm-mp .mp-form-label label,body.fm-mp label{font-size:.8rem;color:var(--muted)}
body.fm-mp .mp-form-row{margin:0 0 12px}
body.fm-mp .mp-form-row-group{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.fm-mp .mp-hide-pw{position:relative}
body.fm-mp .mp-hide-pw .button{position:absolute;right:4px;top:4px;min-height:36px;background:transparent!important;color:var(--muted)!important;border:0!important}
body.fm-mp .mepr-submit,body.fm-mp input[type=submit],body.fm-mp button[type=submit],body.fm-mp .mepr-button,body.fm-mp .woocommerce a.button,body.fm-mp .woocommerce button.button{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;background:var(--gold-vivid)!important;color:#1a1224!important;border:0!important;border-radius:999px;font:600 .88rem var(--sans);text-decoration:none;cursor:pointer;width:auto}
body.fm-mp .btn-outline,body.fm-mp .mepr-button.btn-outline{background:transparent!important;color:var(--fm-link)!important;border:1px solid var(--gold-vivid)!important}
body.fm-mp .mepr_error,body.fm-mp .mepr-error,body.fm-mp .mepr_pro_error,body.fm-mp .woocommerce-error,body.fm-mp .mepr-form-has-errors,body.fm-mp .mepr-validation-error{color:#b3261e;font-size:.9rem}
html[data-theme="dark"] body.fm-mp .mepr_error,html[data-theme="dark"] body.fm-mp .mepr-error,html[data-theme="dark"] body.fm-mp .woocommerce-error{color:#ff9d94}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) body.fm-mp .mepr_error,html:not([data-theme="light"]) body.fm-mp .mepr-error,html:not([data-theme="light"]) body.fm-mp .woocommerce-error{color:#ff9d94}}

/* tabelle (abbonamento, pagamenti, ordini) */
body.fm-mp .table-responsive,body.fm-mp .mepr-pro-account-table__wrap{overflow-x:auto}
body.fm-mp table.mepr-pro-account-table,body.fm-mp table.mepr-account-payments-table,body.fm-mp table.woocommerce-orders-table,body.fm-mp table.shop_table{width:100%;border-collapse:collapse;background:transparent;color:var(--ink)}
body.fm-mp table th{font:600 .68rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);background:transparent}
body.fm-mp table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top;background:transparent;color:var(--ink)}
body.fm-mp .mepr-account-meta,body.fm-mp .mepr-account-row{color:var(--muted)}
body.fm-mp .mepr_modal__box{background:var(--ground-2)!important;color:var(--ink)!important;border:1px solid var(--line);border-radius:12px}
body.fm-mp .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px}
body.fm-mp .woocommerce-MyAccount-navigation a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--muted)}
body.fm-mp .woocommerce-MyAccount-navigation .is-active a{color:var(--ink);border-bottom:2px solid var(--gold-vivid)}

/* acquisto del piano: modulo + riepilogo affiancati */
body.fm-mp-checkout form.mepr-signup-form{width:auto!important;max-width:var(--maxw,1200px)!important;margin:0 auto!important;padding:0 clamp(16px,4vw,32px)!important}
body.fm-mp-checkout .fm-mp-summary{padding:0!important;margin:0!important}
body.fm-mp-checkout .mepr-payment-methods-wrapper label,body.fm-mp-checkout .mepr-payment-option-label,body.fm-mp-checkout .mepr-payment-methods-icons label{border-color:var(--gold-vivid)!important;color:var(--ink)!important;background:var(--ground-2)!important}
body.fm-mp-checkout .form-wrapper,body.fm-mp-checkout .invoice-wrapper{width:auto!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important}
body.fm-mp-checkout .form-wrapper{border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}
body.fm-mp-checkout .invoice-wrapper .mepr_bold.mepr_price,body.fm-mp-checkout .invoice-wrapper .mepr_price_cell{display:none!important}   /* il prezzo è già nella testata e nel totale */
body.fm-mp-checkout .invoice-wrapper .mp-form-row,body.fm-mp-checkout .invoice-wrapper .mepr-product-rows{margin:0!important;padding:0!important}
body.fm-mp-checkout .invoice-wrapper .mp_invoice,body.fm-mp-checkout .invoice-wrapper .mepr-transaction-invoice-wrapper{margin:12px 0 0!important;padding:0!important;font-size:.9rem}
body.fm-mp-checkout .fm-mp-summary__title,body.fm-mp-checkout .fm-mp-summary__terms,body.fm-mp-checkout .fm-mp-summary__price,body.fm-mp-checkout .fm-mp-summary .k{display:none}  /* desktop: già nella testata */
body.fm-mp-checkout .mepr-checkout-container{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start;padding:8px 0 0}
body.fm-mp-checkout .form-wrapper{display:flex;flex-direction:column}
body.fm-mp-checkout .invoice-wrapper{position:sticky;top:16px;padding:20px;background:var(--ground-2);border:1px solid var(--line);border-radius:12px}
body.fm-mp-checkout .invoice-heading{display:none}
body.fm-mp-checkout .mepr-before-signup-form,body.fm-mp-checkout .mepr-signup-form{max-width:none}
.fm-mp-group{padding-top:16px;margin-top:8px;border-top:1px solid var(--line)}
.fm-mp-group:first-child,.fm-mp-who+.fm-mp-group{border-top:0;margin-top:0}
.fm-mp-group h2{margin:0;font:600 .7rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.fm-mp-group p{margin:2px 0 12px;font-size:.88rem;color:var(--muted)}
.fm-mp-who{margin:0 0 8px;color:var(--muted)}
.fm-mp-who a{margin-left:4px}
.fm-mp-summary__title{margin:2px 0 4px;font-size:1.3rem;font-weight:500;letter-spacing:-.02em}
.fm-mp-summary__terms{margin:0;color:var(--muted)}
.fm-mp-summary__price{margin:8px 0;font-size:1.9rem;letter-spacing:-.03em;color:var(--fm-link)}
.fm-mp-summary__features{margin:8px 0;padding-left:18px;color:var(--muted);font-size:.92rem}
.fm-mp-summary__renewal{margin:8px 0 12px;font-size:.88rem;color:var(--muted)}
body.fm-mp-checkout .mepr-payment-method-desc-text{color:var(--muted);font-size:.9rem}

@media (max-width:860px){
  body.fm-mp-checkout .mepr-checkout-container{grid-template-columns:1fr;gap:16px}
  body.fm-mp-checkout .invoice-wrapper{order:-1;position:static;padding:14px 16px}
  body.fm-mp-checkout .fm-mp-summary__features{display:none}   /* riepilogo breve: titolo, durata, totale */
  body.fm-mp-checkout .fm-mp-summary__price{display:none!important}   /* il totale (con eventuale coupon) è nella riga fattura qui sotto */
  body.fm-mp-checkout .invoice-wrapper .mepr-transaction-invoice-wrapper{display:block!important;margin-top:8px!important}
  body.fm-mp-checkout .invoice-wrapper .mepr-transaction-invoice-wrapper img{display:none}
  body.fm-mp-checkout .fm-mp-summary__title,body.fm-mp-checkout .fm-mp-summary__terms,body.fm-mp-checkout .fm-mp-summary__price{display:block}
  body.fm-mp-checkout .fm-mp-summary__title{font-size:1.15rem;margin:0}
  .fm-mp-plan .fm-mp-facts{display:none}      /* già nel riepilogo subito sotto */
  body.fm-mp .mp-form-row-group{grid-template-columns:1fr}
  .fm-mp-subnav{gap:0 12px}
}
@media (prefers-reduced-motion:no-preference){body.fm-mp a,body.fm-mp .mepr-submit{transition:color .15s ease,border-color .15s ease}}

/* allineamento al contenitore della testata */
body.fm-mp-checkout .mepr-checkout-container{max-width:none!important;width:100%!important;margin:0!important;padding:8px 0 0!important}
body.fm-mp-checkout .mepr-signup-form .mp_wrapper,body.fm-mp-checkout .mp_wrapper{padding:0!important;max-width:none!important}

/* account MemberPress: titolo nativo duplicato e larghezza fissa (opzione account_css_width = 500) */
body.fm-mp-account h1.mepr_page_header{display:none!important}
body.fm-mp-account .mepr-account-container,body.fm-mp-account .mepr-account-content{width:100%!important;max-width:var(--maxw,1200px)!important;margin-inline:auto!important}
body.fm-mp-account .mp_wrapper{width:100%!important;max-width:none!important}
body.fm-mp-account .mepr-pro-account-table__product{font-weight:600}
body.fm-mp-account .mepr-account-container{display:block!important;grid-template-columns:none!important}   /* la colonna laterale nativa è sostituita dalla nostra navigazione */
body.fm-mp-account .mp_wrapper{display:block!important}

/* riepilogo / fattura MemberPress: le sue regole impongono colori propri (rgba nero .56, #1d1d1d) illeggibili sul tema scuro.
   Si usano i token del tema (--ink, --muted, --gold, --line): chiaro e scuro seguono la NextGen, nessun bianco forzato. */
body.fm-mp .invoice-wrapper,body.fm-mp .mp_invoice,body.fm-mp .mepr-transaction-invoice-wrapper{color:var(--ink)!important}
body.fm-mp .invoice-wrapper :is(p,td,th,span,strong,b,div,li,h1,h2,h3,h4,label,small,em,dt,dd){color:var(--ink)!important}
body.fm-mp .invoice-wrapper :is(.desc,.mepr-order-no,.mp-currency-cell small,.fm-mp-summary__terms,.fm-mp-summary__features,.fm-mp-summary__features li,.fm-mp-summary__renewal,thead th,.mepr-coupon-loader){color:var(--muted)!important}
body.fm-mp .invoice-wrapper p.fm-mp-summary__price{color:var(--fm-link)!important}
body.fm-mp .invoice-wrapper a,body.fm-mp .invoice-wrapper .have-coupon-link{color:var(--fm-link)!important}
body.fm-mp .invoice-wrapper :is(table,tr,td,th){background:transparent!important;border-color:var(--line)!important}
body.fm-mp .invoice-wrapper .mepr-coupon-field input,body.fm-mp .invoice-wrapper input[type=text]{color:var(--ink)!important}
body.fm-mp .mp_invoice :is(p,td,th,span,strong,b,div,h3,h4){color:var(--ink)!important}
body.fm-mp .mp_invoice :is(.desc,.mepr-order-no){color:var(--muted)!important}

/* rete di sicurezza di leggibilità: i modelli MemberPress/tema impongono colori propri (nero, grigi con opacità) che sul tema scuro spariscono.
   Tutto usa i token del tema: nessun bianco forzato, il tema chiaro resta scuro-su-chiaro. */
body.fm-mp :is(h1,h2,h3,h4,h5,h6,.entry-title,.mepr_page_header,dd){color:var(--ink)!important}
body.fm-mp :is(p,li,td,th,label,span,div,dt):not(.fm-mp-back):not(.brand):not(.bn):not(.bs):not(.acct):not([class*="fm-path"]){color:inherit}
body.fm-mp :is(dt,.mepr-account-row-label,.mepr-pro-account-table__subscr,.mepr-pro-account-table__rebill,.mepr-pro-account-table__created_at p,p.sub,.mepr-account-meta,.mepr-pro-account-terms){color:var(--muted)!important}
body.fm-mp .mepro-boxed :is(h1,h2,h3,p,label,span,div){color:var(--ink)!important}
body.fm-mp .mepro-boxed a,body.fm-mp .mepr-login-actions a,body.fm-mp .mepr-account-container a:not(.mepr-button):not(.btn){color:var(--fm-link)!important}
body.fm-mp .mepr-login-actions,body.fm-mp .mepr-login-actions :is(span,p,div){color:var(--muted)!important}
body.fm-mp :is(.mepr-account-welcome-message,.mepr-account-message,.mepr_updated,.mepr-notice,.woocommerce-message,.woocommerce-info){background:var(--ground-2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-left:3px solid var(--gold-vivid)!important;border-radius:8px}
body.fm-mp-shop-account .entry-header,body.fm-mp-shop-account .entry-title{display:none!important}
body.fm-mp .mepr-pro-account-table :is(td,th) :is(p,div,span,a):not(.mepr-account-status){color:inherit}

/* testi oro: ora basta il token globale --gold del tema giorno (#8c5f14, 4,97:1 / 4,60:1); --fm-link resta come alias */
body.fm-mp{--fm-link:var(--gold)}
body.fm-mp .mepr-button.btn-outline,body.fm-mp .btn-outline{color:var(--fm-link)!important}

/* il modello Pro limita <main> a 1000px con margine sinistro di 140px: si allinea al contenitore della testata */
body.fm-mp main.site-main,body.fm-mp .site-main{max-width:none!important;margin:0!important;width:100%!important}

/* respiro interno del riepilogo: padding uniforme e un solo bordo sinistro per titolo, elenco, coupon, subtotale e totale */
body.fm-mp-checkout .invoice-wrapper{padding:24px 24px 22px!important;box-sizing:border-box}
body.fm-mp-checkout .invoice-wrapper>*{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
body.fm-mp-checkout .fm-mp-summary__features{margin:14px 0 12px!important;padding:0 0 0 22px!important;list-style:disc outside}
body.fm-mp-checkout .fm-mp-summary__features li{padding:2px 0!important;margin:0!important}
body.fm-mp-checkout .fm-mp-summary__terms{margin-bottom:6px!important}
body.fm-mp-checkout .fm-mp-summary__renewal{margin:12px 0 16px!important;line-height:1.5}
body.fm-mp-checkout .invoice-wrapper .mepr_coupon,body.fm-mp-checkout .invoice-wrapper .mepr-coupon-field,body.fm-mp-checkout .invoice-wrapper .have-coupon-link{display:block;margin:0 0 14px!important;padding:0!important}
body.fm-mp-checkout .invoice-wrapper .mp_invoice table{width:100%!important;margin:0!important}
body.fm-mp-checkout .invoice-wrapper .mp_invoice :is(td,th):first-child{display:none!important}   /* colonna con l'icona segnaposto: il testo parte dal bordo comune */
body.fm-mp-checkout .invoice-wrapper .mp_invoice :is(td,th){padding:8px 0!important}
body.fm-mp-checkout .invoice-wrapper .mp_invoice :is(td,th):last-child{text-align:right}
@media (max-width:860px){body.fm-mp-checkout .invoice-wrapper{padding:18px 20px 16px!important}}

/* conferma ordine: una colonna unica, larga e senza riquadri annidati (il markup MemberPress usa .thankyou sia sul contenitore sia sulla fattura) */
body.fm-mp-thankyou .mepr-signup-form,body.fm-mp-thankyou .mepr-checkout-container.thankyou,body.fm-mp-thankyou .mp_wrapper{display:block!important;max-width:none!important;width:100%!important;margin:0!important;padding:0 clamp(16px,4vw,32px)!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important;box-sizing:border-box}
body.fm-mp-thankyou .invoice-wrapper.thankyou{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:14px;width:100%!important;max-width:680px!important;margin:8px auto 0!important;padding:28px clamp(18px,4vw,36px)!important;box-sizing:border-box;background:var(--ground-2)!important;border:1px solid var(--line)!important;border-radius:12px;min-height:0!important}
body.fm-mp-thankyou .invoice-wrapper.thankyou>*{margin:0!important;max-width:100%!important;text-align:center;position:static!important;transform:none!important}
body.fm-mp-thankyou .invoice-wrapper.thankyou h2{font-size:clamp(1.35rem,3.2vw,1.9rem);line-height:1.15;letter-spacing:-.02em;font-weight:500}
body.fm-mp-thankyou .invoice-wrapper.thankyou svg{align-self:center;width:52px;height:52px}
body.fm-mp-thankyou .invoice-wrapper.thankyou .mepr_price_cell,body.fm-mp-thankyou .invoice-wrapper.thankyou .mp-form-row .invoice-amount{display:block;font-size:clamp(1.6rem,4vw,2.1rem);letter-spacing:-.02em}
body.fm-mp-thankyou .invoice-wrapper.thankyou .mp_invoice{width:100%!important;text-align:left}
body.fm-mp-thankyou .invoice-wrapper.thankyou .mp_invoice table{width:100%!important;table-layout:auto;border-collapse:collapse}
body.fm-mp-thankyou .invoice-wrapper.thankyou .mp_invoice :is(td,th){white-space:normal;word-break:normal;overflow-wrap:break-word;padding:10px 0!important}
body.fm-mp-thankyou .invoice-wrapper.thankyou .mp_invoice :is(td,th):first-child{display:none!important}
body.fm-mp-thankyou .invoice-wrapper.thankyou .mp_invoice :is(td,th):last-child{text-align:right;white-space:nowrap;padding-left:16px!important}
body.fm-mp-thankyou .invoice-wrapper.thankyou .mp_invoice p{margin:0!important}
body.fm-mp-thankyou .invoice-wrapper.thankyou .mp_invoice .desc{font-size:.88rem;margin-top:2px!important}
body.fm-mp-thankyou .invoice-wrapper.thankyou :is(h2,p,svg,div){color:var(--ink)}
body.fm-mp-thankyou .invoice-wrapper.thankyou :is(.mepr-order-no,.mepr-order-no p){color:var(--muted)!important}
/* blocco «Il prossimo passo» (fm-onboarding): stessa colonna e stessi margini della conferma, nessuno sbordo */
body.fm-mp-thankyou #fm-next-step{box-sizing:border-box;width:100%;max-width:680px;margin:32px auto 56px;padding:0 clamp(16px,4vw,32px)}
body.fm-mp-thankyou #fm-next-step :is(h2,p,a){max-width:100%;overflow-wrap:anywhere}
body.fm-mp-thankyou #fm-next-step h2{font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.1;letter-spacing:-.03em;font-weight:500;margin:6px 0 14px}
body.fm-mp-thankyou #fm-next-step p{margin:0 0 10px;color:var(--ink)}
body.fm-mp-thankyou #fm-next-step .k{color:var(--muted)!important}
/* un solo livello di margine laterale: riquadro e blocco «Il prossimo passo» partono dallo stesso bordo */
body.fm-mp-thankyou .mepr-signup-form,body.fm-mp-thankyou .mp_wrapper{padding-left:0!important;padding-right:0!important}
@media (min-width:761px){body.fm-mp-thankyou #fm-next-step{padding-left:0;padding-right:0}}
@media (max-width:760px){body.fm-mp-thankyou #fm-next-step{padding-left:clamp(16px,4vw,32px);padding-right:clamp(16px,4vw,32px)}}

/* indicatore di forza della password (zxcvbn.css di MemberPress): chip con fondo chiaro proprio e testo scuro; la regola di ereditarietà gli dava testo chiaro su #eee (1:1 in scuro) */
body.fm-mp .mp-password-strength-display,body.fm-mp .mp-pass-strength .mp-password-strength-display{color:#1a1224!important}

/* descrizione del piano: MemberPress la stampa come <p> figlio diretto di <main>, senza contenitore (attaccata al bordo): stessa colonna e stessi margini della testata */
body.fm-mp-checkout main.site-main>p,body.fm-mp-checkout main.site-main>.mepr-product-description,body.fm-mp-checkout main.site-main>.entry-content{box-sizing:border-box;max-width:var(--maxw,1200px);margin:4px auto 18px!important;padding:0 clamp(16px,4vw,32px)!important;color:var(--muted)!important;font-size:.98rem;line-height:1.55}

/* Sfondo a cubi, SOLO sull'Account (accesso e area abbonato): pagina con molto spazio libero.
   Acquisto, riepilogo e conferma restano puliti (nessuna regola per fm-mp-checkout / fm-mp-thankyou).
   Stesso asset e stesso velo (--fm-bg-veil, definito in fm.css) delle pagine interne NextGen. */
body.fm-mp-account::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(var(--fm-bg-veil),var(--fm-bg-veil)),
    url("/app/assets/img/nextgen-sfondo-cubi-desktop.webp") center/cover no-repeat;
}
@media (max-width:719px){
  body.fm-mp-account::before{
    background:linear-gradient(var(--fm-bg-veil),var(--fm-bg-veil)),
      url("/app/assets/img/nextgen-sfondo-cubi-mobile.webp") center top/cover no-repeat;
  }
}

/* Elenco paesi del campo telefono (intl-tel-input): il suo CSS dà fondo bianco, il testo eredita --ink
   (chiaro in tema scuro) e risultava illeggibile (1,2:1). Fondo e testo ora seguono i token del tema. */
body.fm-mp .iti__dropdown-content,body.fm-mp .iti__country-list{background:var(--ground-2)!important;color:var(--ink)!important;border-color:var(--line)!important}
body.fm-mp .iti__country,body.fm-mp .iti__country-name{color:var(--ink)!important}
body.fm-mp .iti__dial-code{color:var(--muted)!important}
body.fm-mp .iti__country.iti__highlight,body.fm-mp .iti__country:hover{background:var(--line)!important}
body.fm-mp .iti__divider{border-color:var(--line)!important}
body.fm-mp .iti__search-input{background:var(--ground)!important;color:var(--ink)!important;border-color:var(--line)!important}
