/* R62 guest-only presentation. Business hooks and customer pages are unchanged. */
:where(.sky-ds).sky-guest-ds { font-size: var(--sky-guest-root); }
:where(.sky-ds).sky-guest-ds .sky-auth-shell { min-height: 100dvh; padding: 0 var(--sky-space-6); }
:where(.sky-ds).sky-guest-ds .sky-auth-shell[data-sky-auth-overflow] { padding-block: var(--sky-guest-frame-gap); }
:where(.sky-ds).sky-guest-ds :is(.sky-auth-stage,.sky-auth-split) { width: 100%; max-width: none; padding: 0; margin-block: auto; border: 0; background: none; box-shadow: none; overflow: visible; display: block; }
:where(.sky-ds).sky-guest-ds :is(.sky-auth-card-wrap,.sky-auth-split__form) { width: min(100%,30rem); max-width: 30rem; min-width: 0; margin-inline: auto; }
:where(.sky-ds).sky-guest-ds :is(.sky-auth-card-wrap > .card,.sky-auth-split__form) { border: 1px solid var(--sky-border); border-radius: var(--sky-radius-xl); background: var(--sky-surface); box-shadow: var(--sky-shadow-3); }
:where(.sky-ds).sky-guest-ds :is(.sky-auth-card-wrap > .card > .card-body,.sky-auth-split__form) { padding: var(--sky-space-6); display: block; }
:where(.sky-ds).sky-guest-ds body :is(.sky-auth-background,.sky-auth-split__media) { position: fixed; inset: 0; width: 100%; height: 100vh; height: 100dvh; min-height: 0; max-height: none; margin: 0; overflow: hidden; z-index: var(--sky-z-below); background: var(--sky-guest-sea); pointer-events: none; }
:where(.sky-ds).sky-guest-ds body .sky-auth-background-image { position: absolute; top: 0; left: 0; right: auto; object-fit: cover; object-position: 50% 50%; width: 100%; max-width: none; height: 100%; transform: none; }
:where(.sky-ds).sky-guest-ds :is(.sky-auth-background,.sky-auth-split__media)::after { content: ''; position: absolute; inset: 0; background: var(--sky-guest-overlay); }
:where(.sky-ds).sky-guest-ds .sky-auth-page { isolation: isolate; }
:where(.sky-ds).sky-guest-ds .sky-auth-split { position: static; }
:where(.sky-ds).sky-guest-ds .sky-auth-logo { display: inline-block; width: 8rem; height: auto; max-width: 100%; }
:where(.sky-ds).sky-guest-ds .sky-auth-brand { margin: 0 0 var(--sky-space-4); text-align: center; }
:where(.sky-ds).sky-guest-ds .sky-auth-heading { text-align: center; font-size: var(--sky-font-2xl); line-height: var(--sky-line-2xl); }
:where(.sky-ds).sky-guest-ds .sky-auth-heading :is(h1,h2) { font-size: var(--sky-font-2xl); line-height: var(--sky-line-2xl); margin: 0; }
:where(.sky-ds).sky-guest-ds .sky-auth-page .form-label { display: block; margin-block-end: var(--sky-space-2); font-size: var(--sky-font-md); line-height: var(--sky-line-md); }
:where(.sky-ds).sky-guest-ds .sky-auth-page :is(.form-control,.form-select) { min-height: var(--sky-btn-lg); font-size: var(--sky-font-md); line-height: var(--sky-line-md); }
:where(.sky-ds).sky-guest-ds .sky-auth-page :is(.btn,.sky-auth-account-switch) { font-size: var(--sky-font-md); line-height: var(--sky-line-md); }
:where(.sky-ds).sky-guest-ds .sky-auth-page :is(.mb-3,.mb-4,.mb-5) { /* Override Front's legacy form spacing utilities. */ margin-bottom: var(--sky-space-4) !important; }
:where(.sky-ds).sky-guest-ds .sky-auth-card-wrap > .card { /* Override legacy mb-5: the scene owns vertical spacing. */ margin-bottom: 0 !important; }
:where(.sky-ds).sky-guest-ds .sky-auth-page .sky-auth-options { gap: var(--sky-space-2); align-items: center; flex-wrap: wrap; }
:where(.sky-ds).sky-guest-ds .sky-auth-page .form-check { min-height: var(--sky-touch-min); display: flex; flex-wrap: wrap; align-items: center; gap: var(--sky-space-2); padding-inline-start: 0; }
:where(.sky-ds).sky-guest-ds .sky-auth-page .form-check-input { flex-shrink: 0; float: none; margin: 0; }
:where(.sky-ds).sky-guest-ds .sky-auth-page .form-check-label { display: block; flex: 1; min-width: 0; min-height: 0; font-size: var(--sky-font-md); line-height: var(--sky-line-md); }
:where(.sky-ds).sky-guest-ds .sky-auth-page .form-check .invalid-feedback { flex-basis: 100%; }
:where(.sky-ds).sky-guest-ds .sky-auth-page .input-group { flex-wrap: nowrap; }
:where(.sky-ds).sky-guest-ds .sky-auth-page .input-group > .btn { max-width: 55%; white-space: normal; }
@media (min-width: 992px) {
  :where(.sky-ds).sky-guest-ds body .sky-auth-background-image { object-position: var(--sky-guest-boat-standard); }
}
@media (min-width: 992px) and (min-aspect-ratio: 3/2) {
  /* A 16:9 source cannot pan inside a 16:9 viewport without crop room.
     Only the clipped background grows; the card remains physically centered. */
  :where(.sky-ds).sky-guest-ds body .sky-auth-background-image { width: var(--sky-guest-boat-crop-width); object-position: var(--sky-guest-boat-wide); }
}
@media (min-width: 992px) and (min-aspect-ratio: 21/9) {
  :where(.sky-ds).sky-guest-ds body .sky-auth-background-image { object-position: var(--sky-guest-boat-ultrawide); }
}
@media (max-width: 991.98px), (orientation: portrait) {
  :where(.sky-ds).sky-guest-ds .sky-auth-shell { padding-inline: var(--sky-space-4); }
  :where(.sky-ds).sky-guest-ds :is(.sky-auth-background,.sky-auth-split__media) { /* Override legacy mobile auth rules and d-none to retain the image. */ display: block !important; position: fixed !important; height: 100dvh !important; }
  :where(.sky-ds).sky-guest-ds body .sky-auth-background-image { object-fit: cover; object-position: 50% 50%; }
  :where(.sky-ds).sky-guest-ds :is(.sky-auth-background,.sky-auth-split__media)::after { background: var(--sky-guest-mobile-overlay); }
  :where(.sky-ds).sky-guest-ds :is(.sky-auth-card-wrap > .card > .card-body,.sky-auth-split__form) { padding: var(--sky-space-5); }
}
@media (max-width: 575.98px) {
  :where(.sky-ds).sky-guest-ds body.sky-auth-page .sky-auth-preferences { width: calc(var(--sky-touch-min) * 2 + var(--sky-space-2)); grid-template-columns: repeat(2,var(--sky-touch-min)); gap: var(--sky-space-2); padding: 0; border: 0; border-radius: var(--sky-radius-md); right: var(--sky-space-4); }
  :where(.sky-ds).sky-guest-ds body.sky-auth-page .sky-auth-preferences__separator { display: none; }
  :where(.sky-ds).sky-guest-ds body.sky-auth-page .sky-auth-preference-trigger { width: var(--sky-touch-min); height: var(--sky-touch-min); min-height: 0; padding: 0; justify-content: center; border-radius: var(--sky-radius-md); }
}
/* Same explanation surface for compact states and wide illustration/copy pairs. */
:where(.sky-ds).sky-guest-ds.sky-public-state body > main { margin: 0; width: 100%; max-width: 36rem; padding: var(--sky-space-7); text-align: start; }
:where(.sky-ds).sky-guest-ds.sky-public-state body > main h1 { margin: var(--sky-space-4) 0; font-size: var(--sky-font-3xl); line-height: var(--sky-line-3xl); }
:where(.sky-ds).sky-guest-ds.sky-public-state body :is(.sky-guest-symbol,.sky-import__icon) { display: grid; place-items: center; width: var(--sky-space-10); height: var(--sky-space-10); margin: 0 0 var(--sky-space-4); border-radius: var(--sky-radius-lg); font-size: var(--sky-font-3xl); line-height: var(--sky-line-3xl); color: var(--sky-link); background: var(--sky-brand-50); }
:where(.sky-ds).sky-guest-ds.sky-public-state .sky-import__actions { display: grid; gap: var(--sky-space-3); margin-block: var(--sky-space-5); }
:where(.sky-ds).sky-guest-ds.sky-public-state .sky-import__actions[hidden] { display: none; }
:where(.sky-ds).sky-guest-ds.sky-public-state .btn { white-space: normal; height: auto; padding: var(--sky-space-3) var(--sky-space-4); }
:where(.sky-ds).sky-guest-ds.sky-public-state .sky-import__docs { display: inline-flex; align-items: center; min-height: var(--sky-touch-min); gap: var(--sky-space-2); margin: 0; color: var(--sky-link); }
/* The live region has no reserved empty row. Copy success/failure still uses the original script. */
:where(.sky-ds).sky-guest-ds.sky-public-state body > main.sky-import { display: grid; gap: var(--sky-space-4); }
:where(.sky-ds).sky-guest-ds.sky-public-state body > main.sky-import > :is(h1,p,.sky-import__icon,.sky-import__actions) { margin: 0; }
:where(.sky-ds).sky-guest-ds.sky-public-state .sky-import__status:empty { display: none; }
/* Existing expiry/error handlers hide the actions; reflect that state without changing their logic. */
:where(.sky-ds).sky-guest-ds.sky-public-state .sky-import__stopped-icon { display: none; }
:where(.sky-ds).sky-guest-ds.sky-public-state main:has([data-import-actions][hidden]) .sky-import__icon .bi-arrow-repeat { display: none; }
:where(.sky-ds).sky-guest-ds.sky-public-state main:has([data-import-actions][hidden]) .sky-import__stopped-icon { display: block; }
:where(.sky-ds).sky-guest-ds.sky-public-state body.sky-guest-explanation > main { max-width: 68rem; }
:where(.sky-ds).sky-guest-ds .sky-guest-state-content { width: 100%; padding: 0; }
:where(.sky-ds).sky-guest-ds :is(.sky-guest-state-grid,main.sky-service-card) { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); align-items: center; gap: var(--sky-space-7); }
:where(.sky-ds).sky-guest-ds :is(.sky-guest-art,.sky-guest-copy) { min-width: 0; }
:where(.sky-ds).sky-guest-ds .sky-guest-art img { width: 100%; height: auto; max-height: 30rem; object-fit: contain; }
:where(.sky-ds).sky-guest-ds .sky-guest-copy > p { margin-block: 0 var(--sky-space-5); }
:where(.sky-ds).sky-guest-ds body .sky-service-brand { display: grid; justify-items: center; gap: var(--sky-space-4); margin: 0; font-size: var(--sky-font-3xl); line-height: var(--sky-line-3xl); }
:where(.sky-ds).sky-guest-ds body .sky-service-brand img { width: 50%; height: auto; max-height: 16rem; }
:where(.sky-ds).sky-guest-ds body .sky-service-safety { display: flex; align-items: start; gap: var(--sky-space-3); padding: var(--sky-space-4); border-radius: var(--sky-radius-lg); background: var(--sky-warning-50); color: var(--sky-text); }
:where(.sky-ds).sky-guest-ds body .sky-service-safety p { margin: var(--sky-space-2) 0 0; }
:where(.sky-ds).sky-guest-ds body .sky-service-actions { display: grid; gap: var(--sky-space-3); margin-block-start: var(--sky-space-5); }
:where(.sky-ds).sky-guest-ds body .sky-service-actions p { margin: 0; }
/* Preserve the actual landing modules and destinations; scale their composition together. */
:where(.sky-ds).sky-guest-ds body.sky-landing { height: auto; background: var(--sky-bg); color: var(--sky-text); }
:where(.sky-ds).sky-guest-ds .landing-container { width: 100%; max-width: 90rem; padding-inline: var(--sky-space-7); }
:where(.sky-ds).sky-guest-ds .landing-header { gap: var(--sky-space-5); padding-block: var(--sky-space-6); }
:where(.sky-ds).sky-guest-ds body.sky-landing .sky-auth-preferences { position: relative; inset: auto; margin: 0; }
:where(.sky-ds).sky-guest-ds .landing-brand img { width: 9rem; max-width: 100%; max-height: var(--sky-btn-lg); }
:where(.sky-ds).sky-guest-ds .landing-hero { gap: var(--sky-space-7); padding-block: var(--sky-space-7); }
:where(.sky-ds).sky-guest-ds .landing-hero h1 { font-size: var(--sky-font-5xl); line-height: var(--sky-line-5xl); margin: var(--sky-space-5) 0; }
:where(.sky-ds).sky-guest-ds .landing-hero p { margin-block: 0 var(--sky-space-4); }
:where(.sky-ds).sky-guest-ds .landing-tag { padding: var(--sky-space-2) var(--sky-space-3); gap: var(--sky-space-2); border-radius: var(--sky-radius-pill); font-size: var(--sky-font-md); line-height: var(--sky-line-md); }
:where(.sky-ds).sky-guest-ds .landing-art { padding: var(--sky-space-4); max-width: none; border-radius: var(--sky-radius-xl); background: var(--sky-brand-50); }
:where(.sky-ds).sky-guest-ds .landing-art img { width: 100%; height: auto; max-height: 30rem; }
:where(.sky-ds).sky-guest-ds .landing-actions { gap: var(--sky-space-3); }
:where(.sky-ds).sky-guest-ds .landing-actions .btn { padding: var(--sky-space-3) var(--sky-space-5); min-height: var(--sky-btn-lg); height: auto; }
:where(.sky-ds).sky-guest-ds .landing-actions .landing-icon { margin-inline-start: var(--sky-space-3); }
:where(.sky-ds).sky-guest-ds .landing-footer { padding-block: var(--sky-space-5) var(--sky-space-6); }
/* The real blocking overlay keeps all focus, copy and detection behavior. */
:where(.sky-ds).sky-guest-ds .sky-browser-warning-dialog { position: relative; max-width: 68rem; padding: var(--sky-space-7); padding-inline-start: var(--sky-guest-art-offset); color: var(--sky-text); background: var(--sky-surface); border-color: var(--sky-border); border-radius: var(--sky-radius-xl); box-shadow: var(--sky-shadow-3); }
:where(.sky-ds).sky-guest-ds .sky-browser-warning-dialog::before { content: ''; position: absolute; inset-block: var(--sky-space-7); inset-inline-start: var(--sky-space-7); width: 22rem; background: url('/assets/svg/illustrations/oc-thinking.svg') center / contain no-repeat; }
:where(.sky-ds).sky-guest-ds[data-sky-resolved-theme="dark"] .sky-browser-warning-dialog::before { background-image: url('/assets/svg/illustrations-light/oc-thinking.svg'); }
:where(.sky-ds).sky-guest-ds .sky-browser-warning-title { font-size: var(--sky-font-3xl); line-height: var(--sky-line-3xl); }
:where(.sky-ds).sky-guest-ds :is(.sky-browser-warning-message,.sky-browser-warning-url-label,.sky-browser-warning-status,.sky-browser-warning-detected) { font-size: var(--sky-font-md); line-height: var(--sky-line-md); }
:where(.sky-ds).sky-guest-ds .sky-browser-warning-url { font-size: var(--sky-font-touch); }
:where(.sky-ds).sky-guest-ds .sky-browser-warning-detected { color: var(--sky-link); background: var(--sky-brand-50); }
:where(.sky-ds).sky-guest-ds .sky-browser-warning-status { color: var(--sky-text-2); }
@media (max-width: 991.98px) {
  :where(.sky-ds).sky-guest-ds :is(.sky-guest-state-grid,main.sky-service-card) { grid-template-columns: minmax(0,1fr); }
  :where(.sky-ds).sky-guest-ds .sky-guest-art { text-align: center; }
  :where(.sky-ds).sky-guest-ds .sky-guest-art img { max-height: 13rem; }
  :where(.sky-ds).sky-guest-ds .landing-container { padding-inline: var(--sky-space-4); }
  :where(.sky-ds).sky-guest-ds .landing-art { max-width: 30rem; }
  :where(.sky-ds).sky-guest-ds .landing-art img { max-height: 18rem; }
  :where(.sky-ds).sky-guest-ds .sky-browser-warning-dialog { padding: var(--sky-space-5); }
  :where(.sky-ds).sky-guest-ds .sky-browser-warning-dialog::before { position: static; display: block; width: 100%; height: 10rem; margin-block-end: var(--sky-space-4); }
}
@media (pointer: coarse) {
  :where(.sky-ds).sky-guest-ds .sky-auth-page :is(.form-control,.form-select) { /* Override legacy field sizes on every coarse-pointer device, including wide tablets. */ font-size: var(--sky-font-touch) !important; }
}
