/* Preventivo sempre raggiungibile, coerente con la palette del sito. */
:root{--vq-cookie-space:0px}
html.vq-open{overflow:hidden;scrollbar-gutter:stable}
.vq-loading{position:fixed;inset:0 0 auto;height:2px;z-index:100001;pointer-events:none;overflow:hidden;opacity:1;transition:opacity .2s}
.vq-loading::after{content:"";display:block;height:100%;width:40%;background:#d9b77a;animation:vq-loading 1.2s ease-in-out infinite}
.vq-ready .vq-loading{opacity:0}
.vq-leaving .vq-loading{opacity:1}
@keyframes vq-loading{from{transform:translateX(-110%)}to{transform:translateX(360%)}}
.vq-launcher{position:fixed;right:28px;bottom:calc(108px + var(--vq-cookie-space));z-index:8001;display:inline-flex;align-items:center;gap:11px;min-height:56px;padding:0 22px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:#f3d9a8;color:#1c241f;text-decoration:none;font:700 14px/1.2 'Inter',sans-serif;box-shadow:0 6px 28px rgba(0,0,0,.24);transition:background .18s,box-shadow .18s}
.vq-launcher[hidden]{display:none}
.vq-launcher svg{width:21px;height:21px;flex:none}
.vq-launcher .vq-arrow{font-size:20px;font-weight:400;margin-left:4px}
.vq-launcher:hover{background:#f9e7c9;box-shadow:0 8px 32px rgba(0,0,0,.3)}
.vq-launcher:focus-visible{outline:3px solid #fff;outline-offset:4px}
a.nav-cta[data-vq-open]{background:#f3d9a8;border-color:#f3d9a8;color:#1c241f}
a.nav-cta[data-vq-open]:hover{background:#f9e7c9;border-color:#f9e7c9;color:#1c241f}
body .wa-float{bottom:calc(28px + var(--vq-cookie-space))}
.vq-dialog{--qf-paper:#f6f2ea;--qf-text:#1d1f22;--qf-mute:#5d5f63;--qf-green:#21703e;--qf-green-d:#174f2c;--qf-warm:#f3d9a8;box-sizing:border-box;width:min(660px,calc(100% - 32px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid rgba(255,255,255,.4);border-radius:18px;background:var(--qf-paper);color:var(--qf-text);box-shadow:0 24px 100px rgba(0,0,0,.35);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;font-family:'Inter',sans-serif}
.vq-dialog:not([open]){display:none}
.vq-dialog *,.vq-dialog *::before,.vq-dialog *::after{box-sizing:border-box}
.vq-dialog::backdrop{background:rgba(5,11,15,.76);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.vq-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-bottom:1px solid rgba(29,31,34,.1);background:#f6f2ea}
.vq-dialog-head span{font:700 11px/1.4 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#46634e}
.vq-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid rgba(29,31,34,.16);border-radius:50%;background:transparent;color:#1d1f22;cursor:pointer}
.vq-close:hover{background:#e9e5dc}
.vq-close svg{width:18px;height:18px}
.vq-close:focus-visible{outline:3px solid #21703e;outline-offset:2px}
.vq-dialog-content{padding:24px 32px 26px}
.vq-dialog #vq-title{margin:0;color:#1d1f22;font:400 clamp(27px,4vw,34px)/1.13 'Playfair Display',Georgia,serif;letter-spacing:-.025em;text-transform:none}
.vq-dialog #vq-title:focus{outline:none}
.vq-dialog #vq-title em{font-style:italic;color:#21703e;background:none!important;-webkit-text-fill-color:currentColor!important;animation:none!important}
.vq-intro{margin:12px 0 22px;color:#5d5f63;font-size:14px;line-height:1.55}
.vq-dialog .qf-field{margin-bottom:15px}
.vq-dialog .qf-field label{font-size:11px;letter-spacing:.035em}
.vq-dialog .qf-field input,.vq-dialog .qf-field select,.vq-dialog .qf-field textarea{font-size:16px;min-height:48px;scroll-margin-top:92px;scroll-margin-bottom:20px}
.vq-dialog .qf-field textarea{min-height:78px}
.vq-dialog .qf-privacy{font-size:13px;line-height:1.5}
.vq-dialog .qf-btn{min-height:54px;font-size:14px;letter-spacing:0}
.vq-dialog .qf-btn:focus-visible{outline-color:#174f2c}
.vq-fine{margin:13px 0 0;color:#5d5f63;text-align:center;font-size:12px;line-height:1.6}
.vq-fine a{color:#174f2c;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.vq-dialog .qf-privacy a:focus-visible,.vq-fine a:focus-visible{outline:2px solid #21703e;outline-offset:2px}
.mobile-cta-bar.vq-hide{visibility:hidden!important;pointer-events:none!important;opacity:0!important}
@media(max-width:768px){
  .vq-launcher{display:none}
  .mobile-cta-bar{bottom:calc(var(--mp-bar-gap,12px) + env(safe-area-inset-bottom) + var(--vq-cookie-space))}
  .mobile-cta-bar .mobile-cta-quote{flex:1.55 1 0;background:#f3d9a8;color:#1c241f;gap:8px}
  .mobile-cta-bar .mobile-cta-quote:active{background:#f9e7c9}
  .mobile-cta-bar .mobile-cta-quote span{white-space:nowrap;font-size:13px;font-weight:700;letter-spacing:0;text-align:center}
  .mobile-cta-bar .mobile-cta-quote svg{width:19px;height:19px}
  .mobile-cta-bar .mobile-cta-wa{flex:1 1 0;gap:7px;font-size:13px}
  .mobile-cta-bar .mcb-sep{display:none}
}
@media(max-width:560px){
  .vq-dialog{width:calc(100% - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:14px}
  .vq-dialog-head{padding:10px 16px}
  .vq-dialog-content{padding:20px 20px 24px}
  .vq-dialog .qf-row{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.vq-loading::after{animation:none;width:100%}.vq-launcher{transition:none}}

/* R8: le due azioni condividono la stessa griglia, senza spazio fra le celle.
   Le etichette possono andare su due righe sui telefoni stretti o con testo ingrandito. */
@media(max-width:768px){
  body .mobile-cta-bar{
    display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
    align-items:stretch;box-sizing:border-box;height:60px;
    padding:0;gap:0;column-gap:0;row-gap:0;overflow:hidden;
    background:#1f6a3a;border:1px solid rgba(13,16,19,.16);
    border-radius:20px;isolation:isolate;
  }
  body .mobile-cta-bar>a{
    display:flex;align-items:center;justify-content:center;
    box-sizing:border-box;min-width:0;width:100%;height:100%;min-height:0;
    margin:0;padding:0 8px;gap:8px;border:0;border-radius:0;
    font:600 13px/1.2 'Inter',system-ui,sans-serif;letter-spacing:.02em;
    box-shadow:none;white-space:normal;
  }
  body .mobile-cta-bar .mobile-cta-quote{grid-column:1;grid-row:1;background:#f3d9a8;color:#1c241f}
  body .mobile-cta-bar .mobile-cta-wa{grid-column:2;grid-row:1;background:#1f6a3a;color:#fff}
  body .mobile-cta-bar .mcb-sep{display:none;width:0;min-width:0;margin:0;padding:0;border:0}
  body .mobile-cta-bar a span{min-width:0;white-space:normal;line-height:1.2;text-align:center;text-wrap:balance}
  body .mobile-cta-bar .mobile-cta-quote span{font-size:13px;letter-spacing:0;white-space:normal}
  body .mobile-cta-bar svg{flex:0 0 19px;width:19px;height:19px}
  body .mobile-cta-bar .mobile-cta-quote:active{background:#f9e7c9}
  body .mobile-cta-bar .mobile-cta-wa:active{background:#195a31}
}
