/* Footer hours keep their native Elementor layout. All rules below are modal-only. */
dialog.timo-hours-dialog-77 {
  --timo-hours-red: #ec2526;
  width: min(720px, calc(100vw - 2rem));
  max-width: calc(100vw - 2rem);
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: #fff;
  color: #111117;
  font-family: Manrope, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  text-align: left;
  box-shadow: 0 1.5rem 6rem rgba(0, 0, 0, .3);
}
dialog.timo-hours-dialog-77:not([open]) { display: none; }
dialog.timo-hours-dialog-77::backdrop { background: rgba(12, 12, 17, .72); }
.timo-hours-dialog-77,
.timo-hours-dialog-77 * { box-sizing: border-box; }
.timo-hours-dialog-77 .timo-hours-shell-77 {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  margin: 0;
  padding: 0;
  border-top: 5px solid var(--timo-hours-red);
}
.timo-hours-dialog-77 .timo-hours-header-77 {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  padding: 1.6rem 1.75rem 1.4rem;
}
.timo-hours-dialog-77 .timo-hours-title-77 {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: #111117;
  font-family: Urbanist, Manrope, sans-serif;
  font-size: clamp(1.65rem, 4.8vw, 2.2rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.timo-hours-dialog-77 .timo-hours-close-77 {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-width: 44px;
  min-height: 44px;
  margin: -.35rem -.4rem 0 0;
  padding: .6rem .7rem;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #55555e;
  font: 700 .75rem/1.2 Manrope, sans-serif;
  cursor: pointer;
}
.timo-hours-dialog-77 .timo-hours-close-77 span[aria-hidden] {
  display: block;
  color: #111117;
  font-size: 1.65rem;
  font-weight: 400;
  line-height: .7;
}
.timo-hours-dialog-77 .timo-hours-close-77:hover { border-color: #dddde2; background: #f5f5f6; color: #111117; }
.timo-hours-dialog-77 .timo-hours-scroll-77 {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0 1.75rem 1.5rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.timo-hours-dialog-77 .timo-hours-content-77 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: .75rem;
  width: 100%;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #111117;
}
.timo-hours-dialog-77 .timo-hours-day-77 {
  display: block;
  width: auto;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 1.15rem 1rem 1.2rem;
  border: 1px solid #e8e8eb;
  border-top: 3px solid var(--timo-hours-red);
  background: #f7f7f8;
  color: #111117;
}
.timo-hours-dialog-77 .timo-hours-day-77 h4 {
  display: block;
  width: auto;
  margin: 0 0 1rem;
  padding: 0;
  color: #111117;
  font-family: Urbanist, Manrope, sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.015em;
}
.timo-hours-dialog-77 .timo-hours-day-77 p {
  display: block;
  width: auto;
  margin: .9rem 0 0;
  padding: 0;
  color: #55555f;
  font-family: Manrope, sans-serif;
  font-size: .83rem;
  font-weight: 400;
  line-height: 1.7;
  overflow-wrap: normal;
}
.timo-hours-dialog-77 .timo-hours-day-77 p strong {
  display: block;
  margin: 0 0 .1rem;
  padding: 0;
  color: #111117;
  font: 800 .76rem/1.5 Manrope, sans-serif;
}
.timo-hours-dialog-77 .timo-hours-footer-77 {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .8rem 1rem;
  margin: 0;
  padding: 1.1rem 1.75rem;
  border-top: 1px solid #e8e8eb;
  background: #fff;
}
.timo-hours-dialog-77 .timo-hours-phone-label-77 {
  margin: 0;
  padding: 0;
  color: #62626b;
  font: 400 .82rem/1.5 Manrope, sans-serif;
}
.timo-hours-dialog-77 .timo-hours-phone-77 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: .75rem 1.15rem;
  border: 1px solid var(--timo-hours-red);
  border-radius: 0;
  background: var(--timo-hours-red);
  color: #fff;
  font: 800 .85rem/1.3 Manrope, sans-serif;
  text-decoration: none;
  white-space: nowrap;
}
.timo-hours-dialog-77 .timo-hours-phone-77:hover { background: #ca171c; border-color: #ca171c; color: #fff; }
.timo-hours-dialog-77 .timo-hours-close-77:focus-visible,
.timo-hours-dialog-77 .timo-hours-phone-77:focus-visible { outline: 3px solid #111117; outline-offset: 3px; }
.timo-hours-dialog-77 .timo-hours-scroll-77:focus-visible { outline: 2px solid #111117; outline-offset: -3px; }
@media (max-width: 600px) {
  .timo-hours-dialog-77 .timo-hours-header-77 { padding: 1.25rem 1.1rem 1.15rem; gap: .5rem; }
  .timo-hours-dialog-77 .timo-hours-close-77 { gap: 0; padding: .6rem; }
  .timo-hours-dialog-77 .timo-hours-close-text-77 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .timo-hours-dialog-77 .timo-hours-scroll-77 { padding: 0 1.1rem 1.2rem; }
  .timo-hours-dialog-77 .timo-hours-content-77 { grid-template-columns: 1fr; gap: .65rem; }
  .timo-hours-dialog-77 .timo-hours-day-77 { padding: 1rem 1.05rem; }
  .timo-hours-dialog-77 .timo-hours-day-77 h4 { margin-bottom: .65rem; font-size: 1.3rem; }
  .timo-hours-dialog-77 .timo-hours-day-77 p { margin-top: .5rem; font-size: .87rem; }
  .timo-hours-dialog-77 .timo-hours-day-77 p strong { display: inline; margin-right: .4rem; }
  .timo-hours-dialog-77 .timo-hours-footer-77 { padding: 1rem 1.1rem; }
}
@media (prefers-reduced-motion: no-preference) {
  dialog.timo-hours-dialog-77[open] { animation: timo-hours-enter-77 .18s ease-out both; }
  dialog.timo-hours-dialog-77[open]::backdrop { animation: timo-hours-backdrop-77 .18s ease-out both; }
  @keyframes timo-hours-enter-77 { from { opacity: 0; transform: translateY(6px) scale(.988); } to { opacity: 1; transform: none; } }
  @keyframes timo-hours-backdrop-77 { from { opacity: 0; } to { opacity: 1; } }
}
@media print { dialog.timo-hours-dialog-77 { display: none !important; } }
