/*
 * Wide-screen media shell
 *
 * WordPress constrains direct post children to 1140px. That remains a sound
 * reading measure, but it makes the six core pages look undersized on 2K
 * displays. Expand only the governed page roots; page-level inner wrappers
 * continue to control paragraph and card line lengths.
 */
@media (min-width: 1600px) {
  body.page-id-55 .mnd-homepage-refresh,
  body.page-id-4235 main#main,
  body.page-id-4238 main.mnd-airport,
  body.page-id-4240 main.mnd-point,
  body.page-id-4321 main#main,
  body.page-id-4361 main.mnd-luxury {
    width: 100% !important;
    max-width: 1600px !important;
  }

  /*
   * The Homepage hero's original 700px border box left only about 508px for
   * its heading after padding. Give the copy a controlled wide-screen measure
   * so the headline no longer crowds the vehicle.
   */
  body.page-id-55 .mnd-homepage-refresh .mnd-home-hero__copy {
    width: min(900px, 58%) !important;
    padding-right: 48px !important;
  }

  body.page-id-55 .mnd-homepage-refresh .mnd-home-hero h1 {
    max-width: 740px !important;
    font-size: clamp(72px, 4.5vw, 88px) !important;
  }

  /*
   * Airport and Point-to-Point can use a little more horizontal space for
   * media-led grids while keeping a deliberate 48px minimum inner gutter.
   */
  body.page-id-4238 main.mnd-airport .mnda-wrap,
  body.page-id-4238 main.mnd-airport .mnda-hero-overlay,
  body.page-id-4240 main.mnd-point .mndp-wrap,
  body.page-id-4240 main.mnd-point .mndp-hero-overlay {
    width: min(1280px, calc(100% - 96px));
    max-width: 1280px;
  }
}

@media (max-width: 768px) {
  /*
   * Reuse the site's existing four working actions. The Message control already
   * opens the live contact-message form; this layer changes presentation only.
   */
  body .mobile-sticky-nav {
    display: grid;
    grid-template-columns: minmax(88px, 1.5fr) repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  }

  body .mobile-sticky-nav .mobile-contact-row {
    display: contents;
  }

  body .mobile-sticky-nav .mobile-ch,
  body .mobile-sticky-nav #mob-message.mobile-message-strip {
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    min-height: 54px;
    height: 54px;
    margin: 0;
    border-radius: 4px;
  }

  body .mobile-sticky-nav .ch-book-sub {
    display: none !important;
  }

  body .mobile-sticky-nav #mob-message.mobile-message-strip {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border: 1px solid rgba(233, 223, 201, 0.32);
    background: transparent;
    color: #f0eee8;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.02em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
  }

  body .mobile-sticky-nav #mob-message.mobile-message-strip:focus-visible {
    outline: 3px solid #dcb932;
    outline-offset: 3px;
  }

  /*
   * Homepage Refresh currently ships a second page-only bar. Expose the
   * canonical global bar and suppress the duplicate while both versions coexist.
   */
  body.mnd-homepage-refresh-active .mobile-sticky-nav {
    display: grid !important;
  }

  body.mnd-homepage-refresh-active .mnd-home-mobile-actions {
    display: none !important;
  }

  /*
   * Match the 20px cream-panel text gutter already used by Pricing and Luxury
   * SUV. Hourly was flush to its panel edge; Airport and Point-to-Point used
   * only 14px.
   */
  body.page-id-4235 .mnd-cream-section > .section-header,
  body.page-id-4235 .mnd-cream-section > .section-lead,
  body.page-id-4235 .mnd-cream-section > .faq-list {
    width: calc(100% - 40px) !important;
    margin-inline: auto !important;
  }

  body.page-id-4238 .mnda-cream > .mnda-wrap,
  body.page-id-4240 .mndp-cream > .mndp-wrap {
    width: calc(100% - 40px) !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 360px) {
  body .mobile-sticky-nav {
    grid-template-columns: minmax(82px, 1.45fr) repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding-inline: 12px;
  }

  body .mobile-sticky-nav .mobile-ch,
  body .mobile-sticky-nav #mob-message.mobile-message-strip {
    font-size: 10.5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .mobile-sticky-nav,
  body .mobile-sticky-nav * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
