/* SBM Segreteria — WooCommerce My Account tab (dati famiglia, atleti, notifiche, preferenze).
   v0.9.7: visual refresh only, every selector already existed. Brand navy (#073B78) replaces the
   generic WordPress admin blue on the notification accent so this reads as part of the same site
   as the rest of the redesign; the amber/green completeness states are semantic and untouched.
   v0.9.12: typography + whole-account-area pass. Adds the brand type pairing (Manrope/Inter) and
   extends styling to the parts of "Il mio account" that were still plain WooCommerce defaults —
   the nav sidebar, native tables (Ordini, Pagamenti), and native forms (Indirizzi, Dettagli
   account) — so the whole area reads as one designed experience, not SBM cards floating inside an
   unstyled WooCommerce shell. No selector touching enrollment/payment logic was added or changed. */
/* v1.7.4 — nuova palette (richiesta di oggi): Fredoka nei titoli, Nunito nel corpo — coppia
   confermata per l'area famiglia, diversa da quella di wp-admin (Manrope/Inter, lasciata invariata
   per leggibilità sui dati). Continuità voluta con il pulsante "ISCRIVITI ORA" del sito pubblico. */
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito:wght@400;500;600;700;800&display=swap');
:root{
    --sbm-font-heading:'Fredoka',system-ui,-apple-system,sans-serif;
    --sbm-font-body:'Nunito',system-ui,-apple-system,sans-serif;
    --sbm-navy:#073B78;
    --sbm-navy-2:#052A56;
    --sbm-blue:#075DBB;
    --sbm-coral:#FF473D;
    --sbm-coral-2:#D93B32;
}

/* v1.7.3 — Punto 10 (Branding): stampato da Endpoints::branding_banner() sopra il menu di
   navigazione, quindi visibile su ogni sotto-pagina di "Il mio account", non solo la dashboard. */
