/* Extracted mobile-only home rules from front-page.php. */

@media (max-width: 820px) {
  /* Hero: content and search stay above the image; nothing overlaps the photo. */
  #main-content > .hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    background: #f7f3eb !important;
  }
  #main-content > .hero .hero-inner {
    order: 1 !important;
    min-height: 0 !important;
    width: 100% !important;
    padding: 14px 0 14px !important;
    align-items: stretch !important;
  }
  #main-content > .hero .hero-media {
    order: 2 !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: 250px !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 52% !important;
    transform: none !important;
  }
  #main-content > .hero .hero-shade { display: none !important; }
  #main-content > .hero .hero-panel {
    width: 100% !important;
    margin: 0 !important;
    padding: 20px !important;
    border-radius: 18px !important;
    background: #fff !important;
    border: 1px solid #e8e3da !important;
    box-shadow: 0 8px 24px rgba(38,45,34,.055) !important;
    backdrop-filter: none !important;
  }
  #main-content > .hero h1 {
    margin-bottom: 10px !important;
    font-size: 31px !important;
    line-height: 1.12 !important;
  }
  #main-content > .hero .hero-panel > p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
  #main-content > .hero .hero-search {
    margin-top: 16px !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    border-radius: 12px !important;
  }
  #main-content > .hero .search-field {
    min-height: 48px !important;
    padding: 0 14px !important;
  }
  #main-content > .hero .hero-search button { height: 48px !important; }

  /* Quick links: one row, swipe horizontally on mobile. */
  #main-content > .quick-links {
    overflow: hidden !important;
  }
  #main-content > .quick-links .quick-links-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 10px 14px 11px !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  #main-content > .quick-links .quick-links-inner::-webkit-scrollbar {
    display: none !important;
  }
  #main-content > .quick-links .quick-links-inner > a {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 92px !important;
    height: 36px !important;
    padding: 0 13px !important;
    font-size: 11.5px !important;
    white-space: nowrap !important;
    scroll-snap-align: start !important;
  }

  /* Featured and popular: two balanced columns on mobile/tablet. */
  #main-content .featured-bungalows .bungalow-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
  }
  #main-content .featured-bungalows .bungalow-card { min-width: 0 !important; width: 100% !important; }
  #main-content .featured-bungalows .bungalow-card-media { aspect-ratio: 1.45 / 1 !important; }
  #main-content .featured-bungalows .bungalow-card-body { padding: 10px !important; min-height: 0 !important; }
  #main-content .featured-bungalows .bungalow-card h3 { font-size: 13px !important; line-height: 1.28 !important; }
  #main-content .featured-bungalows .location { font-size: 10px !important; margin-bottom: 6px !important; }
  #main-content .featured-bungalows .tag-row { display: none !important; }
  #main-content .featured-bungalows .card-link { position: static !important; margin-top: 5px !important; font-size: 9.5px !important; }

  #main-content .popular-regions .region-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  #main-content .popular-regions .region-card { aspect-ratio: 1.18 / 1 !important; min-width: 0 !important; }
  #main-content .popular-regions .region-copy { left: 10px !important; right: 10px !important; bottom: 9px !important; text-align: left !important; }
  #main-content .popular-regions .region-copy strong { font-size: 14px !important; }
  #main-content .popular-regions .region-copy small { font-size: 10px !important; }

  /* Blog: mobile 2 x 2. Fifth desktop card stays hidden on mobile. */
  #main-content .bungalow-guides .guide-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  #main-content .bungalow-guides .guide-card {
    display: block !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }
  #main-content .bungalow-guides .guide-card:nth-child(n+5) { display: none !important; }
  #main-content .bungalow-guides .guide-card > img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1.35 / 1 !important;
    object-fit: cover !important;
  }
  #main-content .bungalow-guides .guide-body { padding: 9px 10px 10px !important; min-width: 0 !important; }
  #main-content .bungalow-guides .guide-date { margin-bottom: 4px !important; font-size: 8.5px !important; }
  #main-content .bungalow-guides .guide-card h3 {
    margin-bottom: 5px !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  #main-content .bungalow-guides .guide-card p:not(.guide-date) {
    display: none !important;
  }
  #main-content .bungalow-guides .guide-card span { font-size: 9px !important; }
}

@media (max-width: 430px) {
  #main-content > .hero .hero-media { height: 220px !important; }
  #main-content > .hero h1 { font-size: 28px !important; }
  #main-content > .quick-links .quick-links-inner > a { min-width: 88px !important; font-size: 11px !important; }
}

/* ==========================================================
   Mobile home visual polish v18
   Mobile-only. No new features, no desktop impact.
   ========================================================== */
