/* Tessera e punti: solo telefono-prima (360-390 px), poi il computer. Si carica SOLO se l'interruttore è acceso (inc/tessera.php).
   Tocchi da 48 px, 8 px fra bottoni vicini, niente position:fixed/sticky: «Effettua ordine» non si copre mai. */
.qs-tessera, .qs-tessera-blocco, .qs-tessera-testa { box-sizing: border-box; max-width: 100%; }
.qs-tessera { margin: 0 0 20px; padding: 16px; border: 1px solid var(--line, #e1dcd3); border-radius: 12px; background: var(--paper, #fffdf7); }
.qs-tessera h3 { margin: 0 0 6px; font-size: 1.15rem; line-height: 1.25; }
.qs-tessera p { margin: 0 0 12px; line-height: 1.4; overflow-wrap: anywhere; }
.qs-tessera-saldo { font-size: 1.25rem; }
.qs-tessera-chi { color: var(--ink-3, #6b655c); font-size: .9rem; }
.qs-tessera .cta, .qs-tessera-blocco .cta, .qs-tessera-testa .cta, .qs-tessera .bottone, .qs-tessera-cta {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: 0 16px; box-sizing: border-box;
  text-align: center; text-decoration: none; cursor: pointer; font: inherit; font-weight: 700; }
.qs-tessera-passo { display: grid; gap: 8px; }
.qs-tessera-passo label { font-weight: 600; font-size: .95rem; }
.qs-tessera-passo input { width: 100%; min-height: 48px; padding: 0 12px; box-sizing: border-box; font-size: 16px; /* 16 px: iOS non zooma */
  border: 1px solid var(--line, #cfc8bb); border-radius: 8px; background: #fff; }
.qs-tessera-codice { font-size: 24px !important; letter-spacing: .35em; text-align: center; font-variant-numeric: tabular-nums; }
.qs-tessera-riga2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.qs-tessera-riga2 > button { min-width: 0; font-size: .9rem; padding: 0 8px; }
.qs-tessera-sec[disabled] { opacity: .55; }
.qs-tessera-msg { min-height: 1.4em; margin: 8px 0 0 !important; font-size: .95rem; }
.qs-tessera-err { color: #b00020; font-weight: 600; margin: 8px 0 0; }
.qs-tessera-ok { color: #1b6b3a; font-weight: 700; }
.qs-tessera-info { color: var(--ink-3, #6b655c); font-size: .95rem; }
.qs-tessera-conferma { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line, #e1dcd3); }
.qs-tessera-form { margin-top: 12px; }
.qs-tessera-form[hidden], .qs-tessera [hidden] { display: none !important; }

/* pagamento e carrello (blocchi) */
.qs-tessera-blocco { margin: 12px 0; }
.qs-tessera-blocco > p { margin: 0 0 8px; }
.qs-tessera-acc { border: 1px solid var(--line, #e1dcd3); border-radius: 10px; background: var(--paper, #fffdf7); }
.qs-tessera-acc > summary { display: flex; align-items: center; min-height: 48px; padding: 0 14px; font-weight: 700; cursor: pointer; list-style-position: inside; }
.qs-tessera-acc > :not(summary) { margin: 0; padding: 0 14px 14px; }
.qs-tessera-scelte { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; }
.qs-tessera-scelta { min-height: 48px; min-width: 0; padding: 0 6px; border: 1px solid var(--line, #cfc8bb); border-radius: 10px; background: #fff; font: inherit; font-weight: 700; font-variant-numeric: tabular-nums; cursor: pointer; }
.qs-tessera-scelta.on { background: var(--oro-bottone, #c9a94e); border-color: var(--oro-scuro, #a8872f); color: var(--ink, #1a1613); }
.qs-tessera-scelta[disabled] { opacity: .6; cursor: default; }
.qs-tessera-val { margin: 10px 0 0; text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; }

/* la riga in cima al pagamento: una frase e, se serve, un bottone da 48 px. Non è fissa: scorre con la pagina. */
.qs-tessera-testa { display: block; margin: 0 0 16px; padding: 12px 14px; border-radius: 10px; background: var(--wash, #f0ede7); }
.qs-tessera-testa p { margin: 0 0 8px; font-weight: 600; line-height: 1.35; }
.qs-tessera-testa p:last-child { margin: 0; }
.qs-tessera-testa .cta { margin-top: 4px; }

/* telefono: i ritocchi del pagamento (solo con la tessera accesa) */
.qs-tessera-on .wc-block-checkout__login-prompt, .qs-tessera-on .wc-block-components-checkout-step__heading-content a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 8px; }
.qs-tessera-on .wc-block-components-totals-coupon-link, .qs-tessera-on .wc-block-components-panel__button { min-height: 44px; }
.qs-tessera-on .wc-block-components-totals-discount .wc-block-components-chip { min-height: 32px; }

@media (min-width: 761px) {
  .qs-tessera .cta, .qs-tessera .bottone { width: auto; min-width: 240px; }
  .qs-tessera-passo { max-width: 420px; }
  .qs-tessera-blocco .cta { width: auto; }
  .qs-tessera-testa .cta { width: auto; min-width: 220px; }
}

/* L'account su telefono: la colonna `1fr` del tema prende la larghezza della riga di voci (che non va a capo) e spinge fuori tutto.
   Visto in locale il 23/10/2026 con 5 voci: contenuto largo 767 px su uno schermo di 390. */
@media (max-width: 900px) {
  .qs-tessera-on.woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); }
  .qs-tessera-on .woocommerce-MyAccount-navigation a { min-height: 44px; }
}

/* la voce «Tessera» del menu dell'account: la sua icona (carta con banda), come le altre */
.woocommerce-MyAccount-navigation-link--tessera a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M7 15h4'/%3E%3C/svg%3E"); }
