/* L'area personale, la pagina Accedi e le lezioni — vestito «Mercato, con il lilla» */
.sbi-area, .sbi-accesso, .sbi-lezione__su, .sbi-lezione__giu {
	--a-testo: #1F2A22; --a-tenue: #4A5446; --a-linea: #EFE5CF; --a-crema: #FFFBF2; --a-crema-2: #FFF4DC;
	--a-verde: #2E7D4F; --a-verde-scuro: #23613D; --a-verde-tenue: #E7F2EA;
	--a-rosso: #B83A1B; --a-rosso-tenue: #FDE3D9; --a-lilla: #6F69BF;
	color: var(--a-testo);
}
.sbi-area { display: flex; flex-direction: column; gap: 22px; }
.sbi-area h1, .sbi-area h2 { font-family: var(--wp--preset--font-family--bricolage, 'DM Sans', sans-serif); margin: 0; }
.sbi-area__ciao h1 { font-size: clamp(1.8rem, 1.5rem + 1.5vw, 2.4rem); line-height: 1.1; }
.sbi-area__sopra { display: block; font-size: 0.9rem; color: var(--a-tenue); font-weight: 500; margin-bottom: 2px; }

.sbi-area__prodotto {
	background: var(--a-lilla);
	color: #fff;
	border-radius: 22px;
	padding: 22px;
	display: flex; flex-direction: column; gap: 10px;
}
.sbi-area__prodotto h2 { color: #fff; font-size: 1.6rem; line-height: 1.15; }
.sbi-area__prodotto p { margin: 0; opacity: 0.95; }
.sbi-area__etichetta { font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; opacity: 0.9; }
.sbi-area__avanzamento > div:first-child { display: flex; justify-content: space-between; font-size: 0.85rem; font-weight: 600; margin-bottom: 6px; }
.sbi-area__barra { height: 8px; border-radius: 999px; background: rgba(255,255,255,0.28); overflow: hidden; }
.sbi-area__barra span { display: block; height: 100%; border-radius: 999px; background: #fff; }

.sbi-area__azione, .sbi-bottone {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 54px; padding: 0 22px; border: 0; border-radius: 16px;
	background: var(--a-verde, #2E7D4F); color: #fff !important;
	font: inherit; font-weight: 700; font-size: 1.02rem; text-decoration: none !important; cursor: pointer;
	text-align: center;
	box-sizing: border-box;
}
.sbi-area__azione:hover, .sbi-bottone:hover, .sbi-area__azione:focus-visible, .sbi-bottone:focus-visible { background: var(--a-verde-scuro, #23613D); }
.sbi-area__azione { width: 100%; }
.sbi-bottone--piccolo { min-height: 44px; font-size: 0.95rem; padding: 0 16px; margin-top: 8px; }
.sbi-link-bottone { background: none; border: 0; padding: 8px 0; font: inherit; color: var(--a-verde); text-decoration: underline; cursor: pointer; min-height: 44px; }

.sbi-area .sbi-area__titoletto { font-family: inherit !important; font-size: 0.8rem !important; line-height: 1.4 !important; letter-spacing: 0.08em; text-transform: uppercase; color: var(--a-tenue); font-weight: 700; margin: 0 0 10px !important; }
.sbi-area__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.sbi-area__riga {
	display: flex; align-items: center; gap: 14px;
	background: #fff; border: 1px solid var(--a-linea); border-radius: 14px; padding: 14px 16px;
	color: var(--a-testo) !important; text-decoration: none !important;
}
a.sbi-area__riga:hover { border-color: var(--a-verde); }
.sbi-area__tondo {
	width: 38px; height: 38px; flex: none; border-radius: 11px;
	background: var(--a-verde-tenue); color: var(--a-verde);
	display: grid; place-items: center; font-weight: 700;
}
.sbi-area__tondo--rosso { background: var(--a-rosso-tenue); color: var(--a-rosso); }
.sbi-area__tondo--bianco { background: #fff; color: var(--a-tenue); }
.sbi-area__riga.is-letta .sbi-area__tondo { background: var(--a-verde); color: #fff; }
.sbi-area__testo { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.sbi-area__testo b { font-weight: 600; }
.sbi-area__testo > span { font-size: 0.9rem; color: var(--a-tenue); }
.sbi-area__riga-titolo { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--a-testo) !important; }
.sbi-area__chip { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; color: var(--a-rosso); background: var(--a-rosso-tenue); padding: 2px 8px; border-radius: 999px; }

.sbi-area__griglia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 782px) { .sbi-area__griglia { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sbi-area__strumento {
	display: flex; flex-direction: column; gap: 10px; min-height: 118px;
	background: #fff; border: 1px solid var(--a-linea); border-radius: 14px; padding: 14px;
	color: var(--a-testo) !important; text-decoration: none !important;
}
a.sbi-area__strumento:hover { border-color: var(--a-verde); }
.sbi-area__strumento b { font-weight: 600; line-height: 1.25; }
.sbi-area__icona { width: 38px; height: 38px; border-radius: 11px; background: var(--a-verde-tenue); color: var(--a-verde); display: grid; place-items: center; }
.is-in-arrivo { opacity: 0.75; }
.sbi-area__presto { margin-top: auto; font-size: 0.75rem; font-weight: 700; color: var(--a-tenue); text-transform: uppercase; letter-spacing: 0.06em; }

.sbi-area__club {
	display: flex; align-items: flex-start; gap: 14px;
	background: #F3ECDD; border: 1px dashed #D8CCAE; border-radius: 14px; padding: 16px;
}
.sbi-area__club form { margin: 0; }
.sbi-area__fatto { color: var(--a-verde) !important; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
.sbi-area__avvertenza, .sbi-area__nota { font-size: 0.85rem; color: var(--a-tenue); margin: 0; }
.sbi-area__vuota { background: #fff; border: 1px solid var(--a-linea); border-radius: 20px; padding: 24px; }
.sbi-area__vuota h2 { font-size: 1.4rem; margin-bottom: 8px; }

.sbi-avviso { margin: 0 0 14px; padding: 12px 16px; border-radius: 12px; background: #FFF4DC; border: 1px solid #F6D9A8; font-size: 0.95rem; }
.sbi-avviso--errore { background: var(--a-rosso-tenue, #FDE3D9); border-color: #F3C2B0; color: #7A2612; }
.sbi-avviso--ok { background: #E7F2EA; border-color: #BFDCC8; color: #1E5534; }

/* Accedi */
.sbi-accesso { max-width: 440px; }
.sbi-modulo { background: #fff; border: 1px solid var(--a-linea); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.sbi-modulo label { font-weight: 600; }
.sbi-modulo input[type=text], .sbi-modulo input[type=password], .sbi-modulo input[type=email] {
	min-height: 48px; border: 1px solid #E3D8BF; border-radius: 12px; padding: 0 14px;
	font: inherit; font-size: 16px; background: #FFFEFC; color: var(--a-testo); margin-bottom: 8px;
}
.sbi-modulo input:focus { outline: 2px solid var(--a-verde); outline-offset: 1px; }
.sbi-modulo__casella { display: flex; align-items: center; gap: 8px; font-weight: 500 !important; font-size: 0.95rem; min-height: 44px; }
.sbi-modulo__casella input { width: 20px; height: 20px; accent-color: var(--a-verde); }
.sbi-modulo .sbi-bottone { margin-top: 6px; width: 100%; }
.sbi-accesso__dimenticata { margin: 14px 0 0; text-align: center; }
.sbi-accesso__dimenticata a { color: var(--a-verde); font-weight: 600; }
.sbi-accesso__non-hai { margin-top: 18px; padding: 16px; border-radius: 14px; border: 1px dashed #D6CCBE; display: flex; flex-direction: column; gap: 4px; font-size: 0.95rem; }
.sbi-accesso__non-hai span { color: var(--a-tenue); }
.sbi-accesso__non-hai a { color: var(--a-verde); font-weight: 700; }

/* Lezione */
.sbi-lezione__su { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 0.95rem; }
.sbi-lezione__su a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--a-verde); font-weight: 600; text-decoration: none; }
.sbi-lezione__su span { color: var(--a-tenue); }
.sbi-lezione__giu { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--a-linea); display: flex; flex-direction: column; gap: 10px; }
.sbi-lezione__giu form { margin: 0; }
.sbi-lezione__giu .sbi-bottone { width: 100%; }

/* Accedi è una pagina della «casa»: bottone lilla, come nel prototipo */
.sbi-accesso { --a-verde: #6F69BF; --a-verde-scuro: #57519F; }
.sbi-accesso__dimenticata a, .sbi-accesso__non-hai a { color: #5A55B8; }

/* Il bottone «Lo voglio» */
.sbi-compra { display: flex; flex-direction: column; align-items: center; gap: 12px; margin: 0.5rem 0 0; }
.sbi-compra .sbi-avviso { width: 100%; max-width: 420px; box-sizing: border-box; }
.sbi-compra__bottone { width: 100%; max-width: 420px; }
.sbi-compra__sicuro { margin: 0; font-size: 0.85rem; color: #4A5446; }
.sbi-compra__sicuro a { color: inherit; }

/* Dopo il pagamento */
.sbi-benvenuto { display: flex; flex-direction: column; gap: 12px; }
.sbi-benvenuto h2 { font-family: var(--wp--preset--font-family--bricolage, 'DM Sans', sans-serif); margin: 0; font-size: 1.9rem; line-height: 1.15; }
.sbi-benvenuto > p { margin: 0; color: #4A5446; }
.sbi-benvenuto__spunta { width: 52px; height: 52px; border-radius: 999px; background: #E7F2EA; color: #2E7D4F; display: grid; place-items: center; }
.sbi-benvenuto__spunta svg { width: 26px; height: 26px; }
.sbi-benvenuto .sbi-modulo h3 { margin: 0 0 6px; font-size: 1.1rem; }
.sbi-benvenuto .sbi-modulo input[readonly] { background: #FFFBF2; color: #4A5446; }
.sbi-benvenuto .sbi-accesso__non-hai { gap: 6px; }
.sbi-benvenuto { --a-verde: #2E7D4F; --a-verde-scuro: #23613D; }
.sbi-benvenuto .sbi-accesso__non-hai a { color: #2E7D4F; }

/* Scegliere la password: barretta che si colora e regole che si spuntano */
.sbi-pass { position: relative; display: flex; }
.sbi-pass input { flex: 1; padding-right: 52px !important; margin-bottom: 0 !important; }
.sbi-pass__mostra {
	position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
	border: 0; background: transparent; color: #4A5446; padding: 0; width: 44px; height: 44px;
	display: grid; place-items: center; cursor: pointer; border-radius: 10px;
}
.sbi-pass__mostra:hover { color: #2E7D4F; }
.sbi-pass__mostra:focus-visible { outline: 2px solid #2E7D4F; }
.sbi-pass__mostra .sbi-occhio-chiuso { display: none; }
.sbi-pass__mostra[aria-pressed="true"] .sbi-occhio-aperto { display: none; }
.sbi-pass__mostra[aria-pressed="true"] .sbi-occhio-chiuso { display: block; }
.sbi-pass__barra { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 4px; }
.sbi-pass__barra span { height: 6px; border-radius: 99px; background: #E6E2D6; transition: background .2s; }
.sbi-pass__giudizio { margin: 0; min-height: 1.3em; font-size: 0.9rem; font-weight: 600; }
.sbi-pass__regole { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 0.92rem; color: #4A5446; }
.sbi-pass__regole li { display: flex; align-items: center; gap: 8px; }
.sbi-pass__regole li::before {
	content: ""; width: 18px; height: 18px; flex: none; border-radius: 99px; border: 2px solid #C9C3B3; box-sizing: border-box;
}
.sbi-pass__regole li.ok { color: #1F6B3F; }
.sbi-pass__regole li.ok::before {
	border-color: #2E7D4F; background: #2E7D4F url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;
}
.sbi-pass__uguali { margin: 0; min-height: 1.3em; font-size: 0.9rem; font-weight: 600; }
.sbi-pass__regole { margin-bottom: 6px !important; }
.sbi-modulo .sbi-bottone:disabled { opacity: .45; cursor: not-allowed; }

/* In fondo all'area: risorse gratuite, scopri anche, newsletter */
.sbi-area__tondo--lilla { background: #ECEBFA; color: var(--a-lilla); }
.sbi-area__vai { flex: none; color: var(--a-tenue); display: grid; place-items: center; }
a.sbi-area__riga:hover .sbi-area__vai { color: var(--a-verde); }
.sbi-area__newsletter {
	background: #ECEBFA; border-radius: 22px; padding: 22px;
	display: flex; flex-direction: column; gap: 10px; align-items: flex-start;
}
.sbi-area__newsletter .sbi-area__etichetta { color: var(--a-lilla); opacity: 1; }
.sbi-area__newsletter h2 { font-size: 1.35rem; line-height: 1.2; }
.sbi-area__newsletter p { margin: 0; color: var(--a-tenue); }
.sbi-area__newsletter form { margin: 0; }
.sbi-area__newsletter .sbi-link-bottone { color: var(--a-tenue); font-size: 0.9rem; }

/* La casa dell'area: profilo e prodotti */
.sbi-profilo {
	display: flex; align-items: center; gap: 14px;
	background: #fff; border: 1px solid var(--a-linea); border-radius: 16px; padding: 16px;
}
.sbi-profilo__iniziale {
	width: 48px; height: 48px; flex: none; border-radius: 999px;
	background: #ECEBFA; color: var(--a-lilla); display: grid; place-items: center;
	font-weight: 700; font-size: 1.25rem;
}
.sbi-profilo .sbi-area__testo span { overflow-wrap: anywhere; }
.sbi-profilo__azioni { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 8px; padding: 0 4px; }
.sbi-profilo__azioni a { color: var(--a-verde); font-weight: 600; font-size: 0.95rem; min-height: 40px; display: inline-flex; align-items: center; }

.sbi-prodotti { display: grid; gap: 12px; }
@media (min-width: 700px) { .sbi-prodotti { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sbi-prodotto {
	display: flex; flex-direction: column; gap: 8px; min-height: 170px;
	border-radius: 20px; padding: 18px; text-decoration: none !important; box-sizing: border-box;
}
.sbi-prodotto__chip {
	align-self: flex-start; display: inline-flex; align-items: center; gap: 5px;
	font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
	padding: 3px 10px; border-radius: 999px;
}
.sbi-prodotto__chip svg { width: 13px; height: 13px; }
.sbi-prodotto__nome { font-family: var(--wp--preset--font-family--bricolage, 'DM Sans', sans-serif); font-size: 1.3rem; line-height: 1.15; }
.sbi-prodotto__testo { font-size: 0.95rem; }
.sbi-prodotto__vai { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.sbi-prodotto__av { display: flex; flex-direction: column; gap: 6px; font-size: 0.85rem; font-weight: 600; }

/* il mio: a colori */
.sbi-prodotto.is-mio { background: var(--a-lilla); color: #fff !important; }
.sbi-prodotto.is-mio .sbi-prodotto__chip { background: #fff; color: var(--a-lilla); }
.sbi-prodotto.is-mio .sbi-prodotto__testo { opacity: 0.95; }
.sbi-prodotto.is-mio:hover { background: #5E58AE; }
/* non ancora mio: sbiadito, con il lucchetto */
.sbi-prodotto.is-chiuso { background: #F4F2EC; color: #6B6F68 !important; border: 1px solid #E6E1D4; }
.sbi-prodotto.is-chiuso .sbi-prodotto__chip { background: #E6E1D4; color: #5A5E57; }
.sbi-prodotto.is-chiuso .sbi-prodotto__nome { color: #4E534B; }
.sbi-prodotto.is-chiuso:hover { border-color: var(--a-verde); }
.sbi-prodotto.is-chiuso .sbi-prodotto__vai { color: var(--a-verde); }
/* in arrivo */
.sbi-prodotto.is-arrivo { background: transparent; border: 1px dashed #D8CCAE; color: var(--a-tenue); min-height: 120px; }
.sbi-prodotto.is-arrivo .sbi-prodotto__chip { background: #F3ECDD; color: var(--a-tenue); }
.sbi-prodotto.is-arrivo .sbi-prodotto__nome { font-size: 1.1rem; color: var(--a-testo); }

/* La casa dell'area (/area/) ha i colori del sito, non quelli del prodotto */
.sbi-area--casa {
	--a-testo: #2A2740; --a-tenue: #4A4660; --a-linea: #EDE6DB; --a-crema: #FBF8F3;
	--a-verde: #6F69BF; --a-verde-scuro: #57519F; --a-verde-tenue: #F1EFFC; --a-lilla: #6F69BF;
	padding-top: var(--wp--preset--spacing--50, 2.5rem); padding-bottom: var(--wp--preset--spacing--60, 4rem);
}
.sbi-area--casa h1, .sbi-area--casa h2, .sbi-area--casa .sbi-prodotto__nome { font-family: var(--wp--preset--font-family--fraunces, Georgia, serif); font-weight: 600; letter-spacing: -0.01em; }
.sbi-area--casa .sbi-area__titoletto { font-family: inherit !important; font-weight: 700; }
.sbi-area--casa .sbi-profilo__iniziale, .sbi-area--casa .sbi-area__tondo--lilla { background: #F1EFFC; }
.sbi-area--casa .sbi-prodotto.is-chiuso { background: #F6F3EE; border-color: #EDE6DB; color: #625E70 !important; }
.sbi-area--casa .sbi-prodotto.is-chiuso .sbi-prodotto__chip { background: #EDE6DB; color: #4A4660; }
.sbi-area--casa .sbi-prodotto.is-chiuso .sbi-prodotto__nome { color: #4A4660; }
.sbi-area--casa .sbi-prodotto.is-arrivo { border-color: #DCD2E8; }
.sbi-area--casa .sbi-prodotto.is-arrivo .sbi-prodotto__chip { background: #F1EFFC; color: #57519F; }
.sbi-area--casa .sbi-area__newsletter { background: linear-gradient(135deg, #F1EFFC 0%, #FBEFF8 100%); align-items: center; text-align: center; }
.sbi-area--casa .sbi-area__newsletter h2 { font-size: 1.3rem; max-width: 26ch; }
.sbi-area--casa .sbi-area__newsletter .sbi-bottone { min-width: 200px; }
.sbi-area--casa .sbi-area__nota a { color: #5A55B8; }

/* ===== Prepara la spesa ===== */
.sbi-spesa .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sbi-spesa__testa h1 { font-family: var(--wp--preset--font-family--bricolage, 'DM Sans', sans-serif); font-size: clamp(1.9rem, 1.5rem + 1.6vw, 2.5rem); line-height: 1.1; margin: 0 0 6px; }
.sbi-spesa__testa .sbi-evidenzia { background: linear-gradient(transparent 58%, #F6C744 58%); color: inherit; padding: 0; }
.sbi-spesa__testa p { margin: 0; color: var(--a-tenue); }
.sbi-spesa__passi { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; font-size: 0.8rem; font-weight: 600; }
.sbi-spesa__passi li { background: var(--a-verde-tenue); color: var(--a-verde); border-radius: 10px; padding: 8px 10px; }
.sbi-spesa__passi li.is-fatto { background: var(--a-verde); color: #fff; }

.sbi-spesa__salvati, .sbi-spesa__modulo, .sbi-spesa__pronto { background: #fff; border: 1px solid var(--a-linea); border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.sbi-spesa__salvati { border: 2px solid var(--a-verde); }
.sbi-spesa__salvati-testa { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.sbi-spesa__salvati h2, .sbi-spesa__pronto h2 { font-family: inherit !important; font-size: 1rem !important; font-weight: 700; margin: 0; }
.sbi-area__chip--verde { color: var(--a-verde); background: var(--a-verde-tenue); }
.sbi-spesa__riga { display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--a-verde-tenue); padding-top: 8px; }
.sbi-spesa__riga > span { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.sbi-spesa__riga small { font-size: 0.78rem; color: var(--a-tenue); }
.sbi-spesa__riga b { font-weight: 600; font-size: 0.95rem; overflow-wrap: anywhere; }
.sbi-spesa__riga a { flex: none; min-height: 40px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: 10px; border: 1px solid #E3D8BF; color: var(--a-verde); font-weight: 600; font-size: 0.85rem; text-decoration: none; }
.sbi-spesa__riga a:hover { border-color: var(--a-verde); }

.sbi-spesa__modulo { gap: 22px; }
.sbi-spesa__sopra { font-size: 0.78rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; color: var(--a-tenue); }
.sbi-domanda { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; scroll-margin-top: 90px; }
.sbi-domanda legend, .sbi-domanda > label, .sbi-domanda--gusti label { font-weight: 600; padding: 0; margin-bottom: 4px; }
.sbi-domanda__piano { font-weight: 400; color: var(--a-tenue); }
.sbi-domanda__gruppo { font-size: 0.75rem; font-weight: 700; color: var(--a-tenue); text-transform: uppercase; letter-spacing: .06em; margin-top: 2px; }
.sbi-domanda__sotto { margin-top: 8px; }
.sbi-domanda__aiuto { margin: 0; font-size: 0.82rem; color: var(--a-tenue); }
.sbi-domanda input[type=text], .sbi-domanda textarea {
	width: 100%; box-sizing: border-box; min-height: 46px; border: 1px solid #E3D8BF; border-radius: 12px; padding: 10px 12px;
	font: inherit; font-size: 1rem; color: var(--a-testo); background: #FFFDF7;
}
.sbi-domanda textarea { resize: vertical; background: #fff; }
.sbi-domanda input:focus, .sbi-domanda textarea:focus { outline: 2px solid var(--a-verde); outline-offset: 1px; }
.sbi-domanda--gusti { background: var(--a-crema); border-radius: 14px; padding: 14px; }
.sbi-domanda--gusti b { font-weight: 700; }
.sbi-domanda--gusti p { margin-top: 2px; }

.sbi-scelte { display: flex; flex-wrap: wrap; gap: 8px; }
.sbi-scelta { position: relative; display: inline-flex; }
.sbi-scelta input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sbi-scelta span {
	display: inline-flex; align-items: center; min-height: 42px; padding: 0 14px; border-radius: 999px;
	border: 1px solid #E3D8BF; background: #fff; color: var(--a-testo); font-weight: 500; font-size: 0.95rem; cursor: pointer; user-select: none;
}
.sbi-scelta input[type=radio] + span { border-radius: 12px; font-weight: 600; }
.sbi-scelta input:checked + span { background: var(--a-verde); border-color: var(--a-verde); color: #fff; }
.sbi-scelta input:focus-visible + span { outline: 2px solid var(--a-verde); outline-offset: 2px; }
.sbi-scelta span:hover { border-color: var(--a-verde); }

.sbi-contatore { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sbi-contatore label { display: flex; flex-direction: column; font-weight: 400; margin: 0; }
.sbi-contatore label b { font-weight: 600; }
.sbi-contatore label span { font-size: 0.8rem; color: var(--a-tenue); }
.sbi-contatore__tasti { display: flex; align-items: center; gap: 8px; flex: none; }
.sbi-contatore__tasti button { width: 44px; height: 44px; border-radius: 12px; border: 1px solid #E3D8BF; background: #fff; color: var(--a-testo); font: inherit; font-weight: 700; font-size: 1.25rem; cursor: pointer; }
.sbi-contatore__piu { background: var(--a-verde) !important; border-color: var(--a-verde) !important; color: #fff !important; }
.sbi-contatore input { width: 44px; text-align: center; border: 0; background: transparent; font-family: var(--wp--preset--font-family--bricolage, 'DM Sans', sans-serif); font-weight: 800; font-size: 1.35rem; color: var(--a-testo); -moz-appearance: textfield; }
.sbi-contatore input::-webkit-outer-spin-button, .sbi-contatore input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.sbi-spesa__modulo .sbi-bottone { width: 100%; }
.sbi-spesa__annulla { text-align: center; color: var(--a-tenue) !important; font-size: 0.9rem; }

.sbi-spesa__pronto { border: 2px solid var(--a-verde); scroll-margin-top: 80px; }
.sbi-spesa__pronto:focus { outline: none; }
.sbi-spesa__pronto h2 { color: var(--a-verde); display: flex; align-items: center; gap: 8px; }
.sbi-spesa__testo { width: 100%; box-sizing: border-box; border: 0; border-radius: 12px; padding: 12px; background: var(--a-crema); color: #3E473A; font: inherit; font-size: 0.85rem; line-height: 1.5; resize: vertical; min-height: 220px; }
.sbi-spesa__copiato { margin: 0; min-height: 1.2em; font-size: 0.9rem; font-weight: 600; color: var(--a-verde); }
.sbi-spesa__poi { margin: 0; font-weight: 600; }
.sbi-spesa__ai { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.sbi-spesa__ai a { display: grid; place-items: center; min-height: 46px; border-radius: 12px; border: 1px solid #E3D8BF; font-weight: 600; font-size: 0.95rem; color: var(--a-testo) !important; text-decoration: none; }
.sbi-spesa__ai a:hover { border-color: var(--a-verde); }
.sbi-spesa__nota { margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--a-verde-tenue); font-size: 0.9rem; }

.sbi-spesa__intro { margin: 0 0 10px; font-size: 0.95rem; color: var(--a-tenue); }
.sbi-pronto { background: #fff; border: 1px solid var(--a-linea); border-radius: 14px; margin-bottom: 8px; }
.sbi-pronto summary { min-height: 50px; display: flex; align-items: center; padding: 0 16px; font-weight: 600; cursor: pointer; list-style: none; }
.sbi-pronto summary::-webkit-details-marker { display: none; }
.sbi-pronto summary::after { content: "+"; margin-left: auto; font-size: 1.3rem; color: var(--a-verde); }
.sbi-pronto[open] summary::after { content: "−"; }
.sbi-pronto__dentro { padding: 0 16px 16px; display: flex; flex-direction: column; gap: 8px; }
.sbi-pronto__dentro label { font-weight: 600; font-size: 0.9rem; }
.sbi-pronto__x { min-height: 44px; border: 1px solid #E3D8BF; border-radius: 12px; padding: 0 12px; font: inherit; background: #FFFDF7; }
.sbi-pronto__testo { margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--a-crema); font-size: 0.88rem; color: #3E473A; }
.sbi-pronto .sbi-bottone--piccolo { margin-top: 0; align-self: flex-start; }
.sbi-spesa__rifai { margin-top: 10px !important; }
.sbi-casa { display: inline-flex; align-items: center; gap: 6px; }
.sbi-domanda .sbi-casa input.sbi-casa__quanto { display: none; width: 100px; min-height: 42px; padding: 0 10px; border: 1px solid var(--a-verde); border-radius: 12px; font: inherit; font-size: 0.95rem; background: #fff; color: var(--a-testo); box-sizing: border-box; }
.sbi-domanda .sbi-casa:has(input:checked) input.sbi-casa__quanto { display: block; }
.sbi-casa .sbi-casa__quanto:focus { outline: 2px solid var(--a-verde); outline-offset: 1px; }

/* ------------------------------------------------------------------ */
/* L'assistente della spesa (attrezzi 0.8.0)                           */
/* ------------------------------------------------------------------ */
.sbi-bottone.sbi-bottone--chiaro { background: var(--a-verde-tenue, #E7F2EA); color: var(--a-verde-scuro, #23613D) !important; border: 1.5px dashed var(--a-verde); }
.sbi-volantino__foto:hover .sbi-bottone--chiaro { background: #d9ecdf; }
.sbi-volantino { background: var(--a-crema, #FFFBF2); border-radius: 14px; padding: 14px; border: 1px solid var(--a-linea); }
.sbi-volantino__foto { display: inline-flex; cursor: pointer; position: relative; }
.sbi-volantino__foto input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sbi-volantino__foto input:focus-visible + span { outline: 2px solid var(--a-verde); outline-offset: 2px; }
.sbi-volantino__scelte { margin: 4px 0 0; font-weight: 600; color: var(--a-verde-scuro, #23613D); min-height: 1.2em; }
.sbi-volantino textarea { width: 100%; box-sizing: border-box; }
.sbi-ai__via { width: 100%; }
.sbi-ai__quanti { text-align: center; margin: 0; }
.sbi-ai__testo { align-self: center; font-size: 0.92rem; }
.sbi-spesa__torna { margin: 0; }

.sbi-attesa { background: #fff; border: 1px solid var(--a-linea); border-radius: 18px; padding: 28px 20px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.sbi-attesa h2 { font-size: 1.4rem; }
.sbi-attesa p { margin: 0; max-width: 34em; }
.sbi-attesa__frase { font-weight: 500; min-height: 3em; }
.sbi-attesa__giro { width: 44px; height: 44px; border-radius: 50%; border: 4px solid var(--a-verde-tenue, #E7F2EA); border-top-color: var(--a-verde); animation: sbi-giro 0.9s linear infinite; }
@keyframes sbi-giro { to { transform: rotate(360deg); } }
.sbi-attesa__frase { transition: opacity .4s; }
.sbi-attesa__frase.is-cambia { opacity: 0; }
/* Il carrello che si riempie */
.sbi-carrello { position: relative; width: 120px; height: 100px; }
.sbi-carrello__cesto { position: absolute; bottom: 0; left: 50%; font-size: 58px; line-height: 1; transform: translateX(-50%); transform-origin: 50% 90%; animation: sbi-dondola 1.4s ease-in-out infinite; }
.sbi-carrello__cose i { position: absolute; top: 0; left: 50%; font-style: normal; font-size: 24px; line-height: 1; opacity: 0; animation: sbi-cade 3s ease-in infinite; }
.sbi-carrello__cose i:nth-child(1) { margin-left: -26px; animation-delay: 0s; }
.sbi-carrello__cose i:nth-child(2) { margin-left: -6px; animation-delay: .5s; }
.sbi-carrello__cose i:nth-child(3) { margin-left: 12px; animation-delay: 1s; }
.sbi-carrello__cose i:nth-child(4) { margin-left: -16px; animation-delay: 1.5s; }
.sbi-carrello__cose i:nth-child(5) { margin-left: 4px; animation-delay: 2s; }
.sbi-carrello__cose i:nth-child(6) { margin-left: -8px; animation-delay: 2.5s; }
@keyframes sbi-cade {
	0% { transform: translate(-50%, -14px) rotate(-12deg); opacity: 0; }
	15% { opacity: 1; }
	65% { transform: translate(-50%, 44px) rotate(10deg); opacity: 1; }
	80%, 100% { transform: translate(-50%, 50px) rotate(10deg); opacity: 0; }
}
@keyframes sbi-dondola { 0%, 100% { transform: translateX(-50%) rotate(-4deg); } 50% { transform: translateX(-50%) rotate(4deg); } }
.sbi-attesa__barra { width: 100%; max-width: 320px; height: 8px; border-radius: 999px; background: var(--a-verde-tenue, #E7F2EA); overflow: hidden; margin: 4px 0 6px; }
.sbi-attesa__barra span { display: block; height: 100%; width: 3%; border-radius: inherit; background: var(--a-verde); transition: width .9s linear; }
@media (prefers-reduced-motion: reduce) {
	.sbi-carrello__cose i { animation: none; }
	.sbi-carrello__cesto { animation: none; }
}

.sbi-piano { display: flex; flex-direction: column; gap: 18px; }
.sbi-piano__testa { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.sbi-piano__testa h2 { font-size: clamp(1.5rem, 1.3rem + 1vw, 2rem); }
.sbi-piano__quando, .sbi-piano__ultima { margin: 0; color: var(--a-tenue); font-size: 0.92rem; }
.sbi-piano__testo { background: #fff; border: 1px solid var(--a-linea); border-radius: 18px; padding: 6px 18px 16px; line-height: 1.55; overflow-wrap: anywhere; }
.sbi-piano__testo h2, .sbi-piano__testo h3 { font-size: 1.15rem; margin: 18px 0 6px; font-family: var(--wp--preset--font-family--bricolage, 'DM Sans', sans-serif); }
.sbi-piano__testo h4 { font-size: 1rem; margin: 14px 0 4px; }
.sbi-piano__testo p { margin: 6px 0; }
.sbi-piano__testo ul, .sbi-piano__testo ol { margin: 6px 0; padding-left: 1.3em; }
.sbi-piano__tabella { overflow-x: auto; margin: 8px -6px; }
.sbi-piano__tabella table { border-collapse: collapse; width: 100%; font-size: 0.9rem; }
.sbi-piano__tabella th { text-align: left; background: var(--a-verde-tenue, #E7F2EA); font-weight: 700; }
.sbi-piano__tabella th, .sbi-piano__tabella td { padding: 7px 8px; border-bottom: 1px solid var(--a-linea); vertical-align: top; }

.sbi-lista, .sbi-ricette, .sbi-cambia { background: #fff; border: 1px solid var(--a-linea); border-radius: 18px; padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }
.sbi-lista h3, .sbi-ricette h3, .sbi-cambia h3 { margin: 0; font-size: 1.2rem; font-family: var(--wp--preset--font-family--bricolage, 'DM Sans', sans-serif); }
.sbi-lista__testa { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.sbi-lista__conta { font-size: 0.9rem; font-weight: 600; color: var(--a-verde-scuro, #23613D); }
.sbi-lista__negozio h4 { margin: 10px 0 2px; font-size: 1.05rem; color: var(--a-verde-scuro, #23613D); }
.sbi-lista__reparto { margin: 8px 0 2px; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; color: var(--a-tenue); }
.sbi-lista ul { list-style: none; margin: 0; padding: 0; }
.sbi-lista li { border-bottom: 1px solid var(--a-linea); }
.sbi-lista__riga { display: flex; align-items: center; gap: 12px; padding: 9px 2px; min-height: 44px; cursor: pointer; }
.sbi-lista__riga input { width: 24px; height: 24px; flex: none; accent-color: var(--a-verde); }
.sbi-lista__cosa { flex: 1; display: flex; flex-direction: column; }
.sbi-lista__cosa small { color: var(--a-tenue); font-size: 0.85rem; }
.sbi-lista__prezzo { font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
.sbi-lista__offerta { color: #C98A00; }
.sbi-lista__riga:has(input:checked) .sbi-lista__cosa { text-decoration: line-through; opacity: 0.55; }

.sbi-ricetta form { margin: 0; }
.sbi-ricetta__chiedi { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 10px; text-align: left; background: var(--a-crema, #FFFBF2); border: 1px solid var(--a-linea); border-radius: 12px; padding: 10px 14px; min-height: 48px; font: inherit; color: inherit; cursor: pointer; }
.sbi-ricetta__chiedi:hover, .sbi-ricetta__chiedi:focus-visible { border-color: var(--a-verde); }
.sbi-ricetta__chiedi small { color: var(--a-verde-scuro, #23613D); font-weight: 600; white-space: nowrap; }
.sbi-ricetta__chiedi:disabled { opacity: 0.6; cursor: wait; }
.sbi-ricetta__nome { margin: 0; padding: 8px 0; }
.sbi-ricetta details { border: 1px solid var(--a-linea); border-radius: 12px; padding: 10px 14px; }
.sbi-ricetta summary { font-weight: 700; cursor: pointer; }
.sbi-ricetta .sbi-piano__testo { border: 0; padding: 0; }

.sbi-cambia__modulo { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.sbi-cambia__modulo input[type=text] { width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid var(--a-linea); border-radius: 12px; font: inherit; background: #fff; }
.sbi-cambia__modulo input[type=text]:focus { outline: 2px solid var(--a-verde); outline-offset: 1px; }
.sbi-cambia__chiede { font-weight: 600; }

.sbi-piano__azioni { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.sbi-piano__vecchi summary { cursor: pointer; font-weight: 600; }
.sbi-piano__vecchi ul { margin: 6px 0 0; padding-left: 1.2em; }
.sbi-piano__vecchi a[aria-current] { font-weight: 700; }
.sbi-piano__nota { margin: 0; font-size: 0.85rem; color: var(--a-tenue); }

@media print {
	.sbi-cambia, .sbi-piano__azioni, .sbi-piano__vecchi, .sbi-ricetta form, .sbi-lezione__su, .sbi-spesa__passi, .sbi-spesa__testa, .sbi-area__avvertenza { display: none !important; }
	.sbi-piano__testo, .sbi-lista, .sbi-ricette { border: 0; padding: 0; }
}
.sbi-lista__totale { background: var(--a-crema, #FFFBF2); border: 1px solid var(--a-linea); border-radius: 12px; padding: 10px 14px; }
.sbi-lista__totale p { margin: 0 0 4px; }
.sbi-lista__totale .is-dentro { color: var(--a-verde-scuro, #23613D); font-weight: 600; }
.sbi-lista__totale .is-fuori { color: #9A3412; font-weight: 600; }
.sbi-lista__totale small { color: var(--a-tenue); font-size: 0.82rem; }
.sbi-scelta__consigliato { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; background: var(--a-verde-tenue, #E7F2EA); color: var(--a-verde-scuro, #23613D); vertical-align: 1px; }
.sbi-scelta input:checked + span .sbi-scelta__consigliato { background: rgba(255,255,255,0.25); color: #fff; }
.sbi-volantino__griglia { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: 8px; }
.sbi-volantino__griglia:empty { display: none; }
.sbi-volantino__mini { position: relative; margin: 0; aspect-ratio: 3 / 4; border-radius: 10px; overflow: hidden; border: 1px solid var(--a-linea); background: #fff; }
.sbi-volantino__mini img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sbi-volantino__mini span { position: absolute; left: 4px; bottom: 4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--a-verde); color: #fff; font-size: 0.75rem; font-weight: 700; display: grid; place-items: center; }
.sbi-volantino__mini button { position: absolute; top: 3px; right: 3px; width: 30px; height: 30px; border-radius: 50%; border: 0; background: rgba(0,0,0,0.62); color: #fff; font-size: 1.1rem; line-height: 1; cursor: pointer; }
.sbi-volantino__scelte { font-size: 1.02rem; }
.sbi-ai__via:disabled { opacity: 0.55; cursor: wait; }

/* Il piano a schede (0.9.0) */
.sbi-schede { display: flex; gap: 6px; background: #fff; border: 1px solid var(--a-linea); border-radius: 14px; padding: 5px; position: sticky; top: 8px; z-index: 5; }
.sbi-schede__tab { flex: 1; min-height: 46px; border: 0; border-radius: 10px; background: transparent; font: inherit; font-weight: 700; font-size: 0.95rem; color: var(--a-tenue); cursor: pointer; padding: 0 6px; }
.sbi-schede__tab[aria-selected="true"] { background: var(--a-verde); color: #fff; }
.sbi-schede__tab:focus-visible { outline: 2px solid var(--a-verde); outline-offset: 2px; }
.sbi-scheda { display: flex; flex-direction: column; gap: 14px; }
.sbi-scheda[hidden] { display: none; }

.sbi-calendario { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
@media (max-width: 600px) {
	.sbi-calendario { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; margin: 0 -16px; padding: 2px 16px 10px; }
	.sbi-giorno { flex: 0 0 78%; scroll-snap-align: start; }
}
.sbi-giorno { background: #fff; border: 1px solid var(--a-linea); border-radius: 16px; padding: 12px 14px; }
.sbi-giorno h4 { margin: 0 0 8px; font-size: 1rem; color: var(--a-verde-scuro, #23613D); }
.sbi-giorno ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.sbi-giorno__pasto { display: flex; flex-direction: column; gap: 2px; padding-left: 10px; border-left: 3px solid var(--a-verde); }
.sbi-giorno__pasto.is-avanzo { border-left-color: #A4A1E5; }
.sbi-giorno__pasto.is-freezer { border-left-color: #5B9BD5; }
.sbi-giorno__pasto.is-fuori { border-left-color: #C9C2B4; }
.sbi-giorno__pasto small { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--a-tenue); font-weight: 700; }
.sbi-giorno__pasto a, .sbi-giorno__pasto b { font-weight: 600; color: var(--a-testo, #2A2740); line-height: 1.3; }
.sbi-giorno__pasto a { text-decoration: underline; text-decoration-color: var(--a-linea); text-underline-offset: 3px; }
.sbi-come { align-self: flex-start; font-size: 0.72rem; font-weight: 700; padding: 1px 8px; border-radius: 999px; background: var(--a-verde-tenue, #E7F2EA); color: var(--a-verde-scuro, #23613D); }
.sbi-come--avanzo { background: #F1EFFC; color: #57519F; }
.sbi-come--freezer { background: #E6F0FA; color: #2B5D8A; }
.sbi-come--fuori { background: #F3EFE7; color: #6B6253; }

.sbi-resoconto { background: #fff; border: 1px solid var(--a-linea); border-radius: 18px; padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }
.sbi-resoconto h3 { margin: 0; font-size: 1.2rem; font-family: var(--wp--preset--font-family--bricolage, 'DM Sans', sans-serif); }
.sbi-resoconto__modulo { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.sbi-resoconto__modulo[hidden] { display: none; }
.sbi-resoconto__modulo input[type=text] { width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid #E3D8BF; border-radius: 12px; font: inherit; background: #FFFDF7; }
.sbi-resoconto__fuori { border: 0; padding: 0; margin: 0; }
.sbi-resoconto__fuori legend { font-weight: 600; margin-bottom: 6px; padding: 0; }
.sbi-resoconto__fatto p { margin: 0 0 4px; }
.sbi-resoconto__fatto .is-dentro { color: var(--a-verde-scuro, #23613D); font-weight: 700; }
.sbi-resoconto__fatto .is-fuori { color: #9A3412; font-weight: 700; }
.sbi-resoconto__esito { margin: 0; color: #9A3412; }
label.sbi-resoconto__cosa[hidden], input.sbi-resoconto__cosa[hidden] { display: none; }
@media print { .sbi-schede, .sbi-resoconto { display: none !important; } .sbi-scheda[hidden] { display: flex !important; } }
.sbi-piano__da { display: block; font-size: 0.55em; font-weight: 600; color: var(--a-tenue); margin-top: 2px; }

/* 0.10.0: lezioni «in arrivo» nell elenco del metodo */
.sbi-area__riga .sbi-area__presto { margin: 0 0 0 auto; align-self: center; white-space: nowrap; padding-left: 8px; }

/* 0.11.4: unità di misura già pronta accanto a «quanto?» */
.sbi-domanda .sbi-casa__unita { display: none; font-size: 0.9rem; color: var(--a-tenue); }
.sbi-domanda .sbi-casa:has(input:checked) .sbi-casa__unita { display: inline; }
.sbi-domanda .sbi-casa input.sbi-casa__quanto { width: 72px; }
