/* Customer authentication UI; shared website chrome remains authoritative. */
body.login-page .study .public-header+main{margin-top:0}
.login-layout{width:min(100% - 96px,1120px);margin:0 auto;padding:24px 0 28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.login-brand-scene{min-width:0}.login-image-frame{height:500px;border:1px solid #39caff66;border-radius:10px;overflow:hidden;box-shadow:0 0 18px #39caff16}.login-image-frame img{width:100%;height:100%;object-fit:cover;object-position:center 65%}
.login-brand-scene figcaption{font:400 36px/1.15 Cormorant,'Cormorant Fallback',Georgia,serif;color:#f5f7fb;text-align:center;margin-top:22px}
@media(hover:hover) and (pointer:fine){.login-image-frame:hover{box-shadow:0 0 22px #39caff24}}
@media(prefers-reduced-motion:no-preference){.login-image-frame{transition:box-shadow .25s ease}}
.login-shell{min-width:0;width:100%;padding:22px 28px;border:1px solid #345065;border-radius:12px;background:#0c1d2c;box-shadow:0 12px 36px #00000016;color:#f5f7fb;font-family:Inter,'Inter Fallback',Arial,sans-serif}
.login-shell h1{font-family:Cormorant,'Cormorant Fallback',Georgia,serif;font-weight:400;font-size:46px;line-height:1.05;letter-spacing:-.7px;margin:0 0 6px}
.login-intro{font-size:15px;line-height:1.5;margin:0 0 10px}
.login-notice{font-size:11px;line-height:1.4;color:#b4c4d5;margin:0 0 10px;text-align:center}
.login-shell #preview-note{padding:6px 12px;border:1px solid #345065;border-radius:6px;background:#132635;text-align:left}
.login-social{display:grid;gap:8px}.login-shell button,.login-shell input{font:inherit;font-size:14px}
.login-social button{display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px;border:1px solid #49647b;border-radius:7px;background:#102332;color:#bccbdb;cursor:not-allowed}
.login-social svg{width:21px;height:21px;flex-shrink:0}
.login-divider{display:flex;align-items:center;gap:16px;color:#acbdd0;font-size:12px;margin:10px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:#345065;flex:1}
.login-shell fieldset{border:0;padding:0;margin:0;min-width:0}.login-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.login-methods{display:flex;border:1px solid #39576f;border-radius:7px;margin-bottom:12px}.login-methods button{width:50%;min-height:44px;border:1px solid transparent;border-radius:6px;background:transparent;color:#b2c4d5;cursor:pointer;font-size:13px}
.login-methods button[aria-pressed=true]{color:#f5f7fb;border-color:#39caff;background:#102d41;box-shadow:0 0 8px #39caff12}
.login-shell label{display:block;font-size:13px;margin-bottom:7px}.login-shell input{width:100%;min-height:46px;border:1px solid #49647b;background:#102332;color:#f5f7fb;border-radius:7px;padding:11px 14px;box-sizing:border-box}.login-shell input::placeholder{color:#8c9fb1}
.login-password-wrap{position:relative}.login-password-wrap input{padding-right:72px}.login-password-wrap button{position:absolute;right:2px;top:2px;min-width:64px;min-height:44px;border:0;background:transparent;color:#c6d5e4;border-radius:5px;cursor:pointer;font-size:12px}
.login-error{font-size:12px;color:#ffb8b8;line-height:1.5;margin:4px 0 8px}.login-error:empty{height:0;margin:0 0 10px}.login-shell input[aria-invalid=true]{border-color:#ffb8b8}
.login-forgot{display:flex;align-items:center;justify-content:flex-end;width:fit-content;margin:-4px 0 4px auto;color:#5ed1ff;font-size:13px;text-decoration:underline;text-underline-offset:3px;min-height:44px}
.login-primary{width:100%;min-height:48px;border:1px solid #246b97;border-radius:7px;background:#165377;color:#b6c8d9;cursor:not-allowed;margin-top:2px}
.login-shell :focus-visible{outline:2px solid #69d5ff;outline-offset:4px}.login-shell [hidden]{display:none!important}
.login-shell{background:linear-gradient(135deg,#132b3cbb,#091725dd);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 #b3e4ff15,0 12px 36px #00000026}
.login-social button:not(:disabled){cursor:pointer;color:#f5f7fb}.login-primary:not(:disabled){cursor:pointer;color:#f6fbff;background:linear-gradient(180deg,#298bd1,#0964be);border-color:#83cdff75;box-shadow:inset 0 1px 2px #b3e4ff38}
.auth-switch{font-size:13px;text-align:center;line-height:1.5;margin-top:12px}.auth-switch a{display:inline-flex;align-items:center;min-height:44px;color:#69d5ff;text-decoration:underline;text-underline-offset:3px}
.auth-result{margin:12px 0 0;padding:12px;border:1px solid #49647b;border-radius:7px;color:#d4e2ef;font-size:13px;text-align:left}
.booking-auth{width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:16px;border:1px solid #49647b;border-radius:14px;background:#091725;color:#f5f7fb;overflow:auto;overscroll-behavior:contain}
.booking-auth::backdrop{background:#030c16cc;backdrop-filter:blur(5px)}.booking-auth .login-shell{padding:20px;border:0;box-shadow:none;background:transparent;backdrop-filter:none}
.auth-close{display:block;margin-left:auto;min-height:44px;padding:0 14px;border:1px solid #49647b;background:#102332;border-radius:7px;font:14px Inter,'Inter Fallback',Arial,sans-serif;color:#f5f7fb}
.auth-booking-note{font:12px/1.5 Inter,'Inter Fallback',Arial,sans-serif;color:#b4c4d5;padding:12px 20px 0}.booking-auth :focus-visible{outline:2px solid #69d5ff;outline-offset:3px}
@media(max-width:600px){.booking-auth{padding:8px}.booking-auth .login-shell{padding:16px}.auth-booking-note{padding-inline:16px}}
@media(max-width:1100px){.login-layout{width:calc(100% - 64px);gap:32px}.login-shell{padding:24px}.login-image-frame{height:470px}.login-brand-scene figcaption{font-size:32px}.login-shell h1{font-size:43px}}
@media(max-width:900px){.login-layout{grid-template-columns:minmax(0,1fr);width:min(100% - 48px,480px);padding:24px 0 32px}.login-brand-scene{display:none}}
@media(max-width:600px){.login-layout{width:calc(100% - 32px);padding:20px 0 28px}.login-shell{padding:22px 20px}.login-shell h1{font-size:40px}.login-intro{font-size:14px}.login-shell input{font-size:16px}}
@media(max-width:360px){.login-shell{padding:20px 16px}.login-shell h1{font-size:36px}.login-intro{font-size:13px}.login-shell #preview-note{padding:8px}.login-notice{font-size:11px}}
/* Cinematic palette for the shared customer form: gold accents on navy, matching every cinematic page.
   Applies to the Log In page and the booking-page sign-in window alike. */
.login-image-frame{border-color:#d8c09b55;border-radius:12px;box-shadow:0 18px 40px #02091366}
@media(hover:hover) and (pointer:fine){.login-image-frame:hover{box-shadow:0 18px 44px #efc17e1f}}
/* Same card as the booking order summary: flat navy, soft border and a gold top edge. */
.login-shell{border:1px solid #d8c09b70;border-top:2px solid #efc17e;border-radius:12px;background:#11263f;backdrop-filter:none;box-shadow:none}
.login-shell #preview-note{border-color:#d8c09b33;background:#0b1c2e}
.login-social button{border-color:#3b4f66;background:#0b1a2b}
.login-social button:not(:disabled):hover{border-color:#d8c09b88}
.login-divider:before,.login-divider:after{background:#d8c09b33}
.login-methods{border-color:#3b4f66}
.login-methods button[aria-pressed=true]{border-color:#efc17e;background:#efc17e14;color:#fff;box-shadow:none}
.login-shell input{border-color:#3b4f66;background:#0b1a2b}
.login-shell input:focus{border-color:#efc17e}
.login-forgot,.auth-switch a{color:#efc17e}
.login-primary:not(:disabled){border:0;border-radius:28px;background:linear-gradient(180deg,#f3cb8c,#e3b06a);color:#111a26;font-weight:600;box-shadow:0 10px 28px #efc17e33}
.login-primary:not(:disabled):hover{background:linear-gradient(180deg,#f7d59e,#e8b977)}
.login-shell :focus-visible,.booking-auth :focus-visible{outline-color:#f2c67b}
.auth-result{border-color:#d8c09b55}
.booking-auth{border:1px solid #d8c09b70;border-top:2px solid #efc17e;border-radius:12px;background:#11263f}
.auth-close{border-color:#3b4f66;background:#0b1a2b}
.login-notice,.login-shell #preview-note{font-size:12.5px;line-height:1.5}

/* MIZOOR Log in page in the official design. Scoped to body.login-official so the
   booking page's sign-in window (which shares login.css) keeps its own look. */
.login-official .site-header .button-small[aria-current="page"] { box-shadow: 0 0 0 2px rgba(60,199,226,.55); }

.login-official #main { position: relative; isolation: isolate; overflow: hidden; min-height: 100svh; padding: 10.5rem var(--gutter) 5rem;
  background: radial-gradient(60% 70% at 80% 30%, #22304a 0%, rgba(34,48,74,0) 70%), radial-gradient(50% 60% at 10% 90%, #1a2a33 0%, rgba(26,42,51,0) 70%), var(--ink); }
.login-official #main .sheet { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.login-official .login-layout { width: 100%; max-width: 72rem; margin: 0 auto; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 26.5rem); gap: clamp(2rem, 6vw, 6rem); align-items: center; }

/* Left side: a short line over the bubbles */
.login-official .login-aside { display: grid; justify-items: start; }
.login-official .login-aside p { max-width: 15ch; font-family: var(--serif); font-weight: 600; font-size: clamp(2.2rem, 3.6vw, 3.3rem); line-height: 1.1; color: #f4f6f8; letter-spacing: -.02em; }

/* The shared form card, restyled */
.login-official .login-shell { padding: clamp(1.4rem, 2.4vw, 2rem); border: 1px solid rgba(205,214,224,.14); border-top: 1px solid rgba(205,214,224,.14); border-radius: 24px; background: rgba(17,22,33,.95); box-shadow: 0 40px 80px -40px rgba(0,0,0,.6); color: var(--silver); font-family: inherit; }
.login-official .login-shell h1 { font-family: var(--serif); font-weight: 600; font-size: clamp(2rem, 3vw, 2.4rem); letter-spacing: -.02em; color: #fff; margin-bottom: .4rem; }
.login-official .login-intro { font-size: 1rem; color: var(--silver); margin-bottom: 1rem; }
.login-official .login-notice, .login-official .login-shell #preview-note { font-size: .82rem; color: var(--silver-dim); }
.login-official .login-shell #preview-note { border: 1px solid rgba(60,199,226,.25); background: rgba(60,199,226,.06); border-radius: 12px; padding: .6rem .9rem; }
.login-official .login-social button { border: 1px solid rgba(205,214,224,.16); background: rgba(205,214,224,.04); border-radius: 999px; color: var(--silver-dim); min-height: 48px; }
.login-official .login-divider { color: var(--silver-dim); font-size: .8rem; margin: 1rem 0; }
.login-official .login-divider:before, .login-official .login-divider:after { background: rgba(205,214,224,.14); }
.login-official .login-methods { border: 1px solid rgba(205,214,224,.16); border-radius: 999px; padding: 4px; }
.login-official .login-methods button { border-radius: 999px; color: var(--silver-dim); min-height: 40px; }
.login-official .login-methods button[aria-pressed=true] { background: var(--linen); color: var(--ink); border-color: transparent; box-shadow: none; font-weight: 600; }
.login-official .login-shell label { color: var(--silver); font-size: .9rem; }
.login-official .login-shell input { border: 1px solid rgba(205,214,224,.18); background: rgba(10,14,22,.6); border-radius: 14px; min-height: 50px; color: #fff; }
.login-official .login-shell input:focus { border-color: var(--cyan); }
.login-official .login-forgot, .login-official .auth-switch a { color: var(--cyan); }
.login-official .login-primary { border: 0; border-radius: 999px; min-height: 52px; background: rgba(243,241,234,.25); color: var(--ink); font-weight: 650; }
.login-official .login-primary:not(:disabled) { background: var(--linen); color: var(--ink); box-shadow: none; }
.login-official .login-primary:not(:disabled):hover { background: #fff; }
.login-official .login-shell :focus-visible { outline-color: var(--cyan); }
.login-official .auth-result { border-color: rgba(205,214,224,.18); border-radius: 12px; color: var(--silver); }
.login-official [data-dashboard-preview-entry] { margin: 2.5rem 0 0; text-align: center; }
.login-official [data-dashboard-preview-entry] .login-forgot { margin: 0 auto; color: var(--silver-dim); font-size: .85rem; }

.login-official .login-footer { padding-top: 3.5rem; }
.login-official .login-footer .footer-main { margin-top: 0; }

@media (max-width: 900px) {
  .login-official #main { padding: 13.5rem var(--gutter) 4rem; }
  .login-official .login-layout { grid-template-columns: 1fr; max-width: 28rem; }
  .login-official .login-aside { display: none; }
}

/* $300 Welcome Credit line under Create Account (Log In page and booking sign-in window) */
.auth-credit { margin: .25rem 0 0; font-size: 12.5px; line-height: 1.5; text-align: center; color: #b4c4d5; }
.auth-credit strong { color: #f5f7fb; }
.login-official .auth-credit { margin-top: .4rem; padding: .7rem .9rem; border-radius: 12px; background: rgba(60,199,226,.06); border: 1px solid rgba(60,199,226,.22); color: var(--silver); font-size: .85rem; }
.login-official .auth-credit strong { color: #fff; }

/* Booking page sign-in window in the official design (same look and fonts as the Log in page). */
.booking-official .booking-auth { border: 1px solid rgba(205,214,224,.14); border-top: 1px solid rgba(205,214,224,.14); border-radius: 24px; background: rgba(17,22,33,.97); color: var(--silver); font-family: var(--sans); box-shadow: 0 40px 80px -40px rgba(0,0,0,.6); }
.booking-official .booking-auth .login-shell { background: transparent; border: 0; box-shadow: none; color: var(--silver); font-family: inherit; }
.booking-official .booking-auth .login-shell h1 { font-family: var(--serif); font-weight: 600; font-size: clamp(2rem, 7vw, 2.4rem); letter-spacing: -.02em; color: #fff; margin-bottom: .4rem; }
.booking-official .booking-auth :is(.login-intro, .auth-booking-note) { font-family: inherit; color: var(--silver); }
.booking-official .booking-auth .login-notice, .booking-official .booking-auth #preview-note { font-family: inherit; font-size: .82rem; color: var(--silver-dim); }
.booking-official .booking-auth #preview-note { border: 1px solid rgba(60,199,226,.25); background: rgba(60,199,226,.06); border-radius: 12px; padding: .6rem .9rem; }
.booking-official .booking-auth .login-social button { border: 1px solid rgba(205,214,224,.16); background: rgba(205,214,224,.04); border-radius: 999px; color: var(--silver-dim); min-height: 48px; font-family: inherit; }
.booking-official .booking-auth .login-divider { color: var(--silver-dim); font-size: .8rem; }
.booking-official .booking-auth .login-divider:before, .booking-official .booking-auth .login-divider:after { background: rgba(205,214,224,.14); }
.booking-official .booking-auth .login-methods { border: 1px solid rgba(205,214,224,.16); border-radius: 999px; padding: 4px; }
.booking-official .booking-auth .login-methods button { border: 0; border-radius: 999px; color: var(--silver-dim); background: transparent; min-height: 40px; font-family: inherit; box-shadow: none; }
.booking-official .booking-auth .login-methods button[aria-pressed=true] { background: var(--linen); color: var(--ink); border-color: transparent; box-shadow: none; font-weight: 600; }
.booking-official .booking-auth .login-shell label { color: var(--silver); font-size: .9rem; font-family: inherit; }
.booking-official .booking-auth .login-shell input { border: 1px solid rgba(205,214,224,.18); background: rgba(10,14,22,.6); border-radius: 14px; min-height: 50px; color: #fff; font-family: inherit; }
.booking-official .booking-auth .login-shell input:focus { border-color: var(--cyan); }
.booking-official .booking-auth :is(.login-forgot, .auth-switch a) { color: var(--cyan); text-decoration-color: rgba(60,199,226,.5); }
.booking-official .booking-auth .login-primary { border: 0; border-radius: 999px; min-height: 52px; background: rgba(243,241,234,.25); color: var(--ink); font-weight: 650; font-family: inherit; box-shadow: none; }
.booking-official .booking-auth .login-primary:not(:disabled) { background: var(--linen); color: var(--ink); }
.booking-official .booking-auth :focus-visible { outline-color: var(--cyan); }
.booking-official .booking-auth .auth-result { border-color: rgba(205,214,224,.18); border-radius: 12px; color: var(--silver); }
.booking-official .booking-auth .auth-close { border: 1px solid rgba(205,214,224,.18); background: transparent; border-radius: 999px; font: 600 .9rem/1 var(--sans); color: var(--silver); padding: 0 1.1rem; }
