/* Yateer Site Visit Desk — floating "Quick Site Visit Request" (desktop & tablet only) */
#ysv{
  --ysv-btn:#0E6B45; --ysv-btn-h:color-mix(in srgb,var(--ysv-btn) 82%,#000);
  --ysv-navy:#151A30; --ysv-ink:#181B22; --ysv-muted:#4A5063; --ysv-line:#D6E1DB; --ysv-card:#F3F9F6;
  --ysv-head:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ysv-body:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-family:var(--ysv-body);font-size:15px;line-height:1.5;color:var(--ysv-ink);-webkit-font-smoothing:antialiased;
}
#ysv *,#ysv *::before,#ysv *::after{box-sizing:border-box}
#ysv [hidden]{display:none!important}
#ysv svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#ysv p{margin:0;padding:0}
#ysv button{font-family:inherit;letter-spacing:normal;text-transform:none;margin:0}

/* ---------- edge tab ---------- */
#ysv .ysv-tab{position:fixed;right:0;top:50%;z-index:99990;transform:translateY(-50%);
  display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 11px 18px;
  border:0;border-radius:14px 0 0 14px;background:var(--ysv-btn);color:#fff;cursor:pointer;
  font-family:var(--ysv-head);font-weight:600;font-size:13.5px;line-height:1;letter-spacing:.04em;
  box-shadow:-6px 10px 26px -10px rgba(14,40,28,.55);transition:padding .2s,background .2s,transform .3s,opacity .2s}
#ysv .ysv-tab span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}
#ysv .ysv-tab:hover{background:var(--ysv-btn-h);padding-right:15px}
#ysv .ysv-tab:focus-visible{outline:3px solid #F26522;outline-offset:2px}
#ysv.is-open .ysv-tab{transform:translate(110%,-50%);opacity:0;pointer-events:none}

/* ---------- panel (floating card, right side) ---------- */
#ysv .ysv-scrim{position:fixed;inset:0;z-index:99991;background:rgba(10,15,30,.28);opacity:0;transition:opacity .25s}
#ysv.is-open .ysv-scrim{opacity:1}
#ysv .ysv-panel{position:fixed;right:20px;top:50%;z-index:99992;width:372px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);overflow:auto;overscroll-behavior:contain;
  padding:24px 24px 22px;background:var(--ysv-card);border:1px solid rgba(255,255,255,.7);border-radius:16px;
  box-shadow:0 30px 60px -20px rgba(10,20,40,.55),0 2px 6px rgba(10,20,40,.08);
  transform:translate(calc(100% + 40px),-50%);visibility:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s .35s}
#ysv.is-open .ysv-panel{transform:translate(0,-50%);visibility:visible;transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s}
#ysv .ysv-x{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ysv-muted);cursor:pointer}
#ysv .ysv-x:hover{background:rgba(21,26,48,.07);color:var(--ysv-navy)}
#ysv .ysv-x svg{width:18px;height:18px}

#ysv .ysv-title{display:flex;align-items:center;gap:10px;padding-right:30px;font-family:var(--ysv-head);font-weight:700;font-size:19px;line-height:1.25;color:var(--ysv-navy)}
#ysv .ysv-title svg{width:24px;height:24px;color:var(--ysv-navy)}
#ysv .ysv-intro{margin-top:8px;font-size:14px;line-height:1.5;color:var(--ysv-muted)}

/* ---------- form ---------- */
#ysv .ysv-form{margin-top:16px}
#ysv .ysv-f{margin-bottom:13px}
#ysv .ysv-f label{display:block;margin:0 0 6px;font-family:var(--ysv-head);font-weight:600;font-size:14px;line-height:1.3;color:var(--ysv-navy)}
#ysv .ysv-f label i{font-style:normal;color:#D93636}
#ysv .ysv-f input,#ysv .ysv-f select{display:block;width:100%;height:44px;margin:0;padding:0 13px;
  background:#fff;border:1px solid var(--ysv-line);border-radius:8px;box-shadow:none;
  font-family:var(--ysv-body);font-size:14.5px;line-height:1.2;color:var(--ysv-ink);transition:border-color .15s,box-shadow .15s}
