/* ═══════════════════════════════════════════════════════════════════════════
   AFFARINORO — Modulo «Valutazione monete»  3.7.0
   Cornice del modulo Contact Form 7 «Valutazione monete», nello stile dei
   moduli «Blocca il prezzo» e «Bonus Primo Cliente»: scheda blu navy con filo
   oro, sigillo con la moneta, riepilogo con la quotazione di oggi, campi scuri,
   pulsante oro lucido. Si usa in due modi:
     - finestra sopra la pagina, aperta dai pulsanti «Richiedi valutazione»
       di [quotazione_monete] (data-afn-vm) con la moneta gia' scelta;
     - in pagina, con lo shortcode [afn_modulo_monete] (/valutazione-monete/,
       riserva per chi non ha JavaScript).
   Font del tema (Barlow Semi Condensed + Lato); con font="coupon" quelli del
   coupon (Cormorant Garamond / Cinzel / DM Sans), gia' caricati dal sito.
   Ogni regola parte da .afn-vm per non farsi riscrivere dal tema.
   ═══════════════════════════════════════════════════════════════════════════ */

.afn-vm{
    --vm-gold-deep:#6B4F12;
    --vm-gold-core:#C9A227;
    --vm-gold-bright:#E8C547;
    --vm-gold-glow:#FBEFA3;
    --vm-navy-abyss:#08162F;
    --vm-navy-deep:#0d1f3c;
    --vm-text:#F5EFD9;
    --vm-text-soft:#C6BEA5;
    --vm-text-dim:#9AA7BD;
    --vm-danger:#ffb4bc;
    --vm-title:'Barlow Semi Condensed', 'Arial Narrow', Arial, sans-serif;
    --vm-eyebrow:'Barlow Semi Condensed', 'Arial Narrow', Arial, sans-serif;
    --vm-num:'Barlow Semi Condensed', 'Arial Narrow', Arial, sans-serif;
    --vm-font:'Lato', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    --vm-title-size:clamp(26px, 3.4vw, 34px);
    --vm-title-weight:600;
    --vm-title-transform:uppercase;
    --vm-title-spacing:0.035em;
    --vm-title-lh:1.1;
    --vm-label-size:12px;
    --vm-label-spacing:0.08em;
    --vm-btn-size:15px;
    --vm-btn-spacing:0.12em;

    position:relative; z-index:1; width:100%; max-width:880px; margin:10px auto 40px;
    font-family:var(--vm-font); font-size:15px; line-height:1.5; color:var(--vm-text); text-align:left;
}
.afn-vm--coupon{                      /* i font del coupon, per confronto o per scelta */
    --vm-title:'Cormorant Garamond', Georgia, serif;
    --vm-eyebrow:'Cinzel', 'Cormorant Garamond', serif;
    --vm-num:'JetBrains Mono', 'Courier New', monospace;
    --vm-font:'DM Sans', 'Segoe UI', sans-serif;
    --vm-title-size:clamp(30px, 3.8vw, 40px);
    --vm-title-weight:600;
    --vm-title-transform:none;
    --vm-title-spacing:-0.01em;
    --vm-title-lh:1.05;
    --vm-label-size:10px;
    --vm-label-spacing:0.22em;
    --vm-btn-size:13px;
    --vm-btn-spacing:0.25em;
}
.afn-vm *, .afn-vm *::before, .afn-vm *::after{ box-sizing:border-box; }
.afn-vm, .afn-vm-side, .afn-vm-main{ min-width:0; }   /* niente sbordature da campi con size=40 */
.afn-vm p{ margin:0; padding:0; }
.afn-vm [hidden]{ display:none !important; }

