/* calc-stima.css — stile del calcolatore di /gestione, da calcolatore.html */

  .g2{--g2coral:#e85a44;--g2corald:#c8462f;--g2soft:#fdeee9;--g2ink:#1c1613;--g2ink2:#6a615a;--g2ink3:#9a908a;--g2line:#ece5df;--g2tint:#faf6f3;--g2green:#2f8f63;--g2greend:#236e4c;--g2greensoft:#e7f4ed;--g2grey:#cdc6bf;--g2red:#c0392b;--g2redd:#8f231a;--g2redsoft:#fdecea}
  .g2,.g2 *{box-sizing:border-box}
  .g2-card{background:#fff;border:1px solid var(--g2line);border-radius:18px;box-shadow:0 18px 46px -30px rgba(30,20,16,.28)}
  .g2-tnum{font-variant-numeric:tabular-nums}
  .g2-step1{padding:clamp(18px,3vw,26px)}
  .g2-lab{font-size:.78rem;font-weight:700;color:var(--g2ink2);letter-spacing:.02em}
  .g2-arow{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}
  .g2-field{position:relative}
  .g2-field input{width:100%;font:inherit;font-size:1rem;padding:14px 15px 14px 42px;border:1.5px solid var(--g2line);border-radius:11px;background:#fff;color:var(--g2ink)}
  .g2-field input:focus{outline:none;border-color:var(--g2coral);box-shadow:0 0 0 4px var(--g2soft)}
  .g2-pin{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--g2coral);font-size:1.05rem}
  /* Il widget Google ha shadow DOM chiuso: si stila solo l'elemento host.
     Lo allineo agli altri campi (Posti letto/Metri quadri): stesso bordo, angoli,
     sfondo bianco, focus corallo. color-scheme:light evita il campo nero in dark mode. */
  .g2-pac, gmp-place-autocomplete{
    width:100%; display:block; color-scheme:light;
    box-sizing:border-box; font-family:inherit; font-size:1rem;
    border:1.5px solid var(--g2line); border-radius:11px; background:#fff;
    transition:border-color .15s, box-shadow .15s;
  }
  gmp-place-autocomplete:focus-within{
    border-color:var(--g2coral); box-shadow:0 0 0 4px var(--g2soft); outline:none;
  }
  .g2-mini{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .g2-mini label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:700;color:var(--g2ink2)}
  .g2-mini input{font:inherit;font-size:1rem;padding:12px 14px;border:1.5px solid var(--g2line);border-radius:11px}
  .g2-mini input:focus{outline:none;border-color:var(--g2coral);box-shadow:0 0 0 4px var(--g2soft)}
  .g2-ac{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--g2line);border-radius:11px;box-shadow:0 22px 50px -18px rgba(30,20,16,.3);overflow:hidden;z-index:20;display:none}
  .g2-ac.on{display:block}
  .g2-acit{display:flex;gap:11px;align-items:center;padding:11px 14px;cursor:pointer;border-bottom:1px solid var(--g2line)}
  .g2-acit:last-child{border-bottom:0}
  .g2-acit:hover,.g2-acit.hl{background:var(--g2soft)}
  .g2-acit .g{color:var(--g2coral);flex-shrink:0}
  .g2-acit .t{font-size:.92rem;font-weight:600}
  .g2-acit .s{font-size:.78rem;color:var(--g2ink3)}
  .g2-result{margin-top:22px;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s;display:none}
  .g2-result.on{display:block;opacity:1;transform:none}
  .g2-head{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:2px 2px 0}
  .g2-head .addr{font-weight:700;font-size:1.02rem}
  .g2-chip{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--g2coral);background:var(--g2soft);padding:4px 9px;border-radius:100px}
  .g2-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
  .g2-stat{padding:20px;border:1px solid var(--g2line);border-radius:14px;background:linear-gradient(180deg,#fff,#fffaf8);position:relative}
  .g2-stat .k{font-size:.74rem;font-weight:700;color:var(--g2ink2);text-transform:uppercase;letter-spacing:.08em}
  .g2-stat .v{font-size:clamp(2rem,5.4vw,2.6rem);font-weight:800;letter-spacing:-.03em;margin-top:6px;line-height:1;color:var(--g2coral)}
  .g2-stat .v small{font-size:1.05rem;font-weight:700;color:var(--g2ink3)}
  .g2-by{position:absolute;top:14px;right:14px;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g2ink3);background:var(--g2tint);padding:3px 8px;border-radius:100px}
  .g2-note{font-size:.78rem;color:var(--g2ink3);margin-top:14px;display:flex;gap:7px;align-items:flex-start}
  .g2-knobs{padding:clamp(18px,3vw,24px)}
  .g2-kgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px;margin-top:20px;padding-top:18px;border-top:1px solid var(--g2line)}
  .g2-kl{display:flex;justify-content:space-between;align-items:baseline;font-size:.82rem;font-weight:600;color:var(--g2ink2)}
  .g2-kl b{color:var(--g2ink);font-size:.95rem}
  .g2 input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:100px;background:var(--g2line);outline:none;margin-top:9px}
  .g2 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--g2coral);cursor:pointer;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25)}
  .g2 input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--g2coral);cursor:pointer;border:3px solid #fff}
  .g2-block{margin-top:14px;padding:clamp(18px,3vw,22px)}
  .g2-bh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
  .g2-bh .t{font-size:.95rem;font-weight:800;letter-spacing:-.01em}
  .g2-bh .m{font-size:.8rem;color:var(--g2ink3)}
  .g2-bh .m b{color:var(--g2ink)}
  .g2-exp{display:flex;flex-direction:column;gap:9px;margin-top:16px}
  .g2-erow{display:grid;grid-template-columns:120px 1fr 74px;align-items:center;gap:12px;font-size:.85rem}
  .g2-erow .n{color:var(--g2ink2);font-weight:600}
  .g2-track{height:12px;background:var(--g2tint);border-radius:100px;overflow:hidden}
  .g2-fill{height:100%;background:var(--g2grey);border-radius:100px;transition:width .5s cubic-bezier(.4,0,.1,1)}
  .g2-erow.hot .g2-fill{background:var(--g2coral)}
  .g2-erow .amt{text-align:right;font-weight:700;color:var(--g2ink)}
  .g2-flow{margin-top:14px;padding:clamp(18px,3vw,24px)}
  .g2-frow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px dashed var(--g2line);font-size:.95rem}
  .g2-frow .l{color:var(--g2ink2);display:flex;gap:10px;align-items:center}
  .g2-frow .l .dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}
  .g2-frow b{font-weight:800;font-size:1.05rem;letter-spacing:-.01em}
  .g2-netbox{margin-top:16px;background:linear-gradient(180deg,var(--g2greensoft),#fff);border:1.5px solid #bfe3ce;border-radius:14px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
  .g2-nl{font-size:.95rem;font-weight:800;color:var(--g2greend);letter-spacing:-.01em}
  .g2-nl span{display:block;font-size:.76rem;font-weight:500;color:var(--g2ink3);margin-top:3px}
  .g2-nv{font-size:clamp(2rem,6vw,2.7rem);font-weight:800;letter-spacing:-.03em;color:var(--g2green);line-height:1;text-align:right}
  .g2-nv small{display:block;text-align:right;font-size:.78rem;font-weight:600;color:var(--g2ink3);margin-top:4px}
  /* Netto negativo: netbox in rosso invece del verde */
  .g2-netbox.neg{background:linear-gradient(180deg,var(--g2redsoft),#fff);border-color:#f0b8ae}
  .g2-netbox.neg .g2-nl{color:var(--g2redd)}
  .g2-netbox.neg .g2-nv{color:var(--g2red)}
  .g2-foot{margin-top:16px;font-size:.8rem;color:var(--g2ink3);text-align:center}
  .g2-foot b{color:var(--g2ink2)}
  .g2-disc{font-size:.78rem;color:var(--g2ink3);text-align:center;margin-top:20px;max-width:60ch;margin-inline:auto}
  .g2-result.g2-busy .g2-block,.g2-result.g2-busy .g2-flow,.g2-result.g2-busy .g2-disc{display:none}
  .g2-result.g2-busy .g2-stat .v{animation:g2pulse 1.1s ease-in-out infinite}
  @keyframes g2pulse{0%,100%{opacity:1}50%{opacity:.35}}
  @media(max-width:560px){.g2-erow{grid-template-columns:96px 1fr 64px;font-size:.8rem}.g2-stats,.g2-kgrid{grid-template-columns:1fr}}
  /* Gate contatti: prima di mostrare i conti chiediamo nome/email/telefono (si salva come lead). */
  .g2-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;
    background:rgba(28,22,19,.55);backdrop-filter:blur(3px)}
  .g2-modal.on{display:flex}
  .g2-mcard{width:100%;max-width:420px;background:#fff;border-radius:18px;padding:clamp(22px,4vw,30px);
    box-shadow:0 30px 80px -24px rgba(30,20,16,.5);animation:g2pop .3s var(--ease)}
  @keyframes g2pop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
  .g2-mtitle{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--g2ink)}
  .g2-msub{font-size:.9rem;color:var(--g2ink2);margin-top:8px;line-height:1.5}
  .g2-mform{display:flex;flex-direction:column;gap:11px;margin-top:18px}
  .g2-mform input,.g2-mform select{width:100%;font:inherit;font-size:1rem;padding:13px 15px;border:1.5px solid var(--g2line);border-radius:11px;background:#fff;color:var(--g2ink)}
  .g2-mform input:focus,.g2-mform select:focus{outline:none;border-color:var(--g2coral);box-shadow:0 0 0 4px var(--g2soft)}
  .g2-mform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
  .g2-mnote{font-size:.74rem;color:var(--g2ink3);margin-top:12px;text-align:center;line-height:1.5}
  .g2-mnote a{color:var(--g2ink2);text-decoration:underline}
  .g2-mx{background:none;border:0;color:var(--g2ink3);font-size:.82rem;cursor:pointer;margin-top:12px;width:100%;text-align:center}
  /* Banner "margini bassi": consigliamo l'affitto tradizionale, onestamente. */
  .g2-low{display:none;margin-top:16px;background:linear-gradient(180deg,#fff5ec,#fff);border:1.5px solid #f2cfa8;
    border-radius:14px;padding:18px 20px}
  .g2-low.on{display:block}
  .g2-low .h{font-size:1rem;font-weight:800;color:#b45a1e;letter-spacing:-.01em;display:flex;gap:8px;align-items:center}
  .g2-low p{font-size:.9rem;color:var(--g2ink2);margin-top:8px;line-height:1.55}
  .g2-low b{color:var(--g2ink)}
  
.g2-hero .g2-card{margin:0}
/* (29-10-2026) su calcolatore.html questi venivano dallo stile generale della pagina */
:root{--ease:cubic-bezier(.2,.7,.2,1)}
.g2-track,.g2-fill{display:block}
/* su /gestione il bottone WhatsApp resta un cerchio e sta sopra il riquadro reCAPTCHA: non copre il netto */

.g2-mstato{margin:0 0 10px;font-size:.85rem;font-weight:600;color:#8a6d3b;background:#fbf4e6;border-radius:10px;padding:8px 10px}.g2-mstato.ok{color:#1d7f4b;background:#e6f3eb}
/* stima sfocata con il modulo sopra (29-10-2026) */
.g2-result{position:relative}
.g2-result.velato>:not(.g2-velo){filter:blur(8px);pointer-events:none;user-select:none}
.g2-result.velato .g2-block,.g2-result.velato .g2-flow,.g2-result.velato .g2-disc{display:block}
.g2-velo{display:none}
.g2-result.velato.chiede .g2-velo{display:flex;position:absolute;inset:0;z-index:5;justify-content:center;align-items:flex-start;padding:28px 12px}
.g2-velo .g2-mcard{position:sticky;top:88px;box-shadow:0 18px 50px rgba(0,0,0,.18);border:1px solid var(--g2line)}
.g2-velo .g2-mx{display:none}
.g2-result.velato .g2-stat .v,.g2-result.velato .g2-nv{filter:blur(6px)}
.g2-result.chiede .g2-velo .g2-mcard{animation:g2entra .35s var(--ease) both}@keyframes g2entra{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* mentre carica, prima del modulo: un'etichetta nitida sopra la stima sfocata */
.g2-result.velato:not(.chiede)::before{content:"Sto calcolando la stima della tua zona…";position:absolute;top:150px;left:50%;transform:translateX(-50%);z-index:6;background:#fff;color:var(--g2ink);font-weight:700;font-size:.95rem;padding:12px 18px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.14);white-space:nowrap;animation:g2pulse 1.1s ease-in-out infinite}
