/* ===================== SIGN-IN POPUP (signed-out visitors, ticket portal) ===================== */
.lgn{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.lgn[hidden]{display:none}
.lgn-back{position:fixed;inset:0;background:rgba(21,19,33,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.lgn.is-page .lgn-back{background:rgba(248,249,250,.45);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.lgn-card{position:relative;width:100%;max-width:420px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 70px -30px rgba(26,21,37,.45);padding:24px 24px 24px}
.lgn-x{position:absolute;top:14px;right:14px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}
.lgn-x:hover{background:var(--bg-alt);color:var(--ink)}
.lgn-x:focus-visible,.lgn-card a:focus-visible{outline:3px solid rgba(14,159,91,.3);outline-offset:2px}
.lgn-x svg{width:18px;height:18px}
.lgn.is-page .lgn-x{display:none}
.lgn-ic{width:50px;height:50px;border-radius:14px;background:var(--tint);color:var(--green-d);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.lgn-ic svg{width:23px;height:23px}
.lgn-card h2{font-size:21px;font-weight:800;letter-spacing:-.01em;line-height:1.25}
.lgn-text{font-size:14.5px;color:var(--muted);margin:6px 0 18px}
.lgn-err{background:var(--red-bg);color:var(--red);font-weight:600;font-size:13.5px;border-radius:10px;padding:10px 12px;margin-bottom:16px}
.lgn-err[hidden]{display:none}
.lgn-form{display:flex;flex-direction:column;gap:14px}
.lgn-fld{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700}
.lgn-fld .inp{width:100%;font-size:16px}
.lgn-forgot{font-size:13.5px;text-align:right;margin-top:-4px}
.lgn-card a{color:var(--green-d);font-weight:700}
.lgn-card a:hover{text-decoration:underline}
.lgn-captcha{min-height:78px;display:flex;justify-content:center}
.lgn-captcha:empty{min-height:0}
.lgn-noscript{font-size:13px;color:var(--muted);text-align:center}
.lgn-submit{width:100%;justify-content:center}
.lgn-submit[disabled]{opacity:.65;cursor:progress}
.lgn-foot{font-size:13.5px;color:var(--muted);text-align:center;margin-top:16px}
.lgn-home{margin-top:8px}
body.lgn-lock{overflow:hidden}

/* header link for a signed-out visitor */
.hdr-tickets{white-space:nowrap}
@media(max-width:1023px){.hdr-tickets{display:none}}

/* placeholder behind the popup on /tickets addresses: shapes only */
.lgn-ghost{min-height:70vh;pointer-events:none;user-select:none}
.lgn-ghost-title{width:min(260px,60%);height:34px;border-radius:10px;background:#e9eaef;margin-bottom:26px}
.lgn-ghost-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.lgn-ghost-cards i{display:block;height:128px;border-radius:var(--radius);background:#fff;border:1.5px solid var(--line)}
.lgn-ghost-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px 20px}
.lgn-ghost-panel i{display:block;height:14px;border-radius:7px;background:#eeeff3;margin:20px 0}
.lgn-ghost-panel i:nth-child(2){width:82%}
.lgn-ghost-panel i:nth-child(3){width:64%}
.lgn-ghost-panel i:nth-child(4){width:74%}

/* track card link */
.track-all{margin-top:12px;font-size:13px;font-weight:700;}
@media(max-width:640px){
  .lgn{padding:12px;align-items:flex-start}
  .lgn-card{padding:28px 20px 22px;border-radius:18px;margin-top:4vh}
  .lgn-ghost-cards{grid-template-columns:1fr}
  .lgn-ghost-cards i{height:84px}
}
/* the reCAPTCHA box is 304px wide: scale it on very narrow screens */
@media(max-width:359px){.lgn-captcha{transform:scale(.88);transform-origin:center}}
