:root {
    --ink: #17215f;
    --muted: #5d6881;
    --paper: #f7f8ff;
    --surface: #ffffff;
    --line: #e3e7f7;
    --brand: #2f74f3;
    --brand-dark: #1c3b9b;
    --purple: #713bd4;
    --coral: #f06d72;
    --danger: #b53a48;
    --brand-gradient: linear-gradient(105deg, #2f9df4 0%, #2f74f3 32%, #713bd4 67%, #f06d72 100%);
    --shadow: 0 24px 60px rgba(29, 45, 117, 0.12);
    --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Tajawal", system-ui, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.skip-link { position: fixed; inset: 8px auto auto 8px; transform: translateY(-150%); background: var(--ink); color: white; padding: 10px 14px; z-index: 1000; }
.skip-link:focus { transform: translateY(0); }
.site-header { background: rgba(255,255,255,0.9); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(16px); }
.header-inner { min-height: 76px; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); }
.brand-logo { width: 46px; height: 46px; object-fit: contain; flex: 0 0 auto; }
.brand-copy { display: grid; gap: 1px; line-height: 1.08; }
.brand-copy strong { font-size: 1rem; font-weight: 800; letter-spacing: .02em; }
.brand-copy small { font-size: .78rem; color: var(--muted); font-weight: 700; }
.site-header nav { display: flex; gap: 22px; margin-inline-end: auto; color: var(--muted); font-weight: 700; }
.site-header nav a:hover, .site-header nav a:focus-visible { color: var(--brand); }
.button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 14px; padding: 12px 20px; font-weight: 700; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--brand-gradient); color: white; box-shadow: 0 12px 26px rgba(70,74,211,.22); }
.button-primary:hover { box-shadow: 0 16px 30px rgba(70,74,211,.3); }
.button-ghost { border-color: var(--line); background: var(--surface); }
.hero { padding: 72px 0; min-height: calc(100vh - 76px); display: grid; align-items: center; background: radial-gradient(circle at 16% 24%, rgba(240,109,114,.18), transparent 28%), radial-gradient(circle at 75% 12%, rgba(47,116,243,.17), transparent 34%), linear-gradient(135deg, #f8f9ff, #f1f4ff); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 52px; align-items: center; }
.eyebrow { color: var(--brand-dark); font-weight: 800; font-size: .78rem; letter-spacing: .06em; margin: 0 0 10px; }
.hero h1 { font-size: clamp(2.7rem, 6vw, 5.7rem); line-height: 1.05; margin: 0; max-width: 860px; letter-spacing: -.045em; }
.hero-copy { color: var(--muted); font-size: 1.1rem; line-height: 1.9; max-width: 720px; }
.search-shell { display: grid; grid-template-columns: 1fr auto; gap: 12px; background: var(--surface); padding: 12px; border-radius: 18px; box-shadow: var(--shadow); margin-top: 28px; }
.search-shell label, .stack-form label { display: grid; gap: 7px; color: var(--muted); font-size: .82rem; font-weight: 700; }
.search-shell input, .stack-form input { width: 100%; border: 1px solid var(--line); border-radius: 12px; min-height: 48px; padding: 10px 13px; background: white; color: var(--ink); }
.search-shell label { grid-template-columns: auto 1fr; align-items: center; padding-inline: 8px; }
.search-shell label span { white-space: nowrap; }
.search-shell input { border: 0; outline: 0; }
.trust-row { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 24px; color: var(--muted); font-size: .9rem; }
.trust-row span::before { content: "✓"; color: var(--brand); font-weight: 800; margin-inline-end: 6px; }
.hero-panel { background: linear-gradient(145deg, #17215f, #352e9b 64%, #593bb2); color: white; padding: 36px; border-radius: 32px; box-shadow: var(--shadow); transform: rotate(-1deg); }
.hero-panel h2 { font-size: 1.7rem; margin: 22px 0 14px; }
.hero-panel ul, .hero-panel p { color: #e5e7ff; }
.hero-panel ul { padding-inline-start: 22px; line-height: 2.1; }
.hero-lead-form { display: grid; gap: 10px; margin-top: 18px; }
.hero-lead-form input, .hero-lead-form textarea { width: 100%; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.09); color: white; border-radius: 12px; padding: 12px; }
.hero-lead-form input::placeholder, .hero-lead-form textarea::placeholder { color: #d9dcff; }
.status-badge { display: inline-flex; border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.1); color: #ffffff; border-radius: 999px; padding: 7px 12px; font-size: .8rem; }
.auth-section { min-height: calc(100vh - 76px); display: grid; place-items: center; padding: 32px 16px; }
.auth-card { width: min(460px, 100%); padding: 34px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.auth-card h1 { margin: 0; }
.auth-card > p { color: var(--muted); }
.stack-form { display: grid; gap: 16px; margin-top: 22px; }
.alert { padding: 12px 14px; border-radius: 12px; margin-top: 16px; }
.alert-error { background: #fff0f2; color: var(--danger); border: 1px solid #f3c9d0; }
.alert-success { background: #eef5ff; color: var(--brand-dark); border: 1px solid #c9d8ff; }
.admin-body { min-height: 100vh; display: grid; grid-template-columns: 260px 1fr; background: #f5f7ff; }
.admin-sidebar { background: linear-gradient(180deg, #17215f, #292585); color: white; padding: 24px 18px; }
.admin-brand { margin-bottom: 30px; padding-inline: 8px; color: white; }
.admin-brand .brand-copy small { color: #cbd0ff; }
.admin-sidebar nav { display: grid; gap: 7px; }
.admin-sidebar nav a { color: #d7dcff; padding: 11px 13px; border-radius: 11px; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.active { background: rgba(255,255,255,.11); color: white; }
.admin-main { padding: 32px; }
.admin-topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.admin-topbar h1 { margin: 0; }
.admin-user { background: white; border: 1px solid var(--line); padding: 10px 14px; border-radius: 12px; }
.admin-account { display: flex; align-items: center; gap: 12px; }
.admin-account form { margin: 0; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 22px; }
.metric-card { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 21px; display: grid; gap: 8px; }
.metric-card span, .metric-card small { color: var(--muted); }
.metric-card strong { font-size: 2rem; line-height: 1; }
.dashboard-sections .admin-card { padding: 0; }
.compact-heading { align-items: center; }
.admin-panel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.admin-card { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 24px; }
.admin-card-wide { grid-column: 1 / -1; }
.admin-card h2 { margin: 0 0 8px; }
.admin-card p { color: var(--muted); }
.admin-actions, .form-heading, .admin-card-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 20px; }
.admin-search { display: grid; gap: 7px; min-width: min(520px, 100%); color: var(--muted); font-size: .82rem; font-weight: 700; }
.admin-search > div { display: flex; gap: 9px; }
.admin-search input, .admin-form input, .admin-form select, .admin-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 11px 13px; background: white; color: var(--ink); }
.admin-search input { min-height: 46px; }
.admin-table-card { padding: 0; overflow: hidden; }
.admin-card-heading { padding: 22px 24px; margin: 0; border-bottom: 1px solid var(--line); }
.admin-card-heading h2, .form-heading h2 { margin: 0; }
.record-count { color: var(--muted); font-size: .9rem; }
.table-scroll { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 860px; }
.data-table th, .data-table td { text-align: start; padding: 15px 18px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.data-table th { color: var(--muted); background: #fafbff; font-size: .8rem; }
.data-table td strong, .data-table td small { display: block; }
.data-table td small { color: var(--muted); margin-top: 3px; direction: ltr; text-align: start; }
.status-pill { display: inline-flex; border-radius: 999px; padding: 5px 10px; font-size: .76rem; font-weight: 700; background: #eef1ff; color: #4d5781; }
.status-published { background: #e9f3ff; color: #1f59bd; }
.status-in_review { background: #fff5e4; color: #8b5d16; }
.status-archived { background: #f5eff5; color: #705572; }
.row-actions { display: flex; align-items: center; gap: 12px; }
.row-actions form { margin: 0; }
.text-link, .text-button { color: var(--brand-dark); font-weight: 700; font-size: .86rem; }
.text-button { border: 0; background: none; padding: 0; cursor: pointer; }
.text-button.danger { color: var(--danger); }
.empty-state { text-align: center; padding: 56px 24px; }
.empty-state h3 { margin: 0; }
.empty-state p { color: var(--muted); }
.pagination { display: flex; justify-content: center; align-items: center; gap: 18px; padding: 18px; }
.pagination a { color: var(--brand-dark); font-weight: 700; }
.admin-form-shell { max-width: 1120px; }
.form-heading { align-items: center; }
.form-heading p, .form-section-heading p { color: var(--muted); margin-bottom: 0; }
.admin-form { display: grid; gap: 18px; }
.form-section { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 24px; }
.form-section-heading { border-bottom: 1px solid var(--line); padding-bottom: 17px; margin-bottom: 20px; }
.form-section-heading h3 { margin: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-grid label { display: grid; align-content: start; gap: 7px; color: var(--muted); font-size: .84rem; font-weight: 700; }
.form-grid textarea { resize: vertical; line-height: 1.8; }
.form-grid-compact { grid-template-columns: minmax(220px, 1fr) minmax(220px, 2fr); }
.checkbox-field { display: flex !important; align-items: center; grid-template-columns: auto 1fr; align-self: end; min-height: 48px; }
.checkbox-field input { width: 18px; height: 18px; accent-color: var(--brand); }
.field-error { color: var(--danger); font-size: .76rem; }
.form-footer { display: flex; gap: 10px; justify-content: flex-start; }
.site-footer { background: #17215f; color: #dfe3ff; padding: 28px 0; }
.site-footer .container { display: flex; justify-content: space-between; gap: 16px; }
.public-section { padding: 64px 0; }
.public-alert { margin-top: 24px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 24px; }
.section-heading h2 { margin: 0; font-size: clamp(1.6rem,3vw,2.3rem); }
.property-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.property-card { background: white; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.property-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.property-media, .detail-media { background: linear-gradient(135deg,#e7efff,#f8e8ef); display: grid; place-items: center; overflow: hidden; color: var(--brand-dark); font-size: 1.5rem; font-weight: 800; }
.property-media { aspect-ratio: 16/10; }
.property-media img, .detail-media img { width: 100%; height: 100%; object-fit: cover; }
.property-card-body { padding: 18px; display: grid; gap: 10px; }
.property-card-body small { color: var(--muted); }
.property-card h3 { margin: 0; font-size: 1.05rem; }
.property-specs { display: flex; flex-wrap: wrap; gap: 7px; }
.property-specs span { border: 1px solid var(--line); background: var(--paper); border-radius: 999px; padding: 5px 9px; font-size: .75rem; color: var(--muted); }
.public-empty { background: white; border: 1px dashed var(--line); border-radius: 20px; }
.catalog-head { background: linear-gradient(135deg,#edf4ff,#fff1f4); padding: 52px 0 32px; }
.catalog-head h1 { font-size: clamp(2rem,5vw,4rem); margin: 0 0 24px; }
.catalog-filters { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 12px; display: grid; grid-template-columns: 1.6fr repeat(5,1fr); gap: 8px; }
.catalog-filters input, .catalog-filters select { min-width: 0; border: 1px solid var(--line); border-radius: 11px; padding: 10px; }
.property-detail { padding: 48px 0 72px; }
.detail-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(320px,.6fr); gap: 34px; align-items: start; }
.detail-media { aspect-ratio: 16/8; border-radius: 26px; margin-bottom: 26px; }
.detail-grid h1 { font-size: clamp(2rem,4vw,3.4rem); margin: 0 0 18px; }
.detail-specs { margin-bottom: 18px; }
.rich-copy { color: var(--muted); line-height: 2; margin-top: 24px; }
.inquiry-card { position: sticky; top: 104px; background: white; border: 1px solid var(--line); border-radius: 22px; padding: 24px; box-shadow: var(--shadow); }
.content-page { padding: 64px 0 88px; }
.content-page .container { max-width: 860px; }
.content-page h1 { font-size: clamp(2.2rem,5vw,4.4rem); margin: 0 0 18px; }
.page-excerpt { color: var(--muted); font-size: 1.15rem; line-height: 1.9; }
.lead-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, .8fr); gap: 18px; align-items: start; }
.notes-list { display: grid; gap: 10px; margin-top: 18px; }
.notes-list article { background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 12px; }
.notes-list p { margin: 0 0 6px; line-height: 1.7; }
.notes-list small { color: var(--muted); }
.stack-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 11px; }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid rgba(47,116,243,.32); outline-offset: 2px; }

@media (max-width: 850px) {
    .site-header nav { display: none; }
    .header-inner { justify-content: space-between; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-panel { transform: none; }
    .property-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .catalog-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .detail-grid { grid-template-columns: 1fr; }
    .inquiry-card { position: static; }
    .admin-body { grid-template-columns: 1fr; }
    .admin-sidebar { display: none; }
}

@media (max-width: 620px) {
    .site-header .button { display: none; }
    .brand-copy strong { font-size: .9rem; }
    .brand-copy small { font-size: .72rem; }
    .hero { padding: 42px 0; }
    .hero h1 { font-size: 2.75rem; }
    .search-shell { grid-template-columns: 1fr; }
    .search-shell label { grid-template-columns: 1fr; }
    .admin-main { padding: 20px 14px; }
    .admin-panel-grid { grid-template-columns: 1fr; }
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-actions, .form-heading { align-items: stretch; flex-direction: column; }
    .admin-actions .button, .form-heading .button { width: 100%; }
    .form-grid, .form-grid-compact { grid-template-columns: 1fr; }
    .lead-grid { grid-template-columns: 1fr; }
    .property-grid { grid-template-columns: 1fr; }
    .catalog-filters { grid-template-columns: 1fr; }
    .site-footer .container { flex-direction: column; }
}

@media (max-width: 430px) {
    .metric-grid { grid-template-columns: 1fr; }
}

/* Marketplace and broker directory extensions */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.catalog-head > .container > p:not(.eyebrow) { max-width: 720px; color: var(--muted); line-height: 1.8; margin: -10px 0 24px; }
.marketplace-filters { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 16px; }
.marketplace-filters label { display: grid; gap: 6px; color: var(--muted); font-size: .75rem; font-weight: 700; }
.marketplace-filters .filter-wide { grid-column: span 2; }
.marketplace-filters .filter-wide input { min-height: 44px; }
.filter-actions { display: flex; align-items: end; gap: 8px; grid-column: span 2; }
.filter-actions .button { min-height: 44px; padding: 10px 14px; flex: 1; }
.property-media { position: relative; }
.property-badge { position: absolute; top: 12px; inset-inline-start: 12px; border-radius: 999px; color: white; background: rgba(23,33,95,.86); padding: 6px 10px; font-size: .72rem; font-weight: 800; backdrop-filter: blur(8px); }
.card-broker { margin: 0; color: var(--muted); font-size: .78rem; }
.pagination { margin-top: 30px; gap: 8px; }
.pagination a { min-width: 38px; min-height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: white; }
.pagination a[aria-current="page"] { color: white; border-color: var(--brand); background: var(--brand); }
.broker-directory-head { background: radial-gradient(circle at 82% 18%, rgba(113,59,212,.16), transparent 26%), linear-gradient(135deg,#edf4ff,#fff4f5); }
.broker-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.broker-card { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 18px; transition: transform .2s ease, box-shadow .2s ease; }
.broker-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.broker-card a { display: grid; grid-template-columns: 58px 1fr; gap: 14px; align-items: center; }
.broker-avatar { width: 58px; height: 58px; overflow: hidden; border-radius: 50%; display: grid; place-items: center; background: var(--brand-gradient); color: white; font-weight: 800; font-size: 1.35rem; }
.broker-avatar img { width: 100%; height: 100%; object-fit: cover; }
.broker-card h3 { margin: 0 0 5px; display: flex; align-items: center; gap: 7px; font-size: 1.05rem; }
.broker-card p, .broker-card small { display: block; margin: 0; color: var(--muted); line-height: 1.55; }
.verified-mark { display: inline-flex; border-radius: 999px; padding: 3px 7px; background: #e7f1ff; color: var(--brand-dark); font-size: .65rem; white-space: nowrap; }
.broker-profile-head { padding: 64px 0 38px; background: radial-gradient(circle at 14% 28%, rgba(47,116,243,.18), transparent 28%), linear-gradient(135deg,#f8faff,#f1edff); }
.broker-profile-wrap { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; }
.broker-avatar-large { width: 104px; height: 104px; font-size: 2.4rem; }
.broker-profile-wrap h1 { margin: 0 0 8px; font-size: clamp(2rem,4vw,3.4rem); }
.broker-profile-wrap p:not(.eyebrow) { color: var(--muted); margin: 0; }
.broker-profile-columns { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(310px,.6fr); gap: 34px; align-items: start; }
.prose { color: var(--muted); line-height: 2; }
.broker-listings-heading { margin-top: 36px; }
.contact-card { position: sticky; top: 104px; padding: 24px; background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); }
.contact-card h2 { margin: 0 0 8px; }
.contact-card > p:not(.eyebrow) { color: var(--muted); line-height: 1.7; }
.lead-form { display: grid; gap: 13px; margin-top: 18px; }
.lead-form label { display: grid; gap: 6px; color: var(--muted); font-size: .82rem; font-weight: 700; }
.lead-form input, .lead-form textarea { width: 100%; background: white; color: var(--ink); border: 1px solid var(--line); border-radius: 11px; padding: 11px; }
.lead-page-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(330px,.72fr); gap: 48px; align-items: start; }
.narrow-intro { max-width: 820px; }
.selling-points h2 { margin: 0 0 14px; font-size: clamp(1.8rem,3vw,2.7rem); }
.selling-points p, .selling-points li { color: var(--muted); line-height: 1.9; }
.selling-points ul { padding-inline-start: 20px; }
.form-grid-full { grid-column: 1 / -1; }
.form-grid small { color: var(--muted); line-height: 1.5; font-weight: 400; }
.admin-list-shell { max-width: 1240px; }
.admin-list-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 20px; }
.admin-list-head h2 { margin: 0 0 8px; }
.admin-list-head p:not(.eyebrow) { color: var(--muted); margin: 0; }
.admin-search { display: flex; flex-direction: row; align-items: center; margin: 0 0 16px; }
.admin-search input { flex: 1; }
.admin-table-wrap { overflow-x: auto; background: white; border: 1px solid var(--line); border-radius: 18px; }
.admin-table { width: 100%; border-collapse: collapse; min-width: 680px; }
.admin-table th, .admin-table td { padding: 15px 18px; text-align: start; border-bottom: 1px solid var(--line); vertical-align: middle; }
.admin-table th { color: var(--muted); background: #fafbff; font-size: .8rem; }
.admin-table td small { display: block; color: var(--muted); margin-top: 4px; }
.table-actions { display: flex; align-items: center; gap: 8px; }
.table-actions form { margin: 0; }
.button-small { padding: 7px 10px; border-radius: 9px; font-size: .78rem; }
.button-danger { color: white; background: var(--danger); }
.empty-cell { color: var(--muted); text-align: center !important; padding: 38px !important; }
@media (max-width: 850px) {
  .marketplace-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .marketplace-filters .filter-wide, .filter-actions { grid-column: span 2; }
  .broker-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .broker-profile-columns, .lead-page-grid { grid-template-columns: 1fr; }
  .contact-card { position: static; }
}
@media (max-width: 620px) {
  .marketplace-filters, .marketplace-filters .filter-wide, .filter-actions { grid-template-columns: 1fr; grid-column: auto; }
  .filter-actions { align-items: stretch; flex-direction: column; }
  .broker-grid { grid-template-columns: 1fr; }
  .broker-profile-wrap { grid-template-columns: 1fr; gap: 13px; }
  .broker-profile-wrap .button { width: 100%; }
  .admin-list-head, .admin-search { flex-direction: column; align-items: stretch; }
}

.detail-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: -14px 0 24px; }
.detail-gallery a { aspect-ratio: 1; display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: white; }
.detail-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.detail-gallery a:hover img { transform: scale(1.05); }
.detail-location { color: var(--muted); margin: -9px 0 17px; }
.detail-grid h2 small { color: var(--muted); font-size: .82rem; font-weight: 700; }
.detail-broker { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 20px 0; padding: 14px; background: white; border: 1px solid var(--line); border-radius: 14px; }
.detail-broker span { color: var(--muted); font-size: .82rem; }
.detail-broker a { color: var(--brand-dark); font-weight: 800; }
.inquiry-card > p:not(.eyebrow) { color: var(--muted); line-height: 1.7; }
@media (max-width: 620px) { .detail-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); } }

.marketplace-shortcuts { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 14px; }
.marketplace-shortcuts a { border: 1px solid var(--line); background: rgba(255,255,255,.72); border-radius: 999px; padding: 8px 11px; color: var(--brand-dark); font-size: .8rem; font-weight: 800; transition: border-color .2s ease, background .2s ease; }
.marketplace-shortcuts a:hover { background: white; border-color: var(--brand); }
.marketplace-routes { padding-top: 12px; }
.route-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.route-grid a { min-height: 140px; display: grid; align-content: end; gap: 8px; padding: 20px; color: white; background: linear-gradient(140deg,#1c3b9b,#5635ae); border-radius: 18px; box-shadow: 0 15px 30px rgba(28,59,155,.14); transition: transform .2s ease; }
.route-grid a:nth-child(2) { background: linear-gradient(140deg,#286cce,#2f74f3); }
.route-grid a:nth-child(3) { background: linear-gradient(140deg,#713bd4,#a84eb6); }
.route-grid a:nth-child(4) { background: linear-gradient(140deg,#e15e71,#f28a70); }
.route-grid a:hover { transform: translateY(-4px); }
.route-grid strong { font-size: 1.14rem; }
.route-grid span { color: rgba(255,255,255,.86); font-size: .86rem; line-height: 1.5; }
@media (max-width: 850px) { .route-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .route-grid { grid-template-columns: 1fr; } .marketplace-shortcuts a { font-size: .75rem; } }

.property-demo-badge{position:absolute;inset:auto .8rem .8rem auto;z-index:2;padding:.32rem .58rem;border-radius:999px;background:rgba(20,33,83,.94);color:#fff;font-size:.72rem;font-style:normal;font-weight:800;box-shadow:0 4px 12px rgba(17,29,77,.2)}
.demo-notice{display:flex;gap:.65rem;align-items:flex-start;margin:1.25rem 0;padding:1rem 1.1rem;border:1px solid rgba(113,84,210,.24);border-right:4px solid var(--purple);border-radius:14px;background:#f6f3ff;color:#29335f}.demo-notice strong{white-space:nowrap;color:#4b38a6}.demo-inquiry-card{background:linear-gradient(145deg,#f7f8ff,#f2efff)}

/* Managed promotions and visual section covers */
.promotion-section{padding:12px 0 6px}.promotion-section--top{padding-top:28px}.promotion-section--inside{padding:26px 0 0}.catalog-promotion{margin:28px 0 0}.promotion-banner{position:relative;isolation:isolate;min-height:214px;display:grid;align-items:end;overflow:hidden;border-radius:22px;padding:30px;color:#fff;background:#182f7c;background-image:linear-gradient(95deg,rgba(13,24,71,.96) 0%,rgba(20,44,119,.86) 43%,rgba(29,67,150,.29) 100%),var(--promotion-image);background-size:cover;background-position:center;box-shadow:0 18px 42px rgba(22,47,119,.18);text-decoration:none}.promotion-banner::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,transparent 35%,rgba(243,132,112,.22));pointer-events:none}.promotion-banner__content{max-width:650px}.promotion-banner .eyebrow{color:#b9d7ff;margin:0 0 8px}.promotion-banner h2{margin:0;font-size:clamp(1.45rem,3vw,2.35rem);line-height:1.25}.promotion-banner p:not(.eyebrow){max-width:570px;margin:10px 0 18px;color:#eef5ff;line-height:1.8}.promotion-banner__cta{display:inline-flex;align-items:center;min-height:40px;padding:9px 15px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#fff;color:#162b74;font-size:.88rem;font-weight:800}.promotion-banner:hover .promotion-banner__cta{background:#e6f3ff}.list-property-promotion{margin-top:28px}.list-property-promotion .promotion-banner{min-height:250px;padding:24px}.promo-admin-title{display:flex;min-width:250px;align-items:center;gap:12px}.promo-admin-title img{width:64px;height:44px;object-fit:cover;border-radius:8px}.promo-admin-title strong{display:block}.promotion-preview{margin:20px 0}.promotion-preview img{width:min(100%,480px);max-height:260px;object-fit:cover;border:1px solid var(--line);border-radius:14px}.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:800}.status-draft{color:#674d0d;background:#fff4ce}.status-published{color:#14633a;background:#ddf7e9}.status-archived{color:#6b7280;background:#eef0f4}.field-error{display:block;color:#b42318;margin-top:5px}.catalog-head{position:relative;overflow:hidden;background-image:linear-gradient(100deg,rgba(246,249,255,.98),rgba(239,246,255,.76)),url('/uploads/demo-listings/demo-residence-exterior.webp');background-size:cover;background-position:center}.broker-directory-head{background-image:linear-gradient(100deg,rgba(244,248,255,.97),rgba(243,238,255,.78)),url('/uploads/demo-listings/demo-building-exterior.webp')}.route-grid a{position:relative;overflow:hidden;background-size:cover;background-position:center}.route-grid a::before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,rgba(22,45,115,.93),rgba(83,48,172,.65));z-index:0}.route-grid a>*{position:relative;z-index:1}.route-grid a:nth-child(1){background-image:url('/uploads/demo-listings/demo-apartment-light.webp')}.route-grid a:nth-child(2){background-image:url('/uploads/demo-listings/demo-interior-living.webp')}.route-grid a:nth-child(3){background-image:url('/uploads/demo-listings/demo-residence-exterior.webp')}.route-grid a:nth-child(4){background-image:url('/uploads/demo-listings/demo-villa-exterior.webp')}.route-grid a:nth-child(2)::before{background:linear-gradient(145deg,rgba(20,83,156,.91),rgba(39,113,210,.62))}.route-grid a:nth-child(3)::before{background:linear-gradient(145deg,rgba(75,44,151,.92),rgba(129,68,180,.63))}.route-grid a:nth-child(4)::before{background:linear-gradient(145deg,rgba(132,49,97,.91),rgba(224,104,96,.63))}@media(max-width:620px){.promotion-banner{min-height:195px;padding:24px 19px}.promotion-banner h2{font-size:1.42rem}.promotion-banner p:not(.eyebrow){font-size:.9rem}.promo-admin-title{min-width:210px}}
.promotion-banner__label{position:absolute;top:15px;inset-inline-end:15px;padding:4px 8px;border:1px solid rgba(255,255,255,.36);border-radius:999px;background:rgba(15,29,83,.55);color:#fff;font-size:.68rem;font-weight:800;backdrop-filter:blur(5px)}