.sbm-branding-header{margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid #E4E7EC}
.sbm-branding-header .sbm-branding-logo{max-height:44px;max-width:200px;object-fit:contain}

/* v1.7.3 — Punto 11 (contabile bonifico): riquadro "Allega ricevuta" inserito come riga a piena
   larghezza dentro la tabella Pagamenti e ricevute (Endpoints::pagamenti_ricevute()) — non è una
   riga dati come le altre, quindi va sganciato dal layout a due colonne (etichetta/valore) che
   account.css applica normalmente a ogni <td> di questa tabella, sia da desktop che sotto ~780px.
   v1.25.11 — bug reale (Luca, screenshot Pagamenti e ricevute): da desktop il riquadro compariva
   incollato sotto la colonna "Stagione" invece di occupare tutta la riga sotto "Atleta", pur avendo
   colspan="5" nell'HTML (Endpoints::pagamenti_ricevute()). Causa: display:block!important qui sotto
   veniva applicato SEMPRE, anche da desktop — ma un <td> con colspan spanna le colonne solo restando
   display:table-cell (il comportamento di default): forzarlo a display:block lo fa uscire dal
   layout a tabella, e il browser lo ricalcola come se fosse una singola colonna qualunque, non le 5
   colspan-ate. Verificato dal vivo iniettando temporaneamente display:table-cell!important prima di
   scrivere qui la correzione: la riga torna a coprire tutta la larghezza, allineata sotto "Atleta".
   Ora display:block si applica SOLO sotto ~780px (vedi quella stessa regola più sotto, dentro il
   blocco @media — lì è corretto: la tabella intera è già "a schede" impilate, quindi ogni riga, colspan o no, deve comunque essere un blocco). */
.woocommerce-MyAccount-content table.shop_table_responsive .sbm-bank-receipt-row td{text-align:left!important;background:#FBFAF7}
.sbm-bank-receipt-status{margin:0 0 10px;font-size:13.5px;color:#3a4552}
.sbm-bank-receipt-row .sbm-certificate-inline{margin:0}

/* v1.7.3 — Punto 12 (foto atleti): stessa classe .sbm-avatar usata in admin.css, ripetuta qui
   perché account.css e admin.css restano due bundle indipendenti (uno per il frontend "Il mio
   account", uno per wp-admin) — vedi Core\Plugin::enqueue_admin_assets() vs Account\Endpoints::assets(). */
.sbm-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex:0 0 auto;overflow:hidden;color:#fff;font-weight:800;letter-spacing:.02em;vertical-align:middle}
.sbm-avatar-photo img{width:100%;height:100%;object-fit:cover;display:block}
.sbm-athlete-photo-form{display:flex;align-items:center;gap:14px;margin:0 0 18px}
/* v1.25.12 — segnalato da Luca (il bottone "Salva foto" finiva sotto il riquadro di caricamento
   invece che affiancato): .sbm-athlete-photo-form mette in riga avatar e <form>, ma il <form> al
   suo interno restava un blocco normale, quindi la label.sbm-mobile-photo (il riquadro upload) e
   il button "Salva foto" si impilavano verticalmente per il normale flusso a blocchi. Basta
   rendere flex anche il form per affiancarli, stesso schema già usato sul contenitore esterno. */
.sbm-athlete-photo-form form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content{font-family:var(--sbm-font-body)}
.woocommerce-MyAccount-content h1,.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3,
.sbm-account-dashboard h2{font-family:var(--sbm-font-heading)}
.woocommerce-MyAccount-content{font-size:15px;line-height:1.65;color:#3a4552}
.woocommerce-MyAccount-content h2{color:#073B78;font-size:25px;font-weight:700;margin:30px 0 12px}
.woocommerce-MyAccount-content>h2:first-child,.woocommerce-MyAccount-content>p:first-child{margin-top:0}

/* Nav sidebar — v1.7.4: pannello navy pieno (richiesta di oggi, coerente col concept approvato),
   non più solo la voce attiva. Riga attiva evidenziata con una sottile striscia laterale in
   SBM Blue, per non introdurre un terzo colore di sfondo dentro un pannello già scuro. */
.woocommerce-MyAccount-navigation{margin:0 0 28px;padding:10px;background:var(--sbm-navy);border-radius:16px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.woocommerce-MyAccount-navigation li{margin:0;border:0}
.woocommerce-MyAccount-navigation li a{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:11px;color:#DCE5F5;text-decoration:none;font-weight:700;font-size:14.5px;transition:background .12s ease,color .12s ease}
.woocommerce-MyAccount-navigation li a:hover{background:rgba(255,255,255,.08);color:#fff}
.woocommerce-MyAccount-navigation li.is-active a{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 3px 0 0 var(--sbm-blue)}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{color:#FFB4AE}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{background:rgba(255,71,61,.16);color:#fff}

/* v1.10.3 — bug reale (Luca, screenshot "le icone sono disallineate alle scritte"): ogni <a> di
   questo menu contiene un <br> prima del testo (non generato da questo plugin — arriva già così
   dal tema/da un altro filtro su woocommerce_account_menu_items, presente da prima ma invisibile
   finché il link era solo testo). Dentro un contenitore flex un <br> forza comunque un a-capo,
   spingendo l'icona (il primo elemento) su una riga sopra invece di restare centrata accanto
   all'etichetta. Confermato dal vivo rimuovendo il <br> via DOM: l'allineamento torna corretto.
   Non tocchiamo il tema — lo nascondiamo qui, dentro il CSS del plugin che già gestisce questi
   link. */
.woocommerce-MyAccount-navigation li a br{display:none}

/* v1.10.0 — richiesta Luca (screenshot Area Riservata, "metti le icone affianco ai campi"):
   un'icona per voce di menu, disegnata con mask-image così eredita sempre il colore del testo
   del link (grigio-azzurro di riposo, bianco su hover/riga attiva) senza bisogno di due asset
   per stato. Ogni voce imposta solo --sbm-nav-icon (la propria icona SVG inline); la regola
   ::before qui sotto è condivisa da tutte. Il logout usa la stessa tecnica ma via currentColor
   eredita il suo colore corallo dedicato, già impostato sopra. */
.woocommerce-MyAccount-navigation li a::before{
    content:'';
    flex:0 0 18px;
    width:18px;height:18px;
    background-color:currentColor;
    -webkit-mask-image:var(--sbm-nav-icon);mask-image:var(--sbm-nav-icon);
    -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
    -webkit-mask-position:center;mask-position:center;
    -webkit-mask-size:contain;mask-size:contain;
}

/* Buttons — v1.7.4: pillola (999px) e Coral Red, per continuità col pulsante "ISCRIVITI ORA" del
   sito pubblico e col checkout (assets/css/checkout.css usa la stessa coppia di colori). */
/* v1.25.10 — bug reale (Luca, screenshot "Apri scheda" in Atleti): questa regola non aveva mai
   vinto sul serio contro il CSS nativo di WooCommerce. .woocommerce a.button in woocommerce.css ha
   specificità più alta (2 classi + 1 elemento) di questa qui (2 classi) — stesso identico bug già
   trovato e corretto per .woocommerce-Address-title più sotto in questo file (v1.25.9) — quindi
   border-radius:3px e lo sfondo grigio/viola di WooCommerce vincevano sempre, pillola inclusa: la
   regola qui sotto non aveva mai impostato un colore proprio per il caso base (solo .alt ce l'ha,
   due righe sotto), quindi non c'era nulla che rimpiazzasse il grigio di default una volta persa la
   specificità. Corretto con !important (stesso trattamento già in uso per .woocommerce-button.pay/
   view/cancel qui sotto) e un colore esplicito: stesso stile "contorno navy" già usato per
   .woocommerce-button.view (azione secondaria) — coerente col resto della pagina, dato che questi
   pulsanti generici (es. "Apri scheda") sono quasi sempre azioni secondarie, mai quella principale
   di un ordine. .button.alt resta il pulsante pieno/corallo per l'azione principale, invariato. */
.woocommerce-MyAccount-content .button{border-radius:999px!important;font-weight:800;padding:11px 22px;font-size:13.5px;transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 1px 2px rgba(15,31,61,.06);background:#fff!important;border:1px solid var(--sbm-navy)!important;color:var(--sbm-navy)!important}
.woocommerce-MyAccount-content .button:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,31,61,.12);background:#EEF1F6!important}
.woocommerce-MyAccount-content .button.alt{background:var(--sbm-coral)!important;border-color:var(--sbm-coral)!important;color:#fff!important}
.woocommerce-MyAccount-content .button.alt:hover{background:var(--sbm-coral-2)!important;border-color:var(--sbm-coral-2)!important}

/* v1.25.6 — bug segnalato da Luca ("i pulsanti sono appiccicati"): i tre pulsanti azione di un
   ordine (Pagamento/Visualizza/Annulla, resi da WooCommerce come <a class="woocommerce-button
   button pay/view/cancel">) prendevano già la pillola dalla regola .button qui sopra, ma senza
   margine tra un <a> e l'altro restavano attaccati bordo a bordo — e nessuno dei tre porta la
   classe "alt" nativa, quindi avevano anche lo stesso peso visivo, senza far capire qual è
   l'azione principale. Approvato con mockup dedicato (confronto prima/dopo): pieno navy per
   l'azione principale (paga), contorno navy per quella secondaria (visualizza), solo testo
   corallo per quella minore/distruttiva (annulla) — stessa coppia di colori già in uso qui sopra
   per .button.alt, nessun colore nuovo introdotto. */
/* v1.25.12 — segnalato di nuovo da Luca ("i pulsanti in ordini sono troppo vicini"): il margine
   qui sopra in realtà non veniva mai applicato — verificato con gli strumenti del browser che il
   margine calcolato sui pulsanti era 0px. Causa: una regola nativa di WooCommerce
   (".woocommerce a.button" e simili, scritta con :where() per alcune parti ma non per ".woocommerce"
   stesso) ha specificità (0,2,1) — un punto in più della nostra (0,2,0) — quindi vinceva lei e
   azzerava margin-right/margin-bottom. Stesso identico problema già visto e risolto altrove in
   questo file con !important (v.commenti su .button/.button.alt sopra): serve qui allo stesso modo. */
.woocommerce-MyAccount-content .woocommerce-button{margin:0 8px 8px 0!important}
.woocommerce-MyAccount-content .woocommerce-button:last-child{margin-right:0!important}
.woocommerce-MyAccount-content .woocommerce-button.pay{background:var(--sbm-navy)!important;border-color:var(--sbm-navy)!important;color:#fff!important}
.woocommerce-MyAccount-content .woocommerce-button.pay:hover{background:var(--sbm-navy-2)!important;border-color:var(--sbm-navy-2)!important}
.woocommerce-MyAccount-content .woocommerce-button.view{background:#fff!important;border-color:var(--sbm-navy)!important;color:var(--sbm-navy)!important}
.woocommerce-MyAccount-content .woocommerce-button.view:hover{background:#EEF1F6!important}
.woocommerce-MyAccount-content .woocommerce-button.cancel{background:none!important;border-color:transparent!important;color:var(--sbm-coral)!important;box-shadow:none!important;padding-left:6px!important;padding-right:6px!important}
.woocommerce-MyAccount-content .woocommerce-button.cancel:hover{text-decoration:underline;transform:none}

/* Native WooCommerce tables (Ordini, Pagamenti e ricevute) — previously unstyled default WP tables. */
.woocommerce-MyAccount-content table.shop_table,.woocommerce-MyAccount-content table.shop_table_responsive{border:1px solid #e1e5e8;border-radius:14px;overflow:hidden;border-collapse:separate;border-spacing:0}
.woocommerce-MyAccount-content table.shop_table th{background:#F7F8FA;color:#073B78;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.06em;padding:13px 14px;text-align:left;border:0}
.woocommerce-MyAccount-content table.shop_table td{padding:13px 14px;border-top:1px solid #eef1f3;border-left:0;border-right:0;border-bottom:0}
.woocommerce-MyAccount-content table.shop_table tr:last-child td{border-bottom:0}

/* Native WooCommerce forms (Indirizzi, Dettagli account) — previously default browser inputs. */
.woocommerce-MyAccount-content fieldset{border:1px solid #e1e5e8;border-radius:16px;padding:18px;margin:0 0 18px}
.woocommerce-MyAccount-content fieldset legend{font-family:var(--sbm-font-heading);font-weight:700;color:#073B78;padding:0 8px}
.woocommerce-MyAccount-content input[type=text],.woocommerce-MyAccount-content input[type=email],
.woocommerce-MyAccount-content input[type=password],.woocommerce-MyAccount-content input[type=tel],
.woocommerce-MyAccount-content select,.woocommerce-MyAccount-content textarea{
    min-height:46px;border-radius:10px;border:1px solid #c9d0d6;padding:10px 13px;font-family:var(--sbm-font-body);
    transition:border-color .12s ease,box-shadow .12s ease;
}
.woocommerce-MyAccount-content input:focus,.woocommerce-MyAccount-content select:focus,.woocommerce-MyAccount-content textarea:focus{border-color:#073B78;box-shadow:0 0 0 3px rgba(15,31,61,.10);outline:none}
.woocommerce-MyAccount-content label{font-weight:600;color:#2a3846}

/* v1.25.9 — bug reale (Luca, 21/09, audit "guarda tutte le pagine de il mio account"): il link
   "Modifica Indirizzo di.../Aggiungi Indirizzo di..." nella pagina Indirizzi arriva dal tema con
   float:right sul proprio <a>, mentre l'intestazione (h2) qui sopra resta un blocco a piena
   larghezza — il link finisce isolato, ancorato al bordo destro della colonna invece di stare
   vicino al titolo, e con il colore link rosa/rosso di default del tema invece del blu del brand
   usato ovunque nel resto di quest'area. Nessuna regola in questo file toccava finora
   .woocommerce-Address-title — sfuggita al passaggio v0.9.12 che ha sistemato tabelle/form nativi
   qui sopra. Anche qui, come già per il menu di navigazione (v1.10.3 più sopra), il tema inserisce
   un <br> superfluo prima del testo del link: nascosto per coerenza, anche se in questo caso non
   cambiava la posizione (il float sì). */
/* v1.25.9 — .woocommerce-account .addresses .title .edit{float:right} in WooCommerce's PROPRIA
   woocommerce.css ha specificità più alta di un semplice ".woocommerce-Address-title a" (4 classi
   contro 2): senza !important qui il float:right del plugin WooCommerce continua a vincere anche
   dopo questa regola — verificato dal vivo iniettando temporaneamente il CSS e controllando lo
   stile calcolato prima di scriverlo qui. */
.woocommerce-Address-title{margin-bottom:4px}
.woocommerce-Address-title h2{margin:0 0 4px!important}
.woocommerce-Address-title p{margin:0 0 10px}
.woocommerce-Address-title a{float:none!important;display:inline-block!important;color:var(--sbm-blue);font-weight:700;font-size:13.5px;text-decoration:none}
.woocommerce-Address-title a:hover{text-decoration:underline}
.woocommerce-Address-title a br{display:none}

/* v1.7.4 — banner di benvenuto della Bacheca, tinta Sky Blue come nel concept approvato. */
.sbm-welcome-banner{background:linear-gradient(135deg,#E2F5FF,#F6FBFF);border-radius:22px;padding:22px 26px;margin-bottom:20px}
.sbm-welcome-banner h2{margin:0 0 6px!important}
.sbm-welcome-banner p{margin:0;color:#3a4552}

.woocommerce-MyAccount-content .sbm-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.sbm-account-card{border:1px solid #e1e5e8;border-radius:22px;padding:18px;background:#fff;box-shadow:0 10px 26px rgba(7,59,120,.08);margin-bottom:14px;transition:box-shadow .15s ease,transform .15s ease}
.sbm-account-card:hover{box-shadow:0 10px 24px rgba(15,31,61,.10);transform:translateY(-1px)}
.sbm-account-card h3{margin-top:0;color:#073B78;font-size:18px}
.sbm-account-card ul{list-style:none;padding:0;margin:10px 0 16px;display:flex;flex-direction:column;gap:6px}
.sbm-account-card li{font-size:13.5px;color:#425466;padding:7px 11px;background:#F7F8FA;border-radius:8px}
.sbm-account-card li strong{color:#073B78}
.sbm-account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sbm-account-form label{display:flex;flex-direction:column;gap:5px}
.sbm-account-form label span{font-weight:700;color:#073B78}
.sbm-account-form input{min-height:46px;border-radius:10px;border:1px solid #c9d0d6;transition:border-color .12s ease,box-shadow .12s ease}
.sbm-account-form input:focus{border-color:#073B78;box-shadow:0 0 0 3px rgba(15,31,61,.10);outline:none}
.sbm-account-form .button{grid-column:1/-1;justify-self:start;border-radius:999px}
.sbm-certificate-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sbm-mobile-photo{display:flex;flex-direction:column;gap:6px;border:1px dashed #bfc8d0;border-radius:12px;padding:12px;cursor:pointer;transition:border-color .12s ease,background .12s ease}
.sbm-mobile-photo:hover{border-color:#073B78;background:#f4f6f9}
/* v0.9.7: brand navy replaces the generic WP admin blue (#2271b1) used here previously */
.sbm-notification{border-left:4px solid #073B78;padding:14px 16px;background:#fff;border-radius:10px;margin-bottom:10px;box-shadow:0 2px 8px rgba(15,31,61,.05)}
.sbm-notification.is-read{opacity:.65}
/* v1.7.3 — Punto 13: icona+data in testa, distinzione "important"-e-non-letta (resta evidenziata
   finché non viene aperta), pulsante diretto al posto del generico "Apri" testuale. */
.sbm-notification.is-urgent{border-left-color:var(--sbm-coral);background:#FFF1EF;box-shadow:0 2px 10px rgba(255,71,61,.14)}
.sbm-notification-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.sbm-notification-head strong{flex:1 1 auto}
.sbm-notification-icon{font-size:17px;line-height:1}
.sbm-notification-head time{font-size:12px;color:#8894a1;white-space:nowrap}
.sbm-notification-cta{display:inline-block;margin-top:6px;font-weight:700;color:#073B78;text-decoration:none}
.sbm-notification-cta:hover{text-decoration:underline}
.sbm-notification-read-form{margin-top:8px}
/* Badge non lette accanto a "Notifiche" nel menu — iniettato da account.js. */
.sbm-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:8px;border-radius:9px;background:#FFD126;color:#5C4400;font-size:11px;font-weight:800;line-height:1}
.sbm-pref{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:12px 0;border-bottom:1px solid #e8eaec}
.sbm-pref small{grid-column:1/2;color:#667085}
/* v1.25.13 — richiesta Luca ("questo si può migliorare graficamente" sul badge di completezza
   scheda atleta) — mockup approvato ("mi piace la proposta"): icona SVG vera al posto del
   carattere "!"/"✓", pillola su sfondo chiaro con bordo colorato invece del riempimento pieno, più
   il riepilogo "N/M completati" con barra sopra la lista. Stessa palette semantica di sempre
   (giallo = da completare, verde = fatto): .is-complete cambia colore, mai il significato. */
.sbm-completeness-summary{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:12px 14px;background:#F7F8FA;border-radius:12px}
.sbm-completeness-count{font-family:var(--sbm-font-heading);font-weight:600;font-size:19px;color:var(--sbm-navy);white-space:nowrap}
.sbm-completeness-count small{font-family:var(--sbm-font-body);font-weight:700;font-size:11.5px;color:#667085}
.sbm-completeness-track{flex:1;height:7px;border-radius:999px;background:#e1e5e8;overflow:hidden}
.sbm-completeness-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--sbm-blue),var(--sbm-navy))}
.sbm-completeness{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.sbm-completeness li{display:inline-flex;align-items:center;gap:7px;padding:6px 13px 6px 6px;border-radius:999px;background:#fff;border:1.5px solid #f0d98c;color:#3a4552;font-size:13.5px;font-weight:700}
.sbm-completeness li.is-complete{border-color:#bfe4cb}
.sbm-completeness-dot{width:21px;height:21px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:#fff4ce;color:#7a4d00}
.sbm-completeness li.is-complete .sbm-completeness-dot{background:#e7f5eb;color:#176b36}
.sbm-completeness-dot svg{width:12px;height:12px}
.sbm-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;background:#EEF1F6;padding:2px 8px;border-radius:6px}

/* v1.25.16 — mockup approvato ("mi piacciono i mockup"): "Kit e taglie" e "Documenti" in Il mio
   account passavano da un elenco semplice <ul> (stesso identico stile per i due, senza distinzione
   di stato) a una card con riepilogo/progresso e stato colorato per riga — stesso linguaggio
   visivo già di .sbm-account-card/.sbm-completeness-* qui sopra, non uno stile nuovo. */
.sbm-kit-card{border:1px solid #e1e5e8;border-radius:22px;padding:20px 22px;background:#fff;box-shadow:0 10px 26px rgba(7,59,120,.08);margin-bottom:14px}
.sbm-kit-card+.sbm-kit-card{margin-top:0}
.sbm-kit-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.sbm-kit-card-head h4{margin:0 0 3px;font-family:var(--sbm-font-heading);color:var(--sbm-navy);font-size:16px}
.sbm-kit-card-head p{margin:0;font-size:12.5px;color:#7c8aa0}
.sbm-kit-progress{display:flex;align-items:center;gap:10px;min-width:150px}
.sbm-kit-progress-count{font-family:var(--sbm-font-heading);font-weight:600;font-size:16px;color:var(--sbm-navy);white-space:nowrap}
.sbm-kit-progress-count small{font-family:var(--sbm-font-body);font-weight:700;font-size:10.5px;color:#7c8aa0}
.sbm-kit-progress-track{flex:1;height:6px;border-radius:999px;background:#e6eaef;overflow:hidden;min-width:60px}
.sbm-kit-progress-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--sbm-blue),var(--sbm-navy))}
.sbm-kit-item,.sbm-doc-item{display:flex;align-items:center;gap:13px;padding:12px 2px;border-bottom:1px solid #F0F2F5;flex-wrap:wrap}
.sbm-kit-item:last-child,.sbm-doc-item:last-child{border-bottom:none}
.sbm-kit-item-icon,.sbm-doc-item-icon{width:38px;height:38px;border-radius:12px;background:#EEF1F6;display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:17px}
.sbm-kit-item-body,.sbm-doc-item-body{flex:1;min-width:120px}
.sbm-kit-item-body strong,.sbm-doc-item-body strong{display:block;font-size:14px;color:#1d2327;font-weight:700}
.sbm-kit-item-body span,.sbm-doc-item-body span{font-size:12px;color:#8c98ac}
/* v1.26.0 — descrizione facoltativa dell'articolo del kit, solo se compilata (mockup approvato). */
.sbm-kit-item-desc-acc{display:block;font-style:normal;font-size:12.5px;color:#52606d;margin-top:3px;line-height:1.4}
.sbm-kit-item-size{font-family:'Manrope',sans-serif;font-weight:800;font-size:13px;color:var(--sbm-navy);background:#EEF1F6;border-radius:8px;padding:4px 9px;flex:0 0 auto}
.sbm-kit-pill,.sbm-doc-pill{font-family:'Manrope',sans-serif;font-size:11px;font-weight:800;padding:5px 11px;border-radius:999px;flex:0 0 auto;white-space:nowrap}
.sbm-kit-pill.is-done,.sbm-doc-pill.is-valid{background:#e6f4ea;color:#137333}
.sbm-kit-pill.is-pending,.sbm-doc-pill.is-pending{background:#fff4ce;color:#8a5700}
.sbm-doc-pill.is-rejected{background:#fff0ee;color:#b42318}
.sbm-doc-pill.is-expired{background:#f0f1f3;color:#5f6b76}
.sbm-doc-item a.button{flex:0 0 auto;margin:0}

/* v1.0.0 — Punto 3 ("Il mio account" restyle): the 3 group labels account.js inserts before the
   first <li> of each block (I tuoi atleti / Pagamenti / Il tuo account) — same visual language as
   the wp-admin grouped sidebar (assets/css/admin-menu.css). */
.sbm-account-nav-group{padding:14px 14px 4px;margin:0}
.sbm-account-nav-group:first-child{padding-top:2px}
.sbm-account-nav-group span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-weight:800;color:#9FB3D6}

/* Mobile nav toggle — account.js prepends this button and toggles .is-open; hidden entirely at
   desktop widths where the sidebar is always visible as before. */
.sbm-account-nav-toggle{display:none;width:100%;align-items:center;gap:9px;border:1px solid #e1e5e8;border-radius:12px;background:#fff;padding:12px 14px;font-weight:700;font-size:14px;color:#073B78;cursor:pointer}
.sbm-account-nav-toggle span:first-child{font-size:16px;line-height:1}

@media(min-width:781px){.sbm-account-nav-toggle{display:none!important}}

@media(max-width:780px){
    .sbm-account-form{grid-template-columns:1fr}
    .sbm-account-grid{grid-template-columns:1fr}
    .woocommerce-MyAccount-content .sbm-account-grid{grid-template-columns:1fr}
    /* Sidebar becomes a menu a comparsa: collapsed by default, opened by the toggle button above.
       Resta navy anche qui sotto i 780px — prima diventava per errore grigio chiaro solo su mobile. */
    .woocommerce-MyAccount-navigation{background:var(--sbm-navy);padding:8px;border-radius:14px}
    .sbm-account-nav-toggle{display:flex}
    .woocommerce-MyAccount-navigation ul{display:none;flex-direction:column;gap:2px;margin-top:8px}
    .woocommerce-MyAccount-navigation.is-open ul{display:flex}
    .sbm-account-nav-group{padding:10px 10px 2px}

    /* Stacked-card tables: WooCommerce's own Ordini table prints data-title, our own Pagamenti e
       ricevute table prints data-label — both read the same way below. */
    .woocommerce-MyAccount-content table.shop_table_responsive,
    .woocommerce-MyAccount-content table.shop_table_responsive thead,
    .woocommerce-MyAccount-content table.shop_table_responsive tbody,
    .woocommerce-MyAccount-content table.shop_table_responsive tr,
    .woocommerce-MyAccount-content table.shop_table_responsive td{display:block;width:100%}
    .woocommerce-MyAccount-content table.shop_table_responsive thead{position:absolute;left:-9999px;top:-9999px}
    .woocommerce-MyAccount-content table.shop_table_responsive tr{border:1px solid #e1e5e8;border-radius:14px;padding:4px 14px;margin-bottom:12px}
    .woocommerce-MyAccount-content table.shop_table_responsive td{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:right;border-top:1px solid #eef1f3;padding:11px 0}
    .woocommerce-MyAccount-content table.shop_table_responsive tr td:first-child{border-top:0}
    /* v1.25.11 — qui, sotto ~780px, la tabella è già impilata a schede (ogni riga = un blocco):
       il riquadro "Allega ricevuta" resta un blocco singolo come da v1.7.3, invece del layout
       "etichetta/valore" in flex della regola subito sopra (non ha un'etichetta, è testo libero +
       un modulo). Spostato qui da una regola valida a tutte le larghezze — vedi il commento più in
       alto in questo file sul bug che quella versione causava da desktop. */
    .woocommerce-MyAccount-content table.shop_table_responsive .sbm-bank-receipt-row td{display:block}
    .woocommerce-MyAccount-content table.shop_table_responsive td[data-label]::before{content:attr(data-label);font-weight:800;color:#073B78;text-align:left;text-transform:uppercase;font-size:10.5px;letter-spacing:.05em}
    .woocommerce-MyAccount-content table.shop_table_responsive td[data-title]::before{content:attr(data-title);font-weight:800;color:#073B78;text-align:left;text-transform:uppercase;font-size:10.5px;letter-spacing:.05em}
}

/* v1.10.0 — icone sidebar Area Riservata, una per endpoint (vedi regola condivisa sopra). */
.woocommerce-MyAccount-navigation-link--dashboard a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2010.5%2012%204l8%206.5%22/%3E%3Cpath%20d%3D%22M6%209.5V19a1%201%200%200%200%201%201h3v-5h4v5h3a1%201%200%200%200%201-1V9.5%22/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--atleti a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223%22/%3E%3Cpath%20d%3D%22M3.5%2019.5a5.5%205.5%200%200%201%2011%200%22/%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%229%22%20r%3D%222.3%22/%3E%3Cpath%20d%3D%22M15.8%2013.3c2.3.6%203.9%202.5%204.2%205.2%22/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--iscrizioni a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225.5%22%20y%3D%224.5%22%20width%3D%2213%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Crect%20x%3D%229%22%20y%3D%223%22%20width%3D%226%22%20height%3D%223%22%20rx%3D%221%22/%3E%3Cline%20x1%3D%228.5%22%20y1%3D%2210.5%22%20x2%3D%2215.5%22%20y2%3D%2210.5%22/%3E%3Cline%20x1%3D%228.5%22%20y1%3D%2214%22%20x2%3D%2215.5%22%20y2%3D%2214%22/%3E%3Cline%20x1%3D%228.5%22%20y1%3D%2217.5%22%20x2%3D%2213%22%20y2%3D%2217.5%22/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--certificati a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%203.5h7l4%204V19a1.5%201.5%200%200%201-1.5%201.5h-9A1.5%201.5%200%200%201%206%2019V5A1.5%201.5%200%200%201%207%203.5Z%22/%3E%3Cpath%20d%3D%22M14%203.5V8h4.5%22/%3E%3Cpath%20d%3D%22M9%2013.5l2%202%204-4.2%22/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--calendario a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%225.5%22%20width%3D%2216%22%20height%3D%2214.5%22%20rx%3D%222%22/%3E%3Cline%20x1%3D%224%22%20y1%3D%2210%22%20x2%3D%2220%22%20y2%3D%2210%22/%3E%3Cline%20x1%3D%228%22%20y1%3D%223.5%22%20x2%3D%228%22%20y2%3D%227%22/%3E%3Cline%20x1%3D%2216%22%20y1%3D%223.5%22%20x2%3D%2216%22%20y2%3D%227%22/%3E%3Cline%20x1%3D%228%22%20y1%3D%2214%22%20x2%3D%228%22%20y2%3D%2214.01%22/%3E%3Cline%20x1%3D%2212%22%20y1%3D%2214%22%20x2%3D%2212%22%20y2%3D%2214.01%22/%3E%3Cline%20x1%3D%2216%22%20y1%3D%2214%22%20x2%3D%2216%22%20y2%3D%2214.01%22/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--pagamenti-ricevute a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%203.5h12v17l-2.2-1.5-2.1%201.5-2.2-1.5-2.1%201.5-2.2-1.5L6%2020.5Z%22/%3E%3Cline%20x1%3D%228.5%22%20y1%3D%228%22%20x2%3D%2215.5%22%20y2%3D%228%22/%3E%3Cline%20x1%3D%228.5%22%20y1%3D%2211.5%22%20x2%3D%2215.5%22%20y2%3D%2211.5%22/%3E%3Cline%20x1%3D%228.5%22%20y1%3D%2215%22%20x2%3D%2213%22%20y2%3D%2215%22/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--orders a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6.5%208h11l1%2012.5H5.5L6.5%208Z%22/%3E%3Cpath%20d%3D%22M9%208V6.5a3%203%200%200%201%206%200V8%22/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--notifiche a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204.5a5%205%200%200%200-5%205v3.2c0%20.6-.2%201.2-.6%201.7L5%2016.5h14l-1.4-2.1a2.8%202.8%200%200%201-.6-1.7V9.5a5%205%200%200%200-5-5Z%22/%3E%3Cpath%20d%3D%22M10%2019a2%202%200%200%200%204%200%22/%3E%3C/svg%3E")}
/* v1.25.19 — nuovo tab "Preferenze notifiche": mancava la sua regola qui, quindi restava senza
   icona (un quadratino vuoto) — segnalato da Luca subito dopo l'aggiornamento. Icona "sliders" (tre
   cursori), lo stesso simbolo di "preferenze/impostazioni" usato in pressoché ogni app, diverso
   dalla campanella di "Notifiche" e dalla bustina usata invece per l'etichetta "Impostazioni"
   dentro la card (quella resta legata all'email, qui serve un'icona per la voce di menu in sé). */
.woocommerce-MyAccount-navigation-link--preferenze-notifiche a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%224%22%20y1%3D%226%22%20x2%3D%2220%22%20y2%3D%226%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%226%22%20r%3D%222%22/%3E%3Cline%20x1%3D%224%22%20y1%3D%2212%22%20x2%3D%2220%22%20y2%3D%2212%22/%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2212%22%20r%3D%222%22/%3E%3Cline%20x1%3D%224%22%20y1%3D%2218%22%20x2%3D%2220%22%20y2%3D%2218%22/%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2218%22%20r%3D%222%22/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--edit-address a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s7-6.1%207-11.5A7%207%200%200%200%205%209.5C5%2014.9%2012%2021%2012%2021Z%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.5%22%20r%3D%222.3%22/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--payment-methods a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%226%22%20width%3D%2217%22%20height%3D%2212%22%20rx%3D%222%22/%3E%3Cline%20x1%3D%223.5%22%20y1%3D%2210%22%20x2%3D%2220.5%22%20y2%3D%2210%22/%3E%3Cline%20x1%3D%226.5%22%20y1%3D%2214.5%22%20x2%3D%2210.5%22%20y2%3D%2214.5%22/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--edit-account a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229.5%22%20cy%3D%228%22%20r%3D%223.2%22/%3E%3Cpath%20d%3D%22M3.8%2019.8a5.7%205.7%200%200%201%2011.4%200%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2216.5%22%20r%3D%221.6%22/%3E%3Cpath%20d%3D%22M18%2013.7v-.9M18%2020v-.9M20.4%2015l-.8.45M15.6%2018l-.8.45M20.4%2018l-.8-.45M15.6%2015l-.8-.45%22/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--customer-logout a::before{--sbm-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9.5%204.5H6a1.5%201.5%200%200%200-1.5%201.5v12A1.5%201.5%200%200%200%206%2019.5h3.5%22/%3E%3Cpath%20d%3D%22M15%208l4%204-4%204%22/%3E%3Cline%20x1%3D%2219%22%20y1%3D%2212%22%20x2%3D%229%22%20y2%3D%2212%22/%3E%3C/svg%3E")}

/* v1.10.5 — Luca ("le preferenze mail le metterei in una sezione a parte, grafica più in linea al
   sito"), mockup approvato (mockup2/mockup.html): card a parte per "Preferenze email" dentro
   Notifiche, con eyebrow, interruttori a levetta e badge "Sempre attiva" per le preferenze non
   disattivabili (prima: <h3> semplice + checkbox native). Palette identica al resto della pagina —
   nessun nuovo colore introdotto, solo --sbm-navy/--sbm-blue già in uso. */
.sbm-prefs-section{margin-top:30px;border-radius:18px;background:linear-gradient(180deg,#F4F8FF,#fff 55%);border:1px solid #dce7f7;padding:22px 24px 24px}
.sbm-eyebrow{display:flex;align-items:center;gap:8px;color:var(--sbm-blue);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px}
.sbm-eyebrow svg{width:14px;height:14px}
.sbm-prefs-section h3{font-family:var(--sbm-font-heading);color:var(--sbm-navy);font-size:19px;margin:0 0 4px}
.sbm-prefs-sub{margin:0 0 18px;color:#667085;font-size:13.5px;max-width:52ch}
.sbm-pref-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #e3e9f2}
.sbm-pref-row:last-of-type{border-bottom:none}
.sbm-pref-text strong{display:block;font-size:13.8px;color:#1c2b3a;margin-bottom:2px}
.sbm-pref-text small{color:#667085;font-size:12px}
.sbm-pref-locked{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:#8894a1;background:#eef1f6;padding:4px 9px;border-radius:999px;white-space:nowrap;margin-top:1px}
.sbm-pref-locked svg{width:11px;height:11px}
.sbm-switch{position:relative;width:42px;height:24px;flex:0 0 42px;display:inline-block}
.sbm-switch input{opacity:0;width:0;height:0;position:absolute}
.sbm-slider{position:absolute;inset:0;background:#c9d2de;border-radius:999px;cursor:pointer;transition:.15s}
.sbm-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.sbm-switch input:checked+.sbm-slider{background:var(--sbm-blue)}
.sbm-switch input:checked+.sbm-slider::before{transform:translateX(18px)}
.sbm-switch input:disabled+.sbm-slider{background:#dde2e8;cursor:default}
.sbm-switch input:disabled+.sbm-slider::before{background:#f3f4f6}
.sbm-switch input:focus-visible+.sbm-slider{outline:2px solid var(--sbm-blue);outline-offset:2px}
.sbm-prefs-save{margin-top:18px}

/* v1.10.5 — Luca ("grafica più in linea al sito su tutte le sezioni"), audit dal vivo di tutta
   "Il mio account" (mockup2/mockup_wide.html): i 3 punti concreti rimasti "di serie" —
   1) avvisi WooCommerce (conferma email, errori, messaggi salvati): oggi grigio scuro WordPress
   generico, qui recolorati come le nostre notifiche, con barra colorata a sinistra e icona per tipo. */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-info{
    display:flex;gap:11px;align-items:flex-start;padding:13px 16px;margin:0 0 16px;border-radius:12px;
    font-size:13.5px;line-height:1.5;border-left:4px solid;list-style:none;font-family:var(--sbm-font-body);
}
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-MyAccount-content .woocommerce-info::before{content:'';flex:0 0 18px;width:18px;height:18px;margin-top:1px;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Cline%20x1%3D%2212%22%20y1%3D%2211%22%20x2%3D%2212%22%20y2%3D%2216%22/%3E%3Cline%20x1%3D%2212%22%20y1%3D%228%22%20x2%3D%2212%22%20y2%3D%228.01%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Cline%20x1%3D%2212%22%20y1%3D%2211%22%20x2%3D%2212%22%20y2%3D%2216%22/%3E%3Cline%20x1%3D%2212%22%20y1%3D%228%22%20x2%3D%2212%22%20y2%3D%228.01%22/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-message{background:#EAF8F1;border-color:#1a9e6b;color:#0d5c3d}
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-info{background:#EEF5FF;border-color:var(--sbm-blue);color:#0a3a6b}
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-error{background:#FFF1EF;border-color:var(--sbm-coral);color:#8a2a24;flex-direction:column;gap:4px}
.woocommerce-notices-wrapper .woocommerce-error li,
.woocommerce-MyAccount-content .woocommerce-error li{list-style:none;margin:0}
.woocommerce-notices-wrapper .woocommerce-message a,
.woocommerce-notices-wrapper .woocommerce-error a,
.woocommerce-notices-wrapper .woocommerce-info a,
.woocommerce-MyAccount-content .woocommerce-message a,
.woocommerce-MyAccount-content .woocommerce-error a,
.woocommerce-MyAccount-content .woocommerce-info a{color:inherit;font-weight:800;text-decoration:underline}
.woocommerce-notices-wrapper .woocommerce-message .button,
.woocommerce-MyAccount-content .woocommerce-message .button{margin-left:auto}

/* 2) link "#numero ordine" nella tabella Ordini: rosa WooCommerce di serie (#cc3366) sostituito col
   navy del brand — verificato dal vivo su /mio-account/orders/, nessun'altra proprietà della
   tabella toccata (intestazioni e pulsanti erano già a posto). */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a{color:var(--sbm-navy)}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a:hover{color:var(--sbm-blue)}

/* 3) sezioni vuote ("Nessuna iscrizione", "Nessun atleta collegato", "Nessuna notifica"): prima una
   sola riga di testo grigio, ora una card icona+messaggio come nel resto del sito. */
.sbm-empty-state{text-align:center;padding:30px 20px;border:1.5px dashed #d7e0ee;border-radius:16px;background:#FAFBFD}
.sbm-account-grid>.sbm-empty-state{grid-column:1/-1}
.sbm-empty-state .sbm-empty-icon{width:46px;height:46px;border-radius:50%;background:#EEF5FF;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.sbm-empty-state .sbm-empty-icon svg{width:22px;height:22px;color:var(--sbm-blue)}
.sbm-empty-state strong{display:block;color:var(--sbm-navy);font-family:var(--sbm-font-heading);font-size:15px;margin-bottom:4px}
.sbm-empty-state span{color:#667085;font-size:13px}

/* v1.26.0 — Certificati e documenti: sezione "Documento d'identità" accanto al certificato medico
   (mockup approvato da Luca), con il motivo del rifiuto e la ricarica di fronte e retro. */
.sbm-doc-subtitle{font-family:var(--sbm-font-heading);color:var(--sbm-navy);font-size:15px;margin:16px 0 6px}
.sbm-doc-item-body .sbm-doc-reason{display:block;color:#b42318;margin-top:2px}
.sbm-identity-upload{margin-top:10px}
.sbm-identity-upload .sbm-mobile-photo{flex:1 1 160px}

/* v1.30.0 — Accedi / Recupera la password / Controlla la tua email / Scegli la tua password
   (mockup «Accesso e password» approvato da Luca il 29/09). Markup: templates/woocommerce/myaccount/
   (Account\AccessPages). Tutto sotto .sbm-access, così il resto di "Il mio account" non cambia;
   specificità alta sui pulsanti e sui campi perché il tema/Elementor stila button e input globalmente. */
.sbm-access{--a-navy:var(--sbm-navy,#073B78);--a-blue:var(--sbm-blue,#075DBB);--a-coral:var(--sbm-coral,#FF473D);--a-coral-2:var(--sbm-coral-2,#D93B32);--a-ink:#1B2433;--a-muted:#5B6678;--a-line:#E2E7EF;--a-tint:#EEF3FA;display:flex;justify-content:center;padding:28px 0 44px;font-family:var(--sbm-font-body);color:var(--a-ink)}
.sbm-access *{box-sizing:border-box}
.sbm-access .sbm-access-card{width:100%;max-width:440px;background:#fff;border-radius:18px;box-shadow:0 8px 28px rgba(7,59,120,.10);overflow:hidden}
.sbm-access .sbm-access-card::before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--a-navy),var(--a-blue) 60%,var(--a-coral))}
.sbm-access .sbm-access-body{padding:26px 26px 22px}
.sbm-access .sbm-access-eyebrow{display:inline-block;background:var(--a-tint);color:var(--a-navy);font:800 11px/1.4 var(--sbm-font-body);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 10px;margin:0 0 10px}
.sbm-access h2.sbm-access-title{font-family:var(--sbm-font-heading);font-weight:600;color:var(--a-navy);font-size:26px;line-height:1.15;margin:0 0 8px;padding:0;border:0;text-transform:none;letter-spacing:0}
.sbm-access .sbm-access-lead{color:var(--a-muted);margin:0 0 18px;font-size:15px;line-height:1.5}
.sbm-access form.sbm-access-form{margin:0;padding:0;border:0;background:none;box-shadow:none}
.sbm-access form .form-row{width:100%!important;float:none!important;margin:0 0 14px;padding:0}
.sbm-access form .form-row label{display:block;font:800 13px/1.3 var(--sbm-font-body);color:var(--a-ink);margin:0 0 6px}
.sbm-access form .form-row label .required{color:var(--a-coral);text-decoration:none}
.sbm-access form .form-row input.input-text{width:100%;height:48px;border:1.5px solid var(--a-line);border-radius:12px;padding:0 14px;font:600 15px var(--sbm-font-body);color:var(--a-ink);background:#fff;box-shadow:none;margin:0}
.sbm-access form .form-row input.input-text:focus{outline:none;border-color:var(--a-blue);box-shadow:0 0 0 4px rgba(7,93,187,.14)}
.sbm-access form .password-input{display:block;position:relative;width:100%}
.sbm-access form .show-password-input{top:50%;transform:translateY(-50%);right:12px}
.sbm-access form p.sbm-access-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:-2px 0 16px}
.sbm-access form p.sbm-access-row::before,.sbm-access form p.sbm-access-row::after{content:none;display:none}
.sbm-access form p.sbm-access-row label.woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:8px;margin:0;font:700 14px/1.4 var(--sbm-font-body);color:var(--a-muted)}
.sbm-access form p.sbm-access-row input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--a-navy)}
.sbm-access a.sbm-access-link,.sbm-access .sbm-access-links a{color:var(--a-blue);font:800 14px/1.4 var(--sbm-font-body);text-decoration:none}
.sbm-access a.sbm-access-link:hover,.sbm-access .sbm-access-links a:hover{text-decoration:underline}
.sbm-access .sbm-access-links{margin:16px 0 0;text-align:center;font-size:14px;color:var(--a-ink)}
.sbm-access form button.button.sbm-access-btn{display:block;width:100%;height:50px;margin:0;padding:0 18px;border:0;border-radius:999px;background:var(--a-coral);color:#fff;font:700 16px/50px var(--sbm-font-heading);letter-spacing:.02em;text-transform:none;box-shadow:0 4px 0 var(--a-coral-2);cursor:pointer;transition:transform .08s,box-shadow .08s,background .15s}
.sbm-access form button.button.sbm-access-btn:hover{background:var(--a-coral-2);color:#fff}
.sbm-access form button.button.sbm-access-btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--a-coral-2)}
.sbm-access form button.button.sbm-access-btn:focus-visible{outline:3px solid var(--a-blue);outline-offset:3px}
.sbm-access form button.button.sbm-access-btn:disabled{opacity:.55;cursor:not-allowed}
.sbm-access .woocommerce-password-strength{margin:8px 0 4px;padding:6px 10px;border-radius:8px;font:700 12.5px var(--sbm-font-body);text-align:left;border:0}
.sbm-access .woocommerce-password-hint{display:block;margin:0 0 4px;font-size:12.5px;color:var(--a-muted);line-height:1.45}
.sbm-access .sbm-access-ok{width:56px;height:56px;border-radius:50%;background:#E7F6EE;color:#1E7B4A;display:flex;align-items:center;justify-content:center;font:700 28px var(--sbm-font-heading);margin:0 0 12px}
.sbm-access .sbm-access-note{background:#FFF6E5;color:#7A4B00;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45;margin:0 0 6px}
.sbm-access .sbm-access-help{border-top:1px solid var(--a-line);background:#FAFBFD;padding:14px 26px;font-size:13px;color:var(--a-muted);line-height:1.5}
.sbm-access .sbm-access-help strong{color:var(--a-ink)}
.sbm-access .sbm-access-help a{color:var(--a-navy);font-weight:800}
/* Avvisi di WooCommerce (errori di accesso, "password reimpostata") centrati sopra il riquadro. */
body.sbm-access-page .woocommerce>.woocommerce-notices-wrapper,body.sbm-access-page .woocommerce>.woocommerce-error,body.sbm-access-page .woocommerce>.woocommerce-message,body.sbm-access-page .woocommerce>.woocommerce-info{max-width:440px;margin-left:auto;margin-right:auto}
body.sbm-access-page .woocommerce>.woocommerce-notices-wrapper{margin-top:18px;margin-bottom:-12px}
body.sbm-access-page .woocommerce-notices-wrapper ul.woocommerce-error,body.sbm-access-page .woocommerce-notices-wrapper .woocommerce-message,body.sbm-access-page .woocommerce-notices-wrapper .woocommerce-info{border-radius:12px;font-family:var(--sbm-font-body);font-size:14px}
@media (max-width:480px){
  .sbm-access{padding:18px 0 30px}
  .sbm-access .sbm-access-body{padding:22px 20px 20px}
  .sbm-access .sbm-access-help{padding:12px 20px}
  .sbm-access h2.sbm-access-title{font-size:24px}
}

/* v1.30.3 — «Completa l'iscrizione» sulla card del figlio preiscritto nella bacheca (Endpoints::dashboard()).
   Stesso corallo del pulsante «Iscriviti ora»; la card ha il bordo corallo finché l'iscrizione non è fatta. */
.sbm-account-card.is-todo{border-color:#FFC2BD;box-shadow:0 10px 26px rgba(255,71,61,.12)}
.sbm-account-card a.button.sbm-card-cta{display:flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:100%;margin:0;padding:12px 18px!important;border:0!important;border-radius:999px!important;background:var(--sbm-coral,#FF473D)!important;color:#fff!important;font-family:var(--sbm-font-heading);font-weight:700;font-size:15px!important;line-height:1.2;text-decoration:none;box-shadow:0 3px 0 var(--sbm-coral-2,#D93B32)!important}
.sbm-account-card a.button.sbm-card-cta:hover,.sbm-account-card a.button.sbm-card-cta:focus{background:var(--sbm-coral-2,#D93B32)!important;color:#fff!important}
.sbm-account-card a.button.sbm-card-cta:focus-visible{outline:3px solid #075DBB;outline-offset:3px}

/* v1.30.3 — pulsanti della card allineati (segnalato da Luca: "i tasti mi sembrano impaginati male"):
   stessa larghezza, 8px tra l'uno e l'altro, e sempre in fondo alla card così nelle card affiancate
   stanno alla stessa altezza anche se una ha una riga in più. */
.sbm-account-grid .sbm-account-card{display:flex;flex-direction:column}
.sbm-account-card .sbm-card-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.sbm-account-card .sbm-card-actions a.button{box-sizing:border-box;width:100%;margin:0;text-align:center;justify-content:center}
.sbm-account-card .sbm-card-actions a.button.sbm-card-open{display:flex;align-items:center}
