:root {
    --primary: #0f766e;
    --primary-dark: #0b5f59;
    --primary-soft: #e9f7f5;
    --accent: #d99a24;
    --accent-dark: #aa7414;
    --accent-soft: #fff8e8;
    --success: #13a95b;
    --success-soft: #eaf8f0;
    --ink: #1f2937;
    --muted: #667085;
    --muted-light: #98a2b3;
    --line: #e4e7ec;
    --page: #f8fafc;
    --shadow-sm: 0 8px 26px rgba(16, 45, 90, .07);
    --shadow-md: 0 18px 50px rgba(16, 45, 90, .11);
}

[hidden] { display: none !important; }
.brand-mark { color: #fff; background: var(--primary); border: 0; }
.brand-copy strong,
.section-head h2,
.section h2,
.inner-hero h1,
.static-hero h1 { color: #24433f; }
.brand-copy strong span,
.section-kicker { color: var(--accent-dark); }
.btn-primary { color: #fff; background: var(--primary); box-shadow: 0 10px 25px rgba(15,118,110,.2); }
.btn-primary:hover { background: var(--primary-dark); }
.btn-secondary { color: #fff; background: var(--accent); box-shadow: 0 10px 25px rgba(217,154,36,.2); }
.btn-secondary:hover { color: #fff; background: var(--accent-dark); }
.btn-outline { color: var(--primary); border-color: #badbd6; }
.btn-outline:hover { color: #fff; background: var(--primary); border-color: var(--primary); }
.main-nav > a:hover,
.main-nav > a.active { color: var(--primary); }
.main-nav > a::after { background: var(--accent); }
.site-header { border-bottom-color: #e8edf4; }
.hero { background: #f1f8f6; }
.hero-shade { background: linear-gradient(90deg, rgba(247,250,255,.18) 0%, rgba(247,250,255,.88) 55%, #f7fbfa 100%); }
.hero h1 { color: #204a45; }
.hero h1 em { color: var(--accent-dark); }
.eyebrow { color: var(--primary-dark); border-color: #cfe5e1; }
.hero-stats strong { color: var(--primary); }
.owner-cta { background: linear-gradient(120deg, #e9f7f5, #fff3ed); border-top-color: #dcebe8; }
.owner-cta h2 { color: #2b514c; }
.site-footer { background: #eaf5f3; border-top-color: #d8e9e6; }
.footer-brand { color: #2b514c; }
.footer-brand .brand-mark,
.admin-brand .brand-mark { color: #fff; background: var(--primary); border: 0; }
.footer-grid h4 { color: #2b514c; }
.admin-sidebar { background: #f1f6ff; border-left-color: #d9ebe7; }
.admin-sidebar nav a:hover,
.admin-sidebar nav a.active { color: var(--primary-dark); }
.admin-sidebar nav a .icon { color: var(--accent); }

/* Rich add/edit form */
.rich-property-form-card { max-width: 1180px; padding: 34px; }
.form-step-title { display: flex; align-items: center; gap: 13px; margin: 24px 0 3px; padding-top: 18px; border-top: 1px solid var(--line); }
.form-step-title:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.form-step-title > b { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--primary); border-radius: 12px; font-size: 16px; }
.form-step-title h2 { margin: 0; padding: 0; border: 0; font-size: 22px; }
.form-step-title p { margin: 1px 0 0; color: var(--muted); font-size: 12px; }
.four-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.form-check-card { min-height: 49px; align-self: end; padding: 11px 13px; background: var(--primary-soft); border: 1px solid #d4e9e6; border-radius: 10px; }
.payment-details { display: grid; }
.amenities-picker { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; }
.amenities-picker label { position: relative; cursor: pointer; }
.amenities-picker input { position: absolute; opacity: 0; pointer-events: none; }
.amenities-picker span { min-height: 44px; display: grid; place-items: center; padding: 8px 10px; color: #455468; background: #fff; border: 1px solid var(--line); border-radius: 10px; font-size: 12px; font-weight: 700; text-align: center; transition: .55s var(--ease); }
.amenities-picker input:checked + span { color: var(--primary-dark); background: var(--primary-soft); border-color: var(--primary); box-shadow: 0 0 0 3px rgba(15,118,110,.08); }
.custom-city-field { padding: 13px; background: #fff7ed; border: 1px solid #fed7aa; border-radius: 10px; }
.submit-property-button { min-height: 56px; margin-top: 8px; font-size: 16px; }
.consent-check { background: #f8fafc; border-color: var(--line); }

/* Search header and governorate counts */
.marketplace-listing-page { padding-bottom: 0; }
.market-search-header { padding: 35px 0 30px; background: #fff; border-bottom: 1px solid var(--line); }
.market-search-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.market-search-title h1 { margin: 2px 0 0; color: #24433f; font-size: 32px; }
.market-search-title p { margin: 2px 0 0; color: var(--muted); font-size: 13px; }
.save-search-button { min-height: 44px; padding: 9px 15px; color: var(--primary); background: #fff; border: 1px solid #badbd6; border-radius: 10px; font-weight: 800; }
.save-search-button.saved { color: #fff; background: var(--primary); }
.market-search-bar { min-height: 62px; margin-top: 21px; display: grid; grid-template-columns: auto minmax(250px, 1fr) 260px 120px; align-items: center; gap: 10px; padding: 7px 8px 7px 15px; background: #f8fafc; border: 1px solid #d9dee7; border-radius: 14px; }
.market-search-bar > .icon { color: var(--primary); font-size: 21px; }
.market-search-bar input,
.market-search-bar select { min-height: 45px; padding: 9px 12px; background: #fff; border: 1px solid var(--line); border-radius: 9px; outline: 0; }
.governorate-browser-section { padding-top: 38px; padding-bottom: 28px; }
.compact-head { margin-bottom: 16px; }
.compact-head h2 { font-size: 27px; }
.governorate-browser { background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.governorate-browser summary { padding: 14px 18px; color: #31514d; font-weight: 900; cursor: pointer; }
.governorate-count-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; padding: 0 16px 16px; }
.governorate-count-grid a { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; color: #475467; border-bottom: 1px solid #f0f2f5; transition: .55s var(--ease); }
.governorate-count-grid a:hover,
.governorate-count-grid a.active { color: var(--primary-dark); background: var(--primary-soft); border-radius: 8px; }
.governorate-count-grid b { min-width: 29px; padding: 2px 7px; color: var(--primary); background: #e9f7f5; border-radius: 20px; font-size: 11px; text-align: center; }

/* Marketplace filters */
.market-listing-layout { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 24px; align-items: start; padding-bottom: 70px; }
.market-filters { position: sticky; top: calc(var(--header-height) + 15px); max-height: calc(100vh - var(--header-height) - 30px); padding: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; border-radius: 14px; }
.market-filters .filters-head { margin: 0; padding: 19px; background: #f8fafc; border-bottom: 1px solid var(--line); }
.market-filters form { gap: 0; }
.filter-group { background: #fff; border-bottom: 1px solid var(--line); }
.filter-group summary { padding: 16px 19px; color: #31514d; font-size: 14px; font-weight: 900; cursor: pointer; list-style-position: inside; }
.filter-group-body { padding: 0 19px 17px; }
.filter-group-body > label { font-size: 12px; }
.facet-options { display: grid; gap: 4px; }
.facet-options label { position: relative; cursor: pointer; }
.facet-options input { position: absolute; opacity: 0; pointer-events: none; }
.facet-options label > span { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 9px; color: #475467; border: 1px solid transparent; border-radius: 8px; font-size: 13px; font-weight: 700; transition: .45s var(--ease); }
.facet-options label > span::before { content: ""; width: 17px; height: 17px; flex: 0 0 auto; margin-left: 3px; border: 1.5px solid #b8c1ce; border-radius: 4px; }
.facet-options input:checked + span { color: var(--primary-dark); background: var(--primary-soft); border-color: #c9e3df; }
.facet-options input:checked + span::before { background: var(--primary); border-color: var(--primary); box-shadow: inset 0 0 0 4px #fff; }
.facet-options span b { margin-right: auto; color: #7a8798; font-size: 10px; }
.inline-facets { grid-template-columns: repeat(3, 1fr); }
.inline-facets label > span { justify-content: center; text-align: center; }
.inline-facets label > span::before { display: none; }
.area-facets { grid-template-columns: repeat(2, 1fr); max-height: 255px; overflow-y: auto; }
.scrollable-facets { max-height: 245px; overflow-y: auto; padding-left: 3px; }
.market-filters .two-fields { gap: 8px; }
.market-filters input[type="number"],
.market-filters select { min-height: 43px; font-size: 12px; }
.apply-filters-button { margin: 17px; width: calc(100% - 34px); }
.market-filters .reset-link { margin: 0 17px 18px; }

/* Horizontal marketplace cards */
.market-results { min-width: 0; padding-top: 0; }
.market-results .results-toolbar { margin-top: 0; }
.listing-cards { display: grid; gap: 17px; }
.marketplace-property-card { position: relative; }
.listing-cards .marketplace-property-card { min-height: 279px; display: grid; grid-template-columns: 300px minmax(0, 1fr); overflow: hidden; border-radius: 15px; }
.listing-cards .property-image-wrap { min-width: 0; }
.listing-cards .property-image { height: 100%; min-height: 279px; }
.listing-cards .property-body { min-width: 0; padding: 16px 21px 13px 58px; display: flex; flex-direction: column; }
.card-gallery { position: relative; display: block; overflow: hidden; }
.card-gallery > img { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; object-fit: cover; transition: opacity .3s ease, transform .6s var(--ease); }
.card-gallery > img.active { opacity: 1; }
.card-gallery-link { position: absolute; inset: 0; z-index: 2; }
.card-gallery .badges,.card-gallery .image-count-badge { z-index: 3; }
.card-gallery-dots { position:absolute; right:50%; bottom:11px; z-index:4; display:flex; gap:5px; transform:translateX(50%); }.card-gallery-dots i { width:6px; height:6px; display:block; background:rgba(255,255,255,.5); border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:.25s ease; }.card-gallery-dots i.active { width:8px; height:8px; background:#fff; }
.card-gallery-arrow { width: 32px; height: 32px; position: absolute; top: 50%; z-index: 4; display: grid; place-items: center; opacity: 0; color: #315250; background: rgba(255,255,255,.94); border: 0; border-radius: 50%; box-shadow: 0 5px 18px rgba(36,63,61,.2); transform: translateY(-50%); transition: .25s ease; }
.card-gallery-arrow .icon { width: 15px; height: 15px; }
.card-gallery-arrow.prev { right: 12px; transform: translateY(-50%) rotate(180deg); }
.card-gallery-arrow.next { left: 12px; }
.marketplace-property-card:hover .card-gallery-arrow { opacity: 1; }
.image-count-badge { position: absolute; right: 13px; bottom: 13px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; color: #fff; background: rgba(17,24,39,.82); border-radius: 6px; font-size: 11px; font-weight: 800; }
.property-card-topline { display: flex; align-items: center; gap: 8px; }
.property-kind { color: var(--primary); font-size: 13px; font-weight: 900; }
.down-payment-chip { margin-right: auto; padding: 4px 8px; color: #8b4b16; background: #fff2e8; border-radius: 6px; font-size: 12px; font-weight: 800; }
.property-title-price { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-top: 4px; }
.property-body .property-title-price h3 { min-height: 0; margin: 0; font-size: 18px; }
.property-title-price > strong { color: #24433f; font-size: 23px; white-space: nowrap; }
.property-title-price > strong small { color: var(--muted); font-size: 10px; }
.marketplace-property-card .property-meta { display: flex; grid-template-columns: none; justify-content: flex-start; gap: 0; margin-top: 11px; padding: 10px 0; }
.marketplace-property-card .property-meta span { padding: 0 11px; font-size: 13px; }
.marketplace-property-card .property-meta span:first-child { padding-right: 0; }
.marketplace-property-card .property-meta .extra-meta { color: #475467; }
.property-card-description { margin: 7px 0 9px; color: #5c6878; font-size: 14px; line-height: 1.8; }
.property-card-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.property-card-tags span { padding: 5px 8px; color: #475467; background: #f2f4f7; border-radius: 6px; font-size: 12px; }
.property-location-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 10px; }
.property-location-row > span { color: var(--muted-light); font-size: 12px; white-space: nowrap; }
.property-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.compact-seller { display: flex; align-items: center; gap: 8px; min-width: 0; }
.compact-seller > span { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--primary); border-radius: 50%; font-weight: 900; }
.compact-seller > div { min-width: 0; display: flex; flex-direction: column; }
.compact-seller b { overflow: hidden; color: #344054; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.compact-seller small { color: var(--muted); font-size: 11px; }
.market-card-id { color: var(--muted); font-size: 11px; }
.property-contact-actions { display: flex; gap: 7px; margin-right: auto; }
.property-contact-actions a { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 7px 12px; border-radius: 8px; font-size: 13px; font-weight: 800; }
.card-whatsapp { color: #087b3e; background: #e8f8ee; }
.card-call { color: var(--primary-dark); background: var(--primary-soft); }
.card-details { color: #fff; background: var(--primary); }
.listing-cards .favorite-button { top: 18px; left: 18px; }
.pagination { display: flex; justify-content: center; gap: 7px; margin-top: 27px; }
.pagination a { min-width: 39px; height: 39px; display: grid; place-items: center; padding: 0 11px; color: #475467; background: #fff; border: 1px solid var(--line); border-radius: 8px; font-size: 12px; font-weight: 800; }
.pagination a.active,
.pagination a:hover { color: #fff; background: var(--primary); border-color: var(--primary); }

/* Search tags and guide */
.related-searches-section { padding: 52px 0; border-top: 1px solid var(--line); }
.related-searches-section h2,
.property-buying-guide > h2 { color: #24433f; font-size: 26px; }
.search-tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.search-tag-cloud a { padding: 8px 12px; color: #344054; background: #fff; border: 1px solid #d8dee8; border-radius: 8px; font-size: 13px; transition: .5s var(--ease); }
.search-tag-cloud a:hover { color: var(--primary-dark); background: var(--primary-soft); border-color: #badbd6; }
.property-buying-guide { padding: 0 0 75px; }
.guide-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.guide-columns article { padding: 22px; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
.guide-columns h3 { margin: 0 0 6px; color: #31514d; font-size: 16px; }
.guide-columns p { margin: 0; color: var(--muted); font-size: 14px; }

/* Premium property details */
.premium-property-page { background: #f8fafc; }
.premium-gallery { height: 560px; position: relative; display: grid; grid-template-columns: 2fr 1fr; gap: 10px; }
.premium-gallery.gallery-count-1 { display: block; max-width: 1100px; height: min(68vh, 650px); }
.premium-gallery.gallery-count-1 .premium-gallery-main { width: 100%; height: 100%; border-radius: 18px; }
.premium-gallery.gallery-count-2 { grid-template-columns: 2fr 1fr; }
.premium-gallery.gallery-count-2 .premium-gallery-thumbs { display: block; }
.premium-gallery.gallery-count-2 .premium-gallery-thumbs > button { width: 100%; height: 100%; border-radius: 10px 0 0 10px; }
.premium-gallery.gallery-count-3 .premium-gallery-thumbs { grid-template-columns: 1fr; grid-template-rows: repeat(2,1fr); }
.premium-gallery button { padding: 0; overflow: hidden; background: #eef2f6; border: 0; }
.premium-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s var(--ease); }
.premium-gallery button:hover img { transform: scale(1.025); }
.premium-gallery-main { position: relative; border-radius: 0 18px 18px 0; }
.premium-gallery-thumbs { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); gap: 10px; }
.premium-gallery-thumbs > * { position: relative; overflow: hidden; background: #eef2f6; border-radius: 10px; }
.premium-gallery-thumbs button > span { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(17,24,39,.58); font-size: 24px; font-weight: 900; }
.premium-gallery-placeholder { display: grid; place-items: center; color: #9aa4b2; }
.premium-gallery-placeholder .icon { width: 35px; height: 35px; }
.property-videos-section { padding-top: 28px; }
.property-video-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.property-video-grid video { width: 100%; max-height: 520px; background: #183431; border-radius: 16px; box-shadow: var(--shadow-sm); }
.gallery-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 20px; background: #fff; border-bottom: 1px solid var(--line); }
.gallery-dialog-head > div { display: flex; flex-direction: column; }
.gallery-dialog-head b { color: #24433f; font-size: 18px; }
.gallery-dialog-head span { color: var(--muted); font-size: 12px; }
.premium-gallery-dialog .dialog-thumbnails { padding: 14px; background: #f3f8f7; }
.premium-gallery-dialog .dialog-thumbnails button { position: relative; border-radius: 9px; }
.premium-gallery-dialog .dialog-thumbnails button span { position: absolute; right: 5px; bottom: 5px; width: 22px; height: 22px; display: grid; place-items: center; color: #fff; background: rgba(18,52,48,.8); border-radius: 50%; font-size: 10px; }

/* Account workspace */
.account-page { min-height: 70vh; padding: 34px 0 75px; background: #f6faf9; }
.account-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 28px; background: linear-gradient(135deg,#fff,#edf8f6); border: 1px solid #dcece9; border-radius: 18px; box-shadow: var(--shadow-sm); }
.account-identity { display: flex; align-items: center; gap: 15px; }.account-avatar { width: 58px; height: 58px; display: grid; place-items: center; color: #fff; background: var(--primary); border-radius: 17px; font-size: 24px; font-weight: 900; }.account-identity h1 { margin: 0; color: #24433f; font-size: 25px; }.account-identity p,.account-identity small { margin: 0; color: var(--muted); font-size: 12px; }
.account-tabs { margin-top: 18px; display: flex; gap: 8px; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }.account-tabs a { min-height: 44px; display: flex; align-items: center; gap: 7px; padding: 8px 16px; color: #56706c; border-radius: 9px; font-weight: 800; }.account-tabs a.active { color: #fff; background: var(--primary); }.account-tabs b { min-width: 22px; padding: 1px 6px; background: rgba(255,255,255,.2); border-radius: 20px; text-align: center; }
.account-overview,.my-listings-panel,.account-notifications { margin-top: 20px; }.account-stat-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }.account-stat-cards article { padding: 19px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }.account-stat-cards span { color: var(--muted); font-size: 12px; }.account-stat-cards b { display: block; color: var(--primary); font-size: 28px; }.account-clean-panel { margin-top: 15px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }.account-clean-panel h2 { margin: 2px 0; }.account-clean-panel p { margin: 0; color: var(--muted); }.account-clean-panel > div:last-child { display: flex; gap: 8px; }
.my-listings-panel,.account-notifications { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }.my-listings-list { display: grid; gap: 11px; }.my-listings-list > article { display: grid; grid-template-columns: 145px 1fr auto; align-items: center; gap: 16px; padding: 11px; background: #fbfdfd; border: 1px solid #e6efed; border-radius: 13px; }.my-listings-list > article > img { width: 145px; height: 100px; object-fit: cover; border-radius: 10px; }.my-listing-copy h3 { margin: 5px 0; font-size: 16px; }.my-listing-copy p { margin: 0; color: var(--muted); font-size: 12px; }.my-listing-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; max-width: 280px; }.my-listing-actions a,.my-listing-actions button { min-height: 34px; display: inline-flex; align-items: center; gap: 4px; padding: 5px 9px; color: #315b56; background: #fff; border: 1px solid #d7e7e4; border-radius: 7px; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }.my-listing-actions .danger { color: #a33b33; border-color: #f0d1cd; }.account-notifications article { display: flex; gap: 12px; padding: 15px; border-bottom: 1px solid var(--line); }.account-notifications p { margin: 3px 0; color: var(--muted); }.account-notifications small { color: var(--muted-light); }

/* Contact experience */
.contact-experience { background: #f8fbfa; }.contact-hero { overflow: hidden; padding: 70px 0; background: radial-gradient(circle at 20% 20%,#fff4d9 0,transparent 28%),linear-gradient(135deg,#e9f7f4,#fff); }.contact-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 50px; }.contact-hero h1 { margin: 8px 0 14px; color: #23433f; font-size: clamp(42px,5vw,72px); line-height: 1.15; }.contact-hero h1 em { color: var(--primary); font-style: normal; }.contact-hero p { max-width: 600px; color: #5b726f; font-size: 17px; }.contact-quick-actions { display: flex; gap: 12px; margin-top: 25px; }.contact-quick-actions a { min-width: 210px; display: flex; align-items: center; gap: 11px; padding: 14px; color: #294d48; background: #fff; border: 1px solid #dcebe8; border-radius: 14px; box-shadow: var(--shadow-sm); }.contact-quick-actions .icon { color: var(--primary); font-size: 23px; }.contact-quick-actions span { display: flex; flex-direction: column; }.contact-quick-actions small { color: var(--muted); }.contact-visual { height: 370px; position: relative; display: grid; place-items: center; }.contact-home-icon { width: 150px; height: 150px; display: grid; place-items: center; color: #fff; background: var(--primary); border: 18px solid rgba(255,255,255,.85); border-radius: 42px; box-shadow: 0 28px 80px rgba(15,118,110,.25); transform: rotate(-6deg); }.contact-home-icon .icon { width: 62px; height: 62px; }.contact-orbit { position: absolute; border: 1px dashed rgba(15,118,110,.3); border-radius: 50%; }.orbit-one { width: 280px; height: 280px; }.orbit-two { width: 360px; height: 360px; }.contact-float-card { position: absolute; top: 45px; right: 5px; padding: 11px 15px; color: #46635f; background: rgba(255,255,255,.95); border: 1px solid #dfebe9; border-radius: 12px; box-shadow: var(--shadow-sm); }.contact-float-card b { display: block; color: var(--primary); }.contact-float-card.second { top: auto; right: auto; bottom: 42px; left: 5px; }.contact-main-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 20px; padding-top: 55px; padding-bottom: 75px; }.contact-form-premium,.contact-info-premium { padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-sm); }.contact-form-premium h2 { margin: 4px 0 20px; }.contact-form-premium form { display: grid; gap: 12px; }.contact-info-premium { display: grid; align-content: start; gap: 14px; }.contact-info-premium > div:not(.contact-promise) { display: flex; align-items: center; gap: 12px; padding: 15px; background: #f6faf9; border-radius: 12px; }.contact-info-premium .icon { color: var(--primary); font-size: 23px; }.contact-info-premium span { display: flex; flex-direction: column; }.contact-info-premium small { color: var(--muted); }.contact-info-premium a { color: var(--primary); font-weight: 800; }.contact-promise { padding: 20px; color: #fff; background: linear-gradient(135deg,var(--primary),#175f59); border-radius: 14px; }.contact-promise p { margin: 5px 0 0; color: rgba(255,255,255,.82); }
.package-live-limit { margin-top: 10px; padding: 11px 14px; color: #315b56; background: var(--primary-soft); border: 1px solid #cfe7e3; border-radius: 10px; font-size: 13px; font-weight: 700; }.video-upload-preview { display: grid; gap: 7px; margin: 8px 0; }.video-upload-preview div { display: flex; justify-content: space-between; gap: 10px; padding: 10px 13px; background: #f6faf9; border: 1px solid var(--line); border-radius: 9px; }.property-save-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }.property-save-actions .btn { min-height: 54px; }
.gallery-photo-total { position: absolute; right: 15px; bottom: 15px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; color: #fff; background: rgba(17,24,39,.82); border-radius: 7px; font-size: 11px; font-weight: 900; }
.premium-details-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 24px; margin-top: 25px; align-items: start; }
.premium-details-main { min-width: 0; display: grid; gap: 18px; }
.premium-summary-card,
.premium-content-card,
.finance-card,
.premium-contact-card,
.property-side-facts { padding: 25px; background: #fff; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow-sm); }
.premium-summary-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; }
.premium-summary-heading h1 { max-width: 760px; margin: 4px 0 5px; color: #24433f; font-size: 30px; line-height: 1.55; }
.premium-summary-heading p { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--muted); font-size: 13px; }
.soft-badge { color: #475467 !important; background: #f2f4f7 !important; }
.premium-price { display: flex; flex-direction: column; align-items: flex-end; flex: 0 0 auto; }
.premium-price small { color: var(--muted); font-size: 11px; }
.premium-price strong { color: #24433f; font-size: 29px; white-space: nowrap; }
.premium-price span { padding: 3px 8px; color: #9a4f16; background: #fff0e6; border-radius: 6px; font-size: 10px; font-weight: 800; }
.premium-specs-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 20px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.premium-specs-grid > div { min-height: 86px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 8px; border-left: 1px solid var(--line); }
.premium-specs-grid > div:last-child { border-left: 0; }
.premium-specs-grid > div > .icon { color: var(--primary); font-size: 22px; }
.premium-specs-grid span { display: flex; flex-direction: column; }
.premium-specs-grid small { color: var(--muted); font-size: 11px; }
.premium-specs-grid b { color: #344054; font-size: 13px; }
.finance-card { display: flex; align-items: center; justify-content: space-between; gap: 25px; background: linear-gradient(120deg, #e9f7f5, #fff6ef); border-color: #d9e8fd; }
.finance-card h2 { margin: 2px 0; color: #24433f; font-size: 22px; }
.finance-card p { margin: 0; color: var(--muted); font-size: 11px; }
.finance-numbers { display: flex; gap: 10px; }
.finance-numbers span { min-width: 145px; padding: 12px; display: flex; flex-direction: column; background: rgba(255,255,255,.8); border-radius: 10px; }
.finance-numbers small { color: var(--muted); font-size: 9px; }
.finance-numbers b { color: #24433f; font-size: 13px; }
.content-card-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 17px; }
.content-card-heading > span { width: 34px; height: 34px; display: grid; place-items: center; color: var(--primary); background: var(--primary-soft); border-radius: 9px; font-size: 10px; font-weight: 900; }
.content-card-heading h2 { margin: 0; color: #24433f; font-size: 20px; }
.property-description-text { color: #475467; font-size: 14px; line-height: 2.05; }
.premium-info-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.premium-info-list div { min-height: 66px; padding: 11px; display: flex; flex-direction: column; background: #f8fafc; border: 1px solid #eef0f3; border-radius: 9px; }
.premium-info-list small { color: var(--muted); font-size: 11px; }
.premium-info-list b { color: #344054; font-size: 13px; }
.amenities-display { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.amenities-display span { min-height: 45px; display: flex; align-items: center; gap: 7px; padding: 9px 11px; color: #344054; background: #f8fafc; border: 1px solid var(--line); border-radius: 9px; font-size: 13px; font-weight: 700; }
.amenities-display .icon { color: var(--success); }
.location-summary-box { display: flex; align-items: center; gap: 12px; padding: 16px; background: #f8fafc; border-radius: 11px; }
.location-summary-box > .icon { width: 29px; height: 29px; color: var(--accent); }
.location-summary-box > div { min-width: 0; }
.location-summary-box b { color: #31514d; font-size: 14px; }
.location-summary-box p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.location-summary-box a { margin-right: auto; padding: 8px 12px; color: var(--primary); background: #fff; border: 1px solid #badbd6; border-radius: 8px; font-size: 11px; font-weight: 800; }
.premium-contact-sidebar { display: grid; gap: 14px; position: sticky; top: calc(var(--header-height) + 14px); }
.premium-contact-card .owner-info { margin-top: 10px; }
.seller-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 15px 0; }
.seller-stats span { padding: 10px; display: flex; flex-direction: column; text-align: center; background: #f8fafc; border-radius: 8px; }
.seller-stats b { color: #31514d; font-size: 11px; }
.seller-stats small { color: var(--muted); font-size: 9px; }
.premium-contact-card .btn { margin-top: 9px; }
.premium-contact-card > p { display: flex; align-items: flex-start; gap: 6px; margin: 13px 0 0; color: var(--muted); font-size: 10px; }
.property-side-facts h3 { margin: 0 0 10px; color: #31514d; font-size: 15px; }
.property-side-facts > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.property-side-facts > span:last-child { border-bottom: 0; }
.property-side-facts small { color: var(--muted); font-size: 10px; }
.property-side-facts b { color: #344054; font-size: 11px; }
.map-location-line { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; }
.map-location-line > span { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; color: var(--primary); background: var(--primary-soft); border-radius: 50%; }
.map-location-line > span .icon { width: 23px; height: 23px; }
.map-location-line b { color: #24433f; font-size: 15px; }
.map-location-line p { margin: 2px 0 0; color: var(--muted); font-size: 12px; }
.property-map-preview { height: 300px; position: relative; display: grid; place-items: center; overflow: hidden; background: #eef3ed; border: 1px solid #dce5df; border-radius: 14px; isolation: isolate; }
.map-art { position: absolute; inset: -20px; z-index: -1; overflow: hidden; background: radial-gradient(circle at 72% 28%,#b7dfc3 0 7px,transparent 8px),radial-gradient(circle at 23% 70%,#ecc49e 0 6px,transparent 7px),linear-gradient(122deg,#e5ecdf 0 22%,#f5f0e4 22% 38%,#dfeadf 38% 55%,#eee9df 55%); filter: blur(2px); opacity: .82; transform: scale(1.04); }
.map-art::before,.map-art::after { content:""; position:absolute; background:rgba(255,255,255,.9); box-shadow:0 0 0 2px rgba(194,204,196,.6); }
.map-art::before { width:140%; height:16px; top:44%; right:-20%; transform:rotate(-8deg); }
.map-art::after { width:15px; height:130%; top:-15%; right:45%; transform:rotate(18deg); }
.map-art .road { position:absolute; display:block; height:9px; background:rgba(255,255,255,.86); box-shadow:0 0 0 1px #d6ded7; border-radius:20px; }
.road-one { width:58%; top:22%; right:-5%; transform:rotate(16deg); }.road-two { width:64%; bottom:17%; left:-8%; transform:rotate(11deg); }.road-three { width:44%; top:68%; right:23%; transform:rotate(-27deg); }.road-four { width:48%; top:34%; left:-6%; transform:rotate(-36deg); }
.map-art .map-block { position:absolute; display:block; background:#cfe4d1; border:4px solid rgba(255,255,255,.75); border-radius:8px; }.block-one { width:120px; height:75px; top:12%; left:13%; transform:rotate(-8deg); }.block-two { width:160px; height:65px; right:8%; bottom:13%; transform:rotate(12deg); }.block-three { width:95px; height:95px; right:30%; top:20%; transform:rotate(17deg); }
.map-art .map-dot { width:18px; height:18px; position:absolute; display:block; background:#d99a24; border:5px solid rgba(255,255,255,.75); border-radius:50%; }.dot-one { top:31%; right:38%; }.dot-two { bottom:25%; left:24%; background:#0f766e; }
.property-map-preview > a { min-height:48px; display:inline-flex; align-items:center; gap:8px; padding:9px 18px; color:#24433f; background:rgba(255,255,255,.93); border:1px solid rgba(15,118,110,.42); border-radius:10px; box-shadow:0 12px 35px rgba(40,73,68,.16); font-size:13px; font-weight:900; backdrop-filter:blur(8px); }
.property-map-preview > a .icon { color:var(--accent-dark); }
.map-privacy-note { display:block; margin-top:9px; color:var(--muted); font-size:10px; }
.property-safety-card { padding:25px 28px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.safety-title { display:flex; align-items:center; gap:10px; }.safety-title .icon { color:var(--primary); font-size:25px; }.safety-title h2 { margin:0; color:#24433f; font-size:20px; }
.property-safety-card ul { margin:14px 0 0; display:grid; gap:9px; color:#475467; font-size:13px; }.property-safety-card li::marker { color:var(--primary); }
.related-properties-section { overflow:hidden; padding:60px 0 76px; background:#fff; border-top:1px solid var(--line); }
.related-carousel { position:relative; }
.related-carousel-viewport { overflow:hidden; scroll-behavior:smooth; }
.related-carousel-track { width:100%; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 36px) / 3); gap:18px; padding:4px 1px 24px; }
.related-carousel-track > .property-card { width:auto; min-width:0; transform:none; }
.related-carousel .property-image { height:205px; }
.related-carousel .property-body { padding:14px 15px 13px; }
.related-carousel .property-body .property-title-price { display:block; }
.related-carousel .property-body .property-title-price h3 { min-height:48px; font-size:14px; }
.related-carousel .property-title-price > strong { display:block; font-size:19px; }
.related-carousel .property-card-description,.related-carousel .property-card-tags,.related-carousel .property-contact-actions { display:none; }
.related-carousel .property-location-row { margin-top:8px; padding-top:8px; }
.related-carousel .property-card-bottom { margin-top:8px; }
.related-carousel-arrow { width:44px; height:44px; position:absolute; top:38%; z-index:8; display:grid; place-items:center; opacity:0; color:#31514d; background:#fff; border:1px solid #d6e1de; border-radius:50%; box-shadow:0 8px 25px rgba(30,67,62,.16); transition:.25s ease; cursor:pointer; }
.related-carousel:hover .related-carousel-arrow { opacity:1; }
.related-carousel-arrow.previous { right:-20px; }.related-carousel-arrow.next { left:-20px; transform:rotate(180deg); }
.related-carousel-arrow:disabled { opacity:0!important; pointer-events:none; }
.seller-verified-dot { display:inline-grid; place-items:center; margin-right:4px; color:#0f766e; font-style:normal; vertical-align:middle; }.seller-verified-dot .icon { width:15px; height:15px; }
.verified-user-badge { display:inline-flex; align-items:center; gap:4px; width:max-content; padding:3px 7px; color:#0b5f59; background:#e8f7f3; border-radius:6px; font-size:9px; font-style:normal; font-weight:900; }.verified-user-badge .icon { width:12px; height:12px; }
.unverified-user-badge { padding:2px 7px; color:#7a8683; background:#eef2f1; border-radius:20px; font-size:9px; font-weight:800; }
.admin-list .verified-user-badge { color:#0b5f59; font-size:9px; }.admin-list .unverified-user-badge { color:#7a8683; font-size:9px; }
.user-admin-stats { display:flex; gap:8px; margin-bottom:16px; }.user-admin-stats a { min-height:38px; display:flex; align-items:center; gap:8px; padding:7px 13px; color:#42615d; background:#f5f9f8; border:1px solid #e0eae8; border-radius:9px; font-size:11px; font-weight:800; }.user-admin-stats b { color:var(--primary); }
.enhanced-users-list article { align-items:center; }.user-name-line { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }.enhanced-users-list .grow { display:grid!important; gap:2px; }.enhanced-users-list .grow > span { font-size:11px; }.enhanced-users-list .grow small { color:var(--muted-light); font-size:9px; }.admin-user-actions { display:flex!important; flex-direction:row!important; align-items:center; flex-wrap:wrap; gap:5px; }.admin-user-actions form { margin:0; }
.mobile-contact-bar { display: none; }

/* Email verification, secure contact and owner controls */
.verification-page { min-height: calc(100vh - var(--header-height)); padding: 52px 20px 80px; background: radial-gradient(circle at 15% 20%,rgba(231,178,76,.2),transparent 25%),radial-gradient(circle at 85% 80%,rgba(15,118,110,.16),transparent 28%),#f4faf8; }
.verification-shell { width: min(1080px,100%); min-height: 590px; margin: auto; display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; background: #fff; border: 1px solid #d8e9e5; border-radius: 28px; box-shadow: 0 32px 90px rgba(31,75,68,.14); }
.verification-visual { position: relative; overflow: hidden; padding: 70px 58px; color: #fff; background: linear-gradient(145deg,#0b665f,#16847a); isolation: isolate; }
.verification-visual::before,.verification-visual::after { content:""; position:absolute; z-index:-1; border:1px solid rgba(255,255,255,.16); border-radius:50%; }.verification-visual::before { width:420px; height:420px; top:-150px; left:-150px; }.verification-visual::after { width:330px; height:330px; right:-150px; bottom:-100px; }
.verification-visual .section-kicker { color:#ffe0a3; }.verification-visual h1 { margin:12px 0 18px; color:#fff; font-size:clamp(39px,5vw,63px); line-height:1.22; }.verification-visual p { max-width:450px; color:rgba(255,255,255,.8); font-size:16px; line-height:1.9; }
.verification-pulse { width:84px; height:84px; display:grid; place-items:center; margin-bottom:45px; color:#0f766e; background:#fff; border:10px solid rgba(255,255,255,.2); border-radius:25px; box-shadow:0 18px 45px rgba(0,0,0,.15); }.verification-pulse .icon { width:34px; height:34px; }
.verification-trust { display:flex; flex-wrap:wrap; gap:10px; margin-top:35px; }.verification-trust span { display:flex; align-items:center; gap:6px; padding:8px 11px; color:#eafffa; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); border-radius:10px; font-size:12px; font-weight:800; }
.verification-card { align-self:center; padding:55px 48px; text-align:center; }.verification-mail-icon { width:66px; height:66px; display:grid; place-items:center; margin:0 auto 17px; color:var(--primary); background:var(--primary-soft); border-radius:20px; }.verification-mail-icon .icon { width:29px; height:29px; }.verification-card h2 { margin:0 0 8px; color:#24433f; font-size:28px; }.verification-card > p { margin:0 0 25px; color:var(--muted); }.verification-card > p b { color:var(--primary); }
.verification-code-form { display:grid; gap:10px; text-align:right; }.verification-code-input { height:70px!important; direction:ltr; text-align:center; letter-spacing:13px; color:#24433f; background:#f7fbfa!important; border:2px solid #cfe4df!important; border-radius:14px!important; font-size:30px!important; font-weight:900; }.verification-code-input:focus { border-color:var(--primary)!important; box-shadow:0 0 0 5px rgba(15,118,110,.1)!important; }.verification-code-form .btn { margin-top:6px; min-height:54px; }
.verification-resend-form { margin-top:18px; }.verification-resend-form button { color:#60736e; background:transparent; border:0; font:inherit; cursor:pointer; }.verification-resend-form button b { color:var(--primary); }.verification-resend-form button:disabled { cursor:not-allowed; opacity:.66; }.verification-back { display:inline-block; margin-top:18px; color:#71827e; font-size:12px; font-weight:800; }

.owner-property-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:16px; padding:13px 15px; background:linear-gradient(120deg,#edf8f5,#fff8e9); border:1px solid #d6e8e3; border-radius:12px; }.owner-property-toolbar > div { display:flex; align-items:center; gap:9px; }.owner-property-toolbar > div:first-child > .icon { color:var(--primary); font-size:24px; }.owner-property-toolbar span { display:flex; flex-direction:column; }.owner-property-toolbar small { color:var(--muted); font-size:10px; }.owner-property-toolbar form { margin:0; }.owner-pause-button { color:#805516!important; background:#fff7e6!important; border:1px solid #ecd8a8!important; }
.reveal-phone-button { color:#3f3420!important; background:#e2ad43!important; border-color:#d39a2d!important; font-weight:900!important; }.reveal-phone-button:hover,.reveal-phone-button.is-revealed { color:#302716!important; background:#efc366!important; transform:translateY(-1px); }.premium-contact-card .btn.whatsapp,.gallery-whatsapp,.mobile-contact-bar > a:last-child { color:#fff!important; background:#18a957!important; border-color:#18a957!important; }.premium-contact-card .btn.whatsapp:hover,.gallery-whatsapp:hover { background:#128c46!important; }
.gallery-call { border:0; font:inherit; cursor:pointer; }.mobile-contact-bar button { min-height:44px; display:flex; align-items:center; justify-content:center; gap:6px; color:#3f3420; background:#e2ad43; border:0; border-radius:9px; font:inherit; font-weight:900; }
.contact-form-intro { margin:-12px 0 16px; color:var(--muted); font-size:13px; line-height:1.8; }.contact-submit { min-height:54px; justify-content:center; }.contact-message-list { display:grid; gap:13px; }.contact-message-item { padding:18px; background:#fff; border:1px solid var(--line); border-right:4px solid #ccdcd8; border-radius:13px; box-shadow:var(--shadow-sm); }.contact-message-item.status-new { border-right-color:#dfaa3b; }.contact-message-item.status-resolved { border-right-color:#1f9d64; }.contact-message-item header,.contact-message-item footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }.contact-message-item header > div,.contact-message-item footer,.contact-message-item footer form { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }.contact-message-item time { color:var(--muted); font-size:10px; }.contact-message-sender { display:flex; align-items:center; gap:9px; margin:14px 0 8px; }.contact-message-sender > span { width:38px; height:38px; display:grid; place-items:center; color:#fff; background:var(--primary); border-radius:11px; font-weight:900; }.contact-message-sender div { display:flex; flex-direction:column; }.contact-message-sender small { color:var(--muted); }.contact-message-item > p { padding:14px; color:#435b57; background:#f7faf9; border-radius:10px; line-height:1.9; }.email-verified-badge,.email-pending-badge { display:inline-flex; align-items:center; gap:4px; padding:3px 7px; border-radius:7px; font-size:9px; font-weight:900; }.email-verified-badge { color:#14714c; background:#e9f8f0; }.email-pending-badge { color:#8a641c; background:#fff5dc; }.email-verified-badge .icon,.email-pending-badge .icon { width:11px; height:11px; }
.mail-test-panel { max-width:850px; margin-inline:auto; }.mail-test-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin:15px 0 20px; }.mail-test-facts span { padding:13px; display:flex; flex-direction:column; color:var(--muted); background:#f6faf9; border:1px solid var(--line); border-radius:10px; }.mail-test-facts b { color:#31514d; }

.upload-preview { grid-template-columns:repeat(auto-fill,minmax(112px,136px))!important; justify-content:start; gap:11px!important; }.upload-preview figure { aspect-ratio:4/3!important; overflow:visible!important; cursor:grab; border:2px solid transparent; box-shadow:0 7px 20px rgba(35,76,69,.1); transition:.2s ease; }.upload-preview figure:hover { border-color:#9bcfc5; transform:translateY(-3px); }.upload-preview figure.is-dragging { opacity:.48; transform:scale(.96); }.upload-preview figure img { overflow:hidden; border-radius:9px; }.upload-preview-tools { position:absolute; inset:auto 5px 5px 5px; display:flex; align-items:center; justify-content:flex-end; gap:4px; }.upload-preview .upload-remove { position:static!important; width:23px!important; height:23px!important; flex:0 0 auto; }.upload-drag-handle { width:23px; height:23px; display:grid; place-items:center; color:#fff; background:rgba(30,56,52,.8); border-radius:6px; cursor:grab; }.upload-preview .upload-cover-button { width:auto!important; height:23px!important; position:static!important; margin-left:auto; padding:2px 6px!important; color:#24433f!important; background:rgba(255,255,255,.92)!important; border-radius:6px!important; font-size:8px!important; font-weight:900; }.upload-cover-badge { position:absolute; top:5px; right:5px; z-index:2; padding:3px 7px; color:#3f3420; background:#f5c867; border-radius:6px; font-size:8px; }.listing-run-button { color:#116b48!important; border-color:#b8dfce!important; background:#edf9f3!important; }

@media (max-width: 820px) { .verification-page { padding:20px 12px 60px; }.verification-shell { grid-template-columns:1fr; }.verification-visual { padding:38px 27px; }.verification-pulse { width:62px; height:62px; margin-bottom:25px; }.verification-visual h1 { font-size:36px; }.verification-card { padding:38px 24px; }.verification-code-input { letter-spacing:9px; font-size:25px!important; }.owner-property-toolbar { align-items:flex-start; flex-direction:column; }.owner-property-toolbar > div:last-child { width:100%; flex-wrap:wrap; }.contact-message-item header,.contact-message-item footer { align-items:flex-start; flex-direction:column; }.upload-preview { grid-template-columns:repeat(3,minmax(0,1fr))!important; }.upload-preview figure { width:100%; }.mail-test-facts { grid-template-columns:1fr 1fr; } }
@media (max-width: 480px) { .verification-visual { padding:30px 22px; }.verification-card { padding:32px 18px; }.verification-code-input { height:62px!important; letter-spacing:7px; font-size:22px!important; }.upload-preview { grid-template-columns:repeat(2,minmax(0,1fr))!important; } }

/* Creative polish v5 */
body { color:#273f3b; font-size:15px; }
p,li,label,input,select,textarea,button { font-size:max(13px,1em); }
.market-filters { max-height:none; overflow:visible; scrollbar-width:auto; }
.market-filters::-webkit-scrollbar { display:none; }
.scrollable-facets,.area-facets { max-height:none; overflow:visible; }
.filter-group { transition:background .25s ease,transform .25s ease; }
.filter-group:hover { background:#fbfefd; }
.filter-group summary { position:relative; padding-left:42px; }
.filter-group summary::after { content:"+"; width:25px; height:25px; position:absolute; left:15px; top:50%; display:grid; place-items:center; color:var(--primary); background:var(--primary-soft); border-radius:50%; transform:translateY(-50%); transition:.25s ease; }
.filter-group[open] summary::after { content:"−"; color:#fff; background:var(--primary); }

.listing-cards { gap:13px; }
.listing-cards .marketplace-property-card { min-height:242px; grid-template-columns:270px minmax(0,1fr); }
.listing-cards .property-image { min-height:242px; }
.listing-cards .property-body { padding:13px 18px 11px 54px; }
.listing-cards .property-body .property-title-price h3 { font-size:16px; line-height:1.55; }
.listing-cards .property-title-price > strong { font-size:21px; }
.listing-cards .property-card-description { margin:4px 0 5px; line-height:1.55; }
.listing-cards .property-card-tags { max-height:30px; overflow:hidden; }
.listing-cards .property-card-bottom { margin-top:6px; padding-top:7px; }
.listing-cards .property-location-row { padding-top:6px; }
.marketplace-property-card { transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease; }
.marketplace-property-card:hover { transform:translateY(-5px); border-color:rgba(217,154,36,.48); box-shadow:0 20px 48px rgba(28,70,64,.14); }
.card-verified-badge { gap:4px!important; color:#075f58!important; background:#dff7f1!important; }.card-verified-badge .icon { width:13px; height:13px; }

.card-gallery-arrow.prev { right:12px; transform:translateY(-50%); }
.card-gallery-arrow.next { left:12px; transform:translateY(-50%) rotate(180deg); }
.card-gallery-arrow:hover { color:#fff; background:var(--primary); transform:translateY(-50%) scale(1.08); }
.card-gallery-arrow.next:hover { transform:translateY(-50%) rotate(180deg) scale(1.08); }
.favorite-button,.listing-cards .favorite-button { color:#fff; background:transparent; box-shadow:none; filter:drop-shadow(0 2px 3px rgba(0,0,0,.5)); }
.favorite-button .icon { width:25px; height:25px; fill:transparent; stroke-width:2; }
.favorite-button:hover { color:#fff; background:transparent; transform:scale(1.13); }
.favorite-button.active { color:#e31d2b; background:transparent; filter:drop-shadow(0 2px 3px rgba(255,255,255,.5)); }
.favorite-button.active .icon { fill:#e31d2b; }

.rent-period-field { padding:13px; background:linear-gradient(135deg,#ecfaf6,#fff8e8); border:1px solid #cfe9e2; border-radius:12px; }
.owner-profile-link { color:inherit; border-radius:12px; transition:.3s ease; }.owner-profile-link:hover { padding:8px; background:#f0faf7; transform:translateY(-2px); }
.report-property-trigger { width:100%; margin-top:13px; display:flex; align-items:center; justify-content:center; gap:7px; padding:10px; color:#a33b33; background:#fff; border:1px solid #f0d1cd; border-radius:9px; font:inherit; font-size:11px; font-weight:800; cursor:pointer; transition:.3s ease; }.report-property-trigger:hover { color:#fff; background:#b8463e; border-color:#b8463e; transform:translateY(-2px); }

.report-dialog { width:min(520px,calc(100% - 28px)); padding:0; border:0; border-radius:18px; box-shadow:0 28px 90px rgba(20,39,36,.3); }.report-dialog::backdrop { background:rgba(13,28,26,.68); backdrop-filter:blur(4px); }.report-dialog-head { display:flex; align-items:center; justify-content:space-between; padding:21px 24px; background:linear-gradient(135deg,#eaf8f4,#fff); border-bottom:1px solid var(--line); }.report-dialog-head h2 { margin:0; color:#24433f; font-size:23px; }.report-dialog-head button { width:35px; height:35px; display:grid; place-items:center; background:#fff; border:1px solid var(--line); border-radius:50%; cursor:pointer; }.report-dialog form,.report-login-required { padding:22px 24px 25px; }.report-dialog form > p { margin:0 0 13px; color:var(--muted); }.report-reasons { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.report-reasons label { position:relative; cursor:pointer; }.report-reasons input { position:absolute; opacity:0; }.report-reasons span { min-height:42px; display:flex; align-items:center; padding:8px 12px; color:#536c68; background:#f7faf9; border:1px solid #e2eae8; border-radius:9px; }.report-reasons input:checked + span { color:#fff; background:var(--primary); border-color:var(--primary); }.report-dialog textarea { width:100%; resize:vertical; }.report-dialog label:has(textarea) { display:grid; gap:5px; margin-top:13px; }.report-dialog label > small { color:var(--muted-light); text-align:left; }

.property-map-preview iframe { position:absolute; inset:-12px; width:calc(100% + 24px); height:calc(100% + 24px); border:0; pointer-events:none; filter:blur(2.2px) saturate(.8); transform:scale(1.04); transition:transform .8s var(--ease),filter .8s ease; }.map-soft-overlay { position:absolute; inset:0; background:rgba(247,250,248,.14); pointer-events:none; }.property-map-preview:hover iframe { transform:scale(1.13); filter:blur(2.2px) saturate(.95); }.property-map-preview > a { z-index:2; transition:.3s ease; }.property-map-preview > a:hover { color:#fff; background:var(--primary); border-color:var(--primary); box-shadow:0 15px 35px rgba(15,118,110,.26); transform:translateY(-3px) scale(1.03); }.property-map-preview > a:hover .icon { color:#fff; }

.gallery-showcase-dialog { width:min(1720px,calc(100% - 42px)); max-width:none; height:calc(100vh - 54px); max-height:none; padding:0; overflow:hidden; background:#fff; border:0; border-radius:14px; }.gallery-showcase-dialog::backdrop { background:rgba(15,23,22,.82); backdrop-filter:blur(5px); }.gallery-showcase-head { height:78px; display:flex; align-items:center; justify-content:space-between; padding:0 30px; border-bottom:1px solid var(--line); }.gallery-showcase-head .dialog-close { position:static; width:40px; height:40px; display:grid; place-items:center; color:#253d39; background:#fff; border:1px solid var(--line); border-radius:50%; }.gallery-media-tabs { height:100%; display:flex; align-items:stretch; gap:18px; }.gallery-media-tabs button { min-width:140px; position:relative; display:flex; align-items:center; justify-content:center; gap:7px; color:#536b67; background:transparent; border:0; font-family:inherit; font-weight:800; cursor:pointer; }.gallery-media-tabs button::after { content:""; height:3px; position:absolute; right:0; bottom:0; left:0; background:transparent; }.gallery-media-tabs button.active { color:var(--primary); }.gallery-media-tabs button.active::after { background:var(--primary); }.gallery-showcase-scroll { height:calc(100% - 156px); overflow-y:auto; padding:24px 28px; background:#f5f7f6; }.gallery-mosaic { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:310px; gap:9px; }.gallery-mosaic button { position:relative; overflow:hidden; padding:0; background:#e9eeec; border:0; border-radius:5px; cursor:zoom-in; }.gallery-mosaic button.mosaic-featured { grid-column:span 2; grid-row:span 2; }.gallery-mosaic img { width:100%; height:100%; object-fit:cover; transition:transform .65s var(--ease),filter .65s ease; }.gallery-mosaic button:hover img { transform:scale(1.045); filter:saturate(1.08); }.gallery-mosaic button > span { width:26px; height:26px; position:absolute; right:8px; bottom:8px; display:grid; place-items:center; color:#fff; background:rgba(16,36,33,.74); border-radius:50%; font-size:10px; }.gallery-video-panel { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }.gallery-video-panel video { width:100%; max-height:600px; background:#152724; border-radius:10px; }.gallery-showcase-footer { height:78px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:0 28px; border-top:1px solid var(--line); }.gallery-owner { display:flex; align-items:center; gap:11px; color:#294640; }.gallery-owner > span { width:46px; height:46px; display:grid; place-items:center; color:var(--primary); background:var(--primary-soft); border-radius:10px; font-size:22px; font-weight:900; }.gallery-owner div { display:flex; flex-direction:column; }.gallery-owner small { color:var(--muted); }.gallery-showcase-footer > div { display:flex; gap:8px; }.gallery-whatsapp,.gallery-call { min-height:42px; display:flex; align-items:center; justify-content:center; gap:6px; padding:8px 22px; border-radius:8px; font-weight:800; }.gallery-whatsapp { color:#087b3e; background:#e8f8ee; }.gallery-call { color:#0b5f59; background:#e9f7f5; }

.home-properties-carousel { position:relative; }.home-carousel-viewport { overflow:hidden; scroll-behavior:smooth; }.home-carousel-track { width:100%; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 44px)/3); gap:22px; padding:8px 2px 28px; }.home-carousel-track > .property-card { width:auto; min-width:0; }.home-carousel-arrow { width:54px; height:54px; position:absolute; top:37%; z-index:10; display:grid; place-items:center; color:#fff; background:var(--primary); border:4px solid #fff; border-radius:50%; box-shadow:0 12px 30px rgba(15,70,63,.24); cursor:pointer; transition:.3s ease; }.home-carousel-arrow:hover { background:var(--accent-dark); transform:scale(1.08); }.home-carousel-arrow.previous { right:-27px; }.home-carousel-arrow.next { left:-27px; transform:rotate(180deg); }.home-carousel-arrow.next:hover { transform:rotate(180deg) scale(1.08); }.home-carousel-arrow:disabled { opacity:.25; pointer-events:none; }.home-carousel-track .property-title-price { display:block; }.home-carousel-track .property-title-price h3 { min-height:54px; margin-bottom:4px; }.home-carousel-track .property-title-price > strong { display:block; width:max-content; margin-top:4px; padding:5px 10px; color:#fff; background:var(--primary); border-radius:8px; font-size:19px; }.home-carousel-track .property-title-price > strong small { color:rgba(255,255,255,.78); }.home-carousel-track .property-card-description,.home-carousel-track .property-card-tags,.home-carousel-track .property-contact-actions { display:none; }.home-carousel-track .property-image { height:210px; }

.public-profile-page { background:#f7fbfa; }.public-profile-hero { padding:48px 0; background:radial-gradient(circle at 12% 15%,#fff0c9 0,transparent 25%),linear-gradient(135deg,#e6f7f3,#fff); }.public-profile-hero .container { display:flex; align-items:center; gap:18px; }.public-profile-avatar { width:86px; height:86px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,var(--primary),#2aa390); border:8px solid rgba(255,255,255,.8); border-radius:26px; box-shadow:0 18px 45px rgba(15,118,110,.2); font-size:34px; font-weight:900; }.public-profile-hero h1 { margin:0; color:#24433f; }.public-profile-hero p { margin:4px 0 0; }.public-profile-stat { margin-right:auto; min-width:120px; padding:14px; text-align:center; background:#fff; border:1px solid #dceae7; border-radius:14px; }.public-profile-stat b { display:block; color:var(--primary); font-size:28px; }.public-profile-stat span { color:var(--muted); font-size:11px; }

.account-hero { overflow:hidden; isolation:isolate; background:linear-gradient(125deg,#0f766e,#176d8a 58%,#7759a7); border:0; }.account-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(255,255,255,.04),transparent); }.account-identity h1,.account-identity p,.account-identity small { color:#fff; }.account-identity p,.account-identity small { opacity:.76; }.account-avatar { color:#0f766e; background:#fff; box-shadow:0 12px 36px rgba(0,0,0,.18); transition:transform .8s ease,box-shadow .8s ease; }.account-avatar.breathing-active { transform:scale(1.08) rotate(-2deg); box-shadow:0 16px 48px rgba(255,224,139,.32); }.account-orb { position:absolute; z-index:-1; display:block; border-radius:50%; filter:blur(1px); }.orb-a { width:180px; height:180px; left:7%; top:-90px; background:rgba(255,213,112,.2); }.orb-b { width:130px; height:130px; right:35%; bottom:-85px; background:rgba(166,128,255,.25); }.account-new-listing { color:#24433f; background:#fff; box-shadow:none; }.account-new-listing:hover { color:#fff; background:var(--accent-dark); }.account-stat-cards article { position:relative; overflow:hidden; transition:.35s ease; }.account-stat-cards article:hover { transform:translateY(-6px) rotate(-.4deg); box-shadow:0 16px 38px rgba(23,65,59,.12); }.account-stat-cards article > .icon { width:34px; height:34px; float:left; opacity:.22; }.stat-teal { border-top:4px solid #0f766e!important; }.stat-green { border-top:4px solid #35a16b!important; }.stat-gold { border-top:4px solid #d99a24!important; }.stat-purple { border-top:4px solid #7759a7!important; }.stat-purple b { color:#7759a7!important; }.account-overview-grid { margin-top:15px; display:grid; grid-template-columns:1fr 300px; gap:15px; }.account-clean-panel { margin-top:0; }.account-health-card { padding:25px; color:#fff; background:linear-gradient(145deg,#7759a7,#4f3a7d); border-radius:16px; box-shadow:0 16px 40px rgba(94,68,145,.18); transition:.8s ease; }.account-health-card.breathing-active { transform:translateY(-4px); box-shadow:0 22px 55px rgba(94,68,145,.3); }.account-health-card h3 { margin:5px 0; font-size:25px; }.account-health-card p { color:rgba(255,255,255,.75); font-size:12px; }.account-health-card > div { height:8px; overflow:hidden; background:rgba(255,255,255,.16); border-radius:20px; }.account-health-card i { width:var(--progress); height:100%; display:block; background:#ffd36f; border-radius:20px; }.account-health-card small { display:block; margin-top:7px; color:rgba(255,255,255,.65); }

.admin-body { background:#e8f0ee; }.admin-sidebar { background:linear-gradient(180deg,#123e3a,#0c2d2a)!important; border:0; box-shadow:12px 0 40px rgba(13,49,45,.14); }.admin-sidebar > small,.admin-brand .brand-copy small { color:rgba(255,255,255,.56)!important; }.admin-brand .brand-copy strong { color:#fff!important; }.admin-sidebar nav a { color:rgba(255,255,255,.78); }.admin-sidebar nav a .icon { color:#e9c36f; }.admin-sidebar nav a:hover,.admin-sidebar nav a.active { color:#fff; background:rgba(255,255,255,.12); }.admin-sidebar nav a.active::before { background:#ffd36f; }.admin-logout { color:#fff!important; background:rgba(255,255,255,.1)!important; }.admin-topbar { background:rgba(255,255,255,.94); backdrop-filter:blur(12px); box-shadow:0 5px 25px rgba(28,66,61,.07); }.admin-panel { box-shadow:0 10px 35px rgba(29,68,62,.055); }.admin-panel:hover { box-shadow:0 16px 45px rgba(29,68,62,.09); }.admin-redirect-notice { margin-bottom:14px; display:flex; align-items:center; gap:12px; padding:15px 18px; color:#fff; background:linear-gradient(135deg,#0f766e,#35a16b); border-radius:12px; }.admin-redirect-notice .icon { width:28px; height:28px; }.admin-redirect-notice div { display:flex; flex-direction:column; }.admin-redirect-notice span { color:rgba(255,255,255,.75); font-size:11px; }

.report-admin-list { display:grid; gap:14px; }.report-admin-list > article { padding:18px; background:#fbfdfd; border:1px solid #e2ece9; border-radius:13px; }.report-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }.report-card-head h3 { margin:5px 0 2px; color:#24433f; }.report-card-head p { margin:0; color:var(--muted); }.report-count-badge { display:inline-flex; padding:4px 9px; color:#9d312c; background:#fff0ef; border-radius:20px; font-size:10px; font-weight:900; }.report-admin-list details { margin-top:12px; }.report-admin-list summary { cursor:pointer; color:var(--primary); font-weight:800; }.reporter-list { margin-top:10px; display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.reporter-list > div { padding:11px; background:#fff; border:1px solid var(--line); border-radius:9px; }.reporter-list b,.reporter-list span,.reporter-list strong,.reporter-list small { display:block; }.reporter-list span,.reporter-list small { color:var(--muted); font-size:9px; }.reporter-list strong { color:#9d312c; }.reporter-list p { margin:5px 0; }.report-admin-actions { display:flex; gap:7px; margin-top:13px; }.report-admin-actions button { min-height:36px; padding:7px 12px; background:#fff; border:1px solid var(--line); border-radius:8px; font-family:inherit; font-weight:800; cursor:pointer; }.report-admin-actions .warning { color:#8a5b0b; background:#fff8e8; }.report-admin-actions .danger { color:#9d312c; background:#fff0ef; }

.back-to-top { position:fixed; left:24px; bottom:24px; z-index:90; display:flex; align-items:center; gap:7px; padding:10px 14px; opacity:0; visibility:hidden; color:#fff; background:#24433f; border:0; border-radius:25px; box-shadow:0 12px 30px rgba(19,53,48,.24); font-family:inherit; font-weight:800; transform:translateY(15px); transition:.3s ease; cursor:pointer; }.back-to-top.visible { opacity:1; visibility:visible; transform:none; }.back-to-top:hover { background:var(--primary); transform:translateY(-3px); }.back-to-top .icon { transform:rotate(-90deg); }

.admin-body .admin-sidebar nav a { font-size:12px; }.admin-body .admin-list b,.admin-body .package-admin-list b { font-size:12px; }.admin-body .admin-list span,.admin-body .package-admin-list span { font-size:10px; }.admin-body .status,.admin-body .payment-status { font-size:10px; }

@media (hover:hover) {
    .premium-content-card,.finance-card,.property-side-facts,.property-safety-card,.contact-info-premium > div,.guide-columns article,.process-grid article { transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease; }
    .premium-content-card:hover,.finance-card:hover,.property-side-facts:hover,.property-safety-card:hover,.contact-info-premium > div:hover,.guide-columns article:hover,.process-grid article:hover { transform:translateY(-4px); border-color:#bddbd5; box-shadow:0 16px 38px rgba(24,66,60,.09); }
}

@media (max-width: 1180px) {
    .governorate-count-grid { grid-template-columns: repeat(4, 1fr); }
    .market-listing-layout { grid-template-columns: 285px minmax(0, 1fr); gap: 18px; }
    .listing-cards .marketplace-property-card { grid-template-columns: 275px minmax(0, 1fr); }
    .listing-cards .property-body { padding-right: 18px; }
    .property-title-price { display: block; }
    .property-title-price > strong { display: block; margin-top: 4px; }
    .property-card-description { display: none; }
    .premium-details-layout { grid-template-columns: minmax(0, 1fr) 320px; }
    .premium-specs-grid { grid-template-columns: repeat(3, 1fr); }
    .premium-specs-grid > div:nth-child(3) { border-left: 0; }
    .premium-specs-grid > div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
    .amenities-picker { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 992px) {
    .market-search-bar { grid-template-columns: auto minmax(0, 1fr) 210px 100px; }
    .governorate-count-grid { grid-template-columns: repeat(3, 1fr); }
    .market-listing-layout { display: block; }
    .market-results { padding-top: 0; }
    .premium-gallery { height: 500px; }
    .premium-details-layout { grid-template-columns: 1fr; }
    .premium-contact-sidebar { position: static; grid-template-columns: 1fr 1fr; }
    .four-fields { grid-template-columns: repeat(2, 1fr); }
    .related-carousel-track { grid-auto-columns:calc((100% - 18px) / 2); }
    .market-filters { max-height:100dvh; overflow-y:auto; scrollbar-width:none; }
}

@media (max-width: 760px) {
    .market-search-title { display: block; }
    .save-search-button { margin-top: 12px; }
    .market-search-bar { grid-template-columns: auto 1fr; }
    .market-search-bar select,
    .market-search-bar .btn { grid-column: 1 / -1; width: 100%; }
    .governorate-count-grid { grid-template-columns: repeat(2, 1fr); }
    .listing-cards .marketplace-property-card { display: block; }
    .listing-cards .property-image { min-height: 0; height: 220px; }
    .listing-cards .property-body { padding: 17px; }
    .listing-cards .favorite-button { top: 14px; left: 14px; }
    .property-title-price { display: flex; }
    .marketplace-property-card .property-meta { overflow-x: auto; }
    .property-location-row { align-items: flex-start; }
    .property-card-bottom { display: block; }
    .compact-seller { margin-bottom: 10px; }
    .property-contact-actions { display: grid; grid-template-columns: repeat(3, 1fr); }
    .premium-gallery { height: 410px; grid-template-columns: 1fr; }
    .premium-gallery-main { border-radius: 14px; }
    .premium-gallery-thumbs { display: none; }
    .premium-summary-heading { display: block; }
    .premium-price { align-items: flex-start; margin-top: 15px; }
    .premium-specs-grid { grid-template-columns: repeat(2, 1fr); }
    .premium-specs-grid > div:nth-child(2n) { border-left: 0; }
    .premium-specs-grid > div:nth-child(3) { border-left: 1px solid var(--line); }
    .premium-specs-grid > div:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
    .finance-card { display: block; }
    .finance-numbers { margin-top: 15px; overflow-x: auto; }
    .premium-info-list,
    .amenities-display { grid-template-columns: repeat(2, 1fr); }
    .premium-contact-sidebar { display: block; }
    .property-side-facts { margin-top: 14px; }
    .guide-columns { grid-template-columns: 1fr; }
    .amenities-picker { grid-template-columns: repeat(3, 1fr); }
    .related-carousel-track { grid-auto-columns:100%; }
    .related-carousel-arrow { top:35%; opacity:1; }
    .related-carousel-arrow.previous { right:5px; }.related-carousel-arrow.next { left:5px; }
    .property-map-preview { height:240px; }
    .enhanced-users-list article { align-items:flex-start; flex-wrap:wrap; }.admin-user-actions { width:100%; }
}

@media (max-width: 900px) {
    .account-stat-cards { grid-template-columns: repeat(2,1fr); }
    .my-listings-list > article { grid-template-columns: 110px 1fr; }
    .my-listings-list > article > img { width: 110px; }
    .my-listing-actions { grid-column: 1 / -1; max-width: none; justify-content: flex-start; }
    .contact-hero-grid,.contact-main-grid { grid-template-columns: 1fr; }
    .contact-visual { height: 300px; }
    .property-video-grid { grid-template-columns: 1fr; }
    .home-carousel-track { grid-auto-columns:calc((100% - 22px)/2); }
    .gallery-mosaic { grid-template-columns:repeat(2,1fr); grid-auto-rows:260px; }
    .account-overview-grid { grid-template-columns:1fr; }
    .account-health-card { min-height:220px; }
}

@media (max-width: 600px) {
    .account-page { padding-top: 16px; }
    .account-hero { align-items: flex-start; padding: 17px; }
    .account-hero > .btn { width: 46px; min-width: 46px; padding: 0; font-size: 0; }
    .account-hero > .btn .icon { font-size: 18px; }
    .account-tabs { overflow-x: auto; }.account-tabs a { flex: 0 0 auto; }
    .account-stat-cards { grid-template-columns: 1fr 1fr; gap: 8px; }
    .account-clean-panel { align-items: stretch; flex-direction: column; padding: 20px; }.account-clean-panel > div:last-child { flex-direction: column; }
    .my-listings-panel,.account-notifications { padding: 14px; }
    .my-listings-list > article { grid-template-columns: 82px 1fr; gap: 10px; }.my-listings-list > article > img { width: 82px; height: 82px; }
    .contact-hero { padding: 42px 0; }.contact-hero h1 { font-size: 40px; }.contact-quick-actions { flex-direction: column; }.contact-quick-actions a { min-width: 0; }.contact-visual { display: none; }.contact-form-premium,.contact-info-premium { padding: 20px; }.contact-main-grid { padding-top: 25px; }
    .property-save-actions { flex-direction: column-reverse; }.property-save-actions .btn { width: 100%; }
    .home-carousel-track { grid-auto-columns:100%; }
    .home-carousel-arrow { width:46px; height:46px; }.home-carousel-arrow.previous { right:-14px; }.home-carousel-arrow.next { left:-14px; }
    .gallery-showcase-dialog { width:100%; height:100dvh; border-radius:0; }.gallery-showcase-head { height:65px; padding:0 14px; }.gallery-media-tabs { gap:4px; }.gallery-media-tabs button { min-width:105px; }.gallery-showcase-scroll { height:calc(100% - 137px); padding:8px; }.gallery-mosaic { grid-template-columns:1fr 1fr; grid-auto-rows:185px; gap:5px; }.gallery-mosaic button.mosaic-featured { grid-column:1 / -1; grid-row:span 2; }.gallery-showcase-footer { height:72px; padding:0 10px; }.gallery-owner small { display:none; }.gallery-whatsapp,.gallery-call { padding:7px 10px; font-size:11px; }
    .report-reasons { grid-template-columns:1fr; }.reporter-list { grid-template-columns:1fr; }.report-admin-actions { flex-direction:column; }
    .public-profile-hero .container { align-items:flex-start; flex-wrap:wrap; }.public-profile-avatar { width:68px; height:68px; }.public-profile-stat { width:100%; margin:0; }
    .back-to-top { left:12px; bottom:76px; padding:10px; }.back-to-top span { display:none; }
}

@media (max-width: 520px) {
    .governorate-count-grid { grid-template-columns: 1fr; }
    .governorate-count-grid a { min-height: 42px; }
    .property-title-price { display: block; }
    .property-card-tags { max-height: 34px; overflow: hidden; }
    .property-contact-actions { grid-template-columns: 1fr 1fr; }
    .card-details { grid-column: 1 / -1; }
    .premium-gallery { height: 300px; }
    .premium-summary-card,
    .premium-content-card,
    .finance-card { padding: 18px; }
    .premium-summary-heading h1 { font-size: 24px; }
    .premium-specs-grid > div { min-height: 74px; }
    .finance-numbers span { min-width: 130px; }
    .premium-info-list,
    .amenities-display { grid-template-columns: 1fr; }
    .location-summary-box { align-items: flex-start; flex-wrap: wrap; }
    .location-summary-box a { width: 100%; margin: 8px 0 0; text-align: center; }
    .mobile-contact-bar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 95; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 9px 12px calc(9px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -10px 30px rgba(16,45,90,.1); }
    .mobile-contact-bar a { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 6px; color: #fff; background: var(--primary); border-radius: 9px; font-weight: 900; }
    .mobile-contact-bar a:last-child { background: var(--success); }
    .four-fields { grid-template-columns: 1fr; }
    .amenities-picker { grid-template-columns: repeat(2, 1fr); }
}

/* Account interaction safety: decorative absolute layers must stay inside the hero. */
.account-hero { position: relative; }
.account-hero::after,
.account-orb { pointer-events: none; }
.account-tabs,
.account-overview,
.my-listings-panel,
.account-notifications { position: relative; z-index: 1; }
