/* WB7R5 — Mobile critical recovery.
   A unique final-loaded layer so phone rendering does not depend on stale cached
   WB5 hero CSS. Restores service-card SVG containment, premium mobile hierarchy,
   and removes the intrusive fixed event-availability bar. */

@media (max-width: 900px) {
  .captivating-hero-shell {
    grid-template-columns: 1fr !important;
    align-items: start;
  }

  /* Self-contained service grid. */
  .wb5-hero-services {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .5rem !important;
    margin-top: .8rem !important;
    max-width: 640px;
  }

  .wb5-hero-services > a {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .5rem !important;
    min-height: 54px !important;
    padding: .5rem .55rem !important;
    border: 1px solid rgba(6,45,34,.14) !important;
    border-radius: 13px !important;
    background: rgba(255,246,228,.78) !important;
    color: #062D22 !important;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(3,26,21,.05) !important;
  }

  .wb5-service-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border: 1px solid rgba(201,162,77,.52) !important;
    border-radius: 9px !important;
    background: rgba(201,162,77,.10) !important;
    color: #062D22 !important;
    flex: 0 0 30px !important;
  }

  .wb5-service-icon svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
    overflow: visible !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.65 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  .wb5-hero-services strong,
  .wb5-hero-services small {
    display: block !important;
    min-width: 0 !important;
  }

  .wb5-hero-services strong {
    font-size: .75rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
  }

  .wb5-hero-services small {
    margin-top: .12rem !important;
    color: #6A5B48 !important;
    font-size: .62rem !important;
    font-weight: 600 !important;
    line-height: 1.22 !important;
  }

  .captivating-hero-media-card {
    width: min(100%, 650px) !important;
    justify-self: center !important;
  }
}

@media (max-width: 680px) {
  /* Premium phone hierarchy: strong, not billboard-sized. */
  .captivating-hero-shell {
    width: min(calc(100% - 24px), 520px) !important;
    padding-block: .9rem 1.2rem !important;
    gap: .9rem !important;
  }

  .captivating-hero-kicker {
    margin-bottom: .48rem !important;
    font-size: .65rem !important;
    letter-spacing: .13em !important;
  }

  .captivating-hero h1 {
    max-width: 10.8ch !important;
    font-size: clamp(2.55rem, 10.8vw, 3rem) !important;
    line-height: .94 !important;
    letter-spacing: -.045em !important;
  }

  .captivating-hero-lead {
    margin-top: .72rem !important;
    max-width: 100% !important;
    font-size: .94rem !important;
    line-height: 1.48 !important;
  }

  .wb5-hero-services {
    margin-top: .72rem !important;
  }

  .captivating-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .5rem !important;
    margin-top: .72rem !important;
  }

  .captivating-hero-button {
    width: 100% !important;
    min-height: 46px !important;
    padding: .68rem .55rem !important;
    font-size: .75rem !important;
  }

  .captivating-hero-detail {
    margin-top: .58rem !important;
    font-size: .68rem !important;
  }

  .captivating-hero-media-card {
    margin-top: .08rem !important;
    padding: 5px !important;
    border-radius: 22px !important;
  }

  /* The page already has Order/Event actions; do not cover the phone viewport. */
  body.p5-shell {
    padding-bottom: 0 !important;
  }

  .p5-mobile-action {
    display: none !important;
  }
}

@media (max-width: 420px) {
  .wb5-hero-services {
    gap: .42rem !important;
  }

  .wb5-hero-services > a {
    min-height: 50px !important;
    padding: .44rem .48rem !important;
  }

  .wb5-hero-services small {
    display: none !important;
  }

  .captivating-hero h1 {
    font-size: clamp(2.45rem, 10.5vw, 2.8rem) !important;
  }

  .captivating-hero-lead {
    font-size: .91rem !important;
  }
}

@media (max-width: 360px) {
  .wb5-hero-services {
    grid-template-columns: 1fr !important;
  }

  .captivating-hero-actions {
    grid-template-columns: 1fr !important;
  }
}
