/* Routine Made Simple — mobile refinements, v0.4.8 */
@media (max-width: 781px) {
  html,
  body {
    overflow-x: hidden;
  }

  /* Homepage hero: readable card, controlled image height and useful tap targets. */
  body.home .wp-block-cover,
  body.home .rms-hero,
  body.home .br-hero,
  body.home .home-hero {
    min-height: auto !important;
    padding: 18px !important;
    align-items: flex-end !important;
  }

  body.home .wp-block-cover__image-background {
    object-position: center 32% !important;
  }

  body.home .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: none !important;
  }

  body.home .wp-block-cover__inner-container > .wp-block-group,
  body.home .rms-hero-copy,
  body.home .br-hero-copy,
  body.home .hero-copy {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px 24px !important;
    border-radius: 28px !important;
  }

  body.home h1 {
    font-size: clamp(2.65rem, 13vw, 4.15rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.035em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.home .wp-block-cover p {
    font-size: 1.12rem !important;
    line-height: 1.55 !important;
  }

  body.home .wp-block-buttons {
    gap: 12px !important;
  }

  body.home .wp-block-button {
    width: 100% !important;
  }

  body.home .wp-block-button__link {
    width: 100% !important;
    padding: 14px 18px !important;
    text-align: center !important;
    font-size: 1rem !important;
  }

  /* Mobile navigation: pull links away from the edge and make it feel intentional. */
  .wp-block-navigation__responsive-container.is-menu-open {
    padding: 22px !important;
    background: #f8f5eb !important;
    color: #163e32 !important;
  }

  .wp-block-navigation__responsive-container-close {
    top: 20px !important;
    right: 20px !important;
  }

  .wp-block-navigation__responsive-dialog,
  .wp-block-navigation__responsive-container-content {
    width: 100% !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 72px !important;
    align-items: stretch !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    width: 100% !important;
    gap: 0 !important;
    align-items: stretch !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100% !important;
    border-bottom: 1px solid rgba(22, 62, 50, 0.14) !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block !important;
    width: 100% !important;
    padding: 15px 4px !important;
    text-align: left !important;
    font-size: 1.18rem !important;
    line-height: 1.25 !important;
  }

  /* Blog: keep hierarchy but prevent poster-size typography on phones. */
  body.blog main,
  body.blog .wp-site-blocks main {
    padding: 42px 20px 54px !important;
  }

  body.blog main > *,
  body.blog .wp-site-blocks main > * {
    max-width: 100% !important;
  }

  body.blog h1 {
    margin-bottom: 24px !important;
    font-size: 2.6rem !important;
    line-height: 1 !important;
  }

  body.blog main > h2,
  body.blog main > .wp-block-heading {
    margin-bottom: 28px !important;
    font-size: clamp(1.75rem, 8vw, 2.35rem) !important;
    line-height: 1.18 !important;
  }

  body.blog .wp-block-post-template,
  body.blog .wp-block-query {
    gap: 20px !important;
  }

  body.blog .wp-block-post-template .wp-block-post,
  body.blog .wp-block-query .wp-block-post {
    margin: 0 !important;
    padding: 26px 22px !important;
    border-radius: 22px !important;
  }

  body.blog .wp-block-post-title {
    font-size: clamp(1.65rem, 7.8vw, 2.2rem) !important;
    line-height: 1.08 !important;
  }

  body.blog .wp-block-post-excerpt,
  body.blog .wp-block-post-excerpt__excerpt {
    font-size: 1.03rem !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 420px) {
  body.home .wp-block-cover {
    padding: 12px !important;
  }

  body.home .wp-block-cover__inner-container > .wp-block-group,
  body.home .rms-hero-copy,
  body.home .br-hero-copy,
  body.home .hero-copy {
    padding: 24px 20px !important;
  }

  body.home h1 {
    font-size: clamp(2.45rem, 12.5vw, 3.5rem) !important;
  }
}
/* v0.4.9 — targeted mobile layout repair */
@media (max-width: 781px) {
  body .wp-block-navigation__responsive-container.is-menu-open {
    padding: calc(18px + env(safe-area-inset-top)) 24px calc(28px + env(safe-area-inset-bottom)) !important;
  }

  body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: stretch !important;
    justify-content: flex-start !important;
    padding-top: 64px !important;
  }

  body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    border-bottom: 1px solid rgba(30, 71, 55, 0.14) !important;
    display: block !important;
    width: 100% !important;
  }

  body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block !important;
    font-size: 1.08rem !important;
    line-height: 1.35 !important;
    padding: 13px 2px !important;
    text-align: left !important;
    width: 100% !important;
  }

  body .wp-block-navigation__responsive-container-close {
    right: 24px !important;
    top: calc(18px + env(safe-area-inset-top)) !important;
  }

  body.home main .wp-block-cover:first-of-type,
  body.home main .rms-hero,
  body.home main .hero-section {
    align-items: flex-end !important;
    height: auto !important;
    min-height: 680px !important;
  }

  body.home main .wp-block-cover:first-of-type .wp-block-cover__inner-container {
    padding: 18px !important;
    width: 100% !important;
  }

  body.home main .wp-block-cover:first-of-type .wp-block-cover__inner-container > .wp-block-group,
  body.home main .rms-hero-card,
  body.home main .rms-hero__card,
  body.home main .hero-card,
  body.home main .hero-copy {
    inset: auto !important;
    margin: 0 auto !important;
    max-width: none !important;
    padding: 26px 22px !important;
    position: relative !important;
    width: 100% !important;
  }

  body.home main .wp-block-cover:first-of-type h1,
  body.home main .rms-hero h1,
  body.home main .hero-section h1 {
    font-size: clamp(2.65rem, 12vw, 3.75rem) !important;
    line-height: 0.98 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.home main .wp-block-cover:first-of-type p,
  body.home main .rms-hero p,
  body.home main .hero-section p {
    font-size: 1.05rem !important;
    line-height: 1.55 !important;
  }

  body.blog main,
  body.blog .rms-blog-page {
    padding-left: 24px !important;
    padding-right: 24px !important;
    padding-top: 50px !important;
  }

  body.blog main > .wp-block-group,
  body.blog main .wp-block-query,
  body.blog .rms-blog-wrap {
    max-width: 100% !important;
    width: 100% !important;
  }

  body.blog main h1,
  body.blog .rms-blog-page > h1 {
    font-size: 2.55rem !important;
    line-height: 1.05 !important;
  }

  body.blog main .wp-block-post,
  body.blog .rms-blog-card {
    border-radius: 22px !important;
    padding: 24px 22px !important;
  }

  body.blog main .wp-block-post-title,
  body.blog .rms-blog-card h2 {
    font-size: clamp(1.7rem, 8vw, 2.15rem) !important;
    line-height: 1.08 !important;
  }

  body.blog main .wp-block-post-excerpt,
  body.blog .rms-blog-card p {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }
}
