/* ═══════════════════════════════════════════════════════════════════════════
   qf — "Richiedi un preventivo": componente condiviso di tutte le pagine commerciali.
   Resa = chiusura scura della Home (PF1): inchiostro / carta calda / verde / oro, Playfair Display + Inter.
   HTML sorgente: _src/qf-section.html (rigenerato da tools/apply_qf.py) · logica: js/preventivo.js.
   Autonomo: non dipende da home-pf1.css né dal film (.hx-*); sovrascrive solo ciò che style.css impone ai titoli.
   ═══════════════════════════════════════════════════════════════════════════ */
.qf{--qf-ink:#0b0e12;--qf-paper:#f6f2ea;--qf-warm:#f3d9a8;--qf-text:#1d1f22;--qf-mute:#5d5f63;--qf-line-d:rgba(241,237,229,.14);
  --qf-green:var(--green,#21703e);--qf-green-d:var(--green-dark,#174f2c);--qf-gut:clamp(16px,4vw,40px);
  position:relative;background:var(--qf-ink);color:#ebe7df;padding:clamp(72px,9vw,128px) 0;scroll-margin-top:88px;overflow:hidden}
.qf *,.qf *::before,.qf *::after{box-sizing:border-box}
.qf-wrap{width:min(1180px,100% - 2 * var(--qf-gut));margin:0 auto;display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,88px);align-items:start}

/* ── colonna sinistra ── */
.qf-kicker{display:block;font:700 .72rem/1.2 'Inter',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--qf-warm);margin:0 0 18px}
.qf .qf-h{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(2rem,4.2vw,3.3rem)!important;line-height:1.06;letter-spacing:-.018em;margin:0;color:#fff;text-align:left}
.qf .qf-h em{font-style:italic;color:var(--qf-warm);background:none!important;-webkit-text-fill-color:currentColor!important;animation:none!important}
.qf-lead{margin:20px 0 0;max-width:44ch;font-size:clamp(1rem,1.2vw,1.08rem);line-height:1.65;color:rgba(235,231,223,.7)}
.qf-clist{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--qf-line-d)}
.qf-clist li{display:grid;grid-template-columns:104px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--qf-line-d);font-size:.97rem;line-height:1.55}
.qf-clist span{font:700 .62rem/1.9 'Inter',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:rgba(235,231,223,.5)}
.qf-clist a,.qf-links a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(243,217,168,.35);transition:color .2s,border-color .2s}
.qf-clist a:hover,.qf-links a:hover{color:var(--qf-warm);border-color:var(--qf-warm)}
.qf-clist li div{color:rgba(235,231,223,.86)}
.qf-links{margin:22px 0 0;font-size:.9rem;color:rgba(235,231,223,.55);line-height:2}
.qf-links a{margin-right:4px}

/* ── scheda crema con il modulo ── */
.qf-card{background:var(--qf-paper);color:var(--qf-text);border-radius:6px;padding:clamp(24px,3.4vw,46px);scroll-margin-top:88px}
.qf .qf-card h3{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.15;margin:0;color:var(--qf-text);letter-spacing:-.01em}
.qf-card h3 em{font-style:italic;color:var(--qf-green);background:none!important;-webkit-text-fill-color:currentColor!important}
.qf-card-sub{margin:10px 0 26px;color:var(--qf-mute);font-size:.95rem;line-height:1.5}
.qf-form{margin:0}
.qf-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.qf-field{margin:0 0 18px;min-width:0}
.qf-field label{display:block;font:600 .74rem/1.2 'Inter',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--qf-mute);margin:0 0 7px}
.qf-field input:not([type="checkbox"]),.qf-field select,.qf-field textarea{display:block;width:100%;min-height:52px;padding:12px 15px;border:1px solid rgba(29,31,34,.18);border-radius:4px;background:#fff;color:var(--qf-text);font:400 1rem/1.35 'Inter',sans-serif;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.qf-field textarea{min-height:104px;resize:vertical}
.qf-field select{-webkit-appearance:none;appearance:none;padding-right:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1f22' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center/16px 16px}
.qf-field input::placeholder,.qf-field textarea::placeholder{color:#9a9a9a}
.qf-field input:focus,.qf-field select:focus,.qf-field textarea:focus{outline:none;border-color:var(--qf-green);box-shadow:0 0 0 3px rgba(33,112,62,.16)}
.qf-privacy{display:flex;align-items:flex-start;gap:10px;margin:2px 0 18px;font-size:.9rem;line-height:1.5;color:var(--qf-mute);cursor:pointer}
.qf-privacy input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--qf-green)}
.qf-privacy a{color:var(--qf-green);font-weight:600}
.qf-msg{margin:0 0 14px;padding:14px 18px;border-radius:10px;background:#fee2e2;color:#991b1b;font-weight:600;font-size:.95rem;line-height:1.45}
.qf-msg[hidden]{display:none}
.qf-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;padding:16px 22px;border:1px solid var(--qf-green);border-radius:999px;background:var(--qf-green);color:#fff;font:700 1rem/1.2 'Inter',sans-serif;letter-spacing:.02em;text-align:center;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.qf-btn:hover{background:var(--qf-green-d);border-color:var(--qf-green-d);transform:translateY(-1px)}
.qf-btn:disabled{opacity:.7;cursor:default;transform:none}
.qf-btn:focus-visible,.qf a:focus-visible{outline:2px solid var(--qf-warm);outline-offset:3px}
.qf-card .qf-btn:focus-visible{outline-color:var(--qf-green)}
.qf-fine{margin:14px 0 0;font-size:.8rem;line-height:1.5;color:var(--qf-mute)}

/* ── variante compatta (blog e articoli): colonna unica, più sobria ── */
.qf--compact{padding:clamp(52px,6vw,88px) 0}
.qf--compact .qf-wrap{grid-template-columns:minmax(0,780px);justify-content:center;gap:clamp(24px,3vw,36px)}
.qf--compact .qf-intro{text-align:center}
.qf--compact .qf-h{font-size:clamp(1.8rem,3.4vw,2.6rem)!important;text-align:center}
.qf--compact .qf-lead{margin-left:auto;margin-right:auto}
.qf--compact .qf-links{margin-top:16px}

@media (max-width:900px){
  .qf-wrap{grid-template-columns:minmax(0,1fr)}
  .qf-card{margin:0 calc(-1 * var(--qf-gut) + 8px)}
}
@media (max-width:560px){
  .qf-row{grid-template-columns:minmax(0,1fr)}
  .qf-clist li{grid-template-columns:minmax(0,1fr);gap:4px}
  .qf-clist a{overflow-wrap:anywhere}
  .qf-card{padding:24px 18px 26px}
}
@media (prefers-reduced-motion:reduce){.qf-btn{transition:none}}

/* ancora di compatibilità (vecchi id #preventivo-home, #modulo-promo) */
.qf-anchor{display:block;height:0;overflow:hidden;scroll-margin-top:88px}
