
/* Apartments 7-17 — MOBILE OVERRIDES v18.27
   Loaded after style.css so these rules always win on mobile. */

@media (max-width: 700px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body { font-size: 13px !important; }
  .container {
    width: calc(100% - 16px) !important;
    max-width: none !important;
    margin: 0 8px !important;
  }

  /* Header */
  .site-header { padding: 4px 0 !important; }
  .nav-shell {
    min-height: 50px !important;
    padding: 6px 8px !important;
    border-radius: 0 0 10px 10px !important;
  }
  .site-logo-header {
    width: auto !important;
    height: auto !important;
    max-width: 78px !important;
    max-height: 30px !important;
  }
  .mobile-menu-button {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
  }

  /* Search / hero */
  .hero {
    min-height: 0 !important;
    border-radius: 12px !important;
    margin-top: 4px !important;
  }
  .hero-inner { padding: 22px 8px 10px !important; }
  .hero h1 { font-size: 27px !important; margin: 5px 0 9px !important; }
  .hero p { font-size: 10px !important; line-height: 1.4 !important; margin-bottom: 10px !important; }

  .hero-property-search,
  .results-property-search,
  .searchbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    padding: 6px !important;
    width: 100% !important;
    border-radius: 11px !important;
  }
  .hero-property-search .field,
  .results-property-search .field,
  .searchbar .field {
    grid-column: auto !important;
    min-height: 42px !important;
    padding: 5px 7px !important;
    border-radius: 8px !important;
  }
  .hero-property-search .field label,
  .results-property-search .field label,
  .searchbar .field label {
    font-size: 7px !important;
    margin-bottom: 1px !important;
  }
  .hero-property-search input,
  .hero-property-search select,
  .results-property-search input,
  .results-property-search select,
  .searchbar input,
  .searchbar select {
    min-height: 26px !important;
    height: 26px !important;
    font-size: 13px !important;
  }
  .hero-property-search .property-search-submit,
  .results-property-search .property-search-submit,
  .searchbar .search-button {
    min-height: 38px !important;
    height: 38px !important;
    width: 100% !important;
    border-radius: 9px !important;
    font-size: 10px !important;
  }

  /* Category row */
  .category-strip { margin: 12px 0 17px !important; gap: 6px !important; }
  .category { min-width: 54px !important; flex-basis: 54px !important; font-size: 7px !important; }
  .category .ico { width: 34px !important; height: 34px !important; border-radius: 8px !important; margin-bottom: 3px !important; }

  .section { margin-bottom: 18px !important; }
  .section-head { margin-bottom: 8px !important; }
  .section h2 { font-size: 17px !important; }
  .section-sub { font-size: 8px !important; }

  /* PROPERTIES: force 2 compact cards per row */
  .cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  .card {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    border-radius: 9px !important;
    box-shadow: none !important;
  }
  .card-image {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1.3 / 1 !important;
  }
  .card-image img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
  }
  .card-body { padding: 6px !important; }
  .card-title { font-size: 9px !important; line-height: 1.15 !important; }
  .card-location {
    margin: 2px 0 4px !important;
    font-size: 6.5px !important;
    line-height: 1.25 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .price { font-size: 9px !important; line-height: 1 !important; }
  .price small { font-size: 6px !important; }
  .arrow { width: 22px !important; height: 22px !important; flex: 0 0 22px !important; font-size: 9px !important; }
  .property-promo-badges { top: 4px !important; left: 4px !important; gap: 2px !important; }
  .property-promo-badges span { padding: 2px 4px !important; font-size: 5.5px !important; }
  .property-selection-badge { left: 4px !important; bottom: 4px !important; font-size: 5.5px !important; padding: 2px 4px !important; }

  /* Property page */
  .property-client-page { gap: 6px !important; margin-top: 5px !important; }
  .gallery-main { aspect-ratio: 1.5 / 1 !important; max-height: 220px !important; border-radius: 10px !important; }
  .property-thumb { width: 46px !important; flex-basis: 46px !important; }
  .property-client-page > .property-booking-box { padding: 8px !important; border-radius: 10px !important; }
  .booking-search-title { font-size: 13px !important; }
  .booking-search-subtitle { font-size: 7px !important; }
  .property-mobile-heading h1 { font-size: 19px !important; }
  .property-location { font-size: 8px !important; }
  .property-description { font-size: 9px !important; }
  .amenities .tag { padding: 4px 6px !important; font-size: 7px !important; }
  .public-rate-card { padding: 7px !important; }
  .rate-card-top > div strong { font-size: 9px !important; }
  .rate-card-top > div span { font-size: 6.5px !important; }
  .rate-card-top > b { font-size: 10px !important; }

  /* FOOTER */
  .footer-v18-25 {
    margin-top: 18px !important;
    padding: 15px 0 10px !important;
  }
  .footer-v18-25 .footer-main-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px 12px !important;
  }
  .footer-v18-25 .footer-brand-column { grid-column: 1 / -1 !important; }
  .footer-v18-25 .site-logo-footer {
    width: auto !important;
    height: auto !important;
    max-width: 74px !important;
    max-height: 32px !important;
  }
  .footer-v18-25 .footer-brand-column p { font-size: 7px !important; max-width: 210px !important; margin: 3px 0 0 !important; }
  .footer-v18-25 .footer-links-column { gap: 2px !important; }
  .footer-v18-25 .footer-links-column > strong { font-size: 8px !important; margin-bottom: 1px !important; }
  .footer-v18-25 .footer-links-column > a { font-size: 7px !important; padding: 0 !important; line-height: 1.3 !important; }

  .footer-v18-25 .footer-partners-compact { margin-top: 9px !important; }
  .footer-v18-25 .footer-compact-section { padding: 7px 0 !important; }
  .footer-v18-25 .footer-compact-heading { margin-bottom: 5px !important; }
  .footer-v18-25 .footer-compact-heading span { font-size: 5px !important; }
  .footer-v18-25 .footer-compact-heading strong { font-size: 7.5px !important; }

  .footer-v18-25 .footer-partners-strip { gap: 8px !important; }
  .footer-v18-25 .footer-partners-strip img {
    width: auto !important;
    height: auto !important;
    max-width: 45px !important;
    max-height: 18px !important;
  }

  .footer-v18-25 .footer-info-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .footer-v18-25 .classification-stars { gap: 1px !important; }
  .footer-v18-25 .classification-stars span { font-size: 10px !important; }

  .footer-v18-25 .footer-logo-strip,
  .footer-v18-25 .footer-vacation-mini-strip {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .footer-v18-25 .footer-logo-strip a,
  .footer-v18-25 .footer-vacation-mini-strip a {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .footer-v18-25 .footer-classification-strip img {
    width: auto !important;
    height: auto !important;
    max-width: 54px !important;
    max-height: 22px !important;
  }
  .footer-v18-25 .footer-anpc-strip img {
    width: auto !important;
    height: auto !important;
    max-width: 52px !important;
    max-height: 20px !important;
  }
  .footer-v18-25 .footer-anpc-strip small { font-size: 5px !important; }

  .footer-v18-25 .footer-payment-row {
    display: grid !important;
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  .footer-v18-25 .footer-payment-mini-group > small { font-size: 5px !important; margin-bottom: 3px !important; }
  .footer-v18-25 .stripe-mini-logo span { font-size: 15px !important; }
  .footer-v18-25 .footer-vacation-mini-strip img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(1) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(2) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(3) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(4) img {
    width: auto !important;
    height: auto !important;
    max-width: 40px !important;
    max-height: 17px !important;
  }

  .footer-v18-25 .footer-bottom-v18-25 {
    font-size: 5.8px !important;
    margin-top: 3px !important;
    padding-top: 6px !important;
    gap: 2px !important;
  }
}

@media (max-width: 360px) {
  .cards { gap: 5px !important; }
  .card-body { padding: 5px !important; }
  .card-title { font-size: 8.5px !important; }

  .footer-v18-25 .footer-main-grid { grid-template-columns: 1fr !important; }
  .footer-v18-25 .footer-payment-row { grid-template-columns: 58px minmax(0,1fr) !important; }
}


/* V18.28 mobile refinements */
@media(max-width:700px){
  .footer-v18-25 .footer-payment-row{display:block!important}
  .footer-v18-25 .footer-payment-mini-group{margin-bottom:7px!important}
  .footer-v18-25 .footer-vacation-mini-strip{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:9px!important}
  .footer-v18-25 .footer-vacation-mini-strip a{display:inline-flex!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .footer-v18-25 .footer-vacation-mini-strip img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(1) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(2) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(3) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(4) img{
    width:auto!important;height:auto!important;max-height:15px!important;max-width:42px!important;object-fit:contain!important
  }
  .smart-filter-grid{grid-template-columns:1fr 1fr!important}
  .smart-filter-submit{grid-column:1/-1!important}
}
