/* fx-header: sticky, slimmer site header with a branded Book Now button (>=1200px)
   and a sticky "Call us / Book Now" bar at the bottom of the screen (<1200px).
   Restyles the existing .menu_row markup every page already has; added to every page
   by scripts/fx_header.py, along with the mobile menu drawer (.fx-burger / .fx-drawer). Scroll and menu state
   (.fx-nav-scrolled / .fx-menu-open on <html>) come from fx-header.js. */
/* desktop: 124px header at the top of the page, slim 64px bar once scrolled */
:root { --fx-nav-top: 124px; --fx-nav-min: 64px; --fx-nav-h: var(--fx-nav-top); --fx-bar-h: 68px; }
@media (max-width: 1199px) { :root { --fx-nav-top: 56px; --fx-nav-min: 56px; } }

/* the bar itself */
body .menu_row {
  box-sizing: border-box; position: fixed; top: 0; left: 0; right: 0; z-index: 1025;
  height: var(--fx-nav-h); padding: 0 !important; margin: 0 !important; /* page themes pad this row with stronger selectors */
  background: rgba(18, 18, 18, .72) !important; /* no backdrop blur: re-blurring every frame while the bar shrinks made it flicker */
  border-bottom: 3px solid #f08400;
  transition: height .3s cubic-bezier(.2, .7, .2, 1), background-color .3s ease, box-shadow .3s ease;
}
.fx-nav-scrolled body .menu_row {
  background: rgba(24, 24, 24, .96) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .28);
}
.fx-nav-scrolled { --fx-nav-h: var(--fx-nav-min); }
body .menu_row > .container { height: 100%; }
body .menu_row > .container > .clearfix { display: none; }
body .menu_row > .container > .row {
  display: flex; align-items: center; justify-content: space-between;
  height: 100%; margin: 0;
}
body .menu_row > .container > .row::before,
body .menu_row > .container > .row::after { display: none; }

/* logo */
body .menu_row .row > img { /* shrinks with transform, not height, so the bar is not re-laid-out every frame */
  float: none; margin: 0; height: 80px; width: auto; transform-origin: left center;
  transition: transform .3s cubic-bezier(.2, .7, .2, 1); will-change: transform;
}
.fx-nav-scrolled body .menu_row .row > img { transform: scale(.55); }
@media (max-width: 1199px) { body .menu_row .row > img, .fx-nav-scrolled body .menu_row .row > img { height: 40px; transform: none; } }

/* links: same visual order as before (the markup lists them right to left) */
body .menu_row .row > div[class*="_menu"] {
  float: none; margin: 0; display: flex; flex-direction: row-reverse; align-items: center; gap: 2px;
}
body .menu_row .row > div[class*="_menu"].hidden-md { display: none !important; }
@media (min-width: 1200px) { body .menu_row .row > div[class*="_menu"].hidden-md { display: flex !important; } }
body .menu_row .menu_item {
  float: none; margin: 0; border-radius: 999px;
  font-family: Montserrat, sans-serif; font-weight: 700; letter-spacing: .04em;
  line-height: 1.2; white-space: nowrap; color: #fff;
  transition: color .15s ease, background-color .15s ease;
}
body .menu_row .menu_item:hover { color: #ffb24d; background: rgba(255, 255, 255, .08); }

/* Book Now: rightmost, solid fox orange with the 3D lip used across the homepage buttons */
body .menu_row #book_now_menu {
  order: -1; position: relative; overflow: hidden; margin-left: 14px;
  background: #f08400; color: #fff !important; font-weight: 800; letter-spacing: .08em;
  box-shadow: 0 4px 0 #b35f00, 0 8px 18px rgba(240, 132, 0, .38);
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
body .menu_row #book_now_menu::after {
  content: ""; display: inline-block; width: 0; height: 0; margin-left: 9px; vertical-align: 1px;
  border-left: 7px solid currentColor; border-top: 5px solid transparent; border-bottom: 5px solid transparent;
  transition: transform .15s ease;
}
body .menu_row #book_now_menu::before { /* light sweep every few seconds */
  content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent);
  transform: skewX(-20deg); animation: fxNavShine 5s ease-in-out 1.5s infinite;
}
body .menu_row #book_now_menu:hover { background: #ff9416; transform: translateY(-1px); box-shadow: 0 5px 0 #b35f00, 0 12px 22px rgba(240, 132, 0, .45); }
body .menu_row #book_now_menu:hover::after { transform: translateX(3px); }
body .menu_row #book_now_menu:active { transform: translateY(3px); box-shadow: 0 1px 0 #b35f00, 0 4px 10px rgba(240, 132, 0, .35); }
/* the theme forces menu padding and font-size with !important, on the room pages from ID selectors
   (#reservation_splash ...); html:not(#fx) adds the ID weight needed to win everywhere */
