.vqq-root{
  --bg:#ffffff; --ink:#0b1220; --muted:#6b7280;
  --border:#4654A3; --brand:#270949; --accent:#EB5372;
  --ring:rgba(39,9,73,.20); --field:#f6f7fb; --ok:#16a34a; --err:#b91c1c;
  color:var(--ink);
  font:16px/1.5 Inter,Manrope,system-ui,-apple-system,"Segoe UI",Roboto,Arial;
}
.vqq-root *{box-sizing:border-box}
.vqq-root .wrap{max-width:1140px;margin:0 auto;padding:22px 14px}
.vqq-root .brandbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.vqq-root .brandbar img{height:26px}
.vqq-root .title{font:800 18px/1.2 Manrope,Inter;color:var(--brand)}
.vqq-root .card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 8px 26px rgba(2,6,23,.06);position:relative}
.vqq-root .stack{display:flex;flex-direction:column;gap:12px}

.vqq-root label{display:block;font-size:13px;color:#111827;font-weight:600;letter-spacing:.2px;margin-bottom:6px}
.vqq-root input[type="text"], .vqq-root input[type="email"], .vqq-root input[type="tel"], .vqq-root input[type="date"], .vqq-root select, .vqq-root textarea{
  display:block;width:100%;padding:12px 14px;border:1.5px solid var(--border);
  border-radius:12px;background:var(--field);outline:none;transition:border-color .15s, box-shadow .15s;resize:vertical;min-height:48px
}
.vqq-root input:hover,.vqq-root select:hover,.vqq-root textarea:hover{border-color:#2f3e92}
.vqq-root input:focus,.vqq-root select:focus,.vqq-root textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--ring);background:#fff}

.vqq-root .row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
@media (max-width:900px){ .vqq-root .row-2{grid-template-columns:1fr} }

.vqq-root .vqq-map{width:100%;height:380px;border-radius:14px;border:1.5px solid var(--border);background:#eef1f6;overflow:hidden;position:relative}

.vqq-root .map-overlay{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  pointer-events:none; opacity:0; transition:opacity .22s ease;
}
.vqq-root .map-overlay.visible{ pointer-events:auto; opacity:1; }
.vqq-root .map-overlay .back{
  position:absolute; inset:0; border-radius:14px;
  background: rgba(255,255,255,0.55); backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.vqq-root .map-overlay .spinner{
  position:relative; z-index:20; display:flex; flex-direction:column; align-items:center; gap:10px;
}
.vqq-root .map-overlay .spinner .dot{
  width:36px;height:36px;border-radius:50%;border:4px solid rgba(39,9,73,.18);border-top-color:var(--brand);
  animation:vqq-spin .9s linear infinite; box-shadow:0 6px 18px rgba(39,9,73,.08);
}
.vqq-root .map-overlay .spinner .txt{font-weight:700;color:var(--brand);font-size:13px}
@keyframes vqq-spin{to{transform:rotate(360deg)}}

.vqq-root .check{display:flex;align-items:flex-start;gap:10px}
.vqq-root .check input{width:18px;height:18px;margin-top:2px;accent-color:var(--brand)}
.vqq-root .check a{color:var(--brand);text-decoration:none;border-bottom:1px solid rgba(39,9,73,.25)}
.vqq-root .check a:hover{color:var(--accent);border-bottom-color:var(--accent)}

.vqq-root .btn{appearance:none;border:0;background:var(--brand);color:#fff;padding:14px 22px;border-radius:12px;font:700 16px/1 Manrope;cursor:pointer;box-shadow:0 10px 28px rgba(39,9,73,.35);display:block;margin:8px auto 0 auto;min-width:220px;text-align:center;position:relative;overflow:hidden}
.vqq-root .btn:hover{filter:brightness(1.05)}
.vqq-root .btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;filter:none}

.vqq-root .btn.loading{color:transparent}
.vqq-root .btn.loading::after{content:"";position:absolute;inset:auto;left:50%;top:50%;width:20px;height:20px;border-radius:999px;margin-left:-10px;margin-top:-10px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;animation:vqq-spin .8s linear infinite}
.vqq-root .sub{color:var(--muted);font-size:12px;text-align:center}
.vqq-root .vqq-error{color:var(--err);font-size:13px;margin-top:6px;display:none}

.vqq-root .sentinfo{font-size:13px;text-align:center;margin-top:8px;min-height:20px}
.vqq-root .sentinfo.ok{color:var(--ok);font-weight:700}
.vqq-root .sentinfo.err{color:var(--err);font-weight:700}

.vqq-root .locked::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.55);backdrop-filter:blur(1.5px);border-radius:16px;}

.vqq-root .contact-row{display:grid;grid-template-columns:180px 1fr;gap:12px}
@media(max-width:700px){.vqq-root .contact-row{grid-template-columns:1fr}}

.vqq-root .field-hint{font-size:12px;color:var(--err);margin-top:6px;display:none}
.vqq-root .invalid + .field-hint{display:block}

.vqq-root .ac-wrap{position:relative}
.vqq-root .ac-list{
  position:absolute; z-index:9999; left:0; right:0; top:calc(100% + 6px);
  background:#fff; border:1.5px solid var(--border); border-radius:12px;
  box-shadow:0 12px 30px rgba(2,6,23,.10); overflow:hidden;
  display:none;
}
.vqq-root .ac-item{
  padding:10px 12px; cursor:pointer; font-size:13px; line-height:1.3;
  border-top:1px solid rgba(70,84,163,.18);
}
.vqq-root .ac-item:first-child{border-top:0}
.vqq-root .ac-item:hover{background:#f4f6ff}
.vqq-root .ac-muted{color:var(--muted);font-size:12px;margin-top:2px}

.vqq-root .custom-pin svg{ display:block; filter: drop-shadow(0 6px 14px rgba(0,0,0,.12)); }
