/* Gift Card Manager 2.0 – base condivisa (pagina cliente + cassa). Solo variabili --gcm-*: nessun colore fisso. */
.gcm-root{--gcm-focus:var(--gcm-accent);box-sizing:border-box;min-height:100vh;background:var(--gcm-bg);color:var(--gcm-text);font-family:var(--gcm-font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-size-adjust:100%}
.gcm-root *,.gcm-root *::before,.gcm-root *::after{box-sizing:inherit}
.gcm-root img{max-width:100%;height:auto}
.gcm-root a{color:var(--gcm-primary)}
.gcm-root :focus-visible{outline:3px solid var(--gcm-focus);outline-offset:3px}
.gcm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gcm-root [hidden]{display:none!important}

.gcm-page{max-width:480px;margin:0 auto;padding:0 calc(var(--gcm-space)*2) calc(var(--gcm-space)*5);display:flex;flex-direction:column;gap:calc(var(--gcm-space)*2)}

/* Intestazione */
.gcm-header{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:calc(var(--gcm-space)*3) calc(var(--gcm-space)*2) calc(var(--gcm-space)*2);margin:0 calc(var(--gcm-space)*-2);text-align:center}
.gcm-root[data-gcm-header="light"] .gcm-header{background:var(--gcm-surface);border-bottom:1px solid var(--gcm-border)}
.gcm-root[data-gcm-header="dark"] .gcm-header{background:var(--gcm-email-header-bg);color:var(--gcm-email-header-text);border-bottom:1px solid var(--gcm-border)}
.gcm-root[data-gcm-header="dark"] .gcm-back,.gcm-root[data-gcm-header="dark"] .gcm-tagline{color:var(--gcm-email-header-text);opacity:.85}
.gcm-logo{display:block;height:56px;width:auto;max-width:260px;object-fit:contain}
.gcm-wordmark{font-family:var(--gcm-font-heading);font-size:24px;font-style:var(--gcm-heading-style);text-transform:var(--gcm-heading-transform);letter-spacing:var(--gcm-heading-tracking)}
.gcm-tagline{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gcm-text-muted)}
.gcm-back{position:absolute;left:calc(var(--gcm-space)*2);top:calc(var(--gcm-space)*2);font-size:13px;color:var(--gcm-text-muted);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.gcm-back:hover{text-decoration:underline}
.gcm-header--compact{padding-block:calc(var(--gcm-space)*2)}

.gcm-main{display:flex;flex-direction:column;gap:calc(var(--gcm-space)*2)}

/* Tipografia */
.gcm-h1,.gcm-h2,.gcm-h3,.gcm-balance,.gcm-new-balance{font-family:var(--gcm-font-heading);font-style:var(--gcm-heading-style);text-transform:var(--gcm-heading-transform);font-weight:var(--gcm-heading-weight);letter-spacing:var(--gcm-heading-tracking);margin:0}
.gcm-h1{font-size:clamp(28px,8vw,36px);line-height:1.15}
.gcm-h2{font-size:24px}
.gcm-h3{font-size:18px}
.gcm-eyebrow{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gcm-accent)}
.gcm-label{margin:0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gcm-text-muted)}
.gcm-muted,.gcm-hint,.gcm-progress-note{color:var(--gcm-text-muted);font-size:14px}

/* Schede */
.gcm-card{background:var(--gcm-surface);border:1px solid var(--gcm-border);border-radius:var(--gcm-radius-card);box-shadow:var(--gcm-shadow-card);padding:calc(var(--gcm-space)*3)}

/* Pulsanti */
.gcm-root .gcm-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:14px 24px;border:1px solid var(--gcm-primary);border-radius:var(--gcm-radius-button);background:var(--gcm-primary);color:var(--gcm-primary-contrast);font:700 16px/1.2 var(--gcm-font-body);text-decoration:none;cursor:pointer;transition:filter .15s,transform .05s}
.gcm-btn:hover{filter:brightness(1.08)}
.gcm-btn:active{transform:translateY(1px)}
.gcm-btn:disabled{opacity:.55;cursor:not-allowed}
.gcm-root[data-gcm-button="outline"] .gcm-btn{background:transparent;color:var(--gcm-primary)}
.gcm-root[data-gcm-button="pill"] .gcm-btn{border-radius:999px}
.gcm-root .gcm-btn--ghost{background:transparent!important;color:var(--gcm-primary)!important}
.gcm-btn--inline{width:auto;min-height:44px;padding:10px 20px}
.gcm-link{background:none;border:0;padding:8px;color:var(--gcm-primary);font:600 14px var(--gcm-font-body);cursor:pointer;min-height:44px}

/* Pillole di stato (mai solo colore: sempre testo) */
.gcm-pill{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:700;background:var(--gcm-surface-alt);color:var(--gcm-text-muted);border:1px solid var(--gcm-border)}
.gcm-pill--active{background:var(--gcm-success-soft);color:var(--gcm-success);border-color:transparent}
.gcm-pill--expired,.gcm-pill--void{background:var(--gcm-danger-soft);color:var(--gcm-danger);border-color:transparent}

