/* Premium-residence theme: remap the forest --spro-* tokens to the shared --sp-*
   design tokens for every public-commerce page that loads this file (rent,
   property, classifieds + their detail pages). society-pro.css (with the --sp-*
   :root + per-society data-home-design variants) is always loaded alongside. */
:root{--spro-forest:var(--sp-emerald,#121f3f);--spro-emerald:var(--sp-emerald,#121f3f);--spro-emerald-2:var(--sp-emerald-mid,#1c2e58);--spro-gold:var(--sp-champagne,#dfab77);--spro-ivory:var(--sp-ivory,#f6f1ec);--spro-ink:var(--sp-ink,#151924);--spro-muted:var(--sp-muted,#68756e);--spro-line:var(--sp-line,rgba(21,36,31,.14));--spro-font:"Manrope",system-ui,Arial,sans-serif;--spro-display:"Cormorant Garamond",Georgia,serif;}
.spro-listing-workbench-head { align-items: flex-start; }
.spro-listing-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.spro-listing-metrics article { padding: 20px; border: 1px solid var(--spro-line); border-radius: 16px; background: #fff; box-shadow: var(--spro-shadow); }
.spro-listing-metrics span { display: block; color: var(--spro-emerald); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.spro-listing-metrics strong { display: block; margin: 7px 0 4px; color: var(--spro-ink); font: 600 26px var(--spro-display); }
.spro-listing-metrics small { color: var(--spro-muted); font-size: 13px; line-height: 1.45; }
.spro-listing-inquiry-table { overflow: auto; padding: 0 18px 18px; }
.spro-listing-inquiry-table table { width: 100%; min-width: 1120px; border-collapse: collapse; border: 1px solid var(--spro-line); border-radius: 14px; background: #fff; }
.spro-listing-inquiry-table th { padding: 13px 14px; color: var(--spro-muted); background: #f4f5f8; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.spro-listing-inquiry-table td { padding: 14px; border-top: 1px solid var(--spro-line-soft); color: var(--spro-ink); font-size: 14px; vertical-align: top; }
.spro-listing-inquiry-table td b,
.spro-listing-inquiry-table td small { display: block; }
.spro-listing-inquiry-table td small { margin-top: 4px; color: var(--spro-muted); font-size: 12px; line-height: 1.45; }
.spro-listing-inquiry-table a { color: var(--spro-emerald); font-weight: 850; text-decoration: none; }
.spro-listing-row-actions { display: grid; gap: 8px; min-width: 260px; }
.spro-listing-row-actions form { display: flex; gap: 6px; align-items: center; }
.spro-listing-row-actions select,
.spro-listing-row-actions input { min-height: 38px; min-width: 0; border: 1px solid var(--spro-line); border-radius: 8px; padding: 0 9px; color: var(--spro-ink); background: #fff; font: 700 13px var(--spro-font); }
.spro-listing-row-actions input { width: 72px; }
.spro-listing-row-actions button,
.spro-mini-action { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; padding: 0 10px; border: 0; border-radius: 8px; color: #fff; background: var(--spro-emerald); font: 850 12px var(--spro-font); text-decoration: none; cursor: pointer; }
.spro-listing-row-actions button.award { background: linear-gradient(135deg, var(--spro-gold), #9d6e3f); color: #181b24; }
.spro-mini-action.danger,
.spro-host-card footer form button.danger { background: var(--spro-coral); color: #fff; }
.spro-status.status-new { background: #edf0f6; color: #1c2e58; }
.spro-status.status-contacted,
.spro-status.status-site-visit { background: #eef4ff; color: #315c8b; }
.spro-status.status-negotiation,
.spro-status.status-shortlisted,
.spro-status.status-awarded { background: #ffeedc; color: #84591e; }
.spro-status.status-converted { background: #e4e9f6; color: #1f3874; }
.spro-status.status-rejected,
.spro-status.status-withdrawn,
.spro-status.status-closed { background: #fff0ee; color: #93453e; }
.spro-listing-editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.spro-listing-editor .spro-panel-head { padding-bottom: 10px; }
.spro-listing-full-form { padding: 0 20px 22px; }
.spro-rich-textarea { min-height: 150px; line-height: 1.65; resize: vertical; }
.spro-listing-card-grid { padding: 0 18px 18px; }
.spro-host-card footer { flex-wrap: wrap; }
.spro-host-card footer > a { margin-left: auto; }
.spro-host-card details summary { min-height: 36px; }
.spro-listing-public-alert { margin: 22px 0; padding: 17px 19px; border: 1px solid #b6c1da; border-radius: 16px; color: #0a235d; background: #eef1f9; font-weight: 750; }
.spro-listing-public-alert.error { border-color: #efc5c0; color: #8f4038; background: #fff3f1; }
.spro-public-listing-photo { display: block; min-height: 180px; margin: -28px -28px 20px; border-radius: 22px 22px 0 0; background: #dfe1e7 center/cover no-repeat; }
.spro-public-module-grid h2 a { color: inherit; text-decoration: none; }
.spro-public-module-grid h2 a:hover { color: var(--spro-emerald); }
.spro-listing-commerce { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .34fr); gap: 26px; width: min(1240px, calc(100% - 40px)); margin: 24px auto 80px; }
.spro-listing-commerce-main { min-width: 0; }
.spro-listing-contact-card { position: sticky; top: 100px; align-self: start; padding: 24px; border: 1px solid rgba(18,63,53,.14); border-radius: 24px; background: #fff; box-shadow: 0 22px 70px rgba(13,50,40,.11); }
.spro-listing-contact-card h2 { margin: 4px 0 8px; font: 600 30px var(--spro-display); }
.spro-listing-contact-card p { margin: 0 0 18px; color: var(--spro-muted); font-size: 14px; line-height: 1.65; }
.spro-public-inquiry-form { display: grid; gap: 12px; }
.spro-public-inquiry-form label { display: grid; gap: 7px; color: #252e44; font-size: 13px; font-weight: 800; }
.spro-public-inquiry-form input,
.spro-public-inquiry-form select,
.spro-public-inquiry-form textarea { width: 100%; min-height: 46px; box-sizing: border-box; border: 1px solid #d9dce3; border-radius: 10px; padding: 11px 12px; color: #15213d; background: #fff; font: 500 15px/1.45 var(--spro-font); }
.spro-public-inquiry-form textarea { min-height: 128px; resize: vertical; }
.spro-public-inquiry-form button { min-height: 48px; border: 0; border-radius: 11px; color: #fff; background: linear-gradient(135deg, #121f3f, #1c2e58); font: 900 14px var(--spro-font); cursor: pointer; }
.spro-listing-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 22px 0; }
.spro-listing-flow article { padding: 16px; border: 1px solid rgba(18,63,53,.13); border-radius: 16px; background: #fff; }
.spro-listing-flow b { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #fff; background: var(--spro-emerald); font-size: 12px; }
.spro-listing-flow span { display: block; margin: 9px 0 5px; color: var(--spro-ink); font-weight: 900; }
.spro-listing-flow small { color: var(--spro-muted); font-size: 13px; line-height: 1.45; }
.spro-market-detail-hero { min-height: 420px; background: #121f3f center/cover no-repeat; }
.spro-market-detail-hero > div { min-height: inherit; display: grid; align-content: end; padding: clamp(32px, 6vw, 76px); color: #fff; background: linear-gradient(180deg, rgba(5,23,19,.08), rgba(4,29,24,.82)); }
.spro-market-detail-hero span { color: #f1d4b8; font-size: 12px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.spro-market-detail-hero h1 { max-width: 780px; margin: 10px 0; font: 560 clamp(42px, 7vw, 78px)/.94 var(--spro-display); }
.spro-market-detail-hero p { max-width: 760px; margin: 0; color: rgba(255,255,255,.82); font-size: 18px; line-height: 1.6; }
.spro-listing-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
.spro-listing-facts article { padding: 16px; border: 1px solid #dde0e7; border-radius: 14px; background: #fff; }
.spro-listing-facts span { display: block; color: var(--spro-muted); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.spro-listing-facts b { display: block; margin-top: 4px; font-size: 17px; }
.spro-inquiry-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .34fr); gap: 18px; align-items: start; }
.spro-inquiry-hero { overflow: hidden; border-radius: 22px; color: #fff; background: radial-gradient(circle at 86% 18%, rgba(234,217,159,.24), transparent 26%), linear-gradient(135deg, #121f3f, #1c2e58); box-shadow: 0 22px 58px rgba(7,59,53,.18); }
.spro-inquiry-hero > div { padding: clamp(28px, 5vw, 54px); }
.spro-inquiry-hero span { color: #f1d4b8; font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.spro-inquiry-hero h1 { margin: 8px 0; font: 560 clamp(34px, 5vw, 58px)/1 var(--spro-display); }
.spro-inquiry-hero p { max-width: 760px; color: #c7cedd; font-size: 16px; line-height: 1.65; }
.spro-inquiry-panel { padding: 20px; border: 1px solid var(--spro-line); border-radius: 18px; background: #fff; box-shadow: var(--spro-shadow); }
.spro-inquiry-panel h2 { margin: 0 0 12px; font: 600 24px var(--spro-display); }
.spro-inquiry-panel dl { margin: 0; }
.spro-inquiry-panel div { padding: 11px 0; border-top: 1px solid var(--spro-line-soft); }
.spro-inquiry-panel div:first-child { border-top: 0; }
.spro-inquiry-panel dt { color: var(--spro-muted); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.spro-inquiry-panel dd { margin: 4px 0 0; font-size: 15px; font-weight: 750; }
.spro-inquiry-thread { display: grid; gap: 12px; }
.spro-inquiry-thread article { padding: 15px; border: 1px solid var(--spro-line-soft); border-radius: 14px; background: #fbfcfd; }
.spro-inquiry-thread article.visibility-internal { border-color: #efcca8; background: #fff8f0; }
.spro-inquiry-thread header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.spro-inquiry-thread header span { color: var(--spro-emerald); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.spro-inquiry-thread header small { color: var(--spro-muted); font-size: 12px; }
.spro-inquiry-thread p { margin: 10px 0; color: #242e45; font-size: 15px; line-height: 1.65; }
.spro-inquiry-thread footer { color: var(--spro-muted); font-size: 12px; font-weight: 750; }
.spro-rent-header nav a.active,
.spro-public-module-nav nav a.active { color: var(--spro-emerald); }
.spro-public-module-nav nav a.active { color: #f1d4b8; }
.spro-public-switchboard { width: min(1240px, calc(100% - 40px)); margin: 26px auto 0; padding: 24px; border: 1px solid rgba(18,63,53,.13); border-radius: 22px; background: #fff; box-shadow: 0 18px 55px rgba(13,50,40,.08); }
.spro-public-switchboard header { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 16px; }
.spro-public-switchboard header span,
.spro-tenant-aftercare header span { display: block; color: var(--spro-emerald); font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.spro-public-switchboard h2,
.spro-tenant-aftercare h2 { max-width: 820px; margin: 4px 0 0; color: var(--spro-ink); font: 560 clamp(26px, 3vw, 38px)/1.08 var(--spro-display); }
.spro-public-switchboard > div,
.spro-tenant-aftercare > div,
.spro-owner-command-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.spro-public-switchboard a,
.spro-tenant-aftercare a,
.spro-owner-command-links a { display: grid; gap: 6px; min-height: 118px; padding: 16px; border: 1px solid #dcdfe7; border-radius: 15px; color: inherit; background: #fbfcfd; text-decoration: none; }
.spro-public-switchboard a.active { border-color: #0b2767; background: #eff2f8; box-shadow: inset 0 0 0 1px rgba(11,103,88,.15); }
.spro-public-switchboard a b,
.spro-tenant-aftercare a b,
.spro-owner-command-links a b { color: var(--spro-ink); font-size: 14px; font-weight: 900; line-height: 1.25; }
.spro-public-switchboard a small,
.spro-tenant-aftercare a small,
.spro-owner-command-links a small { color: var(--spro-muted); font-size: 12px; line-height: 1.45; }
.spro-tenant-aftercare { margin: 22px 0; padding: 24px; border: 1px solid rgba(18,63,53,.13); border-radius: 20px; background: linear-gradient(135deg, #f7f8fb, #fff); }
.spro-tenant-aftercare.spro-rent-aftercare { width: min(1240px, calc(100% - 40px)); margin: 18px auto 0; }
.spro-tenant-aftercare header { margin-bottom: 16px; }
.spro-tenant-aftercare header p { max-width: 780px; margin: 8px 0 0; color: var(--spro-muted); font-size: 14px; line-height: 1.6; }
.spro-tenant-aftercare.compact { margin-top: 20px; padding: 18px; border-radius: 16px; }
.spro-tenant-aftercare.compact h2 { font-size: 24px; }
.spro-tenant-aftercare.compact > div { grid-template-columns: 1fr; }
.spro-tenant-aftercare.compact a { min-height: 0; }
.spro-owner-command-links { margin-bottom: 18px; }
.spro-owner-command-links a { min-height: 122px; background: linear-gradient(135deg, #fff, #f6f7fa); box-shadow: var(--spro-shadow); }
.spro-rent-hero form { max-width: 980px; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
.spro-owner-host-suite { margin: 0 0 18px; padding: 22px; border: 1px solid var(--spro-line); border-radius: 18px; background: #fff; box-shadow: var(--spro-shadow); }
.spro-owner-host-suite header { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 16px; }
.spro-owner-host-suite header span { display: block; color: var(--spro-emerald); font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.spro-owner-host-suite h2 { max-width: 760px; margin: 4px 0 0; color: var(--spro-ink); font: 560 clamp(26px, 3vw, 38px)/1.08 var(--spro-display); }
.spro-owner-host-suite p { max-width: 760px; margin: 8px 0 0; color: var(--spro-muted); font-size: 14px; line-height: 1.6; }
.spro-owner-host-suite > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.spro-owner-host-suite article { min-height: 112px; padding: 15px; border: 1px solid #dcdfe7; border-radius: 12px; background: #f8f9fb; }
.spro-owner-host-suite article b { display: block; color: var(--spro-ink); font-size: 14px; line-height: 1.3; }
.spro-owner-host-suite article small { display: block; margin-top: 6px; color: var(--spro-muted); font-size: 12px; line-height: 1.45; }
.spro-host-fieldset { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 6px 0 2px; padding: 15px; border: 1px solid #dcdfe7; border-radius: 13px; background: #fbfcfd; }
.spro-host-fieldset legend { padding: 0 7px; color: var(--spro-emerald); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.spro-check-field { align-content: end; }
.spro-check-field input[type="checkbox"] { width: 22px; height: 22px; accent-color: var(--spro-emerald); }
.spro-host-mini-ledger { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 4px; }
.spro-host-mini-ledger span { padding: 5px 8px; border: 1px solid #dcdfe7; border-radius: 999px; color: #293656; background: #f4f6fa; font-size: 11px; font-weight: 800; }
.spro-listing-media-links { display: flex; gap: 8px; margin: 12px 0; }
.spro-listing-media-links a { flex: 1; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #cfd5e2; border-radius: 10px; color: var(--spro-emerald); background: #f5f7fb; font-weight: 900; text-decoration: none; }
.spro-listing-actions { display: grid; gap: 8px; margin: 12px 0; }
.spro-listing-actions a,
.spro-direct-booking article a { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid #cfd5e2; border-radius: 10px; color: var(--spro-emerald); background: #f5f7fb; font-weight: 900; text-decoration: none; }
.spro-listing-actions a.primary { color: #fff; border-color: #121f3f; background: linear-gradient(135deg, #121f3f, #1c2e58); }
.spro-direct-booking { margin: 22px 0; padding: 22px; border: 1px solid rgba(18,63,53,.13); border-radius: 20px; background: #fff; box-shadow: 0 18px 55px rgba(13,50,40,.08); }
.spro-direct-booking header span { display: block; color: var(--spro-emerald); font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.spro-direct-booking h2 { max-width: 760px; margin: 4px 0 16px; color: var(--spro-ink); font: 560 clamp(24px, 3vw, 34px)/1.08 var(--spro-display); }
.spro-direct-booking > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.spro-direct-booking article { display: grid; gap: 8px; align-content: start; min-height: 154px; padding: 16px; border: 1px solid #dcdfe7; border-radius: 14px; background: #fbfcfd; }
.spro-direct-booking article b { color: var(--spro-ink); font-size: 15px; line-height: 1.25; }
.spro-direct-booking article small { color: var(--spro-muted); font-size: 12px; line-height: 1.5; }
@media (max-width: 1120px) {
  .spro-listing-metrics,
  .spro-listing-editor-grid,
  .spro-listing-flow,
  .spro-listing-facts,
  .spro-direct-booking > div,
  .spro-public-switchboard > div,
  .spro-tenant-aftercare > div,
  .spro-owner-command-links,
  .spro-owner-host-suite > div,
  .spro-host-fieldset { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .spro-listing-commerce,
  .spro-inquiry-detail-grid { grid-template-columns: 1fr; }
  .spro-listing-contact-card { position: static; }
  .spro-public-switchboard header { display: block; }
  .spro-owner-host-suite header { display: block; }
}
@media (max-width: 700px) {
  .spro-listing-metrics,
  .spro-listing-editor-grid,
  .spro-listing-flow,
  .spro-listing-facts,
  .spro-direct-booking > div,
  .spro-public-switchboard > div,
  .spro-tenant-aftercare > div,
  .spro-owner-command-links,
  .spro-owner-host-suite > div,
  .spro-host-fieldset { grid-template-columns: 1fr; }
  .spro-listing-commerce { width: min(100% - 24px, 1240px); }
  .spro-public-switchboard,
  .spro-tenant-aftercare.spro-rent-aftercare { width: min(100% - 24px, 1240px); padding: 18px; }
  .spro-listing-row-actions { min-width: 0; }
  .spro-listing-row-actions form { flex-wrap: wrap; }
  .spro-market-detail-hero { min-height: 360px; }
  .spro-rent-hero form { grid-template-columns: 1fr; }
}
