/*
=====================================================================
ZALA SPRINGS LOBBY — SHARED UI DESIGN SYSTEM
Version: 1.0.0
Requires: lobby-global.css v5.0.0+
Target: Samsung Flip Pro / landscape touch kiosk
Namespace: zs-

PRINCIPLE
Page CSS may compose. Page CSS may not redesign shared UI primitives.

This layer defines the canonical appearance of typography, controls,
icons, cards, media, states, modals/lightboxes and QR surfaces. It also
contains a temporary compatibility bridge for the existing Lobby pages
so old page-specific classes visually converge before their markup is
fully migrated to the canonical component classes.
=====================================================================
*/

:root {
  --zs-type-display: clamp(58px, 3.6vw, 138px);
  --zs-type-h1: clamp(44px, 2.55vw, 96px);
  --zs-type-h2: clamp(35px, 1.95vw, 72px);
  --zs-type-h3: clamp(28px, 1.45vw, 52px);
  --zs-type-h4: clamp(23px, 1.12vw, 40px);
  --zs-type-h5: clamp(19px, .92vw, 32px);
  --zs-type-h6: clamp(16px, .76vw, 26px);
  --zs-type-body: clamp(17px, .90vw, 30px);
  --zs-type-lead: clamp(20px, 1.06vw, 36px);
  --zs-type-meta: clamp(13px, .66vw, 23px);
  --zs-type-label: clamp(12px, .60vw, 21px);
  --zs-page-gutter: clamp(20px, 1.35vw, 52px);
  --zs-card-padding: clamp(20px, 1.25vw, 44px);
  --zs-panel-padding: clamp(28px, 1.75vw, 68px);
  --zs-modal-padding: clamp(32px, 2.2vw, 82px);
  --zs-stack-gap: clamp(16px, .85vw, 30px);
  --zs-grid-gap: clamp(14px, .78vw, 28px);
  --zs-radius-control: 999px;
  --zs-radius-icon-control: 50%;
  --zs-radius-card-ui: clamp(18px, .95vw, 30px);
  --zs-radius-panel-ui: clamp(24px, 1.35vw, 42px);
  --zs-radius-modal-ui: clamp(28px, 1.65vw, 52px);
  --zs-radius-media-ui: clamp(16px, .82vw, 28px);
  --zs-control-h-sm: clamp(48px, 2.7vw, 82px);
  --zs-control-h: clamp(58px, 3.25vw, 102px);
  --zs-control-h-lg: clamp(66px, 3.65vw, 112px);
  --zs-control-pad-x: clamp(22px, 1.18vw, 42px);
  --zs-control-gap: clamp(9px, .48vw, 18px);
  --zs-icon-control: clamp(54px, 3.15vw, 100px);
  --zs-icon-xs: clamp(14px, .72vw, 24px);
  --zs-icon-sm: clamp(18px, .88vw, 30px);
  --zs-icon-md: clamp(22px, 1.08vw, 38px);
  --zs-icon-lg: clamp(28px, 1.42vw, 50px);
  --zs-icon-xl: clamp(36px, 1.85vw, 66px);
  --zs-media-bg: #e8ebe6;
  --zs-media-overlay: linear-gradient(180deg, rgba(20,31,24,0) 48%, rgba(20,31,24,.30) 100%);
  --zs-elevation-card: 0 10px 30px rgba(38,53,44,.08);
  --zs-elevation-card-hover: 0 18px 48px rgba(38,53,44,.13);
  --zs-elevation-panel: 0 20px 58px rgba(38,53,44,.10);
  --zs-elevation-modal: 0 34px 100px rgba(0,0,0,.28);
  --zs-modal-backdrop: rgba(15,28,21,.78);
  --zs-modal-width: min(1180px, 92vw);
}

