.ad-mobile-ui { --ad-ui-green:#246b57; --ad-ui-ink:#163d34; --ad-ui-border:#d9e4de; }
.ad-mobile-brand,.ad-purpose-tabs,.ad-filter-actions,.ad-view-modes,.ad-filter-label { display:none; }
.ad-primary,.ad-card-open,.ad-contact-open { background:var(--ad-ui-green); color:#fff; border:1px solid var(--ad-ui-green); border-radius:9px; padding:10px 14px; min-height:44px; text-decoration:none; font-weight:600; }
.ad-primary:hover,.ad-card-open:hover,.ad-contact-open:hover { background:#194e3f; color:#fff; }
.ad-card-open { margin-top:12px; display:flex; justify-content:space-between; align-items:center; font-size:14px; }
.ad-mobile-ui :is(button,a,input,select,summary):focus-visible { outline:3px solid #b88225; outline-offset:3px; }
.ad-detail-shortcuts { padding-top:12px; padding-bottom:12px; }
.ad-detail-shortcuts a { display:inline-flex; gap:20px; align-items:center; }
.ad-detail-actions { display:none; }
.ad-photo-gallery { position:relative; background:#e9eeeb; }
.ad-photo-track { display:flex; width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; overscroll-behavior-x:contain; }
.ad-photo-slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; }
.estate-detail-hero .ad-photo-slide img { display:block; width:100%; height:420px!important; max-height:60vh; object-fit:contain; background:#e9eeeb; }
.ad-photo-count { position:absolute; bottom:14px; right:14px; background:#122e28e6; color:#fff; padding:7px 12px; border-radius:20px; font-size:13px; pointer-events:none; }
.ad-legacy-gallery { display:none; }
.ad-ui-dialog { border:1px solid var(--ad-ui-border); padding:0; border-radius:18px; color:var(--ad-ui-ink); background:#fff; width:min(560px,calc(100% - 24px)); max-height:90vh; max-height:90dvh; box-shadow:0 12px 70px #102d3440; }
.ad-ui-dialog::backdrop { background:#0b241bb3; }
.ad-dialog-head { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; border-bottom:1px solid var(--ad-ui-border); position:sticky; top:0; background:#fff; z-index:3; }
.ad-dialog-head h2 { margin:0; font-size:19px; line-height:1.5; }
.ad-dialog-close { flex:0 0 44px; height:44px; border:0; background:#edf3ef; color:var(--ad-ui-ink); border-radius:50%; font-size:28px; }
.ad-dialog-foot { display:flex; gap:12px; padding:14px 16px max(14px,env(safe-area-inset-bottom)); position:sticky; bottom:0; background:#fff; border-top:1px solid var(--ad-ui-border); }
.ad-dialog-foot button { flex:1; font-size:14px; min-height:48px; }
.ad-reset { border:1px solid var(--ad-ui-border); background:#fff; color:var(--ad-ui-ink); border-radius:9px; }
.ad-filter-dialog-fields { padding:12px 18px; display:grid; grid-template-columns:1fr 1fr; gap:18px 12px; }
.ad-filter-dialog .ad-advanced-field { display:block!important; width:auto!important; padding:0!important; }
.ad-filter-dialog .ad-filter-label { display:block; margin-bottom:7px; font-size:14px; font-weight:600; }
.ad-filter-dialog :is(input,select),#ad-contact-card :is(input:not([type=hidden]),select) { min-height:46px; font-size:16px; border-radius:8px; }
.ad-budget-choices { display:flex; flex-wrap:wrap; gap:8px; padding:16px 18px 0; }
.ad-budget-choices>span { flex-basis:100%; }
.ad-budget-choice { min-height:44px; padding:8px 10px; border:1px solid var(--ad-ui-border); border-radius:9px; background:#fff; color:var(--ad-ui-ink); font-size:14px; }
.ad-budget-choice[aria-pressed=true] { background:#e7f3ec; border-color:var(--ad-ui-green); }
.ad-photo-dialog { width:min(1100px,calc(100% - 16px)); }
.ad-full-photo { display:block; height:65vh; height:65dvh; width:100%; object-fit:contain; background:#122e28; }
.ad-photo-controls { display:flex; gap:8px; align-items:center; justify-content:space-between; padding:12px; }
.ad-photo-controls button { min-height:44px; border:1px solid var(--ad-ui-border); border-radius:8px; background:#edf3ef; color:var(--ad-ui-ink); padding:8px 12px; }
#ad-contact-card label { display:block; margin-bottom:6px; font-size:14px; font-weight:600; }
#ad-contact-card .card-header { padding:16px; background:#eef5f0; color:var(--ad-ui-ink); }
#ad-contact-card textarea { font-size:16px; }
.ad-contact-optional summary { min-height:44px; display:list-item; padding:10px 0; cursor:pointer; }
.ad-contact-dialog #ad-contact-card { box-shadow:none!important; margin:0!important; }
.ad-contact-dialog .card-header { display:none; }
.ad-footer-fold>summary { display:none; }
.ad-footer-fold[open]>summary { display:none; }

@media(max-width:768px) {
  .ad-mobile-ui .ad-legal-topbar { display:none; }
  .ad-mobile-ui header .navbar-brand { display:flex!important; align-items:center; width:175px!important; height:44px!important; min-height:44px!important; padding:0 0 0 46px!important; background-image:url('/apnadalal_branding/static/src/img/apnadalal-logo.webp')!important; background-position:left center!important; background-size:38px 38px!important; background-repeat:no-repeat!important; }
  .ad-mobile-ui header .navbar-brand>* { display:none!important; }
  .ad-mobile-ui header .navbar-brand::after { content:'ApnaDalal'; color:var(--ad-ui-ink); font-size:19px; font-weight:750; }
  .ad-mobile-ui header .navbar-brand img { height:38px!important; max-height:38px!important; width:auto; }
  .ad-mobile-brand { display:inline; font-size:19px; font-weight:750; color:var(--ad-ui-ink); }
  .ad-mobile-ui header .o_main_nav { padding-top:6px!important; padding-bottom:6px!important; }
  .ad-mobile-ui header [aria-label='Toggle navigation'] { min-width:44px; min-height:44px; }
  .ad-mobile-ui .estate-map-wrap>section:first-child { padding:14px 16px 8px!important; background:#f3f7f4!important; }
  .ad-mobile-ui .estate-map-wrap>section:first-child h1 { font-size:23px; line-height:1.4; font-weight:700; }
  .ad-mobile-ui .estate-map-wrap>section:first-child :is(p,nav) { display:none!important; }
  .ad-mobile-ui .estate-listing-hero { padding:14px 16px!important; background:#f3f7f4!important; color:var(--ad-ui-ink)!important; text-align:left!important; }
  .ad-mobile-ui .estate-listing-hero .container { padding:0; }
  .ad-mobile-ui .estate-listing-hero h1 { font-size:23px; line-height:1.4; margin:0; }
  .ad-mobile-ui .estate-listing-hero p,.ad-extra-intro,.ad-mobile-ui .apnadalal-property-seo-intro { display:none; }
  .ad-mobile-ui .estate-filter-bar { position:static!important; }
  .ad-mobile-ui :is(.estate-map-filter-bar,.estate-filter-bar) { box-shadow:none!important; }
  .ad-mobile-ui :is(.estate-map-filter-bar,.estate-filter-bar)>div { padding:10px 16px!important; }
  .ad-filters-ready { display:grid!important; grid-template-columns:1fr 1fr; gap:8px!important; margin:0!important; }
  .ad-filters-ready>* { margin:0!important; width:auto!important; padding:0!important; }
  .ad-filters-ready :is(.ad-advanced-field,.ad-filter-purpose,.ad-filter-old-action) { display:none; }
  .ad-filters-ready :is(input,select) { height:46px; font-size:16px; border-radius:9px; border-color:var(--ad-ui-border); padding-left:10px; }
  .ad-purpose-tabs { grid-column:1/-1; display:flex; gap:6px; padding:4px!important; background:#edf3ef; border-radius:12px; }
  .ad-purpose-tabs button { flex:1; border:0; border-radius:9px; min-height:44px; font-size:16px; color:var(--ad-ui-ink); background:transparent; font-weight:600; }
  .ad-purpose-tabs button[aria-pressed=true] { background:var(--ad-ui-green); color:#fff; box-shadow:0 2px 4px #16483620; }
  .ad-filter-search { grid-column:1/-1; }
  .ad-filter-actions { display:flex; gap:6px; }
  .ad-filter-actions button { flex:1; min-height:46px; font-size:14px; padding:8px 9px; border-radius:9px; }
  .ad-filter-toggle { background:#fff; color:var(--ad-ui-ink); border:1px solid var(--ad-ui-green); }
  .ad-view-modes { display:flex; align-items:center; gap:6px; padding:10px 16px; background:#fff; border-bottom:1px solid var(--ad-ui-border); }
  .ad-result-count { margin-right:auto; font-size:14px; color:#456156; }
  .ad-view-modes :is(button,a) { min-width:70px; min-height:44px; display:flex; justify-content:center; align-items:center; border-radius:9px; border:1px solid var(--ad-ui-border); background:#fff; color:var(--ad-ui-ink); text-decoration:none; font-size:14px; }
  .ad-view-modes [aria-pressed=true],.ad-view-modes [aria-current=page] { color:#fff; background:var(--ad-ui-green); border-color:var(--ad-ui-green); }
  .ad-mobile-ui .estate-map-split { height:auto!important; overflow:visible!important; }
  .ad-mobile-ui .estate-map-wrap[data-mobile-view=list] #estateMapContainer { display:none; }
  .ad-mobile-ui .estate-map-wrap[data-mobile-view=map] #estateMapCards { display:none; }
  .ad-mobile-ui .estate-map-wrap[data-mobile-view=list] #estateMapCards { max-height:none!important; overflow:visible!important; width:100%!important; min-width:0!important; }
  .ad-mobile-ui #estateMapCards>.p-3 { padding:12px!important; }
  .ad-mobile-ui #estateMapCards>.p-3>h6,.ad-mobile-ui #estateMapCards>.p-3>p { display:none; }
  .ad-mobile-ui #estateMapContainer { height:62vh; height:62svh; min-height:350px; }
  .ad-mobile-ui .estate-map-card .card-title { font-size:15px!important; line-height:1.4; }
  .ad-mobile-ui .estate-map-card .text-primary { font-size:17px!important; margin:4px 0; }
  .ad-mobile-ui .estate-map-card .text-muted { font-size:12px!important; }
  .ad-mobile-ui .estate-map-card .col-4 { display:flex; }
  .ad-mobile-ui .estate-map-card-img { height:100%; min-height:150px; object-fit:cover; }
  .ad-mobile-ui .estate-card { border:1px solid var(--ad-ui-border)!important; border-radius:14px; }
  .ad-mobile-ui .estate-card .card-body { padding:14px; }
  .ad-mobile-ui .estate-card .card-title { font-size:17px; line-height:1.4; }
  .ad-mobile-ui .estate-card-specs { gap:12px!important; flex-wrap:wrap; }
  .ad-mobile-ui .estate-listing-wrap>.container.py-4 { padding:12px!important; }
  .ad-mobile-ui .estate-listing-wrap .mb-4 { margin-bottom:16px!important; }
  .ad-mobile-ui .estate-detail-hero .ad-photo-slide img { height:230px!important; max-height:32svh; min-height:180px; }
  .ad-mobile-ui .estate-detail-hero>.p-4 { padding:16px!important; background:#173d33!important; }
  .ad-mobile-ui .estate-detail-hero .container { padding:0; }
  .ad-mobile-ui .estate-detail-hero h1 { font-size:24px; line-height:1.35; }
  .ad-mobile-ui .estate-detail-hero p { font-size:14px; line-height:1.5; }
  .ad-mobile-ui .estate-detail-hero .text-end { text-align:left!important; width:100%; }
  .ad-mobile-ui .ad-detail-price { font-size:26px!important; }
  .ad-mobile-ui .estate-detail-hero .gap-3 { gap:10px!important; }
  .ad-mobile-ui .estate-detail-wrap>.bg-white { padding:12px 0!important; }
  .ad-mobile-ui .estate-detail-wrap>.bg-white .col-4 { flex:1 0 33%; padding:6px; }
  .ad-mobile-ui .ad-detail-shortcuts { padding:10px 14px; }
  .ad-mobile-ui .ad-detail-shortcuts a { background:#edf5ef; border-color:#c4dbcc; color:var(--ad-ui-ink); width:100%; justify-content:space-between; }
  .ad-mobile-ui .estate-description :is(h2,h3) { font-size:19px; line-height:1.5; }
  .ad-detail-actions { display:grid; grid-template-columns:.8fr 1.1fr 1fr; gap:8px; position:fixed; bottom:0; left:0; right:0; padding:10px 12px max(10px,env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--ad-ui-border); box-shadow:0 -3px 16px #153f321a; z-index:1040; }
  .ad-detail-actions a { display:flex; justify-content:center; align-items:center; gap:6px; min-height:46px; padding:7px 6px; border-radius:9px; border:1px solid var(--ad-ui-green); color:var(--ad-ui-ink); background:#fff; text-decoration:none; font-size:14px; font-weight:600; }
  .ad-detail-actions .ad-action-whatsapp { background:var(--ad-ui-green); color:#fff; }
  .ad-detail-page .ad-floating-whatsapp { display:none; }
  .ad-detail-page { padding-bottom:80px; padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
  .ad-ui-dialog { width:100%; max-width:100%; max-height:92vh; max-height:92dvh; margin:auto 0 0; border-radius:18px 18px 0 0; }
  .ad-photo-dialog { margin:auto; border-radius:14px; }
  .ad-ui-dialog .card-body { padding:16px; }
  .ad-filter-dialog-fields { gap:14px 10px; }
  .ad-filter-dialog-fields>div:has(select[name=property_type_id]) { grid-column:1/-1; }
  .ad-footer-fold { border-bottom:1px solid var(--ad-ui-border); background:#f3f7f4; }
  .ad-footer-fold>summary,.ad-footer-fold[open]>summary { display:list-item; min-height:52px; padding:15px 20px; cursor:pointer; color:var(--ad-ui-ink); font-size:16px; font-weight:600; }
  .ad-footer-fold>section,.ad-footer-fold>div { padding-top:8px!important; }
  .ad-mobile-ui footer a { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { .ad-photo-track { scroll-behavior:auto; } }
