/* =========================================================
   AVESH REALTY — UX V5
   Mobile-first real-estate browsing + fast property detail
   Loaded after main.css so these rules are the final UI layer.
   ========================================================= */

:root {
  --ux-purple: #67187a;
  --ux-purple-dark: #42104f;
  --ux-purple-soft: #f5eef7;
  --ux-ink: #211b24;
  --ux-muted: #746b78;
  --ux-line: #e9e3eb;
  --ux-surface: #ffffff;
  --ux-bg: #faf9fb;
  --ux-green: #18a957;
  --ux-radius: 20px;
  --ux-shadow: 0 10px 32px rgba(42, 22, 49, .08);
}

html { scroll-behavior: smooth; }
body { background: var(--ux-bg); color: var(--ux-ink); }
.container { width: min(1240px, calc(100% - 40px)); }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
.btn, .btn-whatsapp, button, select, input { font-family: inherit; }

/* --- Header --- */
.header { border-bottom: 1px solid rgba(103,24,122,.07); }
.header.scrolled { box-shadow: 0 5px 24px rgba(31,14,37,.06); }
.brand-logo-image { width: auto; height: 38px; object-fit: contain; }
.header .btn-whatsapp { min-height: 42px; border-radius: 12px; }

/* --- Property cards: photo-led and calm --- */
.property-card {
  overflow: hidden;
  border: 1px solid var(--ux-line) !important;
  border-radius: 22px !important;
  background: #fff;
  box-shadow: 0 8px 26px rgba(46,27,51,.055) !important;
}
.property-card:hover { border-color: #d8c9dc !important; box-shadow: var(--ux-shadow) !important; }
.property-card-image-wrapper {
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  background: #f3f0f4 !important;
}
.property-card-image-wrapper .property-card-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
.property-card-badges { top: 12px !important; left: 12px !important; gap: 7px !important; }
.property-card-badges .badge { padding: 7px 9px !important; border-radius: 999px !important; font-size: 10px !important; font-weight: 750 !important; box-shadow: 0 3px 10px rgba(15,8,18,.08) !important; }
.property-card-transactions { top: 12px !important; right: 12px !important; }
.property-card-transactions span { padding: 7px 10px !important; border-radius: 999px !important; background: rgba(255,255,255,.94) !important; font-size: 10px !important; font-weight: 750 !important; }
.property-video-indicator, .property-video-badge { display: none !important; }
.property-card-body { padding: 18px 18px 15px !important; }
.property-card-title { margin: 0 0 9px !important; min-height: 0 !important; color: var(--ux-ink) !important; font-size: 17px !important; font-weight: 760 !important; line-height: 1.32 !important; letter-spacing: -.018em; }
.property-card-location { gap: 7px !important; margin: 0 0 12px !important; color: var(--ux-muted) !important; font-size: 13px !important; line-height: 1.4 !important; }
.property-card-location svg { width: 15px !important; height: 15px !important; flex: 0 0 15px; }
.property-card-specs { min-height: 0 !important; gap: 7px !important; margin: 0 0 14px !important; }
.property-card-spec { padding: 6px 9px !important; border-radius: 9px !important; color: #5d5362 !important; background: #f6f3f7 !important; font-size: 11px !important; font-weight: 650 !important; }
.property-card-price { margin: 0 0 8px !important; }
.property-card-price .price { color: var(--ux-purple-dark) !important; font-size: 23px !important; font-weight: 800 !important; letter-spacing: -.025em; }
.property-card-possession {
  min-height: 20px !important;
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  color: #847a88 !important;
  font-size: 11px !important;
  font-weight: 600;
}
.property-card-video-available { display: inline-flex; align-items: center; gap: 5px; color: var(--ux-purple); font-weight: 750; }
.property-card-video-available svg { width: 12px; height: 12px; fill: currentColor; }
.property-card-meta-dot { color: #c3b8c6; }
.property-card-actions { min-height: 62px !important; gap: 10px !important; padding: 11px 17px 14px !important; border-top: 1px solid #f0ebf1 !important; }
.property-card-primary-action { min-height: 42px !important; border-radius: 12px !important; font-size: 12px !important; font-weight: 750 !important; }
.property-card-icon-actions .btn { width: 40px !important; min-width: 40px !important; height: 40px !important; border-radius: 12px !important; }

/* No fabricated image placeholders. */
.property-card-no-image .property-card-body { padding-top: 22px !important; }
.property-card-no-image .property-card-text-badges { padding: 18px 18px 0 !important; }

/* --- Home: inventory first, then discovery --- */
.home-inventory-zone { background: #fff !important; }
.inventory-panel-featured {
  padding: 30px !important;
  border: 1px solid #eadfed !important;
  border-radius: 26px !important;
  background: linear-gradient(135deg, #fbf7fc 0%, #fff 62%) !important;
}
.inventory-panel-latest { margin-top: 54px !important; }
.home-section-kicker { color: var(--ux-purple) !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; }
.home-section-heading .heading-3 { font-size: clamp(1.8rem, 3vw, 2.55rem) !important; }
.home-section-heading p { font-size: 14px !important; line-height: 1.55 !important; }
.home-inventory-zone .property-carousel .property-card,
.inventory-panel-featured .property-carousel .property-card { flex-basis: 326px !important; width: 326px !important; min-width: 326px !important; }
.home-carousel-track { scroll-padding-left: 4px; }
.carousel-arrow { border: 1px solid #ded5e1 !important; background: #fff !important; color: var(--ux-purple) !important; box-shadow: 0 4px 12px rgba(44,22,50,.05); }

/* --- Property search page --- */
.properties-search-first-page { background: var(--ux-bg) !important; }
.properties-page-intro { max-width: 850px !important; padding-top: 6px; }
.properties-page-intro h1 { color: var(--ux-ink) !important; }
.properties-search-first-panel { border: 1px solid var(--ux-line) !important; border-radius: 20px !important; background: #fff !important; box-shadow: 0 8px 25px rgba(48,28,54,.05) !important; }
.properties-search-first-input-wrap { border-radius: 13px !important; }
.properties-search-first-submit { min-height: 48px !important; border-radius: 13px !important; }
.property-quick-filter { min-height: 42px; border-radius: 11px !important; }
.properties-filter-panel { border-radius: 18px !important; }
.search-first-results-grid { gap: 18px !important; }
.properties-search-first-meta { min-height: 46px; }

/* --- Fast property page shell: prevents footer flash --- */
body[data-page="property-detail"] #footer { visibility: hidden; opacity: 0; transition: opacity .18s ease; }
body[data-page="property-detail"].property-ui-ready #footer { visibility: visible; opacity: 1; }
.property-fast-shell { min-height: 92vh; padding: calc(var(--header-height) + 30px) 0 70px; background: #fff; }
.property-fast-shell-inner { width: min(1240px, calc(100% - 40px)); margin: 0 auto; display: grid; grid-template-columns: .72fr 1.28fr; gap: 34px; align-items: start; }
.property-fast-summary { display: grid; gap: 13px; padding-top: 20px; }
.fast-skeleton { display: block; overflow: hidden; position: relative; border-radius: 10px; background: #f0edf2; }
.fast-skeleton::after { content:""; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent); animation:ux-shimmer 1.25s infinite; }
@keyframes ux-shimmer { 100% { transform: translateX(100%); } }
.fast-chip { width: 92px; height: 28px; border-radius: 999px; }
.fast-title { width: 92%; height: 46px; }
.fast-title-short { width: 68%; }
.fast-line { width: 58%; height: 20px; }
.fast-price-row { display: flex; gap: 12px; margin-top: 8px; }
.fast-price { width: 155px; height: 66px; }
.fast-price-short { width: 112px; }
.fast-media { aspect-ratio: 16/9; border-radius: 22px; }
.property-fast-content { width:min(1240px,calc(100% - 40px)); margin: 35px auto 0; display:grid; grid-template-columns:1.3fr .8fr .7fr; gap:20px; }
.fast-block { height: 180px; border-radius: 18px; }

/* --- Property detail: immersive but not cluttered --- */
.property-selected-page { background: #fff !important; }
.property-selected-container { max-width: 1240px !important; }
.property-selected-breadcrumbs { font-size: 12px !important; }
.property-selected-hero-grid { gap: 34px !important; }
.property-selected-summary h1 { color: var(--ux-ink) !important; }
.property-selected-topline .badge, .property-selected-featured { font-size: 11px !important; }
.property-selected-location { color: var(--ux-muted) !important; font-size: 14px !important; }
.property-selected-availability { gap: 8px !important; }
.property-selected-availability span { padding: 8px 10px !important; border-radius: 10px !important; font-size: 11px !important; }
.property-selected-prices { border: 1px solid #eee5f0; }
.property-selected-gallery .property-showcase { width: 100%; }
.property-selected-gallery .property-media-stage {
  width: 100%;
  aspect-ratio: 16 / 9 !important;
  max-height: none !important;
  border-radius: 20px !important;
  background: #0b090c !important;
  box-shadow: 0 14px 38px rgba(33,18,38,.12) !important;
}
.property-selected-gallery .property-media-stage[data-media-type="image"] { background: #f5f2f6 !important; }
.property-selected-gallery .property-photo-main img { object-fit: contain !important; background: #f5f2f6 !important; }
.property-video-autoplay, .property-video-autoplay iframe { width: 100%; height: 100%; }
.property-video-autoplay iframe { border: 0; }
.property-media-counter { top: 14px !important; right: 14px !important; bottom: auto !important; padding: 7px 10px !important; border-radius: 999px !important; background: rgba(49,20,58,.84) !important; font-size: 11px !important; }
.property-media-counter-video { left: 14px !important; right: auto !important; top: 14px !important; }
.property-gallery-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; color:#7b7080; font-size:11px; }
.property-gallery-actions a { color:var(--ux-purple); font-weight:750; text-decoration:none; }
.property-thumbnail-strip { gap: 8px !important; margin-top: 11px !important; }
.property-selected-gallery .property-thumbnail { width: 88px !important; height: 62px !important; flex: 0 0 88px !important; border-radius: 10px !important; }
.property-selected-gallery .property-media-arrow { width: 42px !important; height: 42px !important; }
.property-selected-content-grid { gap: 28px !important; }
.property-selected-description p { font-size: 14px !important; line-height: 1.75 !important; }
.property-selected-specifications p { min-height: 44px; }
.property-selected-enquiry { border-radius: 20px !important; }

/* =========================================================
   MOBILE — intentionally redesigned, not desktop compressed
   ========================================================= */
@media (max-width: 767px) {
  :root { --header-height-mobile: 64px; }
  html { font-size: 16px; }
  body { overflow-x: hidden; background: #fff; }
  .container { width: min(100% - 32px, 720px) !important; }
  .section { padding: 38px 0 !important; }

  /* Header / navigation */
  .header { min-height: 64px !important; background: rgba(255,255,255,.97) !important; backdrop-filter: blur(14px); }
  .header > .container { min-height: 64px !important; padding: 0 !important; }
  .brand-logo-image { height: 31px !important; }
  .header-actions { gap: 8px !important; }
  .header-actions > .btn-whatsapp { width: 42px !important; min-width: 42px !important; height: 42px !important; min-height: 42px !important; padding: 0 !important; display: grid !important; place-items: center; border-radius: 12px !important; }
  .header-actions > .btn-whatsapp span { display: none !important; }
  .mobile-toggle { width: 42px !important; height: 42px !important; border: 1px solid #e5dee8 !important; border-radius: 12px !important; background: #fff !important; }
  .mobile-nav { top: 64px !important; padding: 18px 16px max(24px, env(safe-area-inset-bottom)) !important; background: #fff !important; }
  .mobile-nav-section { padding: 14px 0 !important; }
  .mobile-nav-title { margin-bottom: 8px !important; color: #9a8f9e !important; font-size: 10px !important; letter-spacing: .12em; }
  .mobile-nav-link { min-height: 48px !important; display: flex !important; align-items: center; padding: 0 4px !important; border-bottom: 1px solid #f1edf2 !important; color: #2d2530 !important; font-size: 16px !important; font-weight: 650 !important; }
  .mobile-nav-actions .btn-whatsapp { min-height: 48px !important; border-radius: 13px !important; font-size: 14px !important; }

  /* Home hero: compact search-first experience */
  .hero { min-height: auto !important; }
  .hero-content { position: relative !important; padding: 102px 0 36px !important; }
  .hero-title { max-width: 330px !important; margin: 0 !important; font-size: clamp(2rem, 9vw, 2.65rem) !important; line-height: 1.04 !important; letter-spacing: -.045em !important; }
  .hero-subtitle { max-width: 340px !important; margin: 13px 0 22px !important; font-size: 14px !important; line-height: 1.55 !important; }
  .search-box { padding: 12px !important; border-radius: 18px !important; box-shadow: 0 14px 36px rgba(20,6,27,.18) !important; }
  .search-form { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 9px !important; }
  .search-field { min-width: 0 !important; min-height: 54px !important; padding: 9px 11px !important; border: 1px solid #eee7f0 !important; border-radius: 12px !important; background: #fff !important; }
  .search-field-location { grid-column: 1 / -1 !important; }
  .search-divider { display: none !important; }
  .search-label { margin-bottom: 3px !important; font-size: 9px !important; }
  .search-input, .search-select { min-height: 24px !important; font-size: 13px !important; }
  .search-button { grid-column: 1/-1; min-height: 48px !important; margin: 0 !important; border-radius: 12px !important; font-size: 14px !important; }
  .hero-stats { display: none !important; }

  /* Section headings */
  .home-section-heading, .section-header { align-items: flex-start !important; flex-direction: column !important; gap: 10px !important; margin-bottom: 18px !important; }
  .home-section-heading .heading-3, .section-header h2 { font-size: 25px !important; line-height: 1.12 !important; }
  .home-section-heading p, .section-header p { max-width: 100% !important; font-size: 13px !important; line-height: 1.5 !important; }
  .home-section-actions { width: 100% !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
  .section-text-link, .section-view-all-button { font-size: 12px !important; }
  .carousel-controls { margin-left: auto; }

  /* Home property carousels */
  .home-inventory-zone { padding-top: 28px !important; padding-bottom: 36px !important; }
  .inventory-panel-featured { margin: 0 !important; padding: 20px 0 20px 16px !important; border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; }
  .inventory-panel-featured .home-section-heading { padding-right: 16px; }
  .inventory-panel-latest { margin-top: 30px !important; padding-top: 26px !important; }
  .home-inventory-zone .property-carousel,
  .inventory-panel-featured .property-carousel { margin-right: -16px !important; padding-right: 16px !important; gap: 14px !important; scroll-snap-type: x mandatory !important; }
  .home-inventory-zone .property-carousel .property-card,
  .inventory-panel-featured .property-carousel .property-card {
    flex: 0 0 min(78vw, 326px) !important;
    width: min(78vw, 326px) !important;
    min-width: min(78vw, 326px) !important;
    scroll-snap-align: start;
  }
  .property-card-body { padding: 15px 15px 13px !important; }
  .property-card-title { font-size: 16px !important; line-height: 1.3 !important; }
  .property-card-location { font-size: 12px !important; }
  .property-card-price .price { font-size: 21px !important; }
  .property-card-actions { padding: 9px 14px 13px !important; }
  .property-card-primary-action { min-height: 41px !important; font-size: 12px !important; }
  .property-card-icon-actions .btn { width: 39px !important; min-width: 39px !important; height: 39px !important; }
  .property-card-icon-actions button:last-child { display: none !important; }

  /* Quick discovery: compact horizontal chips/cards */
  .home-discovery-zone { padding: 34px 0 !important; }
  .home-discovery-zone .category-carousel { margin-right: -16px !important; padding-right: 16px !important; }
  .home-discovery-zone .category-carousel .category-card { flex-basis: 146px !important; width: 146px !important; min-height: 112px !important; padding: 14px !important; border-radius: 16px !important; }
  .home-discovery-zone .category-card h4 { font-size: 14px !important; }
  .home-discovery-zone .category-card p { font-size: 11px !important; }
  .home-discovery-zone .type-carousel { margin-right: -16px !important; padding-right: 16px !important; }
  .home-discovery-zone .type-carousel .type-card { flex-basis: 146px !important; width: 146px !important; min-height: 62px !important; }

  /* Localities */
  .home-localities-section { padding: 36px 0 !important; }
  .locality-carousel { margin-right: -16px !important; padding-right: 16px !important; }
  .locality-carousel .location-card-clean { flex-basis: 228px !important; width: 228px !important; min-height: 112px !important; padding: 15px !important; border-radius: 16px !important; }
  .location-card-clean .location-card-copy h4 { font-size: 14px !important; }
  .location-card-clean .location-card-copy p { font-size: 11px !important; }

  /* Property result page: compact search, single clear card column */
  .properties-search-first-container { width: min(100% - 28px, 720px) !important; }
  .properties-page-intro { padding-top: calc(64px + 26px) !important; padding-bottom: 16px !important; }
  .properties-page-intro > span { font-size: 9px !important; }
  .properties-page-intro h1 { margin: 6px 0 9px !important; font-size: 29px !important; line-height: 1.08 !important; letter-spacing: -.035em !important; }
  .properties-page-intro p { font-size: 13px !important; line-height: 1.5 !important; }
  .properties-search-first-panel { position: sticky; top: 70px; z-index: 35; margin: 0 0 18px !important; padding: 10px !important; border-radius: 16px !important; box-shadow: 0 8px 26px rgba(38,19,43,.08) !important; }
  .properties-search-first-form { display: grid !important; grid-template-columns: 1fr auto !important; gap: 8px !important; }
  .properties-search-first-input-wrap { min-height: 46px !important; }
  .properties-search-first-input-wrap input { font-size: 13px !important; }
  .properties-search-first-submit { width: 46px !important; min-width: 46px !important; min-height: 46px !important; padding: 0 !important; }
  .properties-search-first-submit span { display: none !important; }
  .properties-search-first-quickbar { display: flex !important; overflow-x: auto !important; gap: 7px !important; margin: 9px -2px -1px !important; padding: 1px 2px 3px !important; scrollbar-width: none; }
  .properties-search-first-quickbar::-webkit-scrollbar { display:none; }
  .property-quick-filter { flex: 0 0 auto !important; min-height: 36px !important; padding: 7px 10px !important; font-size: 11px !important; }
  .property-quick-filter svg { width: 14px !important; height: 14px !important; }
  .properties-content-shell { display: block !important; }
  .properties-filter-sidebar { display: block !important; }
  .properties-filter-panel { position: fixed !important; inset: 0 !important; z-index: 200 !important; display: none; overflow-y: auto; padding: 18px 16px max(24px, env(safe-area-inset-bottom)) !important; border-radius: 0 !important; background: #fff !important; }
  .properties-filter-panel.is-open, .properties-filter-panel.active { display: block !important; }
  .properties-search-first-meta { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; margin: 6px 0 12px !important; }
  .results-count { font-size: 13px !important; font-weight: 700 !important; }
  .properties-sort-control span { display: none !important; }
  .properties-sort-control .form-select { min-height: 38px !important; padding: 7px 30px 7px 10px !important; font-size: 11px !important; }
  .search-first-results-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; }
  .search-first-results-grid .property-card { width: 100% !important; max-width: none !important; }
  .search-first-results-grid .property-card-link { display: grid !important; grid-template-columns: minmax(128px, 42%) minmax(0, 58%) !important; align-items: stretch; }
  .search-first-results-grid .property-card-image-wrapper { width: 100% !important; height: auto !important; aspect-ratio: 1/1 !important; border-radius: 0 !important; }
  .search-first-results-grid .property-card-body { min-width: 0; padding: 13px 13px 11px !important; }
  .search-first-results-grid .property-card-title { margin-bottom: 6px !important; font-size: 15px !important; line-height: 1.3 !important; }
  .search-first-results-grid .property-card-location { margin-bottom: 8px !important; font-size: 12px !important; }
  .search-first-results-grid .property-card-specs { margin-bottom: 8px !important; gap: 4px !important; }
  .search-first-results-grid .property-card-spec { padding: 4px 6px !important; font-size: 10.5px !important; }
  .search-first-results-grid .property-card-price .price { font-size: 17px !important; }
  .search-first-results-grid .property-card-possession { font-size: 10.5px !important; }
  .search-first-results-grid .property-card-badges { top: 7px !important; left: 7px !important; }
  .search-first-results-grid .property-card-badges .badge { padding: 5px 6px !important; font-size: 8px !important; }
  .search-first-results-grid .property-card-transactions { display: none !important; }
  .search-first-results-grid .property-card-actions { min-height: 54px !important; padding: 7px 10px 9px !important; }
  .search-first-results-grid .property-card-primary-action { min-height: 38px !important; }
  .search-first-results-grid .property-card-icon-actions .btn { width: 36px !important; min-width: 36px !important; height: 36px !important; }
  .properties-search-first-trust { display: none !important; }

  /* Property detail first paint and gallery */
  .property-fast-shell { min-height: 100vh; padding: 82px 0 48px; }
  .property-fast-shell-inner { width: calc(100% - 28px); grid-template-columns: 1fr; gap: 18px; }
  .property-fast-summary { order: 2; padding-top: 0; gap: 10px; }
  .fast-media { order: 1; aspect-ratio: 1/1; border-radius: 18px; }
  .fast-title { height: 31px; }
  .fast-price { height: 52px; }
  .property-fast-content { width:calc(100% - 28px); grid-template-columns:1fr; gap:12px; margin-top:18px; }
  .fast-block { height: 120px; }

  .property-selected-breadcrumbs { display: none !important; }
  .property-selected-container { width: calc(100% - 28px) !important; padding: 78px 0 0 !important; }
  .property-selected-hero-grid { display: flex !important; flex-direction: column !important; gap: 17px !important; padding-bottom: 18px !important; }
  .property-selected-gallery { order: 1 !important; width: 100%; }
  .property-selected-summary { order: 2 !important; padding: 0 2px !important; }
  .property-selected-topline { gap: 7px !important; margin-bottom: 10px !important; }
  .property-selected-topline .badge, .property-selected-featured { font-size: 10px !important; }
  .property-selected-summary h1 { max-width: none !important; margin: 0 !important; font-size: 26px !important; line-height: 1.1 !important; letter-spacing: -.035em !important; }
  .property-selected-location { margin-top: 9px !important; font-size: 13px !important; }
  .property-selected-availability { margin-top: 14px !important; overflow-x: auto; flex-wrap: nowrap !important; scrollbar-width: none; }
  .property-selected-availability::-webkit-scrollbar { display: none; }
  .property-selected-availability span { flex: 0 0 auto; white-space: nowrap; }
  .property-selected-prices { grid-template-columns: repeat(auto-fit,minmax(110px,1fr)) !important; max-width: none !important; margin-top: 13px !important; padding: 14px 0 !important; border-radius: 14px !important; }
  .property-selected-prices > div { padding: 0 13px !important; }
  .property-selected-prices strong { font-size: 22px !important; }
  .property-selected-prices span { font-size: 10px !important; }
  .property-selected-summary-facts { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 7px !important; margin-top: 13px !important; }
  .property-selected-summary-facts article { min-width: 0 !important; padding: 10px 7px !important; border: 1px solid #eee8f0 !important; border-radius: 12px !important; background: #fbf9fc !important; }
  .property-selected-summary-facts svg { width: 19px !important; height: 19px !important; }
  .property-selected-summary-facts strong { font-size: 11px !important; line-height: 1.25 !important; }
  .property-selected-summary-facts span { font-size: 10px !important; }

  .property-selected-gallery .property-media-stage[data-media-type="image"] { aspect-ratio: 1/1 !important; border-radius: 18px !important; }
  .property-selected-gallery .property-media-stage[data-media-type="video"] { aspect-ratio: 16/9 !important; border-radius: 18px !important; }
  .property-selected-gallery .property-photo-main img { object-fit: contain !important; }
  .property-media-counter { top: 10px !important; right: 10px !important; padding: 5px 8px !important; font-size: 9px !important; }
  .property-media-counter-video { left: 10px !important; right: auto !important; }
  .property-selected-gallery .property-media-arrow { width: 38px !important; height: 38px !important; font-size: 22px !important; opacity: .92; }
  .property-selected-gallery .property-media-prev { left: 8px !important; }
  .property-selected-gallery .property-media-next { right: 8px !important; }
  .property-gallery-actions { margin: 9px 1px 0; font-size: 10px; }
  .property-gallery-actions span { max-width: 62%; }
  .property-thumbnail-strip { margin-right: -14px !important; padding-right: 14px !important; }
  .property-selected-gallery .property-thumbnail { width: 72px !important; height: 52px !important; flex-basis: 72px !important; }

  .property-selected-facts { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin-top: 2px !important; padding: 14px 0 !important; border: 0 !important; }
  .property-selected-facts article { justify-content: flex-start !important; padding: 11px !important; border: 1px solid #eee8f0 !important; border-radius: 12px !important; background: #fbf9fc !important; }
  .property-selected-content-grid { gap: 22px !important; padding: 24px 0 30px !important; }
  .property-selected-content-grid h2 { margin-bottom: 12px !important; font-size: 19px !important; }
  .property-selected-description p { font-size: 13px !important; line-height: 1.7 !important; }
  .property-selected-specifications > div { grid-template-columns: 1fr !important; }
  .property-selected-specifications p { min-height: 42px !important; padding: 10px 0 !important; }
  .property-selected-specifications span { font-size: 11px !important; }
  .property-selected-specifications strong { font-size: 12px !important; }
  .property-selected-amenities > span { font-size: 11px !important; }
  .property-selected-enquiry { padding: 18px !important; border-radius: 17px !important; }
  .property-selected-enquiry h2 { font-size: 19px !important; }
  .property-selected-enquiry > p { font-size: 12px !important; }
  .property-selected-enquiry > a { min-height: 46px !important; border-radius: 12px !important; font-size: 13px !important; }
  .property-selected-trust-strip { display: none !important; }
  .property-selected-similar { margin-top: 26px !important; padding-bottom: 84px; }
  .property-selected-similar .properties-grid { grid-template-columns: 1fr !important; }
  .property-selected-mobile-bar { grid-template-columns: auto 1fr !important; gap: 9px !important; padding: 9px 12px max(9px,env(safe-area-inset-bottom)) !important; }
  .property-selected-mobile-bar span { font-size: 11px !important; }
  .property-selected-mobile-bar a { min-height: 42px; display: flex; align-items: center; justify-content: center; padding: 8px 14px !important; border-radius: 11px !important; font-size: 12px !important; }

  /* Footer: readable, not oversized */
  .footer { padding-top: 38px !important; }
  .footer-grid, .footer-grid-compact { grid-template-columns: 1fr 1fr !important; gap: 24px 18px !important; }
  .footer-brand { grid-column: 1/-1; }
  .footer-brand-logo { max-width: 132px; }
  .footer-title { font-size: 12px !important; }
  .footer-links a { min-height: 32px; display: flex; align-items: center; font-size: 11px !important; }
}

@media (max-width: 420px) {
  .container { width: calc(100% - 28px) !important; }
  .home-inventory-zone .property-carousel .property-card,
  .inventory-panel-featured .property-carousel .property-card { flex-basis: 82vw !important; width: 82vw !important; min-width: 82vw !important; }
  .search-first-results-grid .property-card-link { grid-template-columns: 42% 58% !important; }
  .search-first-results-grid .property-card-body { padding: 11px 11px 9px !important; }
  .search-first-results-grid .property-card-title { font-size: 13px !important; }
  .search-first-results-grid .property-card-price .price { font-size: 16px !important; }
  .property-selected-summary-facts { grid-template-columns: repeat(2,1fr) !important; }
  .property-selected-mobile-bar span { display: none !important; }
  .property-selected-mobile-bar { grid-template-columns: 1fr !important; }
  .footer-grid, .footer-grid-compact { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  .fast-skeleton::after { animation: none; }
  .property-card-image-wrapper .property-card-image { transition: none !important; }
}

/* Progressive Drive gallery loading */
.property-gallery-loading .property-media-stage { background:#f3f0f4 !important; }
.property-gallery-loading-media { position:absolute; inset:0; overflow:hidden; background:linear-gradient(110deg,#f1edf3 8%,#faf8fb 18%,#f1edf3 33%); background-size:200% 100%; animation:ux-gallery-shimmer 1.15s linear infinite; }
.property-thumbnail-loading { display:flex; }
.property-thumbnail-loading i { width:88px; height:58px; flex:0 0 88px; border-radius:10px; background:#f0ecf2; }
@keyframes ux-gallery-shimmer { to { background-position-x:-200%; } }
@media (max-width:767px) {
  .property-gallery-loading .property-media-stage { aspect-ratio:1/1 !important; }
  .property-thumbnail-loading i { width:72px; height:52px; flex-basis:72px; }
}
.property-media-counter-video { display:none !important; }

@media (max-width: 767px) {
  .search-first-results-grid .property-card-no-image .property-card-link { display:block !important; }
  .search-first-results-grid .property-card-no-image .property-card-body { padding:16px !important; }

  /* Dedicated localities page */
  .localities-hero { padding: 96px 0 34px !important; }
  .localities-hero-inner { grid-template-columns: 1fr !important; gap: 20px !important; }
  .localities-hero-copy h1 { margin: 8px 0 10px !important; font-size: 34px !important; line-height: 1.06 !important; }
  .localities-hero-copy p { font-size: 13px !important; line-height: 1.55 !important; }
  .localities-search-card { padding: 14px !important; border-radius: 16px !important; }
  .localities-search-card label { font-size: 10px !important; }
  .localities-search-input { min-height: 48px !important; border-radius: 12px !important; }
  .localities-search-input input { font-size: 13px !important; }
  .localities-search-meta { font-size: 10px !important; }
  .localities-directory-section { padding: 34px 0 !important; }
  .localities-directory-heading { align-items:flex-start !important; flex-direction:column !important; gap:6px !important; margin-bottom:16px !important; }
  .localities-directory-heading h2 { font-size:24px !important; }
  .localities-directory-heading p { font-size:12px !important; line-height:1.5 !important; }
  .localities-directory-grid { grid-template-columns: 1fr !important; gap: 9px !important; }
  .locality-directory-card { grid-template-columns: 38px minmax(0,1fr) auto auto !important; gap: 10px !important; min-height: 76px !important; padding: 12px !important; border-radius: 14px !important; }
  .locality-directory-icon { width:38px !important; height:38px !important; }
  .locality-directory-copy h3 { font-size:14px !important; }
  .locality-directory-copy p { font-size:10.5px !important; }
  .locality-directory-meta { display:block !important; min-width:52px !important; }
  .locality-directory-meta strong { font-size:15px !important; }
  .locality-directory-meta span { font-size:8.5px !important; }
  .locality-directory-arrow { font-size:18px !important; }
  .localities-help-card { padding: 22px 18px !important; border-radius: 18px !important; }
  .localities-help-card h2 { font-size: 22px !important; }
  .localities-help-card p { font-size: 12px !important; line-height:1.55 !important; }
}