.zs-ui h1,.zs-ui h2,.zs-ui h3,.zs-ui h4,.zs-ui h5,.zs-ui h6,.zs-h1,.zs-h2,.zs-h3,.zs-h4,.zs-h5,.zs-h6,.zs-display,.zs-title,.zs-title--hero,.zs-title--section,.zs-title--card {
  margin:0;color:inherit;font-family:var(--zs-font-display);font-style:normal;letter-spacing:var(--zs-tracking-tight);text-wrap:balance;overflow-wrap:break-word;word-break:normal;
}
.zs-ui h1,.zs-h1{font-size:var(--zs-type-h1);font-weight:var(--zs-weight-medium);line-height:1}
.zs-ui h2,.zs-h2{font-size:var(--zs-type-h2);font-weight:var(--zs-weight-medium);line-height:1.04}
.zs-ui h3,.zs-h3{font-size:var(--zs-type-h3);font-weight:600;line-height:1.08}
.zs-ui h4,.zs-h4{font-size:var(--zs-type-h4);font-weight:600;line-height:1.10}
.zs-ui h5,.zs-h5{font-size:var(--zs-type-h5);font-weight:700;line-height:1.14}
.zs-ui h6,.zs-h6{font-size:var(--zs-type-h6);font-weight:700;line-height:1.18}
.zs-display,.zs-title--hero,.zs-display-text{font-size:var(--zs-type-display);font-weight:var(--zs-weight-medium);line-height:.98;letter-spacing:-.025em}
.zs-title--section{font-size:var(--zs-type-h2)}
.zs-title--card{font-size:var(--zs-type-h3)}
.zs-body,.zs-copy,.zs-ui p{font-size:var(--zs-type-body);line-height:1.55}
.zs-lead{font-size:var(--zs-type-lead);line-height:1.48}
.zs-meta{font-size:var(--zs-type-meta);line-height:1.35}
.zs-kicker,.zs-eyebrow,.zs-label{color:var(--zs-gold-700);font-size:var(--zs-type-label);font-weight:800;line-height:1.2;letter-spacing:var(--zs-tracking-kicker);text-transform:uppercase}
.zs-section--dark .zs-kicker,.zs-section--dark .zs-eyebrow,.zs-on-dark .zs-kicker,.zs-on-dark .zs-eyebrow{color:var(--zs-gold-300)}

