/* ==========================================================================
   MEENA DIGI SOLUTIONS — Floating contact dock + enquiry modal
   Injected by js/enquiry.js on every page except contact.html.
   Uses the global design tokens; inherits light/dark theme automatically.
   ========================================================================== */

/* ---------- floating dock ---------- */
.eq-dock{
  position:fixed; right:clamp(16px, 3vw, 28px); bottom:clamp(16px, 3vh, 28px);
  z-index:820; display:flex; flex-direction:column; align-items:flex-end; gap:12px;
}
.eq-fab{
  width:58px; height:58px; border-radius:50%;
  background:var(--accent); color:#fff; border:none; cursor:pointer;
  display:grid; place-items:center; position:relative;
  box-shadow:0 10px 30px rgba(124,92,255,0.35);
  transition:transform .45s var(--ease), background .3s var(--ease);
}
.eq-fab:hover{ transform:scale(1.07); }
.eq-fab svg{ width:24px; height:24px; transition:transform .45s var(--ease), opacity .3s var(--ease); }
.eq-fab .eq-ic-close{ position:absolute; opacity:0; transform:rotate(-90deg) scale(0.5); }
.eq-dock.is-open .eq-fab{ background:var(--surface-2); }
.eq-dock.is-open .eq-fab .eq-ic-chat{ opacity:0; transform:rotate(90deg) scale(0.5); }
.eq-dock.is-open .eq-fab .eq-ic-close{ opacity:1; transform:rotate(0deg) scale(1); }
/* attention pulse — twice, then rests */
.eq-fab::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  border:2px solid var(--accent); opacity:0;
  animation:eq-pulse 2.6s var(--ease-soft) 1.2s 3;
}
@keyframes eq-pulse{
  0%{ transform:scale(1); opacity:0.7; }
  70%{ transform:scale(1.65); opacity:0; }
  100%{ transform:scale(1.65); opacity:0; }
}

/* ---------- dock actions ---------- */
.eq-actions{ display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.eq-action{
  display:flex; align-items:center; gap:10px; text-decoration:none;
  opacity:0; transform:translateY(14px) scale(0.85); pointer-events:none;
  transition:opacity .35s var(--ease), transform .45s var(--ease);
  border:none; background:none; padding:0; cursor:pointer;
}
.eq-dock.is-open .eq-action{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.eq-dock.is-open .eq-action:nth-child(3){ transition-delay:.02s; }
.eq-dock.is-open .eq-action:nth-child(2){ transition-delay:.09s; }
.eq-dock.is-open .eq-action:nth-child(1){ transition-delay:.16s; }
.eq-action-label{
  font-size:0.78rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--text); background:var(--surface);
  border:1px solid var(--border); border-radius:999px; padding:7px 14px;
  box-shadow:0 6px 20px rgba(0,0,0,0.18); white-space:nowrap;
}
.eq-action-btn{
  width:48px; height:48px; border-radius:50%; display:grid; place-items:center;
  color:#fff; box-shadow:0 8px 22px rgba(0,0,0,0.22);
  transition:transform .3s var(--ease);
}
.eq-action:hover .eq-action-btn{ transform:scale(1.12); }
.eq-action-btn svg{ width:22px; height:22px; }
.eq-action-wa .eq-action-btn{ background:#25D366; }
.eq-action-call .eq-action-btn{ background:var(--accent-2); }
.eq-action-mail .eq-action-btn{ background:var(--action); color:#0A0A0B; }

/* ---------- modal ---------- */
.eq-overlay{
  position:fixed; inset:0; z-index:940;
  background:rgba(10,10,11,0.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  display:grid; place-items:center; padding:20px;
  opacity:0; pointer-events:none; transition:opacity .35s var(--ease);
}
.eq-overlay.is-on{ opacity:1; pointer-events:auto; }
.eq-modal{
  width:min(560px, 100%); max-height:min(88vh, 720px); overflow:auto;
  background:var(--bg); border:1px solid var(--border); border-radius:22px;
  padding:clamp(24px, 4vw, 40px); position:relative;
  transform:translateY(26px) scale(0.96); opacity:0;
  transition:transform .45s var(--ease), opacity .35s var(--ease);
  overscroll-behavior:contain;
}
.eq-overlay.is-on .eq-modal{ transform:translateY(0) scale(1); opacity:1; }
.eq-close{
  position:absolute; top:16px; right:16px; width:38px; height:38px;
  border-radius:50%; border:1px solid var(--border); background:var(--surface);
  color:var(--text); cursor:pointer; display:grid; place-items:center;
  transition:transform .3s var(--ease), border-color .3s var(--ease);
}
.eq-close:hover{ transform:rotate(90deg); border-color:var(--accent); }
.eq-close svg{ width:16px; height:16px; }
.eq-modal-tag{
  font-size:0.72rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--accent); margin-bottom:10px;
}
.eq-modal-title{
  font-family:var(--font-display); font-weight:700; text-transform:uppercase;
  font-size:clamp(1.3rem, 3vw, 1.7rem); letter-spacing:0.02em; line-height:1.15;
  margin-bottom:6px;
}
.eq-modal-sub{ color:var(--text-dim); font-size:0.92rem; margin-bottom:22px; }
.eq-field{ margin-bottom:14px; }
.eq-field label{
  display:block; font-size:0.72rem; font-weight:600; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--text-faint); margin-bottom:6px;
}
.eq-input{
  width:100%; background:var(--surface); border:1px solid var(--border);
  border-radius:12px; padding:12px 14px; color:var(--text);
  font:inherit; font-size:0.95rem; outline:none;
  transition:border-color .3s var(--ease);
}
.eq-input:focus{ border-color:var(--accent); }
.eq-input.eq-invalid{ border-color:var(--warm); }
textarea.eq-input{ min-height:96px; resize:vertical; }
.eq-pills{ display:flex; flex-wrap:wrap; gap:8px; }
.eq-pill{
  border:1px solid var(--border); background:var(--surface); color:var(--text-dim);
  border-radius:999px; padding:8px 14px; font-size:0.82rem; font-weight:600;
  cursor:pointer; transition:all .25s var(--ease);
}
.eq-pill:hover{ border-color:var(--accent); color:var(--text); }
.eq-pill.is-on{ background:var(--accent); border-color:var(--accent); color:#fff; }
.eq-btns{ display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.eq-send{
  flex:1; min-width:180px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border-radius:999px; padding:13px 20px; font-weight:700; font-size:0.9rem;
  letter-spacing:0.04em; cursor:pointer; border:none;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.eq-send:hover{ transform:translateY(-2px); }
.eq-send svg{ width:17px; height:17px; }
.eq-send-wa{ background:#25D366; color:#fff; box-shadow:0 8px 24px rgba(37,211,102,0.28); }
.eq-send-mail{ background:var(--action); color:#0A0A0B; box-shadow:0 8px 24px rgba(212,255,61,0.25); }
.eq-hint{ margin-top:12px; font-size:0.83rem; color:var(--warm); min-height:1.2em; }
.eq-hint.is-ok{ color:var(--signal); }

/* ---------- small screens ---------- */
@media (max-width:640px){
  .eq-fab{ width:52px; height:52px; }
  .eq-action-btn{ width:44px; height:44px; }
  .eq-btns{ flex-direction:column; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .eq-fab::before{ animation:none; }
  .eq-fab, .eq-action, .eq-overlay, .eq-modal, .eq-close, .eq-send{ transition:none; }
}

/* lock page scroll while modal is open */
html.eq-lock, html.eq-lock body{ overflow:hidden; }