/* ── La scheda ────────────────────────────────────────────────────────────── */
.afn-vm-card{
    position:relative; overflow:hidden; border-radius:22px; color:var(--vm-text);
    background:
        radial-gradient(ellipse 80% 50% at 50% 0%, rgba(201,162,39,0.14), transparent 70%),
        radial-gradient(130% 100% at 50% -10%, rgba(72,128,235,0.40) 0%, rgba(22,48,110,0) 58%),
        linear-gradient(172deg, #1A3A75 0%, #122B5E 55%, #0C2050 100%);
    border:1px solid rgba(201,162,39,0.35);
    box-shadow:
        0 0 0 1px rgba(201,162,39,0.10),
        0 30px 80px -18px rgba(0,0,0,0.80),
        0 0 120px -30px rgba(201,162,39,0.18),
        inset 0 1px 0 rgba(255,225,115,0.12);
}
.afn-vm-card::before{                 /* trama fine, come sul coupon */
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:0.6;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(201,162,39,0.05) 0, transparent 1px),
        radial-gradient(circle at 80% 70%, rgba(201,162,39,0.04) 0, transparent 1px),
        radial-gradient(circle at 50% 50%, rgba(201,162,39,0.03) 0, transparent 1.5px);
    background-size:32px 32px, 28px 28px, 40px 40px;
}
.afn-vm-card::after{                  /* filo oro in alto */
    content:""; position:absolute; top:0; left:0; right:0; height:4px; z-index:3; pointer-events:none;
    background:linear-gradient(90deg, transparent 0%, var(--vm-gold-deep) 8%, var(--vm-gold-core) 22%, var(--vm-gold-bright) 40%, var(--vm-gold-glow) 50%, var(--vm-gold-bright) 60%, var(--vm-gold-core) 78%, var(--vm-gold-deep) 92%, transparent 100%);
    box-shadow:0 0 20px rgba(232,197,71,0.45), 0 2px 8px rgba(232,197,71,0.25);
    animation:afn-vm-strip 7s ease-in-out infinite;
}
@keyframes afn-vm-strip{ 0%,100%{ opacity:0.75; } 50%{ opacity:1; } }

.afn-vm-grid{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0, 0.92fr) minmax(0, 1fr); }
.afn-vm-side{
    display:flex; flex-direction:column; justify-content:center; padding:40px 28px 30px;
    background:rgba(0,0,0,0.18); border-right:1px solid rgba(255,255,255,0.07); text-align:center;
}
.afn-vm-main{ display:flex; flex-direction:column; justify-content:center; padding:36px 30px 30px; }