.zs-icon{width:1em;height:1em;flex:0 0 auto;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
.zs-icon--xs{font-size:var(--zs-icon-xs)}.zs-icon--sm{font-size:var(--zs-icon-sm)}.zs-icon--md{font-size:var(--zs-icon-md)}.zs-icon--lg{font-size:var(--zs-icon-lg)}.zs-icon--xl{font-size:var(--zs-icon-xl)}
.zs-icon-box,.zs-icon-wrap{width:var(--zs-icon-control);aspect-ratio:1;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--zs-radius-icon-control);background:var(--zs-bg-soft);color:var(--zs-green-800);line-height:0}
.zs-icon-box>.zs-icon,.zs-icon-wrap>.zs-icon{width:46%;height:46%}
.zs-icon-box--dark{background:var(--zs-green-900);color:#fff}.zs-icon-box--gold{background:var(--zs-gold-500);color:var(--zs-green-950)}.zs-icon-box--glass{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff}

.zs-btn,.zs-icon-btn{-webkit-appearance:none;appearance:none;font-family:var(--zs-font-sans);text-decoration:none;text-shadow:none;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.zs-btn{min-height:var(--zs-control-h);max-width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--zs-control-gap);padding:0 var(--zs-control-pad-x);border:1px solid var(--zs-green-800);border-radius:var(--zs-radius-control);background:var(--zs-green-800);color:#fff;font-size:var(--zs-font-md);font-weight:750;line-height:1;text-align:center;white-space:normal;transition:transform var(--zs-duration-fast) var(--zs-ease),background-color var(--zs-duration) var(--zs-ease),border-color var(--zs-duration) var(--zs-ease),color var(--zs-duration) var(--zs-ease),box-shadow var(--zs-duration) var(--zs-ease)}
.zs-btn>.zs-icon{width:1.12em;height:1.12em}.zs-btn--sm{min-height:var(--zs-control-h-sm)}.zs-btn--lg{min-height:var(--zs-control-h-lg)}.zs-btn--block{width:100%}
.zs-btn--gold{border-color:var(--zs-gold-500);background:var(--zs-gold-500);color:var(--zs-green-950)}
.zs-btn--secondary,.zs-btn--light{border-color:var(--zs-line-strong);background:#fff;color:var(--zs-green-900)}
.zs-btn--ghost{border-color:var(--zs-line-strong);background:transparent;color:var(--zs-green-900)}
.zs-btn--ghost-dark,.zs-btn--glass{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#fff}
.zs-btn:active,.zs-icon-btn:active{transform:scale(.982)}
.zs-btn:focus-visible,.zs-icon-btn:focus-visible{outline:var(--zs-focus-width) solid var(--zs-gold-500);outline-offset:var(--zs-focus-offset)}
.zs-btn:disabled,.zs-btn[aria-disabled="true"],.zs-btn.is-disabled{opacity:.46;pointer-events:none;transform:none}
@media(hover:hover) and (pointer:fine){.zs-btn:hover{background:var(--zs-green-950);border-color:var(--zs-green-950);color:#fff;box-shadow:var(--zs-shadow-sm);transform:translateY(-2px)}.zs-btn--gold:hover{background:var(--zs-gold-300);border-color:var(--zs-gold-300);color:var(--zs-green-950)}.zs-btn--secondary:hover,.zs-btn--light:hover,.zs-btn--ghost:hover{background:rgba(107,136,124,.10);border-color:var(--zs-green-700);color:var(--zs-green-950);box-shadow:none}.zs-btn--ghost-dark:hover,.zs-btn--glass:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.36);color:#fff}}
.zs-icon-btn{width:var(--zs-icon-control);height:var(--zs-icon-control);display:grid;place-items:center;flex:0 0 var(--zs-icon-control);padding:0;border:1px solid var(--zs-line-strong);border-radius:var(--zs-radius-icon-control);background:rgba(255,255,255,.76);color:var(--zs-green-950);transition:transform var(--zs-duration-fast) var(--zs-ease),background-color var(--zs-duration) var(--zs-ease),border-color var(--zs-duration) var(--zs-ease),color var(--zs-duration) var(--zs-ease)}
.zs-icon-btn>.zs-icon{width:44%;height:44%}.zs-icon-btn--dark{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.09);color:#fff}
@media(hover:hover) and (pointer:fine){.zs-icon-btn:hover{border-color:var(--zs-green-900);background:var(--zs-green-900);color:#fff}.zs-icon-btn--dark:hover{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.17);color:#fff}}

.zs-chip{min-height:var(--zs-control-h-sm);display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:0 clamp(18px,.95vw,34px);border:1px solid var(--zs-line-strong);border-radius:var(--zs-radius-control);background:#fff;color:var(--zs-text-soft);font-size:var(--zs-font-sm);font-weight:750;line-height:1;transition:transform var(--zs-duration-fast) var(--zs-ease),background-color var(--zs-duration) var(--zs-ease),border-color var(--zs-duration) var(--zs-ease),color var(--zs-duration) var(--zs-ease)}
.zs-chip.is-active,.zs-chip[aria-pressed="true"]{border-color:var(--zs-green-900);background:var(--zs-green-900);color:#fff}.zs-chip:active{transform:scale(.982)}
.zs-segmented{display:inline-flex;align-items:stretch;gap:4px;padding:4px;border:1px solid var(--zs-line);border-radius:var(--zs-radius-control);background:var(--zs-bg-soft)}
.zs-segmented__item{min-height:var(--zs-control-h-sm);display:inline-flex;align-items:center;justify-content:center;padding:0 clamp(16px,.85vw,30px);border:0;border-radius:var(--zs-radius-control);background:transparent;color:var(--zs-text-soft);font-size:var(--zs-font-sm);font-weight:750}
.zs-segmented__item.is-active,.zs-segmented__item[aria-selected="true"]{background:#fff;color:var(--zs-green-900);box-shadow:var(--zs-shadow-xs)}

.zs-card,.zs-panel{min-width:0;overflow:hidden;border:1px solid var(--zs-line);background:var(--zs-surface);color:var(--zs-text)}
.zs-card{border-radius:var(--zs-radius-card-ui);box-shadow:var(--zs-elevation-card)}.zs-card__body{padding:var(--zs-card-padding)}
.zs-panel{border-radius:var(--zs-radius-panel-ui);box-shadow:var(--zs-elevation-panel)}.zs-panel__body{padding:var(--zs-panel-padding)}
.zs-card--interactive{transition:transform var(--zs-duration) var(--zs-ease),box-shadow var(--zs-duration) var(--zs-ease),border-color var(--zs-duration) var(--zs-ease)}.zs-card--interactive:active{transform:scale(.992)}
@media(hover:hover) and (pointer:fine){.zs-card--interactive:hover{transform:translateY(-4px);border-color:var(--zs-line-strong);box-shadow:var(--zs-elevation-card-hover)}}
.zs-card--dark,.zs-panel--dark{border-color:rgba(255,255,255,.14);background:var(--zs-green-900);color:#fff}.zs-card--glass,.zs-panel--glass{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

.zs-media{position:relative;min-width:0;overflow:hidden;border-radius:var(--zs-radius-media-ui);background:var(--zs-media-bg)}.zs-media>img,.zs-media>picture>img,.zs-media>video{width:100%;height:100%;display:block;object-fit:cover}.zs-media--16x9{aspect-ratio:16/9}.zs-media--4x3{aspect-ratio:4/3}.zs-media--3x2{aspect-ratio:3/2}.zs-media--square{aspect-ratio:1}.zs-media--contain>img{object-fit:contain}
.zs-media--shade::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--zs-media-overlay)}.zs-media--interactive>img{transition:transform 420ms var(--zs-ease),opacity var(--zs-duration) var(--zs-ease)}
@media(hover:hover) and (pointer:fine){.zs-media--interactive:hover>img{transform:scale(1.025)}}
.zs-media-placeholder{width:100%;height:100%;min-height:220px;display:grid;place-items:center;background:linear-gradient(145deg,var(--zs-green-800),var(--zs-green-900));color:rgba(255,255,255,.34);font-size:var(--zs-font-lg);font-weight:700;letter-spacing:.12em;text-transform:uppercase}

.zs-badge{min-height:clamp(34px,1.8vw,58px);display:inline-flex;align-items:center;justify-content:center;padding:0 clamp(12px,.65vw,24px);border-radius:var(--zs-radius-control);background:var(--zs-green-800);color:#fff;font-size:var(--zs-type-label);font-weight:800;line-height:1;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.zs-badge--gold,.zs-badge--available{background:var(--zs-status-available);color:var(--zs-green-950)}.zs-badge--reserved{background:var(--zs-status-reserved);color:#fff}.zs-badge--sold{background:var(--zs-status-sold);color:#fff}
.zs-metric{min-width:0}.zs-metric__value{display:block;color:inherit;font-family:var(--zs-font-display);font-size:var(--zs-font-xl);font-weight:700;line-height:1;font-variant-numeric:tabular-nums lining-nums}.zs-metric__label{display:block;margin-top:.45em;color:var(--zs-text-soft);font-size:var(--zs-type-meta);line-height:1.25}

.zs-state{min-height:48svh;display:grid;place-items:center;padding:var(--zs-panel-padding);text-align:center}.zs-state__card{width:min(760px,92vw);padding:var(--zs-panel-padding);border:1px solid var(--zs-line);border-radius:var(--zs-radius-panel-ui);background:rgba(255,255,255,.96);box-shadow:var(--zs-elevation-panel)}.zs-state__card>*+*{margin-top:var(--zs-space-2)}
.zs-spinner{width:clamp(46px,2.6vw,82px);height:clamp(46px,2.6vw,82px);margin-inline:auto;border:4px solid var(--zs-line);border-top-color:var(--zs-gold-500);border-radius:50%;animation:zs-ui-spin .8s linear infinite}@keyframes zs-ui-spin{to{transform:rotate(360deg)}}

.zs-modal,.zs-lightbox{position:fixed;inset:0;z-index:2147483000;display:none;place-items:center;padding:clamp(24px,2vw,72px);color:var(--zs-text)}.zs-modal.is-open,.zs-lightbox.is-open{display:grid}.zs-modal__backdrop,.zs-lightbox__backdrop{position:absolute;inset:0;background:var(--zs-modal-backdrop);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.zs-modal__panel{position:relative;z-index:2;width:var(--zs-modal-width);max-height:min(88svh,1400px);overflow:auto;border:1px solid rgba(255,255,255,.72);border-radius:var(--zs-radius-modal-ui);background:var(--zs-surface);box-shadow:var(--zs-elevation-modal)}.zs-modal__body{padding:var(--zs-modal-padding)}.zs-modal__close{position:absolute;z-index:4;top:clamp(16px,.85vw,30px);right:clamp(16px,.85vw,30px)}
.zs-modal--qr .zs-modal__panel{width:min(1120px,90vw)}.zs-modal--qr .zs-modal__grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(30px,2.8vw,90px);align-items:center}.zs-qr-code{aspect-ratio:1;padding:clamp(16px,1vw,34px);border:1px solid var(--zs-line);border-radius:var(--zs-radius-card-ui);background:#fff}.zs-qr-code img{width:100%;height:100%;display:block;object-fit:contain}
.zs-lightbox{background:rgba(18,29,22,.96);color:#fff}.zs-lightbox__image{position:relative;z-index:2;max-width:min(86vw,3200px);max-height:84svh;width:auto;height:auto;object-fit:contain;border-radius:var(--zs-radius-media-ui)}.zs-lightbox__close,.zs-lightbox__nav,.zs-lightbox__counter{z-index:3}
@media(max-width:900px){.zs-modal--qr .zs-modal__grid{grid-template-columns:1fr}.zs-modal--qr .zs-qr-code{width:min(360px,72vw);margin-inline:auto}}

.zs-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--zs-space-4)}.zs-section-head__copy{min-width:0;max-width:980px}.zs-section-head__copy>.zs-kicker+h2,.zs-section-head__copy>.zs-kicker+.zs-title{margin-top:var(--zs-space-1)}.zs-section-head__copy>h2+p,.zs-section-head__copy>.zs-title+p{margin-top:var(--zs-space-2);color:var(--zs-text-soft)}

/* Existing page compatibility bridge */
html body .zs-ui :is(.zs-home-v3__eyebrow,.zs-home-v3__section-label,.zs-events-filter-label,.zs-event-card__categories,.zs-ph-kicker,.zs-pe-eyebrow,.zs-pe-modal-kicker,.zs-ps4-kicker,.zs-es-kicker){font-size:var(--zs-type-label)!important;font-weight:800!important;line-height:1.2!important;letter-spacing:var(--zs-tracking-kicker)!important;text-transform:uppercase!important}
html body .zs-ui :is(.zs-home-v3__lead,.zs-events-hero__lead,.zs-ps4-lead,.zs-es-lead){font-size:var(--zs-type-lead)!important;line-height:1.48!important;color:rgba(255,255,255,.70)}

html body .zs-ui :is(.zs-ph-primary,.zs-ph-secondary,.zs-ph-map-button,.zs-ph-qr-button,.zs-ph-list-error button,.zs-pe-all-properties,.zs-pe-detail-button,.zs-pe-back,.zs-events-reset,.zs-event-card__detail,.zs-event-card__booking,.zs-events-next__action,.zs-home-property-v3__all,.zs-lobby-menu-trigger),html body #zs-property-single-v4.zs-ui .zs-ps4-btn,html body #zs-event-single.zs-ui .zs-es-btn,html body .zs-kiosk-qr .zs-kiosk-qr__done{min-height:var(--zs-control-h)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:var(--zs-control-gap)!important;padding:0 var(--zs-control-pad-x)!important;border-radius:var(--zs-radius-control)!important;font-family:var(--zs-font-sans)!important;font-size:var(--zs-font-md)!important;font-weight:750!important;line-height:1!important;text-align:center!important;text-decoration:none!important;text-shadow:none!important;box-shadow:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
html body .zs-ui :is(.zs-ph-primary,.zs-pe-all-properties,.zs-pe-detail-button,.zs-event-card__detail),html body #zs-property-single-v4.zs-ui .zs-ps4-btn--dark,html body #zs-event-single.zs-ui .zs-es-btn--dark,html body .zs-kiosk-qr .zs-kiosk-qr__done{border:1px solid var(--zs-green-800)!important;background:var(--zs-green-800)!important;color:#fff!important}
html body #zs-property-single-v4.zs-ui .zs-ps4-btn--gold,html body #zs-event-single.zs-ui .zs-es-btn--gold,html body .zs-ui .zs-btn--gold{border:1px solid var(--zs-gold-500)!important;background:var(--zs-gold-500)!important;color:var(--zs-green-950)!important}
html body .zs-ui :is(.zs-ph-map-button,.zs-event-card__booking,.zs-home-property-v3__all),html body #zs-property-single-v4.zs-ui :is(.zs-ps4-btn--white,.zs-ps4-btn--light){border:1px solid var(--zs-line-strong)!important;background:#fff!important;color:var(--zs-green-900)!important}
html body .zs-ui .zs-ph-secondary,html body #zs-property-single-v4.zs-ui :is(.zs-ps4-btn--ghost-dark,.zs-ps4-btn--glass),html body #zs-event-single.zs-ui .zs-es-btn--ghost{border:1px solid rgba(255,255,255,.24)!important;background:rgba(255,255,255,.08)!important;color:#fff!important}

html body .zs-ui :is(.zs-events-chip,.zs-ph-filter){min-height:var(--zs-control-h-sm)!important;padding:0 clamp(18px,.95vw,34px)!important;border:1px solid var(--zs-line-strong)!important;border-radius:var(--zs-radius-control)!important;background:#fff!important;color:var(--zs-text-soft)!important;font-size:var(--zs-font-sm)!important;font-weight:750!important;line-height:1!important;box-shadow:none!important}
html body .zs-ui :is(.zs-events-chip.is-active,.zs-ph-filter.is-active){border-color:var(--zs-green-900)!important;background:var(--zs-green-900)!important;color:#fff!important}

html body .zs-ui :is(.zs-lobby-header__icon-button,.zs-site-menu__close,.zs-home-property-v3__carousel-button,.zs-pe-modal-close,.zs-ph-qr-close),html body #zs-event-single.zs-ui .zs-es-qr-close,html body .zs-kiosk-qr .zs-kiosk-qr__close{width:var(--zs-icon-control)!important;height:var(--zs-icon-control)!important;min-width:var(--zs-icon-control)!important;min-height:var(--zs-icon-control)!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid var(--zs-line-strong)!important;border-radius:50%!important;background:rgba(255,255,255,.82)!important;color:var(--zs-green-950)!important;box-shadow:none!important}
html body .zs-ui :is(.zs-lobby-header__icon-button,.zs-site-menu__close,.zs-home-property-v3__carousel-button,.zs-pe-modal-close,.zs-ph-qr-close) .zs-icon,html body #zs-event-single.zs-ui .zs-es-qr-close .zs-icon,html body .zs-kiosk-qr .zs-kiosk-qr__close .zs-icon{width:44%!important;height:44%!important}

html body .zs-ui :is(.zs-ph-panel,.zs-ph-property-card,.zs-ph-type-card,.zs-pe-shell,.zs-pe-modal-card,.zs-event-card,.zs-home-property-v3,.zs-ps4-tile),html body #zs-event-single.zs-ui :is(.zs-es-state-card,.zs-es-description){border-color:var(--zs-line)!important;border-radius:var(--zs-radius-card-ui)!important;box-shadow:var(--zs-elevation-card)!important}
html body .zs-ui :is(.zs-ph-panel,.zs-pe-shell,.zs-ps4-tile){border-radius:var(--zs-radius-panel-ui)!important}
html body .zs-ui :is(.zs-ph-qr-card,.zs-pe-modal-card),html body #zs-event-single.zs-ui .zs-es-qr-card,html body .zs-kiosk-qr .zs-kiosk-qr__panel{border-radius:var(--zs-radius-modal-ui)!important;box-shadow:var(--zs-elevation-modal)!important}
html body .zs-ui :is(.zs-ph-qr-backdrop,.zs-pe-modal-backdrop),html body #zs-event-single.zs-ui .zs-es-qr-backdrop,html body .zs-kiosk-qr .zs-kiosk-qr__backdrop{background:var(--zs-modal-backdrop)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}

html body .zs-ui :is(.zs-home-property-v3__media,.zs-event-card__media,.zs-events-next__media,.zs-ph-property-image,.zs-pe-modal-image-wrap,.zs-ps4-hero-media,.zs-ps4-gallery-item,.zs-ps4-floorplan,.zs-es-hero-media){overflow:hidden;background:var(--zs-media-bg)}
html body .zs-ui :is(.zs-home-property-v3__media,.zs-event-card__media,.zs-events-next__media,.zs-ph-property-image,.zs-pe-modal-image-wrap,.zs-ps4-hero-media,.zs-ps4-gallery-item,.zs-es-hero-media)>img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important}
html body .zs-ui :is(.zs-ps4-floorplan,.zs-pe-visual) img{object-fit:contain!important}

html body .zs-ui :is(.zs-home-property-v3__featured,.zs-home-property-v3__status,.zs-events-next__status,.zs-event-card__live,.zs-ph-property-status,.zs-pe-status-pill,.zs-ps4-status,.zs-ps4-code,.zs-es-badge){min-height:clamp(34px,1.8vw,58px)!important;display:inline-flex!important;align-items:center!important;padding:0 clamp(12px,.65vw,24px)!important;border-radius:var(--zs-radius-control)!important;font-size:var(--zs-type-label)!important;font-weight:800!important;line-height:1!important}
html body .zs-ui :is(.zs-ph-list-state,.zs-ph-empty,.zs-pe-loading,.zs-pe-error,.zs-events-state){border-radius:var(--zs-radius-card-ui)!important}
html body .zs-ui :is(.zs-ph-spinner,.zs-pe-spinner,.zs-events-state .zs-spinner),html body #zs-property-single-v4.zs-ui .zs-ps4-spinner,html body #zs-event-single.zs-ui .zs-es-spinner{border-top-color:var(--zs-gold-500)!important}
html body .zs-ui :is(.zs-home-v3__title,.zs-events-hero h1,.zs-events-next h2,.zs-ps4-summary h1,.zs-es-summary h1){color:#fff!important}

html body .zs-ui :is(.zs-btn,.zs-ph-primary,.zs-ph-secondary,.zs-ph-map-button,.zs-ph-qr-button,.zs-pe-all-properties,.zs-pe-detail-button,.zs-event-card__detail,.zs-event-card__booking,.zs-events-next__action,.zs-home-property-v3__all,.zs-lobby-menu-trigger),html body #zs-property-single-v4.zs-ui .zs-ps4-btn,html body #zs-event-single.zs-ui .zs-es-btn{transition:transform var(--zs-duration-fast) var(--zs-ease),background-color var(--zs-duration) var(--zs-ease),border-color var(--zs-duration) var(--zs-ease),color var(--zs-duration) var(--zs-ease),box-shadow var(--zs-duration) var(--zs-ease)!important}
html body .zs-ui :is(.zs-btn,.zs-ph-primary,.zs-ph-secondary,.zs-ph-map-button,.zs-ph-qr-button,.zs-pe-all-properties,.zs-pe-detail-button,.zs-event-card__detail,.zs-event-card__booking,.zs-events-next__action,.zs-home-property-v3__all,.zs-lobby-menu-trigger):active,html body #zs-property-single-v4.zs-ui .zs-ps4-btn:active,html body #zs-event-single.zs-ui .zs-es-btn:active{transform:scale(.982)!important}
@media(hover:hover) and (pointer:fine){html body .zs-ui :is(.zs-ph-primary,.zs-pe-all-properties,.zs-pe-detail-button,.zs-event-card__detail):hover,html body #zs-property-single-v4.zs-ui .zs-ps4-btn--dark:hover,html body #zs-event-single.zs-ui .zs-es-btn--dark:hover{background:var(--zs-green-950)!important;border-color:var(--zs-green-950)!important;color:#fff!important;box-shadow:var(--zs-shadow-sm)!important;transform:translateY(-2px)!important}html body #zs-property-single-v4.zs-ui .zs-ps4-btn--gold:hover,html body #zs-event-single.zs-ui .zs-es-btn--gold:hover,html body .zs-ui .zs-btn--gold:hover{background:var(--zs-gold-300)!important;border-color:var(--zs-gold-300)!important;color:var(--zs-green-950)!important}}

@media(hover:none),(pointer:coarse){.zs-btn:hover,.zs-icon-btn:hover,.zs-card--interactive:hover,.zs-media--interactive:hover>img{transform:none}}
.zs-ui img{-webkit-user-drag:none;user-select:none}.zs-ui :is(h1,h2,h3,h4,h5,h6,p,strong,span,button,a){overflow-wrap:break-word;word-break:normal}
html body .zs-ui :is(button,a,[role="button"]):focus-visible{outline:var(--zs-focus-width) solid var(--zs-gold-500)!important;outline-offset:var(--zs-focus-offset)!important}
