/* Booking stays readable while decorative layers move. */
.gm-cover{position:relative;overflow:hidden;isolation:isolate}
.gm-cover::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.24) 48%,transparent 70%);transform:translateX(-145%)}
@media(hover:hover) and (pointer:fine){
 .gm-cover:hover::after{animation:gm-glare .7s ease-out}
 .gm-cover img{transition:transform .45s ease}
 .gm-cover:hover img{transform:scale(1.025)}
}
.home-page .featured-game{position:relative}
.gm-feature-accent{position:absolute;inset:-1px;border:1px solid transparent;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(172,195,118,.85) 49%,transparent 68%) border-box;background-size:300% 100%;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:gm-border 1.6s ease-out both}
.gm-word{display:inline-block;animation:gm-word .42s both;animation-delay:var(--gm-delay,0ms)}
.gm-enter{animation:gm-enter .38s ease-out both;animation-delay:var(--gm-delay,0ms)}
.gm-filter-feedback{animation:gm-filter .32s ease-out}
.gm-view-track{position:relative;isolation:isolate}
.gm-view-track .switch-option{position:relative;z-index:1}
.gm-view-indicator{position:absolute;pointer-events:none;z-index:0}
.public-booking-submit[aria-busy=true]{cursor:wait;opacity:.85;display:flex;align-items:center;justify-content:center;gap:10px}
.public-booking-submit[aria-busy=true]::before{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:gm-spin .8s linear infinite}
.gm-confirmed{animation:gm-confirm .45s ease-out}
@keyframes gm-enter{from{transform:translateY(10px)}to{transform:translateY(0)}}
@keyframes gm-word{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes gm-glare{to{transform:translateX(145%)}}
@keyframes gm-border{from{background-position:100% 0;opacity:0}20%{opacity:1}to{background-position:0 0;opacity:0}}
@keyframes gm-filter{from{box-shadow:0 0 0 4px rgba(123,151,86,.22)}to{box-shadow:0 0 0 0 transparent}}
@keyframes gm-spin{to{transform:rotate(360deg)}}
@keyframes gm-confirm{from{transform:scale(.8)}65%{transform:scale(1.08)}to{transform:scale(1)}}
@media(max-width:600px){.gm-enter{animation-duration:.25s;animation-delay:0ms}.gm-word{animation-delay:0ms}.gm-feature-accent{animation-duration:1.1s}}
@media(prefers-reduced-motion:reduce){.gm-word,.gm-enter,.gm-feature-accent,.gm-filter-feedback,.gm-confirmed,.public-booking-submit[aria-busy=true]::before,.gm-cover:hover::after{animation:none!important}.gm-cover img{transition:none!important}.gm-cover:hover img{transform:none!important}}