/* ── Sigillo con la moneta ────────────────────────────────────────────────── */
.afn-vm-seal{
    position:relative; display:flex; align-items:center; justify-content:center;
    width:96px; height:96px; margin:0 auto 18px; border-radius:50%;
    background:radial-gradient(circle at 35% 32%, var(--vm-gold-glow) 0%, var(--vm-gold-bright) 18%, var(--vm-gold-core) 55%, var(--vm-gold-deep) 100%);
    box-shadow:
        inset 0 2px 4px rgba(255,255,255,0.35),
        inset 0 -3px 6px rgba(0,0,0,0.35),
        0 6px 18px rgba(201,162,39,0.35),
        0 0 0 1px rgba(107,79,18,0.60),
        0 0 0 6px rgba(201,162,39,0.10);
    animation:afn-vm-seal 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s both;
}
.afn-vm-seal::before{
    content:""; position:absolute; inset:5px; border-radius:50%; border:1px dashed rgba(8,22,47,0.45); pointer-events:none;
}
.afn-vm-seal img{
    display:block; width:80px; height:80px; border-radius:50%; object-fit:cover;
    background:radial-gradient(circle, #fff6d2 0%, #f1d783 100%);
    box-shadow:0 0 0 2px rgba(8,22,47,0.40), 0 3px 8px rgba(0,0,0,0.35);
}
.afn-vm-seal__icon{ display:flex; }
.afn-vm-seal__icon svg{ width:42px; height:42px; fill:var(--vm-navy-abyss); filter:drop-shadow(0 1px 0 rgba(255,255,255,0.25)); }
@keyframes afn-vm-seal{ from{ opacity:0; transform:scale(0.5) rotate(-30deg); } to{ opacity:1; transform:none; } }

/* ── Testi della colonna sinistra ─────────────────────────────────────────── */
.afn-vm-eyebrow{
    display:block; margin:0 0 8px;
    font-family:var(--vm-eyebrow); font-size:11px; font-weight:600; letter-spacing:0.3em; text-transform:uppercase; color:var(--vm-gold-bright);
}
.afn-vm-eyebrow::before, .afn-vm-eyebrow::after{ content:"◆"; display:inline-block; margin:0 10px; font-size:7px; color:var(--vm-gold-core); opacity:0.75; transform:translateY(-2px); }
.afn-vm .afn-vm-title{
    margin:0 0 10px; padding:0;
    font-family:var(--vm-title); font-size:var(--vm-title-size); font-weight:var(--vm-title-weight); line-height:var(--vm-title-lh);
    letter-spacing:var(--vm-title-spacing); text-transform:var(--vm-title-transform); color:var(--vm-text);
}
.afn-vm .afn-vm-title em{
    font-style:inherit;
    background:linear-gradient(135deg, var(--vm-gold-core), var(--vm-gold-bright), var(--vm-gold-glow), var(--vm-gold-bright), var(--vm-gold-core));
    background-size:200% auto; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:var(--vm-gold-bright);
    animation:afn-vm-goldflow 6s linear infinite;
}
@keyframes afn-vm-goldflow{ to{ background-position:200% center; } }
.afn-vm .afn-vm-msg{ max-width:330px; margin:0 auto 18px; font-size:13.5px; line-height:1.5; color:var(--vm-text-soft); }

/* ── Riepilogo della moneta ───────────────────────────────────────────────── */
.afn-vm-receipt{ margin:0 0 14px; padding:4px 16px; text-align:left; border-radius:14px; background:rgba(0,0,0,0.22); border:1px solid rgba(255,255,255,0.06); }
.afn-vm-row{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px dashed rgba(255,255,255,0.09); }
.afn-vm-row:last-child{ border-bottom:none; }
.afn-vm-row span{ font-family:var(--vm-eyebrow); font-size:11px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--vm-text-dim); white-space:nowrap; }
.afn-vm-row strong{ font-weight:700; text-align:right; color:var(--vm-text); font-size:14px; line-height:1.3; }
.afn-vm-row--total strong{
    font-family:var(--vm-num); font-size:26px; font-weight:600; letter-spacing:0.01em; color:var(--vm-gold-bright); text-shadow:0 0 18px rgba(201,162,39,0.35);
}
.afn-vm--nocoin .afn-vm-row--coin{ display:none; }                      /* nessuna moneta scelta: solo l'invito */
.afn-vm--noquote .afn-vm-row--quote{ display:none; }                    /* fonte ferma: niente valore */
.afn-vm:not(.afn-vm--noquote) .afn-vm-row--noquote{ display:none; }
.afn-vm .afn-vm-note{ margin:0; font-size:12px; line-height:1.45; color:var(--vm-text-dim); }

/* ── Colonna del modulo ───────────────────────────────────────────────────── */
.afn-vm .afn-vm-formtitle{
    margin:0 0 14px; padding:0 30px 0 0;      /* a destra c'e' la X della finestra */
    font-family:var(--vm-title); font-size:20px; font-weight:var(--vm-title-weight); line-height:1.2;
    letter-spacing:var(--vm-title-spacing); text-transform:var(--vm-title-transform); color:var(--vm-text);
}
.afn-vm .wpcf7{ margin:0; }
.afn-vm .wpcf7 form{ margin:0; padding:0; }
.afn-vm .wpcf7 form > p{ margin:0 0 12px !important; padding:0 !important; line-height:1.4; }
.afn-vm .wpcf7 label{
    display:block; margin:0; padding:0;
    font-family:var(--vm-eyebrow); font-size:var(--vm-label-size); font-weight:600; line-height:1.3;
    letter-spacing:var(--vm-label-spacing); text-transform:uppercase; color:var(--vm-text-dim);
}
.afn-vm .wpcf7 label > br{ display:none; }
.afn-vm .wpcf7 .wpcf7-form-control-wrap{ display:block; position:relative; margin-top:6px; }

