:root{
  font-family:system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;
  color-scheme:light;
  --ink:#171827;--muted:#77798a;--surface:rgba(255,255,255,.97);--line:#e6e6ee;
  --shadow:0 18px 55px rgba(15,23,42,.22);--radius:20px;
  --brand:var(--office-primary,#2f2a63);--brand-dark:var(--office-secondary,#201d4e);
}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:#e9eef2;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}a{-webkit-tap-highlight-color:transparent}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#map{position:fixed;inset:0;width:100%;height:100dvh;z-index:1}
.office-brand{position:fixed;z-index:730;top:max(13px,env(safe-area-inset-top));left:14px;display:flex;align-items:center;gap:9px;max-width:min(330px,calc(100vw - 160px));padding:7px 12px 7px 8px;border:1px solid rgba(255,255,255,.35);border-radius:18px;background:rgba(23,24,39,.91);color:#fff;box-shadow:0 10px 30px rgba(15,23,42,.25);backdrop-filter:blur(14px)}
.office-brand__logo{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--brand);overflow:hidden;font-weight:950}.office-brand__logo img{width:100%;height:100%;object-fit:contain}.office-brand__text{min-width:0}.office-brand__text strong,.office-brand__text small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.office-brand__text strong{font-size:12px}.office-brand__text small{margin-top:1px;color:#d7d7e2;font-size:9px}
.map-count{position:fixed;z-index:720;top:max(15px,env(safe-area-inset-top));right:14px;min-height:42px;display:flex;align-items:center;padding:0 13px;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 9px 25px rgba(15,23,42,.18);color:var(--brand);font-size:11px;font-weight:950;backdrop-filter:blur(14px)}
.top-ui{position:fixed;z-index:710;top:74px;left:50%;width:min(720px,calc(100vw - 24px));transform:translateX(-50%);padding:8px;border:1px solid rgba(255,255,255,.55);border-radius:20px;background:rgba(255,255,255,.95);box-shadow:0 11px 32px rgba(15,23,42,.18);backdrop-filter:blur(16px)}
.top-tabs{display:grid;grid-template-columns:44px repeat(4,minmax(0,1fr));gap:5px}.filter-trigger,.offer-tab,.type-chip,.map-mode button,.bottom-btn{border:0}.filter-trigger{display:grid;place-items:center;border-radius:13px;background:var(--brand);color:#fff}.offer-tab{min-height:38px;border-radius:12px;background:#f1f1f6;color:#6c6d7d;font-size:11px;font-weight:900}.offer-tab.is-active{background:var(--brand);color:#fff}.search-row{display:grid;grid-template-columns:minmax(0,1fr) 126px;gap:6px;margin-top:6px}.search-box{height:42px;display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid #dedee7;border-radius:13px;background:#fff;color:#8c8d99}.search-box input{width:100%;border:0;outline:0;background:transparent;font-size:12px}.search-row select{width:100%;border:1px solid #dedee7;border-radius:13px;background:#fff;padding:0 9px;color:#555667;font-size:11px;font-weight:800}.type-row{display:flex;gap:5px;margin-top:6px;overflow:auto;scrollbar-width:none}.type-row::-webkit-scrollbar{display:none}.type-chip{flex:0 0 auto;min-height:34px;padding:0 13px;border-radius:11px;background:#f4f4f8;color:#77798a;font-size:10px;font-weight:900}.type-chip.is-active{background:color-mix(in srgb,var(--brand) 12%,#fff);color:var(--brand);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 24%,#fff)}
.featured-bar{position:fixed;z-index:690;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));width:min(820px,calc(100vw - 18px));transform:translateX(-50%);padding:7px 8px 8px;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 12px 34px rgba(15,23,42,.19);backdrop-filter:blur(16px);overflow:hidden}.featured-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 6px}.featured-head strong{font-size:11px;color:var(--brand)}.featured-head span{font-size:8px;color:#999aa7}.featured-list{display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.featured-list::-webkit-scrollbar{display:none}.featured-card{position:relative;flex:0 0 190px;height:86px;display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;padding:6px;border:1px solid #e8e8ef;border-radius:14px;background:#fff;scroll-snap-align:start;text-align:right;overflow:hidden}.featured-card img,.featured-card__placeholder{width:78px;height:72px;border-radius:10px;object-fit:cover;background:#eeeef5;display:grid;place-items:center;color:var(--brand)}.featured-card__content{min-width:0;display:flex;flex-direction:column;justify-content:center}.featured-card strong,.featured-card span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.featured-card strong{font-size:10px}.featured-card .price{margin-top:4px;color:var(--brand);font-size:11px;font-weight:950}.featured-card .location{margin-top:2px;color:#9293a0;font-size:8px}.featured-card .badge{position:absolute;top:4px;right:4px;padding:2px 5px;border-radius:999px;background:var(--brand);color:#fff;font-size:7px;font-weight:950}
.scrim{position:fixed;inset:0;z-index:810;background:rgba(15,23,42,.37);opacity:0;visibility:hidden;transition:.22s}.panel-open .scrim,.list-open .scrim{opacity:1;visibility:visible}.control-panel{position:fixed;z-index:850;top:72px;right:14px;width:min(360px,calc(100vw - 28px));max-height:calc(100dvh - 95px);overflow:auto;padding:17px;border:1px solid rgba(255,255,255,.75);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:.22s}.panel-open .control-panel{opacity:1;visibility:visible;transform:none}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-head h2{margin:0;font-size:18px}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.panel-close,.close-list,.property-sheet__close{border:0;background:#f0f0f5;color:#555667}.panel-close{width:34px;height:34px;border-radius:11px;font-size:22px}.office-summary{display:flex;align-items:center;gap:10px;margin-top:13px;padding:10px;border:1px solid #ececf2;border-radius:15px;background:#fafafd}.office-summary__logo{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--brand);font-weight:950;overflow:hidden}.office-summary__logo img{width:100%;height:100%;object-fit:contain}.office-summary strong,.office-summary span{display:block}.office-summary strong{font-size:12px}.office-summary span{margin-top:2px;color:var(--muted);font-size:9px}.status{margin-top:12px;padding:9px 11px;border-radius:12px;background:#f2f4f7;color:#555667;font-size:10px}.status.error{background:#fff0f0;color:#a52c2c}.control-panel label{display:block;margin:13px 0 6px;font-size:10px;font-weight:900}.control-panel select,.action-btn{width:100%;min-height:42px;border:1px solid #dcdce6;border-radius:12px;padding:0 10px;background:#fff;color:var(--ink)}.panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.action-btn{font-size:10px;font-weight:900}.action-btn.primary{border-color:var(--brand);background:var(--brand);color:#fff}.office-contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.office-contact-panel a{min-height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#eeeeF5;color:var(--brand);text-decoration:none;font-size:10px;font-weight:950}.office-contact-panel a.whatsapp{background:#20b15a;color:#fff}
.bottom-nav{position:fixed;z-index:700;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));width:min(390px,calc(100vw - 20px));height:62px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;border:1px solid rgba(255,255,255,.7);border-radius:19px;background:rgba(255,255,255,.96);box-shadow:0 13px 36px rgba(15,23,42,.22);transform:translateX(-50%);backdrop-filter:blur(16px);transition:.2s}.bottom-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:14px;background:transparent;color:#77798a;font-size:8px;font-weight:900}.bottom-btn svg{width:19px;height:19px}.bottom-btn.is-active{background:var(--brand);color:#fff}
.map-mode{position:fixed;z-index:705;right:14px;bottom:calc(82px + env(safe-area-inset-bottom));display:flex;gap:4px;padding:4px;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 9px 24px rgba(15,23,42,.18);backdrop-filter:blur(14px)}.map-mode button{min-height:34px;padding:0 10px;border-radius:10px;background:transparent;color:#77798a;font-size:9px;font-weight:900}.map-mode button.is-active{background:var(--brand);color:#fff}
.list-sheet{position:fixed;z-index:900;left:50%;bottom:0;width:min(760px,100%);max-height:min(78dvh,720px);padding:12px 12px calc(82px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0;background:#fff;box-shadow:0 -20px 60px rgba(15,23,42,.28);transform:translate(-50%,105%);transition:.3s cubic-bezier(.2,.75,.2,1)}.list-open .list-sheet{transform:translate(-50%,0)}.list-head{display:flex;align-items:center;justify-content:space-between;padding:0 3px 10px;border-bottom:1px solid #ececf2}.list-head h2{margin:0;font-size:17px}.list-head span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.close-list{width:36px;height:36px;border-radius:12px;font-size:22px}.list-results{max-height:calc(min(78dvh,720px) - 75px);overflow:auto;padding-top:8px}.list-card{display:grid;grid-template-columns:126px minmax(0,1fr);gap:10px;padding:8px;border-bottom:1px solid #ededf2;background:#fff}.list-card img,.list-placeholder{width:126px;height:96px;border-radius:13px;object-fit:cover;background:#eeeef5;display:grid;place-items:center;color:var(--brand)}.list-card__content{min-width:0;align-self:center}.list-card h3{margin:0 0 4px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-card .price{color:var(--brand);font-size:14px;font-weight:950}.list-card .meta{margin-top:4px;color:var(--muted);font-size:9px}.list-card .tiny-badges{display:flex;gap:3px;margin-bottom:4px}.tiny-badge{padding:2px 5px;border-radius:999px;background:color-mix(in srgb,var(--brand) 12%,#fff);color:var(--brand);font-size:7px;font-weight:950}.empty-state{padding:40px 15px;text-align:center;color:var(--muted);font-size:12px}
.property-sheet{position:fixed;z-index:930;left:50%;bottom:0;width:min(720px,100%);max-height:min(74dvh,650px);overflow:auto;padding:10px 14px calc(16px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:rgba(255,255,255,.99);box-shadow:0 -18px 55px rgba(15,23,42,.28);transform:translate(-50%,105%);transition:transform .3s cubic-bezier(.2,.75,.2,1)}.property-sheet-open .property-sheet{transform:translate(-50%,0)}.property-sheet__handle{width:46px;height:5px;margin:1px auto 11px;border-radius:999px;background:#d4d5de}.property-sheet__close{position:absolute;left:14px;top:14px;width:36px;height:36px;border-radius:12px;font-size:22px;z-index:2}.property-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px}.property-media{position:relative;min-height:190px;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#ececf5,#dadbea)}.property-media img{width:100%;height:100%;object-fit:cover;display:block}.property-media .placeholder{height:100%;display:grid;place-items:center;font-size:38px;color:var(--brand)}.property-content{min-width:0;padding:3px 2px}.property-badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px;padding-left:40px}.property-badge{padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--brand) 12%,#fff);color:var(--brand);font-size:9px;font-weight:950}.property-badge.hot{background:#fff0e4;color:#c85f12}.property-badge.deal{background:#e9faf2;color:#078b55}.property-price{color:var(--brand);font-size:25px;font-weight:950}.property-title{margin:5px 0 3px;font-size:18px}.property-location{color:var(--muted);font-size:11px}.property-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.property-spec{padding:9px 7px;border-radius:13px;background:#f6f6fa;text-align:center}.property-spec span{display:block;color:#8a8b99;font-size:8px}.property-spec strong{display:block;margin-top:3px;font-size:11px}.property-office{display:flex;align-items:center;gap:9px;padding-top:11px;border-top:1px solid #ececf2}.property-office__logo{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid #e4e4ec;border-radius:12px;background:#f4f4f8;color:var(--brand);font-weight:950;overflow:hidden}.property-office__logo img{width:100%;height:100%;object-fit:contain}.property-office strong,.property-office span{display:block}.property-office strong{font-size:11px}.property-office span{color:var(--muted);font-size:8px}.property-actions{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:7px;margin-top:12px}.property-actions a{min-height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f0eff8;color:var(--brand);text-decoration:none;font-size:10px;font-weight:950}.property-actions a.primary{background:var(--brand);color:#fff}.property-actions a.contact{background:#20b15a;color:#fff}
.property-pin{background:transparent!important;border:0!important}.pin-wrap{position:relative;display:flex;flex-direction:column;align-items:center;transform-origin:50% 100%;transition:transform .15s}.pin-price{min-width:70px;height:34px;padding:0 11px;display:flex;align-items:center;justify-content:center;border:3px solid #fff;border-radius:12px;background:var(--pin-color);color:#fff;box-shadow:0 4px 12px rgba(15,23,42,.35);font-size:11px;font-weight:950;white-space:nowrap;direction:rtl}.pin-tip{width:0;height:0;margin-top:-3px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:11px solid var(--pin-color);filter:drop-shadow(0 3px 2px rgba(15,23,42,.2))}.pin-wrap:after{content:"";width:8px;height:8px;margin-top:-1px;border-radius:50%;background:rgba(15,23,42,.25);filter:blur(1px)}.property-pin.is-selected .pin-wrap{animation:heartbeat 1.15s ease-in-out infinite;z-index:1000}.property-pin:hover .pin-wrap{transform:scale(1.06)}@keyframes heartbeat{0%,100%{transform:scale(1)}45%{transform:scale(1.17)}70%{transform:scale(1.06)}}
.office-map-pin{background:transparent!important;border:0!important}.office-map-pin__body{width:46px;height:46px;display:grid;place-items:center;border:4px solid #fff;border-radius:50% 50% 50% 13%;background:var(--brand);color:#fff;box-shadow:0 8px 23px rgba(15,23,42,.35);transform:rotate(-45deg);overflow:hidden}.office-map-pin__body>*{transform:rotate(45deg)}.office-map-pin__body img{width:100%;height:100%;padding:7px;object-fit:contain;background:#fff}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:color-mix(in srgb,var(--brand) 24%,transparent)!important}.marker-cluster div{background:var(--brand)!important;color:#fff!important;font-weight:950}
.map-rights{position:fixed;z-index:650;left:14px;bottom:calc(85px + env(safe-area-inset-bottom));padding:6px 10px;border-radius:999px;background:rgba(23,24,39,.88);color:#fff;font-size:8px;font-weight:850;pointer-events:none}.leaflet-control-zoom{border:0!important;box-shadow:0 8px 22px rgba(15,23,42,.16)!important}.leaflet-control-zoom a{color:var(--brand)!important}.leaflet-control-attribution{font-size:8px!important}.leaflet-popup-content-wrapper{border-radius:15px}.leaflet-tooltip{border:0;border-radius:9px;box-shadow:0 8px 22px rgba(15,23,42,.18);font-weight:850}
@media(min-width:900px){.top-ui{top:20px}.office-brand{top:auto;bottom:20px;left:20px;max-width:320px}.map-count{top:auto;bottom:20px;right:20px}.control-panel{top:20px;right:20px;width:350px;max-height:calc(100vh - 40px)}.panel-open .control-panel{transform:none}.featured-bar{bottom:92px}.bottom-nav{bottom:20px}.map-mode{bottom:92px}.list-sheet{left:20px;bottom:92px;width:410px;max-height:calc(100vh - 112px);border-radius:22px;transform:translate(-115%,0);padding:12px}.list-open .list-sheet{transform:none}.list-results{max-height:calc(100vh - 185px)}.property-sheet{left:20px;bottom:92px;width:600px;border-radius:24px;transform:translate(0,calc(100% + 130px))}.property-sheet-open .property-sheet{transform:none}.scrim{display:none}.panel-close{display:none}}
@media(max-width:899px){.leaflet-top.leaflet-left{top:188px}.property-sheet-open .bottom-nav,.property-sheet-open .map-mode{opacity:0;pointer-events:none}.list-open .featured-bar,.property-sheet-open .featured-bar{opacity:0;pointer-events:none}.office-brand{top:max(12px,env(safe-area-inset-top));left:10px;max-width:calc(100vw - 150px)}.map-count{right:10px}.top-ui{top:68px}.featured-bar{bottom:calc(82px + env(safe-area-inset-bottom))}}
@media(max-width:560px){.office-brand{padding:5px 8px 5px 5px;border-radius:14px}.office-brand__logo{width:32px;height:32px;flex-basis:32px;border-radius:10px}.office-brand__text strong{font-size:10px}.office-brand__text small{font-size:7px}.map-count{min-height:37px;padding:0 9px;font-size:9px}.top-ui{width:calc(100vw - 14px);padding:6px;border-radius:17px}.top-tabs{grid-template-columns:38px repeat(4,minmax(0,1fr));gap:3px}.offer-tab{min-height:34px;font-size:9px}.search-row{grid-template-columns:minmax(0,1fr) 104px;gap:4px}.search-box{height:38px;padding:0 9px}.search-box input{font-size:10px}.search-row select{font-size:9px}.type-chip{min-height:30px;padding:0 10px;font-size:8px}.featured-card{flex-basis:170px;height:78px;grid-template-columns:67px minmax(0,1fr)}.featured-card img,.featured-card__placeholder{width:67px;height:64px}.featured-card strong{font-size:9px}.featured-card .price{font-size:10px}.map-mode{right:8px}.property-sheet{bottom:8px;width:calc(100% - 12px);max-height:64dvh;padding:8px 10px calc(11px + env(safe-area-inset-bottom));border-radius:22px}.property-card{grid-template-columns:108px minmax(0,1fr);gap:8px}.property-media{min-height:132px}.property-media img{height:132px}.property-price{font-size:16px}.property-title{font-size:13px}.property-specs{gap:5px;margin:8px 0}.property-spec{padding:6px 3px}.property-actions{gap:5px;margin-top:8px}.property-actions a{min-height:37px;font-size:9px}.property-office__logo{width:36px;height:36px;flex-basis:36px}.list-card{grid-template-columns:105px minmax(0,1fr)}.list-card img,.list-placeholder{width:105px;height:87px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.property-pin.is-selected .pin-wrap{animation:none;transform:scale(1.12)}}


/* =========================================================
   SND OFFICE BRAND IDENTITY — 2026-08-07
   Reads --office-primary / --office-secondary from office identity.
   ========================================================= */
@font-face{font-family:'Manchettefine';src:url('https://cdn.prod.website-files.com/68d7dc8ad307abe05a67a74e/68d7dd1b3dc6415f443c7c20_ManchetteFine-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Manchettefine';src:url('https://cdn.prod.website-files.com/68d7dc8ad307abe05a67a74e/68d7dd1b51add6e45dd7a396_ManchetteFine-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Manchettefine';src:url('https://cdn.prod.website-files.com/68d7dc8ad307abe05a67a74e/68d7dd1b64c36ce4b5d9abab_ManchetteFine-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}

:root{
  font-family:'Outfit','IBM Plex Sans Arabic',system-ui,-apple-system,'Segoe UI',Tahoma,Arial,sans-serif;
  --brand:var(--office-primary,#1db87e);
  --brand-dark:var(--office-secondary,#17a06c);
  --brand-on:var(--office-on-primary,#ffffff);
  --ink:#0a1a2e;
  --muted:#6b7a8d;
  --line:#e2e8f0;
}
body,button,input,select,.leaflet-container,.leaflet-tooltip,.leaflet-popup-content{font-family:'Outfit','IBM Plex Sans Arabic',system-ui,-apple-system,'Segoe UI',Tahoma,Arial,sans-serif!important}
.panel-head h2,.list-head h2,.property-title,.property-price,.featured-head strong,.office-brand__text strong{font-family:'Manchettefine','IBM Plex Sans Arabic',sans-serif;font-weight:800}

.office-brand{
  background:var(--brand);
  color:var(--brand-on);
  border-color:color-mix(in srgb,var(--brand-on) 20%,transparent);
  box-shadow:0 12px 32px color-mix(in srgb,var(--brand) 28%,transparent);
}
.office-brand__logo{background:#fff;color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 15%,#e2e8f0)}
.office-brand__logo img{padding:5px}
.office-brand__text small{color:color-mix(in srgb,var(--brand-on) 82%,transparent)}

.filter-trigger,.offer-tab.is-active,.bottom-btn.is-active,.map-mode button.is-active,.action-btn.primary,.property-actions a.primary,.featured-card .badge{background:var(--brand)!important;color:var(--brand-on)!important;border-color:var(--brand)!important}
.type-chip.is-active,.tiny-badge,.property-badge{background:color-mix(in srgb,var(--brand) 11%,#fff)!important;color:var(--brand)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 24%,#fff)}
.property-badge.hot,.property-badge.deal{background:color-mix(in srgb,var(--brand) 11%,#fff)!important;color:var(--brand)!important}
.office-contact-panel a.whatsapp{background:var(--brand)!important;color:var(--brand-on)!important}
.property-actions a.contact{background:var(--brand-dark)!important;color:var(--brand-on)!important}
.leaflet-control-zoom a{color:var(--brand)!important}

@media(max-width:899px){
  .office-brand{
    top:max(8px,env(safe-area-inset-top));
    right:8px;
    left:8px;
    width:auto;
    max-width:none;
    min-height:66px;
    padding:8px 10px;
    gap:11px;
    border-radius:18px;
    justify-content:flex-start;
  }
  .office-brand__logo{width:48px;height:48px;flex-basis:48px;border-radius:14px}
  .office-brand__text{flex:1;min-width:0;text-align:right}
  .office-brand__text strong{font-size:16px;line-height:1.2}
  .office-brand__text small{margin-top:4px;font-size:10px;line-height:1.35}
  .map-count{display:none}
  .top-ui{top:86px;width:calc(100vw - 14px)}
  .control-panel{top:86px;max-height:calc(100dvh - 100px)}
  .leaflet-top.leaflet-left{top:225px}
}

@media(max-width:560px){
  .office-brand{min-height:62px;padding:7px 9px;border-radius:16px}
  .office-brand__logo{width:44px;height:44px;flex-basis:44px;border-radius:13px}
  .office-brand__text strong{font-size:15px}
  .office-brand__text small{font-size:9px}
  .top-ui{top:80px}
  .control-panel{top:80px}
  .leaflet-top.leaflet-left{top:214px}
}

@media(min-width:900px){
  .office-brand{top:20px;bottom:auto;left:20px;max-width:360px;padding:9px 13px;border-radius:18px}
  .office-brand__logo{width:46px;height:46px;flex-basis:46px}
  .office-brand__text strong{font-size:14px}.office-brand__text small{font-size:10px}
}

/* =========================================================
   RESTORE FEATURED / HOT / DEAL MOVING CARDS
   Keeps office identity colors without removing old behavior.
   ========================================================= */
.featured-bar{top:218px!important;bottom:auto!important;width:min(720px,calc(100vw - 18px))!important;padding:7px!important;border:1px solid color-mix(in srgb,var(--brand) 14%,#e2e8f0)!important;border-radius:18px!important;overflow:hidden!important;transition:opacity .2s ease,transform .2s ease!important}
.featured-head{padding:0 5px 6px!important}.featured-head strong{color:var(--brand)!important;font-size:12px!important}.featured-head span{color:#7b8493!important;font-size:8px!important}
.featured-list{display:block!important;overflow:hidden!important;direction:ltr!important;scrollbar-width:none}.featured-list::-webkit-scrollbar{display:none}
.featured-track{display:flex;gap:8px;width:max-content;direction:ltr;will-change:transform}.featured-track.is-moving{animation:officeFeaturedMove 24s linear infinite}.featured-bar:hover .featured-track.is-moving{animation-play-state:paused}@keyframes officeFeaturedMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.featured-card{position:relative!important;flex:0 0 154px!important;height:112px!important;display:block!important;padding:6px!important;border:1px solid #e7eaf0!important;border-radius:13px!important;background:#fff!important;direction:rtl!important;text-align:right!important;overflow:hidden!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}.featured-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,23,42,.12)}
.featured-card.featured{border-color:color-mix(in srgb,var(--brand) 48%,#fff)!important}.featured-card.hot{border-color:#f1a46d!important}.featured-card.deal{border-color:#71cda7!important}
.featured-card img,.featured-card__placeholder{width:100%!important;height:45px!important;border-radius:9px!important;margin:0 0 4px!important;object-fit:cover!important}.featured-card__content{display:block!important;min-width:0!important}.featured-card__badges{display:flex!important;gap:3px!important;align-items:center!important;height:18px!important;overflow:hidden!important;margin-bottom:2px!important}
.featured-badge{display:inline-flex!important;align-items:center!important;gap:2px!important;padding:2px 5px!important;border-radius:999px!important;background:color-mix(in srgb,var(--brand) 11%,#fff)!important;color:var(--brand)!important;font-size:7px!important;font-weight:900!important;white-space:nowrap!important}.featured-badge.hot{background:#fff0e4!important;color:#b85712!important}.featured-badge.deal{background:#e9faf2!important;color:#078b55!important}
.featured-card strong{display:block!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#172033!important}.featured-card .price{display:block!important;margin-top:2px!important;color:var(--brand)!important;font-size:10px!important;font-weight:950!important}.featured-card .location{display:block!important;margin-top:1px!important;color:#8a93a2!important;font-size:7px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.featured-dots{display:flex;justify-content:center;gap:5px;margin-top:5px;direction:ltr}.featured-dot{width:5px;height:5px;border-radius:50%;background:#d1d6de;transition:.25s}.featured-dot.active{width:16px;border-radius:999px;background:var(--brand)}
.pin-badges{position:absolute;top:-24px;left:50%;transform:translateX(-50%);display:flex;gap:2px;align-items:center;white-space:nowrap;z-index:4}.pin-badge{font-size:18px;line-height:1;filter:drop-shadow(0 2px 3px rgba(15,23,42,.45))}
@media(max-width:899px){.featured-bar{top:225px!important;width:calc(100vw - 14px)!important}.leaflet-top.leaflet-left{top:350px!important}}
@media(max-width:560px){.featured-bar{top:224px!important;max-height:142px!important;padding:6px!important}.featured-card{flex-basis:132px!important;height:104px!important;padding:5px!important}.featured-card img,.featured-card__placeholder{height:38px!important}.featured-head strong{font-size:11px!important}.featured-head span{font-size:7px!important}.featured-dots{margin-top:3px}}
@media(prefers-reduced-motion:reduce){.featured-track.is-moving{animation:none!important}.featured-list{overflow-x:auto!important}}

/* =========================================================
   Featured cards motion restoration — V3
   Restores the original desktop carousel + moving shine while
   keeping the office identity colors.
   ========================================================= */
.featured-card{
  isolation:isolate;
  overflow:hidden!important;
  transform-origin:center center;
}
.featured-card::after{
  content:"";
  position:absolute;
  z-index:5;
  top:-18%;
  bottom:-18%;
  left:-125%;
  width:58%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);
  transform:skewX(-20deg);
  animation:officeCardShine 4.5s ease-in-out infinite;
  pointer-events:none;
}
.featured-card.featured{animation:officeFeaturedGlow 2.8s ease-in-out infinite}
.featured-card.hot{animation:officeHotPulse 2.4s ease-in-out infinite}
.featured-card.deal{animation:officeDealFloat 3s ease-in-out infinite}
.featured-badge.featured{animation:officeStarPulse 2.2s ease-in-out infinite}
.featured-badge.hot{animation:officeFirePulse 1.8s ease-in-out infinite}
.featured-badge.deal{animation:officeDealBadgeShine 3s ease-in-out infinite}

@keyframes officeCardShine{
  0%,64%{left:-125%}
  100%{left:165%}
}
@keyframes officeFeaturedGlow{
  0%,100%{box-shadow:0 0 0 color-mix(in srgb,var(--brand) 0%,transparent)}
  50%{box-shadow:0 0 19px color-mix(in srgb,var(--brand) 26%,transparent)}
}
@keyframes officeHotPulse{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@keyframes officeDealFloat{
  0%,100%{transform:rotate(0deg)}
  50%{transform:rotate(-1deg)}
}
@keyframes officeStarPulse{
  0%,100%{filter:drop-shadow(0 0 0 transparent)}
  50%{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--brand) 65%,#fff))}
}
@keyframes officeFirePulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.08)}
}
@keyframes officeDealBadgeShine{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.18)}
}

/* Desktop must continuously move. The JS builds two equal cycles. */
@media (min-width:561px){
  .featured-list{overflow:hidden!important;scroll-snap-type:none!important}
  .featured-track.is-moving{
    display:flex!important;
    width:max-content!important;
    will-change:transform;
    animation:officeFeaturedMoveV3 24s linear infinite!important;
  }
  .featured-bar:hover .featured-track.is-moving{animation-play-state:paused!important}
  @keyframes officeFeaturedMoveV3{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(-50%,0,0)}
  }
}

/* Mobile keeps finger scrolling like the original stable mobile build. */
@media (max-width:560px){
  .featured-list{overflow-x:auto!important;scroll-snap-type:x mandatory!important}
  .featured-track{animation:none!important;transform:none!important;width:max-content!important}
  .featured-card{scroll-snap-align:start}
}


/* =========================================================
   V4 — SAFE MAP COLORS
   Office identity is used on branded surfaces (header / selected solid buttons),
   while map text and semantic map markers keep the stable original palette.
   This prevents pale / neon office colors from hurting readability.
   ========================================================= */
:root{
  --map-ui-ink:#172033;
  --map-ui-muted:#667085;
  --map-ui-purple:#292653;
  --map-ui-purple-2:#4d43a2;
  --map-ui-purple-soft:#f0eff8;
}

/* Readable text on white / map surfaces — never inherit the office color. */
.map-count{color:var(--map-ui-ink)!important}
.featured-head strong{color:var(--map-ui-purple)!important}
.featured-card__placeholder{color:var(--map-ui-purple-2)!important}
.featured-card .price{color:var(--map-ui-purple)!important}
.featured-dot.active{background:var(--map-ui-purple)!important}
.list-card img,.list-placeholder{color:var(--map-ui-purple-2)!important}
.list-card .price{color:var(--map-ui-purple-2)!important}
.property-media .placeholder{color:#85869a!important}
.property-price{color:var(--map-ui-purple-2)!important}
.property-office__logo,.office-summary__logo{color:var(--map-ui-purple-2)!important}
.property-actions a{color:#342f76!important}
.office-contact-panel a:not(.whatsapp){color:var(--map-ui-purple)!important}
.leaflet-control-zoom a{color:var(--map-ui-purple)!important}

/* Small chips/badges use the old stable semantic palette, not arbitrary tenant colors. */
.type-chip.is-active,
.tiny-badge{
  background:var(--map-ui-purple-soft)!important;
  color:#342f76!important;
  box-shadow:inset 0 0 0 1px #ded9f2!important;
}
.property-badge.featured,
.featured-badge.featured{
  background:#eeecff!important;
  color:#4d43a2!important;
  box-shadow:none!important;
}
.property-badge.hot,.featured-badge.hot{background:#fff0e4!important;color:#c85f12!important;box-shadow:none!important}
.property-badge.deal,.featured-badge.deal{background:#e9faf2!important;color:#078b55!important;box-shadow:none!important}
.featured-card.featured{border-color:#8f84df!important}
.featured-card.hot{border-color:#f4ad72!important}
.featured-card.deal{border-color:#76cfaa!important}

/* Property pins / clusters are semantic map colors and must stay independent of office identity. */
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(47,42,99,.22)!important}
.marker-cluster div{background:#2f2a63!important;color:#fff!important}

/* Keep text supplied by Leaflet readable regardless of office identity. */
.leaflet-tooltip,.leaflet-popup-content,.leaflet-popup-content-wrapper{color:var(--map-ui-ink)!important}
.leaflet-control-attribution,.leaflet-control-attribution a{color:#5f6070!important}
