/* Append AFTER your existing Additional CSS. Keeps the desktop layout unchanged. */
@media (max-width: 1024px) {
  /* Confirmed Hostinger header structure on mobilesaunatrailers.com. */
  body header.site-header .hostinger-ai-menu-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 18px 20px !important;
    width: 100%; max-width: 100%; box-sizing: border-box;
  }
  body header.site-header .hostinger-ai-menu-wrapper > .is-layout-flex {
    min-width: 0; max-width: 100%; flex-wrap: wrap !important;
    gap: 10px 16px !important;
  }
  body header.site-header .hostinger-ai-menu-wrapper > .is-layout-flex > .wp-block-group {
    min-width: 0; flex: 1 1 180px; padding-inline: 0 !important;
  }
  body header.site-header .hostinger-ai-menu-wrapper > .is-layout-flex > p {
    flex: 1 1 100%; margin: 0; font-size: 16px !important;
  }
  body header.site-header .hostinger-ai-menu-wrapper a[href^="mailto:"] {
    white-space: normal !important; overflow-wrap: anywhere;
  }
  body header.site-header .hostinger-ai-site-title { font-size: 18px !important; line-height: 1.3; }
  body header.site-header .hostinger-ai-site-navigation-wrapper { justify-content: flex-start !important; }
  body header.site-header .wp-block-site-logo { order: -1; flex: 0 0 72px; }
  body header.site-header .wp-block-site-logo img { width: 72px; height: auto; }
  /* Undo the desktop-only menu nowrap rules. */
  header .wp-block-navigation__container,
  header .wp-block-navigation__responsive-container-content {
    flex-wrap: wrap !important;
  }
  header .wp-block-navigation-item__content {
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  header a[href^="tel:"] { white-space: nowrap !important; }
  header .wp-block-site-logo { max-width: min(180px, 42vw); }
  header .wp-block-site-logo img { max-width: 100%; height: auto; }
  header .wp-block-navigation { min-width: 0; }
  /* Only adjust an open WordPress mobile menu; preserve its native toggle behavior. */
  header .wp-block-navigation__responsive-container.is-menu-open {
    overflow-y: auto;
    max-height: 100dvh;
    background: #202224 !important;
    color: #ffffff !important;
  }
  header .is-menu-open .wp-block-navigation-item__content,
  header .is-menu-open .wp-block-navigation__responsive-container-close { color: #ffffff !important; }
  header .is-menu-open .wp-block-navigation__responsive-container-content,
  header .is-menu-open .wp-block-navigation__container {
    flex-direction: column !important;
    align-items: flex-start;
    width: 100%;
  }
  header .is-menu-open .wp-block-navigation-item__content { padding-block: 10px; }
  :where(main, .entry-content) :where(img, video, iframe) { max-width: 100%; }
  :where(main, .entry-content) :where(img, video) { height: auto; }
  :where(main, .entry-content) :where(.wp-block-column, .wp-block-media-text__content) { min-width: 0; }
  :where(main, .entry-content) :where(p, h1, h2, h3, a) { overflow-wrap: break-word; }
  .wp-block-table { max-width: 100%; overflow-x: auto; }
  .about-left, .about-right { animation: none !important; opacity: 1 !important; transform: none !important; }
}
@media (max-width: 781px) {
  .kb-advanced-form { width: 100%; max-width: 100%; }
  .kb-advanced-form .kb-adv-form-field { min-width: 0; max-width: 100%; flex-basis: 100% !important; grid-column: 1 / -1; }
  .kb-advanced-form :is(input, select, textarea) { min-width: 0; max-width: 100%; box-sizing: border-box; font-size: 16px !important; }
  /* Honor the editor's explicit Do not stack setting. */
  .wp-block-columns:not(.is-not-stacked-on-mobile) { flex-wrap: wrap !important; gap: 24px; }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important; flex-grow: 1; margin-inline: 0;
  }
  .wp-block-media-text.is-stacked-on-mobile { grid-template-columns: 1fr !important; }
  .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media { grid-column: 1; grid-row: 1; }
  .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content { grid-column: 1; grid-row: 2; padding: 24px 0; }
  .wp-block-buttons { flex-wrap: wrap !important; gap: 12px; }
  .wp-block-button { max-width: 100%; }
  .wp-block-button__link { white-space: normal; overflow-wrap: break-word; }
  .about-badge { width: min(240px, 85%); max-width: 100%; margin-top: 20px; }
  .about-badge:hover { transform: none; }
  .location-spin, .truck-drive, .button-wobble { animation: none !important; }
  :where(.wpforms-container, .msr-form) :where(input, select, textarea) { font-size: 16px; max-width: 100%; box-sizing: border-box; }
  .wpforms-container .wpforms-field-row { max-width: 100% !important; }
  .wpforms-container .wpforms-one-half,
  .wpforms-container .wpforms-one-third,
  .wpforms-container .wpforms-two-thirds { width: 100% !important; margin-left: 0 !important; float: none !important; }
  body.page-id-61 .sauna-video-background { width: 100% !important; height: 100svh !important; }
  body.page-id-61 .sauna-video-background video { height: 100% !important; }
  body.page-id-61 .wpsbc-calendars { flex-wrap: wrap !important; max-width: 100%; }
  body.page-id-61 .wpsbc-calendar { max-width: 100% !important; box-sizing: border-box; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-rise, .location-spin, .truck-drive, .section-rise,
  .about-left, .about-right, .button-wobble {
    animation: none !important; transform: none !important; opacity: 1 !important;
  }
}

/* v1.3.1: verified homepage block overrides. */
@media (max-width: 781px) {
  body.home main .wp-block-buttons {
    padding-inline: 0 !important;
    width: 100%; box-sizing: border-box;
  }
  body.home main .wp-block-buttons > .wp-block-button {
    width: 100% !important; flex: 1 1 100%;
  }
  body.home main .wp-block-button__link {
    display: block; width: 100%; box-sizing: border-box;
    padding: 14px 20px !important; font-size: 16px !important;
    word-break: normal; overflow-wrap: normal;
  }
  body.home .hero-rise h1 {
    font-size: clamp(32px, 9vw, 46px) !important;
    line-height: 1.12 !important;
  }
  body.home main .wp-block-group.section-rise.is-layout-flex {
    flex-direction: column !important; flex-wrap: wrap !important;
    align-items: stretch !important; gap: 24px !important;
  }
  body.home main .wp-block-group.section-rise.is-layout-flex > * {
    width: 100% !important; max-width: 100% !important;
    min-width: 0; flex-basis: auto !important; box-sizing: border-box;
  }
  /* Scroll timeline effects must not leave content displaced on mobile Safari. */
  .hero-rise, .section-rise {
    animation: none !important; transform: none !important; opacity: 1 !important;
  }
}
@media (max-width: 781px) {
  body.home main .entry-content .wp-block-kadence-advancedbtn.kb-buttons-wrap {
    width: auto !important; max-width: 100% !important; box-sizing: border-box;
  }
  body.home main .kb-buttons-wrap a {
    max-width: 100%; box-sizing: border-box; white-space: normal;
  }
}

