/* International language switch and approved mobile behavior fixes. */
.ideal-language-switch {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-right: 20px;
  color: #fff;
  font-family: Rubik, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .06em;
}
.ideal-language-switch a { padding: 10px 0; color: #aaa; }
.ideal-language-switch a[aria-current="page"] { color: #fff; }
.ideal-language-switch a:hover { color: #8e063a; }
.ideal-language-switch a:focus-visible { outline: 1px solid #fff; outline-offset: 4px; }
.hamburger-nav-details > .ideal-language-switch { margin-bottom: 26px; }
/* Keep Ohio's loading screen visible for two complete mobile GIF cycles. */
.ideal-intro-active #page-preloader {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.ideal-intro-active,
.ideal-intro-active body {
  overflow: hidden !important;
  scroll-behavior: auto !important;
}
@media (max-width: 768px) {
  html, body { overflow-x: clip; }
  /* The mobile intro is deliberately the source GIF, not the desktop video. */
  #page-preloader {
    inset: 0;
    width: 100vw;
    height: 100%;
    height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #page-preloader .custom-preloader {
    position: static;
    inset: auto;
    transform: none;
    margin: 0;
    padding: 0;
    width: min(100%, 600px);
    flex: 0 1 600px;
  }
  #page-preloader .custom-preloader img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 100dvh;
    object-fit: contain;
    margin: 0;
    transform: none;
  }
  .ideal-language-switch { margin-right: 12px; gap: 7px; }
  /* Owner-approved fix: the source site's white mobile panel hid white text. */
  .header.-mobile .menu-mobile-overlay .holder,
  .header.-mobile .menu-mobile-overlay .close-bar {
    background-color: #0a0000;
  }
}
