/* The original logo has fixed !important dimensions. Override only on mobile. */
@media (max-width: 768px) {
  .lch-header .lch-header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
    width: 100%;
    box-sizing: border-box;
  }
  .lch-header .lch-logo-link { min-width: 0; width: 100%; }
  .lch-header .lch-logo-img {
    width: 100% !important;
    height: auto !important;
    max-width: 200px !important;
  }
  .lch-header .lch-header-actions { min-width: 0; gap: .25rem; }
  .lch-header .lch-header-actions > .lch-schedule-cta,
  .lch-header .lch-header-actions > .lch-book-cta,
  .lch-header .lch-header-actions > .lch-header-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    box-sizing: border-box;
    padding: 0;
    align-items: center;
    justify-content: center;
  }
  .lch-header .lch-cart-count { top: 0; right: 0; }
  /* Long footer contact text must not recreate page overflow on narrow phones. */
  .lch-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lch-footer-col, .lch-footer-brand { min-width: 0; overflow-wrap: anywhere; }
}
/* Keep the logo legible instead of squeezing it at the narrowest phone sizes. */
@media (max-width: 360px) {
  .lch-header .lch-header-inner { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .lch-header .lch-logo-link { width: 180px; max-width: 100%; }
}