@media (max-width: 820px) {
  html.btr-mobile-app body.home #main-content > .hero {
    grid-template-rows: auto 190px !important;
    padding: 12px 10px 0 !important;
    gap: 10px !important;
  }

  html.btr-mobile-app body.home #main-content > .hero .hero-panel {
    padding: 17px 16px 16px !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 26px rgba(37,55,42,.05) !important;
  }

  html.btr-mobile-app body.home #main-content > .hero h1 {
    max-width: 320px !important;
    margin-bottom: 7px !important;
    font-size: clamp(26px, 7vw, 29px) !important;
    line-height: 1.07 !important;
  }

  html.btr-mobile-app body.home #main-content > .hero .hero-panel > p {
    font-size: 13.5px !important;
    line-height: 1.48 !important;
  }

  html.btr-mobile-app body.home #main-content > .hero .hero-search {
    gap: 7px !important;
    margin-top: 13px !important;
  }

  html.btr-mobile-app body.home #main-content > .hero .search-field,
  html.btr-mobile-app body.home #main-content > .hero .hero-search > button[type="submit"] {
    height: 45px !important;
    min-height: 45px !important;
    border-radius: 12px !important;
  }

  html.btr-mobile-app body.home #main-content > .hero .hero-media {
    height: 190px !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 26px rgba(37,55,42,.08) !important;
  }

  html.btr-mobile-app body.home #main-content > .quick-links .quick-links-inner {
    gap: 7px !important;
    padding: 11px 10px 2px !important;
  }

  html.btr-mobile-app body.home #main-content > .quick-links .quick-links-inner > a {
    height: 36px !important;
    padding: 0 12px !important;
    font-size: 11.5px !important;
  }

  html.btr-mobile-app body.home #main-content .home-section {
    padding-top: 22px !important;
  }

  html.btr-mobile-app body.home #main-content .home-section .container,
  html.btr-mobile-app body.home #main-content .section-head {
    width: calc(100% - 20px) !important;
  }

  html.btr-mobile-app body.home #main-content .section-head {
    margin-bottom: 10px !important;
  }

  html.btr-mobile-app body.home #main-content .section-head h2 {
    font-size: 20px !important;
  }

  html.btr-mobile-app body.home #main-content .featured-bungalows .bungalow-grid,
  html.btr-mobile-app body.home #main-content .popular-regions .region-grid,
  html.btr-mobile-app body.home #main-content .bungalow-guides .guide-grid {
    gap: 8px !important;
  }

  html.btr-mobile-app body.home #main-content .featured-bungalows .bungalow-card,
  html.btr-mobile-app body.home #main-content .bungalow-guides .guide-card {
    border-radius: 14px !important;
    box-shadow: 0 5px 16px rgba(32,48,37,.035) !important;
  }

  html.btr-mobile-app body.home #main-content .featured-bungalows .bungalow-card-body,
  html.btr-mobile-app body.home #main-content .bungalow-guides .guide-body {
    padding: 9px !important;
  }

  html.btr-mobile-app body.home #main-content .featured-bungalows .bungalow-card h3 {
    min-height: 32px !important;
    font-size: 13px !important;
  }

  html.btr-mobile-app body.home #main-content .popular-regions .region-card {
    border-radius: 14px !important;
  }

  html.btr-mobile-app body.home #main-content .why-section {
    padding-top: 24px !important;
  }
}

@media (max-width: 390px) {
  html.btr-mobile-app body.home #main-content > .hero {
    grid-template-rows: auto 175px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  html.btr-mobile-app body.home #main-content > .hero .hero-media {
    height: 175px !important;
  }

  html.btr-mobile-app body.home #main-content > .hero .hero-panel {
    padding: 16px 14px 14px !important;
  }
}

/* ==========================================================
   Mobile quick links color refresh v189
   ========================================================== */
@media (max-width: 820px) {
  #main-content > .quick-links {
    background: linear-gradient(180deg, #fffdfa 0%, #fbfaf6 100%) !important;
    border-top: 1px solid #eee8dc !important;
  }

  #main-content > .quick-links .quick-links-inner {
    gap: 9px !important;
    padding: 12px 14px 12px !important;
  }

  #main-content > .quick-links .quick-links-inner > a {
    min-width: 96px !important;
    height: 38px !important;
    padding: 0 14px !important;
    border: 1px solid #dbe4d9 !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7faf6 100%) !important;
    color: #324a39 !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    gap: 7px !important;
    box-shadow: 0 4px 12px rgba(35,61,43,.05) !important;
  }

  #main-content > .quick-links .quick-links-inner > a > span {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    color: #2f6a49 !important;
    background: rgba(88,132,101,.12) !important;
    border: 1px solid rgba(88,132,101,.16) !important;
  }

  #main-content > .quick-links .quick-links-inner > a:nth-child(-n+3) {
    background: linear-gradient(180deg, #ffffff 0%, #f4faf6 100%) !important;
    border-color: #d7e3d7 !important;
  }

  #main-content > .quick-links .quick-links-inner > a:nth-child(n+4):nth-child(-n+6) {
    background: linear-gradient(180deg, #ffffff 0%, #fbf8f1 100%) !important;
    border-color: #e4ddd0 !important;
  }

  #main-content > .quick-links .quick-links-inner > a:nth-child(7) {
    background: linear-gradient(180deg, #ffffff 0%, #fcf5f6 100%) !important;
    border-color: #eadbdf !important;
  }

  #main-content > .quick-links .quick-links-inner > a:nth-child(n+4):nth-child(-n+6) > span {
    color: #8a6a2e !important;
    background: rgba(198,172,110,.12) !important;
    border-color: rgba(198,172,110,.18) !important;
  }

  #main-content > .quick-links .quick-links-inner > a:nth-child(7) > span {
    color: #9a4f68 !important;
    background: rgba(202,107,137,.10) !important;
    border-color: rgba(202,107,137,.14) !important;
  }
}