.afn-vm .wpcf7 input[type="text"],
.afn-vm .wpcf7 input[type="tel"],
.afn-vm .wpcf7 input[type="email"],
.afn-vm .wpcf7 input[type="number"],
.afn-vm .wpcf7 select,
.afn-vm .wpcf7 textarea{
    display:block; width:100% !important; height:auto !important; margin:0 !important; padding:12px 14px !important;
    border:1px solid rgba(201,162,39,0.22) !important; border-radius:11px !important;
    background:rgba(8,22,47,0.55) !important; color:var(--vm-text) !important;
    font-family:var(--vm-font) !important; font-size:15px !important; font-weight:400 !important; line-height:1.3 !important;
    letter-spacing:0 !important; text-transform:none !important;
    box-shadow:inset 0 1px 3px rgba(0,0,0,0.30) !important; outline:none !important;
    -webkit-appearance:none; appearance:none;
    transition:border-color 0.25s ease, box-shadow 0.25s ease;
}
.afn-vm .wpcf7 textarea{ min-height:84px !important; resize:vertical; }
.afn-vm .wpcf7 select{
    padding-right:42px !important; cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23E8C547' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat:no-repeat !important; background-position:right 14px center !important; background-size:14px 14px !important;
}
.afn-vm .wpcf7 select option{ color:#0d1f3c; background:#fff; }
.afn-vm .wpcf7 input[type="number"]{ -moz-appearance:textfield; }
.afn-vm .wpcf7 input[type="number"]::-webkit-outer-spin-button,
.afn-vm .wpcf7 input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.afn-vm .wpcf7 input::placeholder, .afn-vm .wpcf7 textarea::placeholder{ color:rgba(154,167,189,0.55); }
.afn-vm .wpcf7 input:focus, .afn-vm .wpcf7 select:focus, .afn-vm .wpcf7 textarea:focus{
    border-color:var(--vm-gold-bright) !important;
    box-shadow:inset 0 1px 3px rgba(0,0,0,0.30), 0 0 0 3px rgba(232,197,71,0.15), 0 0 18px -4px rgba(232,197,71,0.25) !important;
}
/* campo non valido: bordo rosso (piu' specifico della regola del campo, che e' !important) */
.afn-vm .wpcf7 form input.wpcf7-not-valid,
.afn-vm .wpcf7 form select.wpcf7-not-valid,
.afn-vm .wpcf7 form textarea.wpcf7-not-valid{
    border-color:rgba(255,107,122,0.70) !important;
    box-shadow:inset 0 1px 3px rgba(0,0,0,0.30), 0 0 0 3px rgba(255,107,122,0.14) !important;
}
/* avviso sotto il campo: il tema (Salient, cf7.css) lo fa bianco su bianco e lo sposta: qui si riscrive tutto */
.afn-vm .wpcf7 form .wpcf7-not-valid-tip,
.afn-vm .wpcf7 form .wpcf7-form-control-wrap .wpcf7-not-valid-tip{
    display:block !important; position:static !important; top:auto !important; left:auto !important; width:auto !important; z-index:auto !important;
    margin:6px 0 0 !important; padding:0 0 0 2px !important; border:0 !important; box-shadow:none !important; background:transparent !important;
    font-family:var(--vm-font) !important; font-size:12.5px !important; font-weight:700 !important; line-height:1.35 !important;
    letter-spacing:0 !important; text-transform:none !important; text-align:left !important; color:var(--vm-danger) !important;
}

/* consenso privacy */
.afn-vm .wpcf7 .wpcf7-acceptance .wpcf7-list-item{ display:block; margin:0; }
.afn-vm .wpcf7 .wpcf7-acceptance label{
    display:flex; align-items:flex-start; gap:10px; cursor:pointer;
    font-family:var(--vm-font); font-size:12.5px; font-weight:400; line-height:1.45; letter-spacing:0; text-transform:none; color:var(--vm-text-soft);
}
.afn-vm .wpcf7 .wpcf7-acceptance input[type="checkbox"]{ flex:0 0 auto; width:17px; height:17px; margin:1px 0 0; accent-color:var(--vm-gold-core); cursor:pointer; }
.afn-vm .wpcf7 .wpcf7-acceptance a{ color:var(--vm-gold-bright); text-decoration:underline; }

/* campo trappola per i bot e verifica Cloudflare */
.afn-vm .wpcf7 form > p:has(> .cf7apps-honeypot-wrap){ margin:0 !important; }
.afn-vm .wpcf7 .cf7-cf-turnstile{ margin:4px 0 8px !important; }
.afn-vm .wpcf7 .cf7-cf-turnstile .cf-turnstile-br, .afn-vm .wpcf7 .cf7-cf-turnstile + br{ display:none; }

/* pulsante oro lucido, come «Blocca il prezzo» e «Richiedi il tuo bonus» */
.afn-vm .wpcf7 input[type="submit"].wpcf7-submit{
    display:block; width:100% !important; height:auto !important; margin:14px 0 0 !important; padding:16px 22px !important;
    border:none !important; border-radius:13px !important; cursor:pointer;
    font-family:var(--vm-title) !important; font-size:var(--vm-btn-size) !important; font-weight:600 !important; line-height:1.2 !important;
    letter-spacing:var(--vm-btn-spacing) !important; text-transform:uppercase !important; color:var(--vm-navy-abyss) !important;
    background-color:var(--vm-gold-core) !important;
    background-image:linear-gradient(135deg, var(--vm-gold-deep) 0%, var(--vm-gold-core) 25%, var(--vm-gold-bright) 50%, var(--vm-gold-glow) 60%, var(--vm-gold-bright) 70%, var(--vm-gold-core) 85%, var(--vm-gold-deep) 100%) !important;
    background-size:300% 100% !important;
    box-shadow:0 6px 22px rgba(201,162,39,0.35), inset 0 1px 0 rgba(255,255,255,0.40), inset 0 -2px 0 rgba(107,79,18,0.30) !important;
    -webkit-appearance:none; appearance:none;
    animation:afn-vm-flow 5s ease infinite;
    transition:transform 0.2s ease, box-shadow 0.3s ease;
}
.afn-vm .wpcf7 input[type="submit"].wpcf7-submit:hover{ transform:translateY(-1px); box-shadow:0 10px 30px rgba(201,162,39,0.45), inset 0 1px 0 rgba(255,255,255,0.40), inset 0 -2px 0 rgba(107,79,18,0.30) !important; }
.afn-vm .wpcf7 form.submitting input[type="submit"].wpcf7-submit{ opacity:0.7; animation:none; cursor:default; }
@keyframes afn-vm-flow{ 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }
.afn-vm .wpcf7 .wpcf7-spinner{ display:block !important; margin:10px auto 0 !important; }

/* esito dell'invio */
.afn-vm .wpcf7 .wpcf7-response-output{
    margin:14px 0 0 !important; padding:12px 14px !important; border:1px solid rgba(201,162,39,0.35) !important; border-radius:11px !important;
    font-size:13.5px; line-height:1.45; color:var(--vm-text); background:rgba(0,0,0,0.22);
}
.afn-vm .wpcf7 form.invalid .wpcf7-response-output,
.afn-vm .wpcf7 form.unaccepted .wpcf7-response-output,
.afn-vm .wpcf7 form.failed .wpcf7-response-output,
.afn-vm .wpcf7 form.aborted .wpcf7-response-output,
.afn-vm .wpcf7 form.spam .wpcf7-response-output{ border-color:rgba(255,107,122,0.45) !important; color:var(--vm-danger); background:rgba(255,107,122,0.10); }
.afn-vm .wpcf7 form.sent .wpcf7-response-output{ border-color:var(--vm-gold-core) !important; color:var(--vm-gold-glow); background:rgba(201,162,39,0.14); font-weight:700; text-align:center; }

/* inviato: restano il sigillo con la spunta e il messaggio di Contact Form 7 */
.afn-vm--sent .afn-vm-formtitle,
.afn-vm--sent .wpcf7 form > p,
.afn-vm--sent .wpcf7 form > .cf7-cf-turnstile,
.afn-vm--sent .wpcf7 form > br,
.afn-vm--sent .wpcf7 form > input[type="submit"],
.afn-vm--sent .wpcf7 .wpcf7-spinner{ display:none !important; }
.afn-vm-thanks{ text-align:center; padding:6px 0 0; }
.afn-vm-thanks__seal{
    display:flex; align-items:center; justify-content:center; width:64px; height:64px; margin:0 auto 12px; border-radius:50%;
    background:linear-gradient(135deg, var(--vm-gold-deep), var(--vm-gold-core), var(--vm-gold-bright));
    box-shadow:0 0 0 8px rgba(201,162,39,0.10), 0 8px 26px -6px rgba(201,162,39,0.55);
    animation:afn-vm-seal 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.afn-vm-thanks__seal svg{ width:32px; height:32px; fill:var(--vm-navy-abyss); }
.afn-vm .afn-vm-thanks__title{
    margin:0; padding:0; font-family:var(--vm-title); font-size:24px; font-weight:var(--vm-title-weight); line-height:1.15;
    letter-spacing:var(--vm-title-spacing); text-transform:var(--vm-title-transform); color:var(--vm-gold-glow);
}
.afn-vm .afn-vm-done{
    display:block; width:100%; margin:14px 0 0; padding:12px; border:1px solid rgba(201,162,39,0.45); border-radius:12px; background:transparent; cursor:pointer;
    font-family:var(--vm-title); font-size:13px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--vm-gold-bright);
    transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.afn-vm .afn-vm-done:hover{ border-color:var(--vm-gold-core); box-shadow:0 0 18px rgba(201,162,39,0.25); }

/* dopo l'invio: invito in negozio */
.afn-vm-after{ margin:16px 0 0; text-align:center; }
.afn-vm .afn-vm-shop{
    display:block; width:100%; padding:15px 22px; border-radius:13px; text-decoration:none !important;
    font-family:var(--vm-title); font-size:var(--vm-btn-size); font-weight:600; line-height:1.2; letter-spacing:var(--vm-btn-spacing); text-transform:uppercase;
    color:var(--vm-navy-abyss) !important;
    background:linear-gradient(135deg, var(--vm-gold-deep) 0%, var(--vm-gold-core) 25%, var(--vm-gold-bright) 50%, var(--vm-gold-glow) 60%, var(--vm-gold-bright) 70%, var(--vm-gold-core) 85%, var(--vm-gold-deep) 100%);
    background-size:300% 100%; animation:afn-vm-flow 5s ease infinite;
    box-shadow:0 6px 22px rgba(201,162,39,0.35), inset 0 1px 0 rgba(255,255,255,0.40), inset 0 -2px 0 rgba(107,79,18,0.30);
    transition:transform 0.2s ease, box-shadow 0.3s ease;
}
.afn-vm .afn-vm-shop:hover{ transform:translateY(-1px); box-shadow:0 10px 30px rgba(201,162,39,0.45), inset 0 1px 0 rgba(255,255,255,0.40), inset 0 -2px 0 rgba(107,79,18,0.30); }
.afn-vm .afn-vm-wa{
    display:block; width:100%; margin:10px 0 0; padding:14px 22px; border-radius:13px; text-decoration:none !important;
    font-family:var(--vm-title); font-size:var(--vm-btn-size); font-weight:600; line-height:1.2; letter-spacing:var(--vm-btn-spacing); text-transform:uppercase;
    color:#0b3d20 !important; background:#25D366; box-shadow:0 6px 18px rgba(37,211,102,0.30), inset 0 1px 0 rgba(255,255,255,0.35);
    transition:transform 0.2s ease, box-shadow 0.3s ease, background 0.2s ease;
}
.afn-vm .afn-vm-wa:hover{ transform:translateY(-1px); background:#2ee07a; box-shadow:0 10px 26px rgba(37,211,102,0.40), inset 0 1px 0 rgba(255,255,255,0.35); }
.afn-vm .afn-vm-after__tel{ margin:12px 0 0; font-size:13px; color:var(--vm-text-soft); }
.afn-vm .afn-vm-after__tel a{ color:var(--vm-gold-bright) !important; font-weight:700; text-decoration:none; }
.afn-vm--sent .afn-vm-done{ margin-top:10px; border-color:transparent; }

/* senza Contact Form 7: i contatti diretti */
.afn-vm-fallback{ text-align:center; }
.afn-vm-fallback p{ margin:0 0 16px; color:var(--vm-text-soft); }
.afn-vm .afn-vm-tel{
    display:inline-block; padding:14px 26px; border-radius:13px; text-decoration:none;
    font-family:var(--vm-title); font-size:var(--vm-btn-size); font-weight:600; letter-spacing:var(--vm-btn-spacing); text-transform:uppercase; color:var(--vm-navy-abyss);
    background:linear-gradient(135deg, var(--vm-gold-deep) 0%, var(--vm-gold-core) 25%, var(--vm-gold-bright) 50%, var(--vm-gold-glow) 60%, var(--vm-gold-bright) 70%, var(--vm-gold-core) 85%, var(--vm-gold-deep) 100%);
    box-shadow:0 6px 22px rgba(201,162,39,0.35);
}

/* ── La finestra sopra la pagina ──────────────────────────────────────────── */
.afn-vm-modal{
    position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; padding:20px;
    background:rgba(6,14,35,0.74); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
    visibility:hidden; opacity:0;
    transition:opacity 0.25s ease, visibility 0s linear 0.25s;
}
.afn-vm-modal.is-open{ visibility:visible; opacity:1; transition:opacity 0.25s ease; }
.afn-vm-modal .afn-vm{
    margin:0; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); overflow:auto; border-radius:22px; outline:none;
    transform:translateY(22px) scale(0.97); transition:transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
}
.afn-vm-modal.is-open .afn-vm{ transform:none; }
.afn-vm .afn-vm-close{
    position:absolute; top:10px; right:12px; z-index:4; width:34px; height:34px; padding:0; border:none; border-radius:50%;
    background:transparent; color:rgba(242,240,232,0.60); font-size:28px; line-height:1; cursor:pointer;
    transition:color 0.2s ease, background 0.2s ease;
}
.afn-vm .afn-vm-close:hover{ color:var(--vm-text); background:rgba(255,255,255,0.08); }
body.afn-vm-open{ overflow:hidden; }

/* ── Telefono e schermi stretti ───────────────────────────────────────────── */
@media (max-width:760px){
    .afn-vm{ font-size:14px; }
    .afn-vm-grid{ display:block; }
    .afn-vm-side{ padding:30px 20px 20px; border-right:none; border-bottom:1px solid rgba(255,255,255,0.07); }
    .afn-vm-main{ padding:22px 20px 22px; }
    .afn-vm-seal{ width:80px; height:80px; margin-bottom:14px; }
    .afn-vm-seal img{ width:66px; height:66px; }
    .afn-vm .afn-vm-title{ --vm-title-size:clamp(24px, 6.4vw, 30px); }
    .afn-vm-row--total strong{ font-size:22px; }
    .afn-vm .wpcf7 input[type="text"], .afn-vm .wpcf7 input[type="tel"], .afn-vm .wpcf7 input[type="email"],
    .afn-vm .wpcf7 input[type="number"], .afn-vm .wpcf7 select, .afn-vm .wpcf7 textarea{ font-size:16px !important; }   /* niente zoom su iPhone */
    .afn-vm-modal{ padding:10px; }
    .afn-vm-modal .afn-vm{ max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); border-radius:18px; }
    .afn-vm-modal .afn-vm-card{ border-radius:18px; }
    .afn-vm--modal .afn-vm-msg, .afn-vm--modal .afn-vm-note{ display:none; }   /* nella finestra conta arrivare ai campi */
    .afn-vm--modal .afn-vm-side{ padding:28px 18px 16px; }
    .afn-vm--modal .afn-vm-receipt{ margin-bottom:0; }
}

@media (prefers-reduced-motion:reduce){
    .afn-vm-card::after, .afn-vm-seal, .afn-vm-thanks__seal, .afn-vm .afn-vm-title em, .afn-vm .afn-vm-shop,
    .afn-vm .wpcf7 input[type="submit"].wpcf7-submit{ animation:none; }
    .afn-vm-modal, .afn-vm-modal .afn-vm{ transition:none; }
}