/* Form */
.gcm-root label{display:block;margin:14px 0 6px;font-size:14px;font-weight:600}
.gcm-root input[type=text],.gcm-root input[type=password],.gcm-root input[type=search],.gcm-root input[type=date],.gcm-root select{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--gcm-text-muted);border-radius:var(--gcm-radius-input);background:var(--gcm-surface);color:var(--gcm-text);font:16px var(--gcm-font-body)}
.gcm-error{margin:8px 0 0;min-height:1.2em;color:var(--gcm-danger);font-size:14px;font-weight:600}
.gcm-root[dir=rtl] .gcm-back{left:auto;right:calc(var(--gcm-space)*2)}
@media (prefers-reduced-motion:reduce){.gcm-root *{transition:none!important;animation:none!important}}

/* ---------- Pagina cliente ---------- */
.gcm-hero{padding:calc(var(--gcm-space)*2) 0 0;text-align:center}
.gcm-root[data-gcm-hero="left"] .gcm-hero{text-align:start}
.gcm-dl{margin:0;padding:0 calc(var(--gcm-space)*3) calc(var(--gcm-space)*3);display:grid;gap:16px}
.gcm-dl dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gcm-text-muted)}
.gcm-dl dd{margin:2px 0 0;font-weight:600}
.gcm-footer{text-align:center;padding-top:8px;font-size:13px}
.gcm-footer p{margin:6px 0 0}
.gcm-footer a{color:var(--gcm-text-muted)}
.gcm-ornament{display:block;width:40px;height:1px;margin:0 auto;background:var(--gcm-accent)}
/* ---------- Modulo d'acquisto + pagina ordine (Gift Card Manager 2.1) ---------- */
.gcm-page--form{max-width:560px}
.gcm-card-image--form{align-self:center;width:100%;max-width:340px;margin:0 auto;max-height:260px;object-fit:cover;border-radius:calc(var(--gcm-radius-card)*.7);box-shadow:0 8px 22px rgba(0,0,0,.16)}
.gcm-form{display:flex;flex-direction:column;gap:calc(var(--gcm-space)*2.5)}
.gcm-fieldset{margin:0;padding:0;border:0;min-width:0}
.gcm-fieldset + .gcm-fieldset{padding-top:calc(var(--gcm-space)*2.5);border-top:1px solid var(--gcm-border)}
.gcm-legend{padding:0;margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gcm-text-muted)}
.gcm-field{margin:0}
.gcm-field label{margin:14px 0 6px}
.gcm-field:first-child label{margin-top:0}
.gcm-opt{font-weight:400;color:var(--gcm-text-muted)}
.gcm-root .gcm-form input[type=email],.gcm-root .gcm-form input[type=tel],.gcm-root .gcm-form input[type=text],.gcm-root .gcm-form textarea{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--gcm-text-muted);border-radius:var(--gcm-radius-input);background:var(--gcm-surface);color:var(--gcm-text);font:16px var(--gcm-font-body)}
.gcm-root .gcm-form input[type=date],.gcm-root .gcm-form select{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--gcm-text-muted);border-radius:var(--gcm-radius-input);background:var(--gcm-surface);color:var(--gcm-text);font:16px var(--gcm-font-body)}
.gcm-root .gcm-form input[type=date]:focus,.gcm-root .gcm-form select:focus{border-color:var(--gcm-primary);outline:3px solid var(--gcm-focus);outline-offset:1px}
.gcm-root .gcm-form textarea{resize:vertical;min-height:110px;line-height:1.5}
.gcm-root .gcm-form input:focus,.gcm-root .gcm-form textarea:focus{border-color:var(--gcm-primary);outline:3px solid var(--gcm-focus);outline-offset:1px}
.gcm-root .gcm-form .is-invalid{border-color:var(--gcm-danger)}
.gcm-counter{margin:4px 0 0;text-align:end}
.gcm-hint{margin:6px 0 0}

/* Importi */
.gcm-amounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px}
.gcm-root .gcm-chip{position:relative;display:block;margin:0;font-weight:600}
.gcm-chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.gcm-chip span{display:flex;align-items:center;justify-content:center;min-height:52px;padding:8px 12px;border:1px solid var(--gcm-border);border-radius:var(--gcm-radius-input);background:var(--gcm-surface);color:var(--gcm-text);font-size:17px;font-weight:700;text-align:center;transition:border-color .15s,background .15s}
.gcm-chip:hover span{border-color:var(--gcm-primary)}
.gcm-chip input:checked + span{border-color:var(--gcm-primary);background:var(--gcm-primary);color:var(--gcm-primary-contrast)}
.gcm-chip input:focus-visible + span{outline:3px solid var(--gcm-focus);outline-offset:2px}
.gcm-custom{margin-top:12px}
.gcm-money-input{position:relative}
.gcm-root .gcm-money-input input{padding-inline-end:56px}
.gcm-cur{position:absolute;inset-inline-end:14px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:700;color:var(--gcm-text-muted);pointer-events:none}

