
/* ===== Tablet & below (≤980px) ===== */
@media (max-width: 980px) {
  /* Header: collapse nav to hamburger-driven column */
  .mkl-header__inner { padding: 12px 18px !important; flex-wrap: wrap; }
  .mkl-header__toggle { display: block !important; order: 2; }
  .mkl-header__nav {
    position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important;
    background: #fff !important; border-bottom: 1px solid #ececec !important;
    max-height: 0 !important; overflow: hidden !important; transition: max-height .3s ease !important;
    order: 3; flex-basis: 100%;
  }
  .mkl-header__nav.is-open { max-height: 720px !important; }
  .mkl-header__list { flex-direction: column !important; align-items: stretch !important; gap: 0 !important; padding: 8px 0 16px !important; }
  .mkl-header__link { padding: 14px 24px !important; }
  .mkl-header__cta { margin: 8px 24px 4px !important; }

  /* Hero: shrink padding on tablet */
  .mkl-page-hero, [class*="mkl-page-hero--"] { min-height: 44vh !important; padding: 100px 5vw 60px !important; }
}

/* ===== Phone (≤640px) ===== */
@media (max-width: 640px) {
  /* Hero: tighter padding, smaller title spacing */
  .mkl-page-hero, [class*="mkl-page-hero--"], .mkl-home-hero, .mkl-home-gardens {
    min-height: 36vh !important;
    padding: 80px 18px 48px !important;
  }
  .mkl-page-hero__title, [class*="mkl-page-hero"] .mkl-page-hero__title,
  .mkl-home-hero__title, .mkl-home-gardens__title, .mkl-home-partners__title {
    padding: 12px 14px !important;
    letter-spacing: 0.12em !important;
    font-size: clamp(22px, 7vw, 32px) !important;
    line-height: 1.15 !important;
  }
  .mkl-page-hero__sub, [class*="mkl-page-hero"] .mkl-page-hero__sub,
  .mkl-home-hero__sub, .mkl-home-gardens__sub {
    padding: 10px 14px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  /* Body sections: smaller padding so content uses more screen real estate */
  .mkl-home-features, .mkl-home-partners, .mkl-about-body,
  .mkl-parents-block, .mkl-parents-card, .mkl-schools-pitch,
  .mkl-menus-intro, .mkl-menus-table, .mkl-news, .mkl-gallery, .mkl-g2,
  .mkl-contact-locations, .mkl-contact-form, .mkl-privacy, .mkl-garden, .mkl-garden-cta,
  .mkl-blog {
    padding: 40px 18px !important;
  }

  /* Multi-column grids: stack to single column */
  .mkl-home-features__inner, .mkl-schools-pitch__inner,
  .mkl-contact-locations__inner, .mkl-news__grid, .mkl-blog__grid,
  .mkl-home-partners__logos, .mkl-menus-intro__inner, .mkl-footer__columns,
  .wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    flex-direction: column !important;
  }
  .wp-block-column { flex-basis: 100% !important; }

  /* Maps: stack vertically on phone */
  .wp-block-columns iframe { height: 280px !important; }

  /* Section headings: tighter letter spacing on small screens */
  .mkl-about-body__heading, .mkl-parents-block__title, .mkl-parents-card__title,
  .mkl-schools-pitch__quote, .mkl-contact-card__title, .mkl-contact-form__title,
  .mkl-privacy__heading, .mkl-garden__heading, .mkl-news__lead,
  .mkl-blog__card-title {
    letter-spacing: 0.08em !important;
  }

  /* Buttons: full-width on phone for easier tapping */
  .mkl-parents-card__btn, .mkl-contact-card__btn, .mkl-contact-form__btn,
  .mkl-schools-pitch__list .mkl-schools-pitch__link, .mkl-garden-cta__btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
  .mkl-parents-card__btns { flex-direction: column !important; align-items: stretch !important; }

  /* Body text legibility: comfortable phone size */
  .mkl-about-body__list li, .mkl-about-body__p,
  .mkl-parents-block__list li, .mkl-parents-card__p, .mkl-parents-card__list li,
  .mkl-schools-pitch__list li, .mkl-schools-pitch__close,
  .mkl-privacy__p, .mkl-privacy__list li,
  .mkl-garden__p, .mkl-garden__list li,
  .mkl-news__lead, .mkl-blog__card-excerpt, .mkl-blog__card-title {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  /* Footer: stack columns, center-align */
  .mkl-footer__columns { gap: 28px !important; text-align: center !important; }
  .mkl-footer__loc-btn { display: inline-flex !important; }

  /* Menus sample table: already collapses but ensure cells have proper padding */
  .mkl-menus-table__day { min-height: auto !important; padding: 16px 14px !important; }
  .mkl-menus-table__day-name { padding: 12px 16px !important; text-align: left !important; }

  /* Gallery (legacy v1 grid): single column */
  .mkl-gallery__grid { grid-template-columns: 1fr !important; gap: 12px !important; }

  /* Gallery v2 masonry: 1 column, smaller gap */
  .mkl-g2__masonry { columns: 1 !important; column-gap: 12px !important; }
  .mkl-g2__item { margin: 0 0 12px !important; }

  /* Lightbox controls: bigger tap targets on phone */
  .mkl-g2__close { font-size: 42px !important; padding: 12px 18px !important; }
  .mkl-g2__nav { width: 56px !important; height: 56px !important; font-size: 28px !important; }

  /* CF7 form: single column, full-width inputs (already targeted by mkl-cf7-styling) */
  .wpcf7 form { grid-template-columns: 1fr !important; gap: 16px !important; }

  /* Yoast/admin bar fix: ensure WP admin bar doesn't push content */
  html.admin-bar-fixed { margin-top: 0 !important; }
}

/* ===== Tiny screens (≤380px) — extra-tight spacing ===== */
@media (max-width: 380px) {
  .mkl-page-hero, [class*="mkl-page-hero--"] { padding: 70px 14px 40px !important; }
  .mkl-page-hero__title { font-size: clamp(20px, 8vw, 28px) !important; }
  .mkl-home-features, .mkl-blog, .mkl-g2, .mkl-news { padding: 32px 14px !important; }
  .mkl-blog__card-body { padding: 18px 18px 20px !important; }
}
