/* Local behavior and accessibility; reference visual styles live in styles.css. */
html { scroll-behavior: smooth; }
lottie-player { display: block; width: 100%; aspect-ratio: 1; }
lottie-player svg { display: block; width: 100%; height: 100%; }
.homepage-scrolled { box-shadow: 0 3px 14px rgb(0 0 0 / 8%); }
.mobile-toggle:focus-visible, .info:focus-visible, .sub-menu-mobile-toggle:focus-visible,
.rate-modal__close:focus-visible { outline: 3px solid #00707f; outline-offset: 4px; }
.rates-ticker__rates { overflow: hidden; }
.homepage-ticker-track, .homepage-ticker-group { display: flex; width: max-content; flex-shrink: 0; }
.homepage-ticker-track { animation: homepage-ticker 45s linear infinite; }
.homepage-ticker-group .rate-row { flex: 0 0 auto; width: auto; max-width: none; }
.rates-ticker__rates:hover .homepage-ticker-track,
.rates-ticker__rates:focus-within .homepage-ticker-track { animation-play-state: paused; }
@keyframes homepage-ticker { to { transform: translateX(-50%); } }
@media (min-width: 891px) {
  .nav-main > li:focus-within .sub-wrapper { opacity: 1; }
  .nav-main > li:focus-within .subnav { left: 50%; }
  .nav-main > li:focus-within .menu-marker::after { left: calc(50% - .5em); }
}
@media (max-width: 890px) {
  #main-header .mobile-toggle.sub-menu-active .svg-bars,
  #main-header .mobile-toggle.sub-menu-active .svg-times { display: none; }
  #main-header .mobile-toggle.sub-menu-active .svg-chevron-left { display: inline-block; }
  .header.opened .nav-wrapper { visibility: visible; }
  .header.opened .header-banner { display: none; }
  .mobile-lang-location { list-style: none; padding: 0; margin: 0; }
}
.homepage-modal-open { overflow: hidden; }
.rate-modal__overlay { cursor: pointer; }
.rate-modal__close { cursor: pointer; }
.rate-modal__container { max-height: 90vh; overflow-y: auto; }
.rates-group .info { cursor: pointer; pointer-events: auto; }
.testimonials:focus-visible { outline: 2px solid #00707f; outline-offset: 5px; }
#homepage-newsletter-status { margin: 12px 0 0; font-size: 14px; line-height: 1.5; }
#homepage-location-status { display: block; margin-top: 8px; line-height: 1.4; }
.homepage-chat-button {
  position: fixed; right: 20px; bottom: 20px; z-index: 1000; width: 56px; height: 56px;
  display: grid; place-items: center; border: 0; border-radius: 50%; background: #e87932;
  color: white; box-shadow: 0 2px 8px rgb(0 0 0 / 20%); cursor: pointer; padding: 12px;
}
.homepage-chat-button svg { width: 32px; height: 32px; }
.homepage-chat-panel {
  position: fixed; z-index: 1100; right: 20px; bottom: 90px; width: 340px; max-width: calc(100vw - 32px);
  border-radius: 14px; box-shadow: 0 10px 40px rgb(0 0 0 / 20%); background: white; overflow: hidden;
  color: #354052; font-family: Gilroy, Arial, sans-serif;
}
.homepage-chat-panel[hidden] { display: none; }
.homepage-chat-header { background: #e3712e; color: white; display: flex; justify-content: space-between; align-items: center; padding: 18px; }
.homepage-chat-header button { color: inherit; background: none; border: 0; cursor: pointer; font-size: 26px; }
.homepage-chat-body { padding: 24px; font-size: 16px; line-height: 1.6; }
.homepage-chat-body a { color: #00707f; text-decoration: underline; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .homepage-ticker-track { animation: none; }
  .tnm-calculator-holder * { animation-duration: .01ms !important; animation-delay: 0ms !important; }
}
