/* One control system across the dining guide, experiences and utility pages. */
body{--control-ink:#f7f7f3;--control-line:#ffffff70;--control-hover:#ffffff0f;--focus-ink:#fff}
.home-discover,.hg-chef,.booking-main,.booking-summary,.xp-month-card{
  --control-ink:#32373f;--control-line:#32373f70;--control-hover:#32373f0b;--focus-ink:#32373f;
}
body :is(a,button,summary){box-shadow:none!important;text-shadow:none!important}
body :is(a,button,summary,input,select):focus-visible{
  outline:2px solid var(--focus-ink)!important;outline-offset:4px!important;
}
body :is(a,button){-webkit-tap-highlight-color:transparent}
/* Complete borders, quiet contrast and room for translated labels. */
body :is(.hg-line-link,.hg-link,.venue-reserve-btn,.map-info-btn,.reserve-bar-btn,.xp-card-action,.xp-agenda-link,.legal-page .button,.home-discover-links a,.btn.btn-gold){
  display:inline-flex!important;align-items:center;justify-content:space-between;gap:14px;
  box-sizing:border-box;min-height:46px;min-width:0;max-width:100%;width:fit-content!important;height:auto;
  padding:11px 16px!important;border:1px solid var(--control-line)!important;border-radius:2px!important;
  background:transparent!important;background-image:none!important;color:var(--control-ink)!important;
  font-family:inherit;font-size:14px!important;font-weight:400!important;line-height:1.5!important;
  letter-spacing:.015em!important;text-transform:none!important;text-decoration:none!important;
  white-space:normal!important;overflow-wrap:normal;overflow:visible!important;
  box-shadow:none!important;filter:none!important;transform:none!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
}
body :is(.hg-line-link,.hg-link,.venue-reserve-btn,.map-info-btn,.reserve-bar-btn,.xp-card-action,.xp-agenda-link,.legal-page .button,.home-discover-links a,.btn.btn-gold)::before,
body :is(.hg-line-link,.hg-link,.venue-reserve-btn,.map-info-btn,.reserve-bar-btn,.xp-card-action,.xp-agenda-link,.legal-page .button,.home-discover-links a,.btn.btn-gold)::after{content:none!important}
body :is(.hg-line-link,.hg-link,.venue-reserve-btn,.map-info-btn,.reserve-bar-btn,.xp-card-action,.xp-agenda-link,.legal-page .button,.home-discover-links a,.btn.btn-gold):active{
  background:var(--control-hover)!important;transform:none!important;
}
body :is(.hg-line-link,.hg-link,.xp-card-action,.xp-agenda-link,.home-discover-links a)>:is(span[aria-hidden],i,svg),
body .xp-card-action>span,body .xp-agenda-link>span{
  flex:0 0 auto;padding:0!important;margin:0;font-size:20px!important;line-height:1;
}
body .home-discover-links .calendar-link>span{font-size:14px!important;line-height:1.5;flex:1 1 auto}
body .hg-cinema-actions{flex-wrap:wrap;gap:12px}
body .hg-cinema-caption{max-width:100%;white-space:normal}
body .hg-cinema-caption>span{min-width:0}
body .hotel-section .venue-links{gap:10px 20px!important;flex-wrap:wrap;align-items:center}
body .hotel-section .venue-reserve-btn{margin-right:0}
body .hotel-section .venue-link-group{margin-left:0;gap:14px;min-width:0}
body .experiences-page .xp-card-action,body.experiences-page .xp-card-action{margin-top:auto;align-self:flex-start}
body.experiences-page .xp-card{overflow:visible}
body .home-discover-links{flex-wrap:wrap;gap:12px!important}
body .home-card-action{gap:12px;padding-bottom:4px}
/* Navigation stays typographic; there are no colored hover flashes or sliding labels. */
body :is(.nav-links a,.nav-dd-toggle,.mobile-menu a,.venue-link,.venue-name a,.hg-property-links a,.xp-home-link,.xp-back-link,.footer a,.footer-extra){
  box-shadow:none!important;text-shadow:none!important;transition:color .18s ease,border-color .18s ease,background-color .18s ease!important;
}
body :is(.venue-link,.xp-home-link,.xp-back-link,.footer a,.footer-extra){min-height:44px;display:inline-flex;align-items:center;line-height:1.5;text-underline-offset:5px}
body .venue-link{font-size:14px!important;text-transform:none;letter-spacing:.02em!important}
body .nav-links a::after,body .venue-link::after{background:currentColor!important}
body .nav-dd-menu{padding:8px;border-radius:2px;border-color:#ffffff40;background:#32373ffb}
body .nav-dd-menu a{padding:11px 14px!important;min-height:44px;display:flex;align-items:center;border-radius:0;color:#fff!important}
body .mobile-menu a{color:#fff!important;border-color:#ffffff30!important}
body .nav-dd-toggle,body .mobile-menu-btn,body .mobile-menu-close{color:#fff!important}
/* Arrow, map and dialog controls share the same geometry and neutral states. */
body :is(.experience-arrows button,.xp-month-nav button,.map-ctrl-btn,.map-info-close,.booking-close,.guest-stepper button){
  min-width:44px;min-height:44px;border-radius:2px!important;box-shadow:none!important;
  border:1px solid var(--control-line)!important;color:var(--control-ink)!important;
  background:transparent!important;transform:none!important;line-height:1;
  transition:background-color .18s ease,border-color .18s ease,opacity .18s ease;
}
body .map-ctrl-btn{background:#32373ff2!important}
body .map-info-close{border:0!important;top:5px;right:5px}
body .map-info-actions{display:flex;gap:8px;flex-wrap:wrap}
body .map-info-actions .map-info-btn{flex:1 1 110px;min-width:0;justify-content:center;font-size:13px!important;padding:10px!important}
body .map-reset-btn{font-size:12px!important;letter-spacing:.04em}
body :is(.experience-arrows button,.xp-month-nav button,.guest-stepper button):disabled{opacity:.35;cursor:default;pointer-events:none}
body .experiences-page .xp-hotel-filter,body.experiences-page .xp-hotel-filter{gap:8px}
body.experiences-page .xp-hotel-filter button{
  border:1px solid #ffffff50!important;border-radius:2px!important;padding:10px 14px!important;
  min-height:46px;max-width:100%;white-space:normal;font-size:14px!important;line-height:1.5;box-shadow:none!important;
}
body.experiences-page .xp-hotel-filter button[aria-pressed=true]{background:#f4f4f0!important;color:#32373f!important;border-color:#f4f4f0!important}
body.experiences-page .xp-view-switch a{border-radius:0!important;white-space:normal;line-height:1.5;box-shadow:none!important}
body.experiences-page .xp-date-button{border-radius:2px!important}
body.experiences-page .xp-date-button[aria-current=date]{border-color:#32373f!important}
body.experiences-page .xp-date-button .xp-event-dot{background:#62676d}
body.experiences-page .xp-date-button .xp-event-dot.is-empty{background:transparent}
body.experiences-page .xp-date-button[aria-pressed=true] .xp-event-dot{background:#fff}
body.experiences-page .xp-date-button:focus-visible{outline-color:#32373f!important;outline-offset:-4px!important}
body.experiences-page .xp-date-button[aria-pressed=true]:focus-visible{outline-color:#fff!important}
body .booking-dialog .booking-next{
  background:#32373f!important;color:#fff!important;border:1px solid #32373f;border-radius:2px;
  min-height:48px;font-size:15px;line-height:1.5;padding:12px 16px;white-space:normal;box-shadow:none!important;
}
body .booking-back{min-height:44px;font-size:14px;line-height:1.5;color:#32373f;text-decoration:underline;text-underline-offset:5px}
body .booking-top{--control-ink:#fff;--control-line:#ffffff70;--control-hover:#ffffff0f;--focus-ink:#fff;background:#32373f}
body .booking-main input{--focus-ink:#32373f}
body [hidden]{display:none!important}
@media(max-width:900px){body .hg-membership>.hg-link{display:none!important}}
@media(hover:hover){
  body :is(.hg-line-link,.hg-link,.venue-reserve-btn,.map-info-btn,.reserve-bar-btn,.xp-card-action,.xp-agenda-link,.legal-page .button,.home-discover-links a,.btn.btn-gold):hover{
    background:var(--control-hover)!important;border-color:var(--control-ink)!important;color:var(--control-ink)!important;transform:none!important;
  }
  body :is(.nav-links a,.nav-dd-toggle,.mobile-menu a,.venue-link,.venue-name a,.hg-property-links a,.xp-home-link,.xp-back-link,.footer a,.footer-extra):hover{color:#fff!important;border-color:#ffffffa0!important}
  body .nav-dd-menu a:hover{background:#ffffff0d!important;padding-left:14px!important}
  body :is(.experience-arrows button,.xp-month-nav button,.map-ctrl-btn,.map-info-close,.booking-close,.guest-stepper button):hover:not(:disabled){background:var(--control-hover)!important;border-color:var(--control-ink)!important}
  body .map-ctrl-btn:hover{background:#454b53!important}
  body.experiences-page .xp-hotel-filter button:hover:not([aria-pressed=true]){background:#ffffff0d!important;border-color:#fff!important}
  body .booking-next:hover{background:#464d56!important}
}
@media(max-width:600px){
  body .header .xp-home-link{display:none}
  body .hg-cinema-actions{gap:10px}
  body .hg-line-link{padding:10px 14px!important;font-size:14px!important;gap:12px;flex:0 0 100%;width:100%!important}
  body .home-discover-links{gap:10px!important}
  body .home-discover-links a{font-size:13px!important;padding:10px 12px!important;gap:10px}
  body .home-discover-links .calendar-link>span{font-size:13px!important}
  body.experiences-page .xp-card-action{width:100%!important}
  body.experiences-page .xp-hotel-filter button{padding:9px 8px!important;min-width:0}
  body .xp-card-action:focus-visible{outline-offset:3px!important}
}
@media(max-width:360px){
  body .hg-cinema-actions{flex-direction:column;align-items:flex-start}
  body .hg-line-link{width:100%!important}
  body .home-discover-links{display:grid;grid-template-columns:1fr;width:100%}
  body .home-discover-links a{width:100%!important}
}
@media(prefers-reduced-motion:reduce){body :is(a,button){transition:none!important}}