#ysv .ysv-f input::placeholder{color:#8A93A3;opacity:1}
#ysv .ysv-f input:focus,#ysv .ysv-f select:focus{outline:0;border-color:var(--ysv-btn);box-shadow:0 0 0 3px color-mix(in srgb,var(--ysv-btn) 18%,transparent)}
#ysv .ysv-f.is-bad input,#ysv .ysv-f.is-bad select{border-color:#D93636;box-shadow:0 0 0 3px rgba(217,54,54,.12)}
#ysv .ysv-f .ysv-msg{margin-top:5px;font-size:12.5px;line-height:1.35;color:#C02B2B}
#ysv .ysv-sel{position:relative}
#ysv .ysv-sel select{-webkit-appearance:none;appearance:none;padding-right:38px;cursor:pointer}
#ysv .ysv-sel::after{content:"";position:absolute;right:15px;top:50%;width:8px;height:8px;margin-top:-6px;border:solid var(--ysv-muted);border-width:0 2px 2px 0;transform:rotate(45deg);pointer-events:none}
#ysv .ysv-sel--ico select{padding-left:42px}
#ysv .ysv-sel--ico svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ysv-navy);pointer-events:none}
#ysv .ysv-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

#ysv .ysv-err{margin:4px 0 10px;padding:9px 12px;border-radius:8px;background:#FDECEC;color:#B42323;font-size:13px}
#ysv .ysv-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;margin-top:6px;padding:12px 18px;
  border:0;border-radius:8px;background:var(--ysv-btn);color:#fff;cursor:pointer;
  font-family:var(--ysv-head);font-weight:600;font-size:15.5px;line-height:1.2;
  box-shadow:0 10px 22px -12px color-mix(in srgb,var(--ysv-btn) 80%,#000);transition:background .2s}
#ysv .ysv-submit:hover{background:var(--ysv-btn-h)}
#ysv .ysv-submit svg{transition:transform .2s}
#ysv .ysv-submit:hover svg{transform:translateX(3px)}
#ysv .ysv-submit:focus-visible,#ysv .ysv-close-btn:focus-visible,#ysv .ysv-planner:focus-visible{outline:3px solid #F26522;outline-offset:2px}
#ysv .ysv-submit[disabled]{opacity:.7;cursor:progress}

#ysv .ysv-planner{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;padding-top:13px;border-top:1px solid var(--ysv-line);
  font-size:13px;font-weight:600;line-height:1.35;color:#D9541C;text-decoration:none;text-align:center}
#ysv .ysv-planner svg{width:15px;height:15px}
#ysv .ysv-planner:hover{text-decoration:underline;text-underline-offset:3px;color:#D9541C}

/* ---------- success ---------- */
#ysv .ysv-done{text-align:center;padding:10px 4px 4px;outline:0}
#ysv .ysv-done .ysv-title{justify-content:center;padding:0;margin-top:14px}
#ysv .ysv-done__ic{display:grid;place-items:center;width:58px;height:58px;margin:4px auto 0;border-radius:50%;background:var(--ysv-btn);color:#fff}
#ysv .ysv-done__ic svg{width:30px;height:30px;stroke-width:2.4}
#ysv .ysv-ref{margin-top:8px;font-size:13.5px;color:var(--ysv-muted)}
#ysv .ysv-ref strong{font-family:var(--ysv-head);color:var(--ysv-navy);letter-spacing:.03em}
#ysv .ysv-done .ysv-intro{margin-top:12px}
#ysv .ysv-close-btn{margin-top:18px;min-height:44px;padding:10px 28px;border:1px solid var(--ysv-line);border-radius:8px;background:#fff;color:var(--ysv-navy);font-weight:600;font-size:14.5px;cursor:pointer}

@media (max-height:640px){#ysv .ysv-panel{padding:18px 20px 16px}#ysv .ysv-f{margin-bottom:10px}#ysv .ysv-intro{font-size:13.5px}}
@media (prefers-reduced-motion:reduce){#ysv *{transition:none!important}}

/* optional shortcode button [ysv_button] */
.ysv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:10px;background:#0E6B45;color:#fff!important;font-weight:600;text-decoration:none!important}
