/* ======================================================================
   ENQUIRY POPUP (sitewide) — markup is built by js/enquiry.js
   ====================================================================== */
.eq{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;
 visibility:hidden;pointer-events:none}
.eq.is-open{visibility:visible;pointer-events:auto}
.eq-scrim{position:absolute;inset:0;background:rgba(20,4,20,.62);opacity:0;transition:opacity .35s ease}
.eq.is-open .eq-scrim{opacity:1}
.eq-box{position:relative;width:min(640px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);
 display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;
 box-shadow:0 40px 90px rgba(20,4,20,.4);opacity:0;transform:translateY(24px) scale(.98);
 transition:opacity .35s ease,transform .45s cubic-bezier(.22,.7,.3,1)}
.eq.is-open .eq-box{opacity:1;transform:none}
.eq-head{position:relative;padding:26px 30px 22px;background:var(--purple-900);color:#fff;overflow:hidden}
.eq-head:after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;
 border:1px dashed rgba(253,185,19,.35)}
.eq-head .eyebrow{color:#F3D9EC;margin-bottom:8px}
.eq-head h2{font-size:clamp(23px,3vw,30px);font-weight:500;color:#fff;margin:0}
.eq-head h2 em{font-style:italic;color:var(--gold)}
.eq-head p{margin:6px 0 0;font-size:14px;color:rgba(255,255,255,.72)}
.eq-x{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.3);
 background:rgba(255,255,255,.08);color:#fff;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;
 transition:background .2s ease,color .2s ease}
.eq-x:hover{background:var(--gold);color:#3A2600;border-color:var(--gold)}
.eq-x:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.eq-body{overflow-y:auto;overscroll-behavior:contain;padding:24px 30px 26px}
.eq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.eq-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.eq-f.full{grid-column:1/-1}
.eq-f label{font-size:12px;font-weight:600;color:var(--purple-700)}
.eq-f label sup{color:#C2185B;font-size:11px;margin-left:1px}
.eq-f input,.eq-f select,.eq-f textarea{width:100%;font-family:inherit;font-size:14px;color:var(--ink);background:#FDFAFC;
 border:1px solid var(--line);border-radius:8px;padding:12px 14px;-webkit-appearance:none;appearance:none;
 transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.eq-f select{padding-right:40px;cursor:pointer;
 background:#FDFAFC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235E1A5E' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center}
.eq-f textarea{min-height:88px;resize:vertical;line-height:1.55}
.eq-f input:focus,.eq-f select:focus,.eq-f textarea:focus{outline:none;background:#fff;border-color:var(--purple-500);
 box-shadow:0 0 0 4px rgba(142,44,142,.12)}
.eq-f.is-bad input{border-color:#C2185B;box-shadow:0 0 0 4px rgba(194,24,91,.1)}
.eq-err{font-size:11.5px;color:#C2185B}
.eq-err:empty{display:none}
.eq-wa{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:13.5px;color:#4A4450;cursor:pointer}
.eq-wa input{width:18px;height:18px;accent-color:var(--purple-700);flex:none}
.eq-wa i{color:#1F8A4C}
.eq-foot{display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.eq-foot .btn{display:inline-flex;align-items:center;gap:9px}
.eq-foot p{flex:1 1 220px;margin:0;font-size:12.5px;color:var(--muted);line-height:1.55}
.eq-done{padding:44px 30px 40px;text-align:center}
.eq-done[hidden],.eq-form[hidden]{display:none}
.eq-done > i{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;
 background:var(--gold);color:#3A2600;font-size:30px;box-shadow:0 0 0 10px rgba(253,185,19,.18)}
.eq-done h3{font-size:clamp(22px,2.6vw,28px);color:var(--purple-700);margin:22px 0 8px}
.eq-done p{margin:0 auto;max-width:28em;color:var(--muted)}
.eq-done .btn{margin-top:22px}
html.eq-lock{overflow:hidden}

@media (max-width:560px){
  .eq{padding:0;align-items:flex-end}
  .eq-box{max-height:94vh;max-height:94dvh;border-radius:14px 14px 0 0;transform:translateY(40px)}
  .eq-head{padding:22px 20px 18px}
  .eq-body{padding:20px}
  .eq-grid{grid-template-columns:minmax(0,1fr)}
  .eq-foot .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .eq-scrim,.eq-box{transition:none}
}