/* Metodi di pagamento */
.gcm-methods{display:grid;gap:10px}
.gcm-root .gcm-method{display:flex;align-items:center;gap:12px;margin:0;padding:14px 16px;min-height:56px;border:1px solid var(--gcm-border);border-radius:var(--gcm-radius-input);background:var(--gcm-surface);cursor:pointer;font-weight:600}
.gcm-method:hover{border-color:var(--gcm-primary)}
.gcm-method:has(input:checked){border-color:var(--gcm-primary);box-shadow:0 0 0 1px var(--gcm-primary)}
.gcm-method input{width:20px;height:20px;margin:0;accent-color:var(--gcm-primary);flex:none}

/* Consensi */
.gcm-checks{display:grid;gap:4px}
.gcm-root .gcm-check{display:flex;gap:12px;align-items:flex-start;margin:6px 0;font-weight:400;font-size:14px;line-height:1.5;cursor:pointer}
.gcm-check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--gcm-primary)}

/* Honeypot: fuori schermo, non display:none (alcuni bot lo ignorano) */
.gcm-hp{position:absolute!important;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}

/* Riepilogo */
.gcm-summary{padding:16px 18px;border-radius:var(--gcm-radius-input);background:var(--gcm-surface-alt)}
.gcm-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;color:var(--gcm-text-muted)}
.gcm-total strong{font-family:var(--gcm-font-heading);font-size:28px;color:var(--gcm-text);font-variant-numeric:tabular-nums}
.gcm-summary .gcm-hint{margin:4px 0 0}
.gcm-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;font-size:13px;color:var(--gcm-text-muted);text-align:center}
.gcm-error--form{text-align:center;min-height:0}
.gcm-error:empty{min-height:0;margin:0}
.gcm-btn[aria-busy=true]{pointer-events:none}
.gcm-btn[aria-busy=true] .gcm-btn-label::after{content:"";display:inline-block;width:14px;height:14px;margin-inline-start:10px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:gcm-spin .7s linear infinite}
@keyframes gcm-spin{to{transform:rotate(360deg)}}
.gcm-turnstile{min-height:65px}

/* Pagina ordine */
.gcm-order{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding-top:calc(var(--gcm-space)*4)}
.gcm-order-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;color:var(--gcm-text-muted);background:var(--gcm-surface-alt)}
.gcm-order--paid .gcm-order-icon{color:var(--gcm-success);background:var(--gcm-success-soft)}
.gcm-order--failed .gcm-order-icon,.gcm-order--canceled .gcm-order-icon,.gcm-order--expired .gcm-order-icon,.gcm-order--review .gcm-order-icon,.gcm-order--refunded .gcm-order-icon,.gcm-order--notfound .gcm-order-icon{color:var(--gcm-danger);background:var(--gcm-danger-soft)}
.gcm-order .gcm-h1{font-size:clamp(24px,7vw,30px)}
.gcm-order .gcm-sub{max-width:38ch}
.gcm-order-dl{width:100%;padding:calc(var(--gcm-space)*2) 0 0;margin-top:8px;border-top:1px solid var(--gcm-border);text-align:start}
.gcm-bank{width:100%;padding:calc(var(--gcm-space)*2);margin-top:8px;border-radius:var(--gcm-radius-input);background:var(--gcm-surface-alt);text-align:start}
.gcm-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;word-break:break-all}
.gcm-spinner{width:28px;height:28px;border:3px solid var(--gcm-border);border-top-color:var(--gcm-primary);border-radius:50%;animation:gcm-spin .9s linear infinite}
.gcm-late{margin-top:8px}
.gcm-order .gcm-btn{margin-top:12px}
.gcm-notfound{text-align:center}

/* Data di invio, fattura, campi extra (2.2) */
.gcm-label{display:block;margin:14px 0 8px;font-weight:600}
.gcm-choice-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.gcm-choice-row .gcm-chip span{font-size:15px;min-height:46px}
#gcm-deliver-date{margin-top:12px}
.gcm-invoice{margin:6px 0 0;padding:16px;border:1px solid var(--gcm-border);border-radius:var(--gcm-radius-input);background:var(--gcm-surface-alt,transparent)}
.gcm-invoice[hidden],#gcm-deliver-date[hidden]{display:none}
.gcm-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0 12px}
.gcm-col-full{grid-column:span 6}.gcm-col-half{grid-column:span 3}.gcm-col-third{grid-column:span 2}
@media (max-width:520px){.gcm-col-half,.gcm-col-third{grid-column:span 6}}

/* Shortcode [gift_card_form]: solo il modulo, si adatta alla colonna della pagina (nessun fondo a tutta altezza) */
.gcm-root.gcm-embed{min-height:0;background:transparent}
.gcm-embed .gcm-page{max-width:560px;padding:0}
