
.gvauth-modal{
  --gva-modal-surface:#fff;
  --gva-modal-border:#d4d4d8;
  --gva-modal-close:#71717a;
  --gva-dialog-width:900px;
  --gva-auth-frame-height:540px;
  position:fixed;inset:0;z-index:2147482000;
  width:100vw;height:100dvh;min-width:0;min-height:0;
  display:flex;align-items:center;justify-content:center;
  padding:24px;margin:0;overflow:hidden;
  opacity:0;visibility:hidden;pointer-events:none;
  background:transparent;
  transition:opacity .16s ease,visibility 0s linear .16s;
}
html[data-public-base-theme="dark"] .gvauth-modal{
  --gva-modal-surface:#000;
  --gva-modal-border:#2f2f33;
  --gva-modal-close:#a1a1aa;
}
.gvauth-modal[hidden]{display:none}
.gvauth-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .16s ease}
.gvauth-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.42);backdrop-filter:blur(12px) saturate(110%);-webkit-backdrop-filter:blur(12px) saturate(110%)}
.gvauth-modal[data-auth-mode="login"]{--gva-dialog-width:900px;--gva-auth-frame-height:540px}
.gvauth-modal[data-auth-mode="register"]{--gva-dialog-width:1060px;--gva-auth-frame-height:630px}
.gvauth-modal[data-auth-mode="forgot"]{--gva-dialog-width:840px;--gva-auth-frame-height:430px}
.gvauth-modal[data-auth-mode="reset"]{--gva-dialog-width:860px;--gva-auth-frame-height:500px}
.gvauth-modal[data-auth-mode="verify"],
.gvauth-modal[data-auth-mode="identity"]{--gva-dialog-width:760px;--gva-auth-frame-height:440px}
.gvauth-modal[data-auth-mode="setup"]{--gva-dialog-width:940px;--gva-auth-frame-height:570px}
.gvauth-dialog{
  position:relative;z-index:2;inset:auto;top:auto;left:auto;right:auto;bottom:auto;
  flex:0 0 auto;align-self:center;
  width:min(var(--gva-dialog-width),calc(100vw - 48px));
  height:auto;min-width:0;min-height:0;max-width:none;max-height:calc(100dvh - 48px);
  margin:0;padding:0;overflow:hidden;
  border:1px solid var(--gva-modal-border);border-radius:12px;
  background:var(--gva-modal-surface);
  box-shadow:0 30px 100px rgba(0,0,0,.44);
  transform:translateY(8px);transform-origin:center;transition:transform .16s ease;
}
.gvauth-modal.is-open .gvauth-dialog{transform:translateY(0)}
.gvauth-frame{
  position:relative;display:block;width:100%;height:min(var(--gva-auth-frame-height),calc(100dvh - 48px));min-width:0;min-height:0;
  margin:0;padding:0;border:0;border-radius:11px;overflow:hidden;background:var(--gva-modal-surface);
  transition:none;
}
.gvauth-frame iframe{
  display:block;width:100%;height:100%;min-width:0;min-height:0;
  margin:0;padding:0;border:0;border-radius:0;overflow:hidden;
  background:var(--gva-modal-surface);opacity:1;transform:none;transition:opacity .08s ease;color-scheme:light;
}
html[data-public-base-theme="dark"] .gvauth-frame iframe{color-scheme:dark}
.gvauth-close{
  position:absolute;z-index:5;top:14px;inset-inline-end:14px;
  width:32px;height:32px;display:grid;place-items:center;
  margin:0;padding:0;border:0;border-radius:6px;background:transparent;
  color:var(--gva-modal-close);box-shadow:none;cursor:pointer;
}
.gvauth-close svg{display:block;width:20px;height:20px}
.gvauth-close:hover{background:rgba(127,127,127,.10);color:inherit}
.gvauth-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.gvauth-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html.gv-auth-modal-open,html.gv-auth-modal-open body{overflow:hidden}
@media(max-width:760px){.gvauth-modal{display:none}}
@media(max-height:680px) and (min-width:761px){
  .gvauth-modal{padding:12px}
  .gvauth-dialog{max-height:calc(100dvh - 24px)}
  .gvauth-frame{height:min(var(--gva-auth-frame-height),calc(100dvh - 24px))}
}
@media(prefers-reduced-motion:reduce){.gvauth-modal,.gvauth-dialog,.gvauth-frame{transition:none}}

/* Third-party chat launchers stay hidden while the customer auth modal owns focus. */
html.gv-auth-modal-open #tidio-chat,
html.gv-auth-modal-open [id^="tidio-chat"],
html.gv-auth-modal-open iframe[src*="tidio" i],
html.gv-auth-modal-open #crisp-chatbox,
html.gv-auth-modal-open .crisp-client,
html.gv-auth-modal-open #tawkchat-container,
html.gv-auth-modal-open iframe[src*="tawk.to" i],
html.gv-auth-modal-open #chatwoot_live_chat_widget,
html.gv-auth-modal-open .woot-widget-holder,
html.gv-auth-modal-open iframe[src*="chatwoot" i],
html.gv-auth-modal-open .intercom-lightweight-app,
html.gv-auth-modal-open #intercom-container,
html.gv-auth-modal-open iframe[src*="intercom" i],
html.gv-auth-modal-open #hubspot-messages-iframe-container,
html.gv-auth-modal-open iframe[src*="hubspot" i],
html.gv-auth-modal-open iframe[src*="zdassets" i],
html.gv-auth-modal-open iframe[src*="jivosite" i],
html.gv-auth-modal-open iframe[src*="smartsupp" i],
html.gv-auth-modal-open iframe[src*="livechatinc" i],
html.gv-auth-modal-open iframe[src*="freshchat" i],
html.gv-auth-modal-open [data-gv-chat-launcher] {
    display:none;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
}

/* Standalone fallback; the shared popup controller is the only inline lock owner. */
html.gv-auth-modal-open { overflow:hidden; }