html:not(#fx) body .menu_row .menu_item { padding: 8px 11px !important; font-size: 13px !important; }
html:not(#fx) body .menu_row #book_now_menu { padding: 11px 22px 11px 24px !important; font-size: 14px !important; }
/* the shine sweeps from left:-60% to 130% of the button: 190% of the button = 475% of its own 40% width;
   moved with transform so the sweep runs on the compositor instead of re-laying out every frame */
@keyframes fxNavShine { 0%, 70% { transform: translateX(0) skewX(-20deg); } 100% { transform: translateX(475%) skewX(-20deg); } }

/* keep page content clear of the fixed bar */
.table-heading td.height-1 { height: var(--fx-nav-top); } /* constant, so the page never jumps */
.reservation_splash_fox { padding-top: var(--fx-nav-top); } /* room pages have no spacer cell */
html { scroll-padding-top: calc(var(--fx-nav-min) + 8px); scroll-behavior: auto !important; } /* anchors land below the bar; fx-header.js does the smooth scrolling (the theme's CSS smooth-scroll made jQuery animations stutter) */

/* mobile menu (below 1200px): a button in the bar opens a drawer from the right */
.fx-burger { display: none; }
@media (max-width: 1199px) {
  body .menu_row .row > div[class*="_menu"] { display: none !important; }
  .fx-burger {
    display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 5px;
    position: fixed; top: calc((var(--fx-nav-h) - 3px - 42px) / 2); right: 14px; z-index: 1030;
    width: 42px; height: 42px; padding: 0 10px; margin: 0;
    border: 1px solid rgba(255, 255, 255, .22); border-radius: 12px; background: rgba(255, 255, 255, .06);
    cursor: pointer; -webkit-tap-highlight-color: transparent;
  }
  .fx-burger span { display: block; width: 20px; height: 2px; border-radius: 2px; background: #fff; }
  .fx-burger span:nth-child(2) { width: 14px; background: #f08400; }
}
.fx-burger:focus-visible, .fx-drawer button:focus-visible { outline: 3px solid #f08400; outline-offset: 2px; }
/* The theme's Bootstrap 3 rings every clicked link/button in blue (a:focus, .btn:focus). Keep a ring for
   keyboard users only, in brand orange. */
a:focus:not(:focus-visible), button:focus:not(:focus-visible), .btn:focus:not(:focus-visible) { outline: 0; }
a:focus-visible, .btn:focus-visible { outline: 3px solid #f08400; outline-offset: 2px; }

.fx-drawer { position: fixed; inset: 0; z-index: 1060; overflow: hidden; visibility: hidden; transition: visibility 0s .45s; font-family: Montserrat, sans-serif; }
.fx-menu-open .fx-drawer { visibility: visible; transition: none; }
html.fx-menu-open { overflow: hidden; } /* lock page scroll without moving it */
.fx-drawer__backdrop {
  position: absolute; inset: 0; background: rgba(0, 0, 0, .5);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transition: opacity .35s ease;
}
.fx-menu-open .fx-drawer__backdrop { opacity: 1; }
.fx-drawer__panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(86vw, 400px); overflow-y: auto;
  display: flex; flex-direction: column; padding: 18px 22px calc(22px + env(safe-area-inset-bottom));
  background: #1e1e1e; border-left: 3px solid #f08400; box-shadow: -24px 0 60px rgba(0, 0, 0, .35);
  transform: translateX(100%); transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}
.fx-menu-open .fx-drawer__panel { transform: none; }
.fx-drawer__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.fx-drawer__logo img { display: block; height: 46px; width: auto; }
.fx-drawer__close {
  display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0;
  border: 1px solid rgba(255, 255, 255, .22); border-radius: 12px; background: rgba(255, 255, 255, .06); color: #fff; cursor: pointer;
}
.fx-drawer__close svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; fill: none; }
.fx-drawer__nav a {
  display: flex; align-items: center; justify-content: space-between; padding: 17px 4px;
  border-bottom: 1px solid rgba(255, 255, 255, .1); color: #fff !important; text-decoration: none !important;
  font-size: 21px; font-weight: 700; letter-spacing: -.01em;
  opacity: 0; transform: translateX(18px); transition: opacity .3s ease, transform .45s cubic-bezier(.22, 1, .36, 1), color .15s;
}
.fx-menu-open .fx-drawer__nav a { opacity: 1; transform: none; transition-delay: calc(.1s + var(--i) * .04s), calc(.1s + var(--i) * .04s), 0s; }
.fx-drawer__nav a:hover { color: #ffb24d !important; }
.fx-drawer__nav svg { width: 18px; height: 18px; flex: none; fill: none; stroke: #f08400; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.fx-drawer__nav a:hover svg, .fx-drawer__nav a:active svg { transform: translateX(4px); }
.fx-drawer__cta { display: grid; gap: 10px; margin-top: auto; padding-top: 28px; }
.fx-drawer__book, .fx-drawer__call {
  display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px;
  font-weight: 800; text-decoration: none !important;
}
.fx-drawer__book {
  height: 52px; background: #f08400; color: #fff !important; font-size: 15px; letter-spacing: .08em; text-transform: uppercase;
  box-shadow: 0 4px 0 #b35f00;
}
.fx-drawer__book:active { transform: translateY(3px); box-shadow: 0 1px 0 #b35f00; }
.fx-drawer__call { height: 48px; border: 2px solid rgba(255, 255, 255, .85); color: #fff !important; font-size: 15px; }
.fx-drawer__call svg { width: 17px; height: 17px; fill: currentColor; }

/* bottom bar: phones and tablets */
.fx-bar { display: none; }
@media (max-width: 1199px) {
  .fx-bar {
    display: flex; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1020;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(24, 24, 24, .97); border-top: 3px solid #f08400;
    box-shadow: 0 -6px 24px rgba(0, 0, 0, .25);
    font-family: Montserrat, sans-serif;
    justify-content: center; /* buttons cap at 360px on tablets */
    transform: translate3d(0, 0, 0); /* own compositing layer: steadier on iOS while the toolbar resizes */
    transition: transform .3s cubic-bezier(.22, 1, .36, 1);
  }
  /* down while the hero (which has its own buttons) is on screen; fx-header.js lifts it */
  html.fx-bar-hidden .fx-bar { transform: translate3d(0, calc(100% + 12px), 0); visibility: hidden; transition: transform .25s ease, visibility 0s .25s; }
  body { padding-bottom: calc(var(--fx-bar-h) + env(safe-area-inset-bottom)); }
  .cc-window.cc-banner { bottom: calc(var(--fx-bar-h) + env(safe-area-inset-bottom)) !important; }
}
.fx-bar__btn {
  flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 8px;
  height: 46px; border-radius: 999px; max-width: 360px;
  font-size: 15px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; text-decoration: none !important;
  transition: transform .15s ease, box-shadow .15s ease;
}
.fx-bar__btn svg { width: 18px; height: 18px; flex: none; fill: currentColor; }
.fx-bar__btn--call { color: #fff !important; background: transparent; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .85); }
.fx-bar__btn--book { color: #fff !important; background: #f08400; box-shadow: 0 4px 0 #b35f00; margin-bottom: 4px; height: 42px; }
.fx-bar__btn--call { margin-bottom: 4px; height: 42px; }
button.fx-bar__btn { border: 0; padding: 0; font-family: inherit; cursor: pointer; }
/* outside opening hours (html.fx-after-hours, set by fx-header.js from Chicago time) the call button is an e-mail one */
.fx-bar__btn--email, html.fx-after-hours .fx-bar__btn--phone { display: none; }
html.fx-after-hours .fx-bar__btn--email { display: flex; }
.fx-bar__btn:active { transform: translateY(3px); }
.fx-bar__btn--book:active { box-shadow: 0 1px 0 #b35f00; }

@media (prefers-reduced-motion: reduce) {
  body .menu_row, body .menu_row .row > img, body .menu_row #book_now_menu, .fx-bar__btn,
  .fx-drawer__panel, .fx-drawer__backdrop, .fx-drawer__nav a { transition: none; }
  body .menu_row #book_now_menu::before { animation: none; display: none; }
}

/* "100% private rooms" badge (homepage rooms heading) */
.fx-private{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px 12px;margin:0;padding:12px 22px;border-radius:999px;background:#1e1e1e;color:#fff;font:700 15px/1.2 Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;box-shadow:4px 4px 0 #f08400;transform:rotate(-1.5deg)}
.fx-private svg{width:20px;height:20px;fill:#f08400;flex:none}
.fx-private strong{font-weight:800;color:#fff}
.fx-private span{color:#ffb347}
.fx-private span:before{content:"\00b7";margin-right:12px;color:#f08400}
@media (max-width:560px){
  .fx-private{font-size:13px;padding:11px 18px;border-radius:18px}
  .fx-private span{flex-basis:100%;text-align:center;font-size:12px}
  .fx-private span:before{display:none}
}

/* desktop "Our rooms" dropdown (markup from scripts/fx_header.py, opened by fx-header.js) */
body .menu_row #our_rooms_menu::after {
  content: ""; display: inline-block; width: 6px; height: 6px; margin: -4px 0 0 8px; vertical-align: middle;
  border-right: 2px solid #f08400; border-bottom: 2px solid #f08400; transform: rotate(45deg); transition: transform .2s ease;
}
html.fx-dd-open body .menu_row #our_rooms_menu { color: #ffb24d; background: rgba(255, 255, 255, .08); }
html.fx-dd-open body .menu_row #our_rooms_menu::after { transform: translateY(3px) rotate(225deg); }
.fx-dd {
  position: fixed; z-index: 1001; top: 0; left: 0; width: min(880px, calc(100vw - 48px)); padding: 18px 18px 0;
  border-radius: 0 0 22px 22px; background: #1e1e1e; border-top: 3px solid #f08400;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45); font-family: Montserrat, sans-serif;
  /* closed: invisible to the mouse, keyboard and screen readers once the fade-out ends (visibility waits .18s) */
  visibility: hidden; opacity: 0; transform: translateY(-8px); pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.fx-dd[hidden] { display: block; visibility: hidden; }
html.fx-dd-open .fx-dd { visibility: visible; opacity: 1; transform: none; pointer-events: auto; transition-delay: 0s; }
.fx-dd__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.fx-dd__room { display: block; color: #fff !important; text-decoration: none !important; }
.fx-dd__img { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 14px; background: #333; }
.fx-dd__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.fx-dd__tag {
  position: absolute; top: 8px; right: 8px; padding: 4px 9px; border-radius: 7px; background: #f05c00;
  font-size: 11px; font-weight: 700; letter-spacing: .02em; transform: rotate(2deg);
}
.fx-dd__room b { display: block; margin: 10px 0 2px; font-size: 16px; font-weight: 800; transition: color .15s ease; }
.fx-dd__room small { display: block; font-size: 12px; font-weight: 600; color: rgba(255, 255, 255, .6); }
.fx-dd__room:hover .fx-dd__img img, .fx-dd__room:focus-visible .fx-dd__img img { transform: scale(1.06); }
.fx-dd__room:hover b, .fx-dd__room:focus-visible b { color: #ff9a1f; }
.fx-dd__foot {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding: 14px 2px 16px;
  border-top: 1px solid rgba(255, 255, 255, .1); font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .7);
}
.fx-dd__foot a { color: #ff9a1f !important; font-weight: 800; text-decoration: none !important; }
.fx-dd__foot a::after { content: " \2192"; }
.fx-dd__foot a:hover { color: #fff !important; }
@media (max-width: 1199px) { .fx-dd { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .fx-dd, .fx-dd__img img { transition: none; } }
.fx-dd__room.is-current .fx-dd__img { box-shadow: 0 0 0 3px #f08400; }
.fx-dd__room.is-current b { color: #ff9a1f; }

/* Footer: "Don't take our word for it, ask AI" (content/ask-ai.json, inserted by scripts/fx_header.py) */
.fx-askai { margin: 26px 0 0; }
.fx-askai__head { margin: 0 0 12px; font-size: 15px; font-weight: 700; letter-spacing: -.01em; text-transform: none; color: rgba(255, 255, 255, .85); }
.fx-askai__row { display: flex; flex-wrap: wrap; gap: 10px; }
.fx-askai__tile { width: 40px; height: 40px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; transition: transform .15s ease, box-shadow .2s ease; }
.fx-askai__tile:hover, .fx-askai__tile:focus-visible { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0, 0, 0, .35); }
.fx-askai__tile svg { width: 21px; height: 21px; }
.fx-askai__tile--openai, .fx-askai__tile--gemini { background: #fff; }
.fx-askai__tile--openai svg { fill: #000; }
.fx-askai__tile--claude { background: #d97757; }
.fx-askai__tile--claude svg, .fx-askai__tile--perplexity svg { fill: #fff; }
.fx-askai__tile--gemini svg { fill: url(#fxAskAiGemini); }
.fx-askai__tile--perplexity { background: #0f0f0f; border: 1px solid rgba(255, 255, 255, .18); }

/* Site footer (content/footer.json, written by scripts/fx_header.py) */
.fx-foot { background: #1b1b1b; color: rgba(255, 255, 255, .72); border-top: 4px solid #f08400; font-size: 14px; line-height: 1.55; }
.fx-foot__wrap { max-width: 1240px; margin: 0 auto; padding: 64px 32px 48px; display: grid; grid-template-columns: 1.35fr 3fr 1.25fr; gap: 40px; }
.fx-foot__logo img { display: block; width: 190px; height: auto; }
.fx-foot__blurb { margin: 16px 0 18px; max-width: 290px; font-size: 15px; color: rgba(255, 255, 255, .8); }
.fx-foot__social, .fx-foot ul { margin: 0; padding: 0; list-style: none; }
.fx-foot__social { display: flex; flex-wrap: wrap; gap: 7px; }
.fx-foot__social a { width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .18); transition: background-color .15s ease, border-color .15s ease; }
.fx-foot__social svg { width: 17px; height: 17px; fill: #fff; }
.fx-foot__social a:hover { background: #f08400; border-color: #f08400; }
.fx-foot__nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.fx-foot__title { margin: 4px 0 16px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #f08400; }
.fx-foot__col li, .fx-foot__more li { margin: 0 0 10px; }
html:not(#fx) .fx-foot a { color: rgba(255, 255, 255, .82); font-weight: 600; text-decoration: none; transition: color .15s ease; }
html:not(#fx) .fx-foot a:hover { color: #ff9a1f; }
/* text links: an orange underline grows in from the left on hover (a background, so it follows wrapped lines) */
html:not(#fx) .fx-foot__col a, html:not(#fx) .fx-foot__more a, html:not(#fx) .fx-foot__phone a, html:not(#fx) .fx-foot__wrap--bottom a {
  padding-bottom: 3px; background: linear-gradient(#ff9a1f, #ff9a1f) 0 100% / 0 2px no-repeat;
  transition: color .2s ease, background-size .3s ease; }
html:not(#fx) .fx-foot__col a:hover, html:not(#fx) .fx-foot__more a:hover, html:not(#fx) .fx-foot__phone a:hover, html:not(#fx) .fx-foot__wrap--bottom a:hover,
html:not(#fx) .fx-foot__col a:focus-visible, html:not(#fx) .fx-foot__more a:focus-visible, html:not(#fx) .fx-foot__phone a:focus-visible, html:not(#fx) .fx-foot__wrap--bottom a:focus-visible { background-size: 100% 2px; }
@media (prefers-reduced-motion: reduce) { html:not(#fx) .fx-foot a { transition: none; } }
.fx-foot address { margin: 0 0 14px; font-style: normal; color: rgba(255, 255, 255, .8); }
.fx-foot address b { color: #fff; }
.fx-foot__hours { margin: -4px 0 14px; font-size: 14px; font-weight: 700; color: #ff9a1f; }
.fx-foot__phone { margin: 0 0 14px; }
html:not(#fx) .fx-foot__phone a { color: #fff; font-weight: 700; }
.fx-foot__dir { margin: 0 0 14px; font-size: 13px; color: rgba(255, 255, 255, .6); }
html:not(#fx) .fx-foot__more a { color: #ff9a1f; font-weight: 700; }
html:not(#fx) .fx-foot__more a:hover { color: #fff; }
.fx-foot__more a::after { content: " \2192"; }
.fx-foot__bottom { border-top: 1px solid rgba(255, 255, 255, .1); }
.fx-foot__wrap--bottom { padding-top: 22px; padding-bottom: 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 28px; font-size: 13px; }
.fx-foot__wrap--bottom p { margin: 0; color: rgba(255, 255, 255, .55); }
.fx-foot__wrap--bottom ul { display: flex; flex-wrap: wrap; gap: 6px 22px; }
html:not(#fx) .fx-foot__wrap--bottom a { color: rgba(255, 255, 255, .7); font-weight: 600; }
@media (max-width: 1199px) { .fx-foot__bottom { padding-bottom: calc(var(--fx-bar-h) + env(safe-area-inset-bottom)); } } /* clear the fixed bottom bar (the theme's body{height:100%} keeps body padding from adding scroll room on these pages) */
@media (max-width: 1099px) {
  .fx-foot__wrap { grid-template-columns: 1fr 1fr; }
  .fx-foot__nav { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 699px) {
  .fx-foot__wrap { grid-template-columns: 1fr; gap: 36px; padding: 48px 22px 36px; }
  .fx-foot__nav { grid-row: auto; grid-template-columns: 1fr 1fr; gap: 28px 18px; }
  /* Rooms and Before you play stack on the left, the longer Plan an event list on the right */
  .fx-foot__nav .fx-foot__col:nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
  .fx-foot__nav .fx-foot__col:nth-child(3) { grid-column: 1; grid-row: 2; }
  .fx-foot__wrap { gap: 28px; }
  .fx-foot__col li, .fx-foot__more li { margin-bottom: 8px; }
  .fx-foot__wrap--bottom { flex-direction: column; align-items: flex-start; padding: 20px 22px; }
}

/* Google Customer Reviews badge: on phones and tablets it sits above the Call / Book bar instead of on top of it */
@media (max-width: 1199px) {
  #___ratingbadge_0 { bottom: calc(var(--fx-bar-h) + 8px + env(safe-area-inset-bottom)) !important; }
  /* Google's badge frame is 450px wide: wider than a phone, so iOS Safari let the whole page pan sideways */
  #___ratingbadge_0, #___ratingbadge_0 iframe { max-width: 100vw !important; overflow: hidden; }
}
