/* ============================================================
   INO / IWSafari — Enquire Drawer (CF7) — stile
   Palette agganciata SOLO alle variabili globali Astra
   (--ast-global-color-0..8). Gli stessi slot risolvono
   ai colori INO o Safari a seconda del sito. Nessun hex di brand.
   ------------------------------------------------------------
   Mappatura slot:
     color-0 testo attenuato   color-5 aurora/salvia
     color-1 oro (accento/CTA) color-6 deep (sfondo header)
     color-2 scurissimo (ink)  color-7 oro chiaro
     color-3 azione primaria   color-8 divisori (frost)
     color-4 superficie chiara
   ============================================================ */
.enquire-drawer,
.enquire-overlay {
  --ink:     var(--ast-global-color-2);
  --deep:    var(--ast-global-color-6);
  --glacier: var(--ast-global-color-3);
  --aurora:  var(--ast-global-color-5);
  --gold:    var(--ast-global-color-1);
  --gold2:   var(--ast-global-color-7);
  --ice:     var(--ast-global-color-4);
  --frost:   var(--ast-global-color-8);
  --white:   var(--ast-global-color-4);
  --mid:     var(--ast-global-color-0);
  --eq-error:#b03a2e; /* stato: NON di brand, resta literal */
}

/* ---- Overlay + Drawer ---- */
.enquire-overlay{
  position:fixed; inset:0;
  background:color-mix(in srgb, var(--ink) 50%, transparent);
  opacity:0; visibility:hidden; z-index:500; transition:opacity .35s;
}
.enquire-overlay.open{ opacity:1; visibility:visible; }

.enquire-drawer{
  position:fixed; top:0; right:-960px; bottom:0;
  width:100%; max-width:940px; background:var(--white);
  z-index:501; display:flex; flex-direction:column;
  transition:right .45s cubic-bezier(.25,.46,.45,.94); overflow:hidden;
}
.enquire-drawer.open{ right:0; }

/* CF7 avvolge il contenuto in <form>: colonna a piena altezza */
.enquire-drawer .wpcf7{ display:flex; flex:1; min-height:0; }
.enquire-drawer .wpcf7-form{ display:flex; flex-direction:column; flex:1; min-height:0; width:100%; }

/* ---- Header ---- */
.enquire-header{
  background:var(--deep); padding:1.4rem 2rem; flex-shrink:0;
  display:flex; align-items:center; justify-content:space-between;
}
.enquire-header-eyebrow{
  font-size:.62rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--aurora); margin-bottom:.2rem;
}
.enquire-header-title{
  font-family:'Cormorant Garamond',serif; font-size:1.3rem;
  font-weight:300; color:var(--white); line-height:1.1;
}
.enquire-header-title em{ font-style:italic; color:var(--gold2); font-weight:400; }
.enquire-close{
  width:36px; height:36px; border:none; border-radius:2px;
  background:color-mix(in srgb, var(--white) 12%, transparent);
  color:var(--white); font-size:1.1rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .2s;
}
.enquire-close:hover{ background:color-mix(in srgb, var(--white) 22%, transparent); }

/* ---- Progress ---- */
.enquire-progress{
  background:var(--ink); padding:.8rem 2rem; flex-shrink:0;
  display:flex; align-items:center; gap:.5rem;
}
.enquire-step-indicator{ display:flex; align-items:center; flex:1; }
.eq-step{
  display:flex; align-items:center; gap:.4rem;
  font-size:.8rem; letter-spacing:.12em; text-transform:uppercase;
  color:color-mix(in srgb, var(--frost) 40%, transparent); transition:color .3s;
}
.eq-step.active{ color:var(--gold2); font-weight:500; }
.eq-step.done{ color:var(--aurora); }
.eq-step-num{
  width:20px; height:20px; border-radius:50%;
  background:color-mix(in srgb, var(--frost) 15%, transparent);
  display:flex; align-items:center; justify-content:center;
  font-size:.62rem; font-weight:600;
  color:color-mix(in srgb, var(--frost) 40%, transparent);
  transition:all .3s; flex-shrink:0;
}
.eq-step.active .eq-step-num{ background:var(--gold); color:var(--ink); }
.eq-step.done .eq-step-num{ background:var(--aurora); color:var(--ink); }
.eq-step-sep{
  flex:1; height:1px; margin:0 .4rem; max-width:32px;
  background:color-mix(in srgb, var(--frost) 15%, transparent);
}

/* ---- Body + Panels ---- */
.enquire-body{ flex:1; overflow-y:auto; padding:2rem; scrollbar-width:none; }
.enquire-body::-webkit-scrollbar{ display:none; }
.eq-panel{ display:none; flex-direction:column; gap:1.2rem; animation:eqFadeIn .3s both; }
.eq-panel.active{ display:flex; }
@keyframes eqFadeIn{ from{opacity:0;transform:translateY(12px);} to{opacity:1;transform:translateY(0);} }
.eq-panel-title{
  font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:300;
  color:var(--ink); margin-bottom:.3rem;
}
.eq-panel-title em{ font-style:italic; color:var(--glacier); font-weight:400; }
.eq-panel-desc{ font-size:.9rem; color:var(--mid); font-weight:300; line-height:1.55; margin-bottom:.5rem; }
.eq-field{ display:flex; flex-direction:column; gap:.4rem; }
.eq-label{ font-size:.8125rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); font-weight:500; }
.eq-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }

/* ---- Input / Select / Textarea ---- */
.eq-input, .eq-select, .eq-textarea{
  padding:.85rem 1rem; border:none;
  border-bottom:1px solid color-mix(in srgb, var(--aurora) 45%, transparent);
  background:var(--ice); color:var(--ink);
  font-family:'Outfit',sans-serif; font-size:1rem; width:100%; outline:none;
  transition:border-color .2s, background .2s;
}
.eq-input:focus, .eq-select:focus, .eq-textarea:focus{
  border-color:var(--glacier);
  background:color-mix(in srgb, var(--ice) 94%, var(--ink));
}
.eq-input::placeholder, .eq-textarea::placeholder{ color:color-mix(in srgb, var(--ink) 38%, transparent); }
.eq-select{ color:var(--mid); cursor:pointer; }
.eq-textarea{ resize:vertical; min-height:100px; }

/* ---- PILL / CHIP: restyle checkbox+radio nativi CF7 ---- */
.eq-pills .wpcf7-checkbox,
.eq-pills .wpcf7-radio{ display:flex; flex-wrap:wrap; gap:.5rem; }
.eq-pills .wpcf7-list-item{ margin:0; }
.eq-pills .wpcf7-list-item label{ display:block; margin:0; cursor:pointer; }
.eq-pills input[type=checkbox],
.eq-pills input[type=radio]{ position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.eq-pills .wpcf7-list-item-label{
  display:inline-block; padding:.5rem 1.1rem;
  border:1px solid color-mix(in srgb, var(--aurora) 45%, transparent);
  font-size:.85rem; color:var(--mid); user-select:none; transition:all .2s;
}
.eq-pills input:hover + .wpcf7-list-item-label{ border-color:var(--glacier); color:var(--ink); }
.eq-pills input:checked + .wpcf7-list-item-label{
  background:var(--gold); border-color:var(--gold); color:var(--ink); font-weight:500;
}
.eq-pills input:focus-visible + .wpcf7-list-item-label{ outline:2px solid var(--glacier); outline-offset:2px; }

/* ---- Consenso privacy ---- */
.eq-consent{ font-size:.85rem; color:var(--mid); }
.eq-consent .wpcf7-list-item{ margin:0; }
.eq-consent a{ color:var(--glacier); }

/* ---- Footer nav ---- */
.enquire-footer{
  flex-shrink:0; padding:1.2rem 2rem; border-top:1px solid var(--frost);
  display:flex; align-items:center; justify-content:space-between; gap:1rem; background:var(--white);
}
.enquire-footer-right{ display:flex; align-items:center; gap:1rem; margin-left:auto; }
.eq-btn-prev{
  background:none; border:none; color:var(--mid); cursor:pointer;
  font-family:'Outfit',sans-serif; font-size:.85rem; letter-spacing:.1em;
}
.eq-btn-prev:hover{ color:var(--ink); }
.eq-btn-next, .eq-btn-submit{
  padding:.9rem 2rem; background:var(--glacier); color:var(--white); border:none;
  /* CTA piu' forte su Safari? -> sostituisci var(--glacier) con var(--deep) */
  font-family:'Outfit',sans-serif; font-size:.85rem; letter-spacing:.12em;
  text-transform:uppercase; font-weight:500; cursor:pointer; transition:background .2s;
}
.eq-btn-next:hover, .eq-btn-submit:hover{ background:var(--ink); }
.enquire-footer .wpcf7-spinner{ margin:0 0 0 .6rem; }

/* ---- Messaggi di validazione CF7 ---- */
.enquire-drawer .wpcf7-not-valid-tip{ color:var(--eq-error); font-size:.75rem; display:block; margin-top:.3rem; }
.enquire-drawer .wpcf7-form-control.wpcf7-not-valid{ border-color:var(--eq-error); }
.enquire-drawer .wpcf7-response-output{ margin:0 1rem 0 0; padding:.5rem .9rem; font-size:.8rem; border-width:1px; }

/* ---- Success ---- */
.eq-success{ display:none; flex-direction:column; align-items:center; text-align:center; padding:3rem 1rem; gap:1rem; }
.eq-success.show{ display:flex; animation:eqFadeIn .3s both; }
.eq-success-icon{
  width:64px; height:64px; border-radius:50%; background:var(--aurora); color:var(--white);
  display:flex; align-items:center; justify-content:center; font-size:2rem;
}
.eq-success-title{ font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:300; color:var(--ink); }
.eq-success-title em{ font-style:italic; color:var(--glacier); }
.eq-success-text{ font-size:.95rem; color:var(--mid); max-width:420px; line-height:1.6; }
.eq-success-close{
  margin-top:.5rem; padding:.9rem 2rem; background:var(--glacier); color:var(--white); border:none;
  font-family:'Outfit',sans-serif; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; cursor:pointer;
}

/* ---- CTA header (bottone che apre il drawer) ---- */
.ino-cta-header{
  display:inline-block; padding:.7rem 1.6rem; background:var(--gold); color:var(--ink);
  font-family:'Outfit',sans-serif; font-size:.8rem; letter-spacing:.12em;
  text-transform:uppercase; font-weight:500; text-decoration:none; transition:background .2s;
}
.ino-cta-header:hover{ background:var(--glacier); color:var(--white); }

/* ---- Mobile ---- */
@media (max-width:600px){
  .enquire-header, .enquire-progress, .enquire-body, .enquire-footer{ padding-left:1.2rem; padding-right:1.2rem; }
  .eq-step{ font-size:0; gap:0; }
  .eq-step .eq-step-num{ font-size:.62rem; }
  .eq-row-2{ grid-template-columns:1fr; }
}