:root {
  --bg: #f5f7fb;
  --surface: #ffffff;
  --text: #101828;
  --muted: #667085;
  --line: #e7ecf3;
  --primary: #0f766e;
  --primary-2: #134e4a;
  --soft: #f0fdfa;
  --shadow: 0 14px 40px rgba(16, 24, 40, 0.08);
  --radius: 22px;
  --radius-sm: 14px;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, Arial, sans-serif;
  background: linear-gradient(180deg, #f9fbff 0%, var(--bg) 100%);
  color: var(--text);
}
a { color: inherit; text-decoration: none; }
.container { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
.site-header {
  position: sticky; top: 0; z-index: 20;
  backdrop-filter: blur(10px);
  background: rgba(255,255,255,0.82);
  border-bottom: 1px solid rgba(231,236,243,0.85);
}
.nav-wrap { display:flex; align-items:center; justify-content:space-between; padding: 18px 0; gap: 24px; }
.brand-block { display:flex; align-items:center; gap:16px; min-width:max-content; flex-shrink:0; }
.brand { display:inline-flex; align-items:center; gap:12px; font-size: 1.5rem; font-weight: 800; letter-spacing: -0.03em; line-height:1; }
.brand span { display:block; line-height:1; transform: translateY(-1px); }
.brand img { width: 42px; height: 42px; border-radius: 14px; box-shadow: 0 8px 20px rgba(15,118,110,.18); flex-shrink:0; }
.brand-footer img { width: 34px; height: 34px; border-radius: 12px; }
.nav { display:flex; gap: 22px; color: var(--muted); margin-left: auto; }
.nav a:hover { color: var(--text); }
.header-phone {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  margin:0;
  padding-top:1px;
  color: var(--primary-2);
  font-weight: 700;
  white-space: nowrap;
  font-size: .95rem;
  line-height:1;
}
.btn {
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 999px; padding: 12px 18px; font-weight: 700;
  border: 1px solid transparent;
}
.btn-primary { background: var(--primary); color:white; box-shadow: var(--shadow); }
.btn-secondary { background:white; border-color: var(--line); }
.hero { padding: 54px 0 20px; }
.hero-minimal { padding-bottom: 10px; }
.hero-stack { display:grid; gap: 18px; }
.hero-copy h1 { font-size: clamp(2.2rem, 4.4vw, 4.5rem); line-height: 1.02; margin: 0 0 14px; letter-spacing: -0.04em; }

.container-wide { width: min(1360px, calc(100% - 48px)); }
.hero-stack-home { gap: 22px; }
.hero-copy-minimal {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}
.hero-copy-minimal h1 {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: clamp(14px, 2vw, 28px);
  text-align: center;
  text-wrap: balance;
}
.search-card.listing-filter {
  width: 100%;
}

.hero-copy p { font-size: 1.04rem; color: var(--muted); max-width: 640px; margin: 0; }
.search-card, .hero-card, .card, .dashboard-card, .metric {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
}
.search-card { padding: 18px; display:grid; grid-template-columns: 1.15fr .8fr .8fr auto; gap: 12px; }
.search-card input, .search-card select, .form-card input, .form-card select, .form-card textarea {
  width:100%; border:1px solid var(--line); border-radius: 14px; padding: 14px 15px; background:#fff; font: inherit;
}
.hero-card { padding: 22px; display:flex; flex-direction:column; justify-content:space-between; min-height: 360px;
  background: linear-gradient(180deg, rgba(15,118,110,0.95), rgba(19,78,74,0.98)); color:white; }
.badge { display:inline-flex; padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.14); font-size: .85rem; width:max-content; }
.badge-soft { background: var(--soft); color: var(--primary-2); }
.grid-3 { display:grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.section { padding: 28px 0 10px; }
.section-tight { padding-top: 12px; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom: 16px; }
.section-head-compact { align-items:center; }
.section h2 { margin:0; font-size: 1.7rem; letter-spacing:-.03em; }
.muted { color: var(--muted); }
.card { overflow:hidden; }
.card-media { height: 190px; background: linear-gradient(135deg, #d6f4f1, #ecfdf3); }
.media-house { background: linear-gradient(135deg, #d8f3dc, #f1fdf5); }
.media-apartment { background: linear-gradient(135deg, #dbeafe, #f5faff); }
.media-land { background: linear-gradient(135deg, #fef3c7, #fffaf0); }
.media-commercial { background: linear-gradient(135deg, #ede9fe, #f7f5ff); }
.media-hotel { background: linear-gradient(135deg, #fce7f3, #fff7fb); }
.media-shortstay { background: linear-gradient(135deg, #cffafe, #f0fdff); }
.card-body { padding: 18px; }
.card-body h3 { margin: 8px 0 8px; font-size: 1.12rem; letter-spacing: -.02em; }
.price { font-size: 1.1rem; font-weight: 800; margin-top: 12px; }
.kicker { color: var(--primary); font-weight: 700; font-size: .9rem; }
.listing-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.tag { background: var(--soft); color: var(--primary-2); border-radius: 999px; padding: 7px 10px; font-size: .8rem; font-weight: 700; }
.result-count { color: var(--muted); font-weight: 700; }
.pill-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.pill { border:1px solid var(--line); border-radius:999px; padding:8px 12px; color: var(--muted); font-size: .92rem; background:#fff; }
.two-col { display:grid; grid-template-columns: .95fr 1.05fr; gap: 22px; }
.form-card { padding: 22px; }
.form-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.form-card textarea { min-height: 120px; resize: vertical; }
.empty-state {
  padding: 32px 18px;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.dashboard-shell { display:grid; grid-template-columns: 260px 1fr; min-height: calc(100vh - 77px); }
.sidebar { background:#0f172a; color:#d7e0ec; padding: 20px 18px; }
.sidebar-logo-panel{display:flex;align-items:center;gap:12px;padding:14px 12px 16px;margin:-4px 0 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-logo-wrap{width:48px;height:48px;border-radius:14px;background:#ffffff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.sidebar-logo-img{max-width:76%;max-height:76%;object-fit:contain;display:block}
.sidebar-logo-copy{min-width:0}
.sidebar-logo-title{font-size:1rem;font-weight:800;letter-spacing:-.02em;color:#fff;line-height:1.1}
.sidebar-logo-subtitle{font-size:.76rem;color:#94a3b8;margin-top:3px}
.sidebar a { display:block; padding: 10px 12px; border-radius: 12px; color:#d7e0ec; margin-bottom: 6px; }
.sidebar a:hover, .sidebar a.active { background: rgba(255,255,255,.08); }
.dashboard-main { padding: 26px; }
.metrics { display:grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 18px; }
.metric { padding: 18px; }
.metric h3 { margin: 0 0 8px; font-size: .95rem; color: var(--muted); font-weight: 600; }
.metric .value { font-size: 1.8rem; font-weight: 800; }
.dashboard-card { padding: 20px; }
.listing-table { width:100%; border-collapse: collapse; }
.listing-table th, .listing-table td { text-align:left; padding: 14px 10px; border-bottom:1px solid var(--line); }
.status { display:inline-flex; padding: 7px 12px; border-radius: 999px; font-weight: 700; font-size: .82rem; }
.status.pending { background:#fff7e8; color:#b26a00; }
.status.approved { background:#ebfff5; color:#067647; }
.status.review { background:#eef4ff; color:#155eef; }
.page-hero { padding: 38px 0 10px; }
.page-hero h1 { font-size: 2.4rem; margin: 0 0 8px; letter-spacing: -.03em; }
.site-footer {
  margin-top: 46px;
  padding: 20px 0 34px;
  border-top: 1px solid rgba(231,236,243,.9);
  background: linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.92));
}
.footer-shell {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(231,236,243,.95);
  border-radius: 28px;
  box-shadow: 0 22px 54px rgba(16,24,40,.08);
  padding: 28px;
}
.footer-grid { display:grid; grid-template-columns: 1.5fr .8fr .8fr .9fr; gap: 24px; }
.footer-brand-col { display:grid; gap: 14px; }
.footer-copy { margin: 0; color: var(--muted); line-height: 1.75; max-width: 520px; }
.footer-grid h4 { margin: 4px 0 12px; font-size: 1rem; letter-spacing: -.02em; }
.footer-grid a {
  display:block;
  color: var(--muted);
  margin-bottom: 10px;
  transition: color .18s ease, transform .18s ease;
}
.footer-grid a:hover { color: var(--text); transform: translateX(2px); }
.footer-pills { display:flex; flex-wrap:wrap; gap:10px; }
.footer-pill {
  display:inline-flex;
  align-items:center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--primary-2);
  font-size: .82rem;
  font-weight: 700;
}
.footer-bottom {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(231,236,243,.95);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  color: var(--muted);
  font-size: .92rem;
}
.footer-bottom p { margin: 0; }
.footer-bottom-links { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.footer-dot { width:6px; height:6px; border-radius:999px; background:#cbd5e1; display:inline-block; }
@media (max-width: 980px) {
  .container-wide { width: min(100%, calc(100% - 24px)); }
  .hero-grid, .grid-3, .two-col, .dashboard-shell, .metrics, .form-grid, .search-card, .footer-grid { grid-template-columns: 1fr; }
  .footer-shell { padding: 22px 18px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .nav { display:none; }
  .nav-wrap { flex-wrap: wrap; }
  .nav-wrap { flex-wrap: wrap; }
  .brand-block { width: 100%; justify-content: space-between; align-items:center; }
  .nav { width: 100%; justify-content: flex-start; }
  .header-phone { font-size: .95rem; }
}

.flash{margin:16px auto 0;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.flash-error{border-color:#fecaca;background:#fff7f7;color:#991b1b}
.flash-success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.one-col{grid-template-columns:1fr}
.demo-box{margin-top:14px;padding:14px 16px;border-radius:16px;background:#f8fafc;border:1px solid var(--line);color:var(--muted);line-height:1.7}
.card-media-cover{background-size:cover;background-position:center;background-repeat:no-repeat}
.stack-list{display:grid;gap:18px}
.review-card{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}
.review-media{min-height:190px;border-radius:18px;background:linear-gradient(135deg,#dbeafe,#f8fbff);background-size:cover;background-position:center}
.review-form textarea{width:100%;min-height:110px;border:1px solid var(--line);border-radius:14px;padding:14px 15px;font:inherit;margin-top:10px}
.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.btn-danger{background:#b42318;color:#fff}
.dashboard-grid-gap{gap:18px}
.check-grid{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0;color:var(--muted)}
.check-grid label{display:flex;align-items:center;gap:8px}
.hotel-public-card{display:grid;gap:18px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mini-form{margin-top:12px}.compact-grid input{padding:12px 14px}.mini-form .btn{margin-top:10px;width:100%}
.sidebar-user{margin-bottom:18px;padding:0 12px;color:#94a3b8;font-size:.95rem;line-height:1.5}.sidebar-user span{font-size:.85rem}
.status.danger{background:#fef3f2;color:#b42318}
@media (max-width:980px){.review-card,.room-grid{grid-template-columns:1fr}}

.listing-card{transition:transform .18s ease, box-shadow .18s ease;}
.listing-card:hover{transform:translateY(-3px); box-shadow:0 18px 44px rgba(16,24,40,.10);}
.listing-card-link{display:block}
.detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
.detail-media{min-height:360px;border-radius:var(--radius);background-size:cover;background-position:center;background-repeat:no-repeat;border:1px solid var(--line);box-shadow:var(--shadow);background-color:#eef2f6}
.detail-panel{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.feature-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.feature-pill{padding:10px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted)}
@media (max-width:980px){.detail-grid{grid-template-columns:1fr}.detail-media{min-height:260px}}

.chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;align-items:start}
.chart-card{overflow:hidden}
.chart-card-wide{grid-column:span 2}
.chart-svg{width:100%;height:auto;display:block}
.chart-grid-line{stroke:#e7ecf3;stroke-width:1}
.chart-line{stroke:#0f766e;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.chart-point{fill:#fff;stroke:#0f766e;stroke-width:3}
.chart-bar{fill:#14b8a6}
.chart-axis-label{font-size:12px;fill:#667085}
.chart-value-label{font-size:12px;fill:#101828;font-weight:700}
.chart-center-value{font-size:26px;fill:#101828;font-weight:800}
.pie-wrap{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:center}
.chart-legend{display:grid;gap:10px}
.legend-item{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.legend-swatch{width:12px;height:12px;border-radius:999px;display:inline-block}
.chart-quick-actions{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:18px}
.quick-link-card{display:block}
.quick-link-card h3{margin:8px 0 6px;font-size:1.1rem}
@media (max-width:980px){.chart-grid{grid-template-columns:1fr}.chart-card-wide{grid-column:auto}.pie-wrap{grid-template-columns:1fr}}


.report-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:18px}
.summary-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--soft);color:var(--primary-2);font-size:.78rem;font-weight:700;margin-bottom:10px}
.summary-card h3{margin:0 0 8px;font-size:1rem}
.summary-card p{margin:10px 0 0;color:var(--muted);font-size:.92rem;line-height:1.5}
.summary-card .value{font-size:2rem;font-weight:800;letter-spacing:-.03em}
.split-values{display:flex;flex-wrap:wrap;gap:10px;font-weight:800;font-size:1.05rem}
.split-values span{display:inline-flex;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid var(--line)}
@media (max-width:980px){.report-summary-grid{grid-template-columns:1fr}}


/* Compact report layout */
.report-summary-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.summary-card.compact{padding:14px 14px 12px;border-radius:16px;min-height:auto}
.summary-card.compact .summary-kicker{margin-bottom:8px;padding:4px 8px;font-size:.72rem}
.summary-row{display:flex;align-items:end;justify-content:space-between;gap:10px}
.summary-card.compact h3{margin:0;font-size:.92rem;color:var(--muted);font-weight:700}
.summary-card.compact .value{font-size:1.55rem;line-height:1;font-weight:800}
.summary-card.compact p{display:none}
.summary-card-split .split-values{margin-top:10px;gap:8px;font-size:.95rem}
.summary-card-split .split-values span{padding:7px 9px;border-radius:10px}

.chart-grid.compact{gap:14px}
.chart-grid.compact .chart-card{padding:16px;border-radius:18px}
.chart-grid.compact .chart-card-wide{grid-column:span 1}
.chart-grid.compact{grid-template-columns:1.2fr .8fr}
.chart-grid.compact .chart-card:last-child{grid-column:1 / -1}
.chart-grid.compact .section-head-compact{margin-bottom:8px}
.chart-grid.compact .section-head-compact .muted{font-size:.9rem}
.chart-grid.compact .chart-svg{max-height:190px}
.chart-grid.compact .chart-pie{max-height:220px}
.chart-grid.compact .pie-wrap{grid-template-columns:220px 1fr;gap:14px;align-items:center}
.chart-grid.compact .legend-item{padding:8px 10px;border-radius:12px;font-size:.92rem}
.chart-grid.compact .chart-axis-label{font-size:10.5px}
.chart-grid.compact .chart-value-label{font-size:10.5px}
.chart-grid.compact .chart-center-value{font-size:20px}

@media (max-width:1180px){.report-summary-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.chart-grid.compact{grid-template-columns:1fr}.chart-grid.compact .chart-card:last-child{grid-column:auto}.chart-grid.compact .pie-wrap{grid-template-columns:1fr}.report-summary-grid.compact{grid-template-columns:1fr}}


/* Dashboard report redesign */
.reports-shell{display:grid;gap:18px}
.reports-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.reports-topbar h2{margin:8px 0 6px;font-size:1.75rem;letter-spacing:-.03em}
.reports-metrics-primary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:18px 18px 16px}
.metric-card-accent{background:linear-gradient(135deg,#0f766e,#134e4a);color:#fff;border-color:transparent}
.metric-card-accent .metric-meta,.metric-card-accent .metric-label{color:rgba(255,255,255,.82)}
.metric-label{font-size:.86rem;font-weight:700;color:var(--muted);margin-bottom:8px}
.metric-value{font-size:2rem;line-height:1;font-weight:800;letter-spacing:-.04em;margin-bottom:8px}
.metric-meta{font-size:.88rem;color:var(--muted)}
.reports-metrics-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mini-metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}
.mini-metric-title{color:var(--muted);font-weight:700;font-size:.9rem}
.mini-metric-card strong{font-size:1.15rem}
.reports-dashboard-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:16px;align-items:start}
.dashboard-panel{padding:18px;border-radius:22px}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.panel-head h3{margin:0 0 4px;font-size:1.02rem;letter-spacing:-.02em}
.panel-head p{margin:0;font-size:.9rem}
.panel-line{min-height:260px}
.panel-pie{min-height:260px}
.panel-bar{grid-column:1 / -1;min-height:250px}
.reports-dashboard-grid .chart-svg{max-height:170px}
.reports-dashboard-grid .chart-pie{max-height:180px}
.dashboard-pie-wrap{grid-template-columns:180px 1fr;gap:12px;align-items:center}
.compact-legend{gap:8px}
.compact-legend .legend-item{padding:8px 10px;border-radius:12px;font-size:.88rem}
.compact-legend .legend-item strong{font-size:.9rem}
@media (max-width:1180px){.reports-metrics-primary,.reports-metrics-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.reports-topbar{flex-direction:column}.reports-metrics-primary,.reports-metrics-secondary,.reports-dashboard-grid{grid-template-columns:1fr}.panel-bar{grid-column:auto}.dashboard-pie-wrap{grid-template-columns:1fr}.reports-dashboard-grid .chart-svg{max-height:none}}


.payment-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}
.payment-summary div,.bank-detail{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;gap:6px}
.payment-summary strong,.bank-detail strong{font-size:1.02rem}
.payment-form{display:grid;gap:12px;margin-top:8px}
.payment-form select{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px 15px;background:#fff;font:inherit}
.payment-inline-note{padding:14px 16px;border-radius:16px;background:var(--soft);color:var(--primary-2);font-weight:600}
.payment-method-card{display:grid;gap:14px}
.bank-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.payment-safe-box{padding:16px;border-radius:18px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid var(--line)}
@media (max-width:980px){.payment-summary,.bank-grid{grid-template-columns:1fr}}


.payment-inline-strip{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.payment-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700;color:var(--primary-2);font-size:.86rem}
.payment-chip.active{background:var(--soft);border-color:#b7efe9}
.payment-methods-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.payment-option-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:18px}
.compact-bank-grid{grid-template-columns:1fr}
@media (max-width:980px){.payment-methods-grid{grid-template-columns:1fr}}


/* Payment reporting */
.reports-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.reports-section-head h3{margin:8px 0 4px;font-size:1.25rem;letter-spacing:-.02em}
.metric-card-payment{background:linear-gradient(135deg,#1d4ed8,#1e40af);color:#fff;border-color:transparent}
.metric-card-payment .metric-meta,.metric-card-payment .metric-label{color:rgba(255,255,255,.82)}
.payment-metrics-grid .metric-value{font-size:1.65rem}
.payment-dashboard-grid .panel-pie{min-height:220px}
.payment-method-list{display:grid;gap:10px;margin-top:8px}
.payment-method-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;background:var(--soft);border:1px solid #d9f4f0;font-weight:700;color:var(--primary-2)}
@media (max-width:980px){.reports-section-head{flex-direction:column;align-items:flex-start}}


.agent-card .card-body{display:grid;gap:10px}
.agent-avatar{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#d6f4f1,#ecfdf3);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:800;color:var(--primary-2);margin-top:4px}
.agent-avatar-lg{width:88px;height:88px;border-radius:28px;font-size:2rem}
.agent-rating-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.stars{color:#f59e0b;font-size:1rem;letter-spacing:1px}
.agent-profile-shell{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}
.agent-profile-head{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.summary-mini-list{display:grid;gap:12px}
.summary-mini-list div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.review-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.agent-review-list{display:grid;gap:14px}
.agent-review-item{padding:14px 0;border-bottom:1px solid var(--line)}
.agent-review-item:last-child{border-bottom:none;padding-bottom:0}
.agent-review-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.agent-review-form select,.agent-review-form textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px 15px;background:#fff;font:inherit}
.agent-review-form .btn{margin-top:12px}
@media (max-width:980px){.agent-profile-shell,.review-layout,.agent-profile-head{grid-template-columns:1fr}}


/* Scoped home hero fix: widen heading only, keep search filter original */
.hero-stack-home.hero-home-wide{
  width: min(1360px, calc(100% - 48px));
}






/* ===== HOME HERO: heading wide, filter normal ===== */
.hero-stack-home {
  gap: 22px;
}

.hero-copy-minimal {
  width: 100%;
  max-width: 100%;
  padding-inline: 0;
}

.hero-title-wide {
  display: block;
  width: min(1360px, calc(100vw - 48px));
  max-width: none;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  text-wrap: balance;
  line-height: 1.06;
}

.search-card.listing-filter {
  width: 100%;
  max-width: none;
}

@media (max-width: 980px) {
  .hero-title-wide {
    width: calc(100vw - 32px);
  }
}


.listing-row-block{margin-top:22px}
.listing-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.listing-row-head h3{margin:0;font-size:1.12rem;letter-spacing:-.02em}
.listing-row-head span{color:var(--muted);font-weight:700;font-size:.92rem}
.listing-carousel{position:relative;overflow:hidden;border-radius:24px}
.listing-carousel::before,.listing-carousel::after{content:"";position:absolute;top:0;bottom:0;width:54px;z-index:2;pointer-events:none}
.listing-carousel::before{left:0;background:linear-gradient(90deg,#f5f7fb 5%,rgba(245,247,251,0))}
.listing-carousel::after{right:0;background:linear-gradient(270deg,#f5f7fb 5%,rgba(245,247,251,0))}
.listing-track{display:flex;gap:18px;width:max-content;animation:listingAutoScroll 34s linear infinite;will-change:transform;padding:2px 0}
.listing-track.is-static{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;animation:none}
.listing-slide{flex:0 0 min(340px,calc(100vw - 56px));max-width:340px}
.listing-slide .listing-card{height:100%}
@keyframes listingAutoScroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}
@media (max-width:980px){.listing-row-head{align-items:flex-start;flex-direction:column}.listing-carousel::before,.listing-carousel::after{width:32px}.listing-slide{flex-basis:min(300px,calc(100vw - 44px))}.listing-track.is-static{grid-template-columns:1fr}}

.hotel-public-cover{width:100%;height:240px;border-radius:22px;margin-bottom:18px;background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:inset 0 0 0 1px rgba(15,23,42,.04);}
@media (max-width: 768px){.hotel-public-cover{height:200px;}}


/* ===== UI next level polish ===== */
:root {
  --bg: #f3f7fb;
  --surface-2: #f8fbff;
  --line-strong: #dbe5f0;
  --shadow-soft: 0 10px 30px rgba(15, 23, 42, 0.06);
  --shadow-premium: 0 20px 50px rgba(15, 23, 42, 0.10);
}
body {
  background:
    radial-gradient(circle at top left, rgba(20,184,166,0.10), transparent 22%),
    radial-gradient(circle at top right, rgba(59,130,246,0.08), transparent 20%),
    linear-gradient(180deg, #fbfdff 0%, var(--bg) 100%);
}
.site-header {
  background: rgba(255,255,255,0.88);
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.04);
}
.nav a {
  position: relative;
  padding: 10px 12px;
  border-radius: 12px;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.nav a:hover {
  color: var(--primary-2);
  background: rgba(15,118,110,.08);
  transform: translateY(-1px);
}
.header-phone {
  padding: 10px 14px;
  border: 1px solid rgba(15,118,110,.14);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(240,253,250,.95), rgba(255,255,255,.96));
}
.btn {
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary:hover { box-shadow: 0 16px 34px rgba(15,118,110,.22); }
.btn-secondary:hover { border-color: var(--line-strong); background: var(--surface-2); }
.hero-title-wide {
  letter-spacing: -0.05em;
  text-shadow: 0 10px 24px rgba(15,23,42,.08);
}
.search-card,
.hero-card,
.card,
.dashboard-card,
.metric,
.summary-card,
.payment-option-card,
.metric-card,
.mini-metric-card { box-shadow: var(--shadow-soft); }
.search-card.listing-filter {
  padding: 14px;
  border: 1px solid rgba(219,229,240,.92);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
}
.search-card.listing-filter input,
.search-card.listing-filter select {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-color: #dbe5f0;
  min-height: 52px;
}
.search-card.listing-filter input:focus,
.search-card.listing-filter select:focus,
.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus {
  outline: none;
  border-color: rgba(13,148,136,.55);
  box-shadow: 0 0 0 4px rgba(13,148,136,.10);
}
.result-count,
.listing-row-head span {
  display: inline-flex;
  align-items: center;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  border: 1px solid var(--line);
  box-shadow: 0 8px 20px rgba(15,23,42,.04);
}
.listing-row-block {
  padding: 16px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.7), rgba(255,255,255,.52));
  border: 1px solid rgba(219,229,240,.8);
  box-shadow: 0 12px 38px rgba(15,23,42,.05);
}
.listing-track { padding: 4px 0; }
.listing-slide { padding: 2px; }
.listing-card-link { border-radius: 24px; }
.listing-card {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(219,229,240,.88);
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}
.listing-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.02) 62%, rgba(15,23,42,.04) 100%);
  pointer-events: none;
}
.card-media,
.card-media-cover {
  height: 210px;
  position: relative;
  background-color: #edf3f8;
}
.card-media-cover::after,
.hotel-public-cover::after,
.review-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,.05) 60%, rgba(15,23,42,.16) 100%);
  pointer-events: none;
}

.detail-media {
  position: relative;
}
.detail-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
}
.card-body { position: relative; padding: 18px 18px 20px; }
.card-body h3 { font-size: 1.08rem; line-height: 1.25; }
.price {
  display: inline-flex;
  align-items: center;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(240,253,250,1), rgba(255,255,255,1));
  border: 1px solid rgba(15,118,110,.12);
}
.tag,
.badge,
.badge-soft,
.feature-pill,
.pill,
.status,
.payment-chip { box-shadow: 0 6px 16px rgba(15,23,42,.04); }
.empty-state { background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); }
.metric {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.metric::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, #14b8a6, #0f766e);
}
.metric .value { letter-spacing: -.04em; }
.dashboard-card {
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}
.listing-table th {
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #64748b;
  background: #fbfdff;
}
.listing-table tbody tr { transition: background .16s ease; }
.listing-table tbody tr:hover { background: rgba(15,118,110,.04); }
.hotel-public-card {
  position: relative;
  padding: 18px;
  border-radius: 28px;
  overflow: hidden;
}
.hotel-public-cover {
  position: relative;
  height: 280px;
  margin-bottom: 4px;
  border-radius: 24px;
  box-shadow: var(--shadow-premium);
}
.hotel-public-card > div:nth-child(2) { padding: 8px 4px 2px; }
.room-grid .card {
  border-radius: 22px;
  border: 1px solid rgba(219,229,240,.88);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.payment-inline-note {
  border: 1px solid rgba(15,118,110,.10);
  background: linear-gradient(180deg, #f0fdfa 0%, #ffffff 100%);
}
@media (max-width: 980px) {
  .listing-row-block { padding: 12px; border-radius: 22px; }
  .hotel-public-cover { height: 220px; }
  .metric::before { height: 3px; }
}


/* ===== FINAL dashboard overlay containment fix ===== */
body.public-page .detail-media,
body.public-page .review-media,
body.public-page .card-media,
body.public-page .card-media-cover,
body.public-page .hotel-public-cover,
body.public-page .listing-carousel,
body.dashboard-page .detail-media,
body.dashboard-page .review-media,
body.dashboard-page .card-media,
body.dashboard-page .card-media-cover,
body.dashboard-page .hotel-public-cover,
body.dashboard-page .listing-carousel,
body.dashboard-page .listing-card {
  position: relative !important;
  overflow: hidden;
  isolation: isolate;
}

body.dashboard-page .detail-media::after,
body.dashboard-page .review-media::after,
body.dashboard-page .card-media-cover::after,
body.dashboard-page .hotel-public-cover::after,
body.dashboard-page .listing-card::after,
body.dashboard-page .listing-carousel::before,
body.dashboard-page .listing-carousel::after {
  content: none !important;
  display: none !important;
}

body.dashboard-page .dashboard-card,
body.dashboard-page .metric,
body.dashboard-page .card,
body.dashboard-page .panel,
body.dashboard-page .table-wrap,
body.dashboard-page .section,
body.dashboard-page .review-card,
body.dashboard-page .listing-table {
  position: relative;
  z-index: 1;
}

body.dashboard-page .review-media,
body.dashboard-page .detail-media,
body.dashboard-page .card-media,
body.dashboard-page .card-media-cover,
body.dashboard-page .hotel-public-cover {
  background-clip: padding-box;
}

body.dashboard-page .site-header,
body.dashboard-page .hero-title-wide,
body.dashboard-page .search-card.listing-filter {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}


/* ===== Listing stars + favorites ===== */
.listing-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 10px;flex-wrap:wrap}
.listing-card-actions-top{margin:10px 0 14px}
.listing-rating-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(15,23,42,.06);border:1px solid rgba(148,163,184,.22);font-size:.86rem;font-weight:700;color:#0f172a;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.listing-rating-badge-inline{background:rgba(255,255,255,.94)}
.listing-fav-form{margin:0}
.listing-fav-btn{width:42px;height:42px;border:none;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#94a3b8;font-size:1.05rem;font-weight:800;box-shadow:0 10px 24px rgba(15,23,42,.12);cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, color .15s ease}
.listing-fav-btn:hover{transform:translateY(-1px);color:#ef4444;box-shadow:0 14px 28px rgba(15,23,42,.16)}
.listing-fav-btn.is-active{color:#ef4444;background:#fff1f2}
.listing-card .listing-card-link + .listing-card-actions{margin-top:14px}

.listing-rating-badge{white-space:nowrap}.listing-rating-badge span{display:inline-flex;align-items:center}

.listing-media-shell{position:relative}
.listing-card-actions-overlay{position:absolute;top:14px;left:14px;right:14px;z-index:3;margin:0;justify-content:space-between;align-items:flex-start;pointer-events:none}
.listing-card-actions-overlay .listing-fav-form,.listing-card-actions-overlay .listing-fav-btn,.listing-card-actions-overlay .listing-rating-badge{pointer-events:auto}
.listing-rating-badge-overlay{background:rgba(15,23,42,.78);border:1px solid rgba(255,255,255,.12);color:#facc15;box-shadow:0 12px 30px rgba(15,23,42,.25)}
.listing-rating-badge-overlay span{color:#fff7cc}
@media (max-width: 640px){.listing-card-actions-overlay{top:10px;left:10px;right:10px}.listing-rating-badge-overlay{padding:7px 10px;font-size:.8rem}.listing-card-actions-overlay .listing-fav-btn{width:38px;height:38px}}


/* Notification bell next level */
.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:14px 18px;border-radius:22px;background:linear-gradient(135deg,#ffffff,#f8fbff);border:1px solid rgba(15,23,42,.06);box-shadow:0 18px 45px rgba(15,23,42,.08)}
.dashboard-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8}
.dashboard-topbar-name{font-size:18px;font-weight:800;color:#0f172a}
.notif-wrap{position:relative;display:inline-flex}
.notif-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:none;border-radius:999px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.14);cursor:pointer}
.notif-bell-icon{font-size:21px;line-height:1}
.notif-badge{position:absolute;top:-4px;right:-3px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(239,68,68,.35)}
.notif-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:min(390px,92vw);background:#fff;border-radius:24px;border:1px solid rgba(15,23,42,.08);box-shadow:0 28px 70px rgba(15,23,42,.18);overflow:hidden;display:none;z-index:1200}
.notif-dropdown.open{display:block}
.notif-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 18px 14px;border-bottom:1px solid #eef2f7}
.notif-subtext{font-size:12px;color:#64748b;margin-top:2px}
.notif-mark-all{border:none;background:transparent;color:#2563eb;font-weight:700;cursor:pointer}
.notif-list{max-height:420px;overflow:auto}
.notif-item{display:flex;align-items:flex-start;gap:12px;padding:15px 18px;text-decoration:none;color:inherit;border-bottom:1px solid #f1f5f9;transition:background-color .18s ease}
.notif-item:last-child{border-bottom:none}
.notif-item:hover{background:#f8fafc}
.notif-item.unread{background:#fff8e7}
.notif-dot{width:11px;height:11px;flex:0 0 11px;border-radius:999px;background:#94a3b8;margin-top:6px;box-shadow:0 0 0 4px rgba(148,163,184,.14)}
.notif-dot.type-info,.notif-dot.type-general{background:#64748b;box-shadow:0 0 0 4px rgba(100,116,139,.14)}
.notif-dot.type-booking{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.14)}
.notif-dot.type-payment{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.18)}
.notif-dot.type-review{background:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.16)}
.notif-dot.type-approval{background:#8b5cf6;box-shadow:0 0 0 4px rgba(139,92,246,.16)}
.notif-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.notif-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.notif-message{font-size:13px;line-height:1.45;color:#475569}
.notif-time{font-size:12px;color:#94a3b8}
.notif-empty{padding:28px 18px;text-align:center;color:#64748b}
@media (max-width: 768px){.dashboard-topbar{padding:14px}.notif-dropdown{right:-8px;width:min(360px,94vw)}}

.dashboard-topbar-actions{margin-left:auto}
.notif-dropdown[hidden]{display:none !important}
.notif-head > div{min-width:0}
.notif-mark-all{padding:0}
.notif-title-row strong{display:block;font-size:14px;color:#0f172a;line-height:1.35}
.notif-item .status{flex:0 0 auto}

/* Dalali premium agent/profile upgrade */
.agent-premium-hero{padding:34px 0 12px;background:linear-gradient(135deg,#ecfdf5 0%,#eff6ff 52%,#fff 100%);border-bottom:1px solid var(--line)}
.agent-premium-grid{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:stretch}
.agent-premium-card,.premium-unlock-card{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 24px 70px rgba(15,23,42,.08);overflow:hidden}
.agent-premium-card{display:flex;gap:22px;padding:24px;align-items:center}
.agent-premium-avatar{width:150px;height:150px;border-radius:32px;background:linear-gradient(135deg,var(--primary),#134e4a);color:white;display:flex;align-items:center;justify-content:center;font-size:3.5rem;font-weight:900;background-size:cover;background-position:center;flex:0 0 auto;box-shadow:0 18px 48px rgba(15,118,110,.22)}
.agent-premium-copy h1{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.045em;line-height:1;margin:10px 0 10px}
.premium-unlock-card h3{font-size:1.45rem;margin:12px 0 10px;letter-spacing:-.03em}
.locked-contact-box,.locked-mini{border:1px dashed #f59e0b;background:#fffbeb;color:#92400e;border-radius:18px;padding:13px 14px;font-weight:800;line-height:1.5}
.locked-mini{margin-top:14px;font-size:.85rem;padding:10px 12px}
.premium-contact-list{display:grid;gap:10px;margin:12px 0}
.premium-contact-list a{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#f8fafc;font-weight:800;color:var(--text)}
.property-contact-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.agent-avatar-photo{background-size:cover!important;background-position:center!important;color:#fff}
.agent-card-pro{transition:transform .2s ease,box-shadow .2s ease}
.agent-card-pro:hover,.modern-property-card:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(15,23,42,.12)}
.media-badge{position:absolute;right:12px;bottom:12px;background:rgba(15,23,42,.78);color:#fff;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800;backdrop-filter:blur(8px)}
.card-media-cover{position:relative;background-size:cover;background-position:center}

.property-detail-grid{grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);align-items:start;max-width:1120px;margin-inline:auto}.property-detail-grid .detail-panel{min-width:0}.property-slider{position:relative;width:100%;max-width:460px;height:258px;min-height:0;justify-self:start;border-radius:18px;overflow:hidden;background:#0f172a;box-shadow:0 10px 28px rgba(15,23,42,.09);border:1px solid rgba(226,232,240,.9)}
.property-slider-track,.property-slide{position:absolute;inset:0}
.property-slide{opacity:0;pointer-events:none;transition:opacity .28s ease;background:#0f172a;display:flex;align-items:center;justify-content:center}
.property-slide.active{opacity:1;pointer-events:auto}
.property-slide img,.property-slide video{width:100%;height:100%;object-fit:cover;display:block}
.slider-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.88);box-shadow:0 7px 16px rgba(15,23,42,.12);font-size:1.2rem;line-height:1;cursor:pointer;color:#0f172a}
.slider-nav.prev{left:8px}.slider-nav.next{right:8px}
.slider-dots{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:5px;z-index:5}
.slider-dots button{width:6px;height:6px;border-radius:999px;border:0;background:rgba(255,255,255,.62);cursor:pointer;padding:0}.slider-dots button.active{width:16px;background:#fff}
.review-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.agent-review-list{display:grid;gap:12px}.agent-review-item{border:1px solid var(--line);border-radius:18px;padding:14px;background:#f8fafc}.agent-review-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.stars{color:#f59e0b;letter-spacing:.05em}.agent-profile-head{display:flex;align-items:center;gap:16px}.agent-avatar-lg{width:86px;height:86px;font-size:2rem}
@media(max-width:980px){.agent-premium-grid,.review-layout{grid-template-columns:1fr}.agent-premium-card{flex-direction:column;text-align:center;align-items:flex-start}.property-detail-grid{grid-template-columns:1fr}.property-slider{max-width:100%;height:240px;border-radius:16px}.property-contact-list{grid-template-columns:1fr}}@media(max-width:640px){.property-slider{height:190px}.property-detail-grid{width:min(100% - 24px,1120px)}}

/* Property details overflow fix: keep the whole page inside the same boundary as the header */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
img, video, iframe, table {
  max-width: 100%;
}
.container,
.page-hero .container,
.section > .container {
  max-width: min(1120px, calc(100vw - 32px));
}
.nav-wrap,
.brand-block,
.detail-grid,
.property-detail-grid,
.detail-panel,
.property-slider,
.payment-safe-box,
.payment-summary,
.premium-contact-list,
.feature-list,
.listing-top {
  min-width: 0;
}
.property-detail-grid {
  width: 100%;
  max-width: min(1120px, calc(100vw - 32px));
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  grid-template-columns: minmax(0, 440px) minmax(0, 1fr);
  gap: 18px;
}
.property-detail-grid .detail-panel {
  width: 100%;
  overflow: hidden;
}
.property-detail-grid .detail-panel * {
  max-width: 100%;
}
.property-slider {
  width: 100%;
  max-width: 440px;
  height: 248px;
  justify-self: stretch;
}
.property-slide img,
.property-slide video {
  max-width: 100%;
  min-width: 0;
}
.payment-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.payment-summary div,
.payment-summary strong,
.premium-contact-list a,
.feature-pill,
.payment-chip,
.btn,
.muted,
.price {
  overflow-wrap: anywhere;
  word-break: normal;
}
.payment-inline-strip,
.property-contact-list,
.feature-list,
.detail-panel > div[style*="display:flex"] {
  max-width: 100%;
}
@media (max-width: 980px) {
  .container,
  .page-hero .container,
  .section > .container,
  .property-detail-grid {
    max-width: calc(100vw - 24px);
  }
  .property-detail-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .property-slider {
    max-width: 100%;
    height: 220px;
  }
  .payment-summary {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 640px) {
  .container,
  .page-hero .container,
  .section > .container,
  .property-detail-grid {
    width: min(100%, calc(100vw - 18px));
    max-width: calc(100vw - 18px);
  }
  .detail-panel {
    padding: 16px;
  }
  .property-slider {
    height: 180px;
  }
  .btn {
    padding: 10px 14px;
  }
}


/* FINAL BOUNDARY FIX: property page content must align exactly with header logo-to-login width */
:root {
  --dalali-header-boundary: min(1120px, calc(100vw - 32px));
}
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
body.property-page main,
body.property-page .page-hero,
body.property-page .section {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
.site-header > .container,
body.property-page .page-hero > .container,
body.property-page .section > .container,
body.property-page main > .container {
  width: var(--dalali-header-boundary) !important;
  max-width: var(--dalali-header-boundary) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.property-page .property-detail-grid,
body.property-page #reviews > .container {
  display: grid !important;
  width: var(--dalali-header-boundary) !important;
  max-width: var(--dalali-header-boundary) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
body.property-page .property-detail-grid {
  grid-template-columns: minmax(0, 390px) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  overflow: visible !important;
}
body.property-page .property-slider {
  width: 100% !important;
  max-width: 390px !important;
  height: 220px !important;
  min-width: 0 !important;
  justify-self: stretch !important;
}
body.property-page .detail-panel,
body.property-page .payment-safe-box,
body.property-page .payment-summary,
body.property-page .premium-contact-list,
body.property-page .property-contact-list,
body.property-page .feature-list,
body.property-page .payment-inline-strip,
body.property-page .stack-list,
body.property-page form,
body.property-page input,
body.property-page textarea,
body.property-page select {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.property-page .detail-panel {
  width: 100% !important;
  overflow: hidden !important;
}
body.property-page .detail-panel * {
  max-width: 100%;
}
body.property-page .listing-top,
body.property-page .detail-panel > div[style*="display:flex"],
body.property-page .payment-inline-strip,
body.property-page .feature-list {
  flex-wrap: wrap !important;
  min-width: 0 !important;
}
body.property-page .price,
body.property-page .muted,
body.property-page h1,
body.property-page h2,
body.property-page h3,
body.property-page p,
body.property-page strong,
body.property-page span,
body.property-page a,
body.property-page .btn,
body.property-page .feature-pill,
body.property-page .payment-chip,
body.property-page .premium-contact-list a {
  overflow-wrap: anywhere;
  word-break: normal;
}
body.property-page .payment-summary,
body.property-page .property-contact-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.property-page img,
body.property-page video,
body.property-page iframe {
  max-width: 100% !important;
}
@media (max-width: 1040px) {
  :root { --dalali-header-boundary: min(100%, calc(100vw - 24px)); }
  .site-header > .container,
  body.property-page .page-hero > .container,
  body.property-page .section > .container,
  body.property-page main > .container,
  body.property-page .property-detail-grid,
  body.property-page #reviews > .container {
    width: var(--dalali-header-boundary) !important;
    max-width: var(--dalali-header-boundary) !important;
  }
  body.property-page .property-detail-grid,
  body.property-page #reviews > .container {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.property-page .property-slider {
    max-width: 100% !important;
    height: 220px !important;
  }
}
@media (max-width: 640px) {
  :root { --dalali-header-boundary: min(100%, calc(100vw - 18px)); }
  body.property-page .property-slider { height: 180px !important; }
  body.property-page .payment-summary,
  body.property-page .property-contact-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.property-page .detail-panel { padding: 16px !important; }
}

/* DEEP FIX 2026-05-04: property.php must never exceed the exact header inner boundary */
body.property-page {
  --property-boundary: min(1120px, calc(100vw - 32px));
  overflow-x: hidden !important;
}
body.property-page *,
body.property-page *::before,
body.property-page *::after {
  box-sizing: border-box !important;
}
body.property-page .site-header,
body.property-page main,
body.property-page .page-hero,
body.property-page .section,
body.property-page footer {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}
body.property-page .site-header > .container,
body.property-page .page-hero > .container,
body.property-page .section > .container,
body.property-page .property-boundary,
body.property-page #reviews > .container {
  width: var(--property-boundary) !important;
  max-width: var(--property-boundary) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.property-page .nav-wrap {
  min-width: 0 !important;
}
body.property-page .brand-block,
body.property-page .brand,
body.property-page .header-phone,
body.property-page .nav,
body.property-page .nav a {
  min-width: 0 !important;
}
body.property-page .nav {
  flex: 1 1 auto !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  row-gap: 8px !important;
}
body.property-page .property-detail-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 395px) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  width: var(--property-boundary) !important;
  max-width: var(--property-boundary) !important;
  overflow: hidden !important;
}
body.property-page .property-slider {
  width: 100% !important;
  max-width: 395px !important;
  min-width: 0 !important;
  height: 222px !important;
  justify-self: stretch !important;
  overflow: hidden !important;
}
body.property-page .property-slider-track,
body.property-page .property-slide,
body.property-page .property-slide img,
body.property-page .property-slide video {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
body.property-page .property-slide img,
body.property-page .property-slide video {
  height: 100% !important;
  object-fit: cover !important;
}
body.property-page .detail-panel,
body.property-page .payment-safe-box,
body.property-page .locked-contact-box,
body.property-page .card,
body.property-page .card-body,
body.property-page .payment-form,
body.property-page .stack-list,
body.property-page .feature-list,
body.property-page .payment-inline-strip,
body.property-page .premium-contact-list,
body.property-page .property-contact-list,
body.property-page .payment-summary,
body.property-page .section-head,
body.property-page .listing-top,
body.property-page form,
body.property-page input,
body.property-page select,
body.property-page textarea {
  min-width: 0 !important;
  max-width: 100% !important;
  width: auto;
}
body.property-page .detail-panel {
  width: 100% !important;
  overflow: hidden !important;
}
body.property-page .detail-panel > div[style*="display:flex"],
body.property-page .detail-panel div[style*="display:flex"],
body.property-page .listing-top,
body.property-page .section-head,
body.property-page .feature-list,
body.property-page .payment-inline-strip {
  flex-wrap: wrap !important;
  min-width: 0 !important;
}
body.property-page .payment-summary,
body.property-page .property-contact-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
body.property-page .payment-summary > div,
body.property-page .premium-contact-list > a,
body.property-page .property-contact-list > a,
body.property-page .btn,
body.property-page .payment-chip,
body.property-page .feature-pill,
body.property-page .tag,
body.property-page .kicker {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
}
body.property-page h1,
body.property-page h2,
body.property-page h3,
body.property-page p,
body.property-page span,
body.property-page a,
body.property-page strong,
body.property-page div {
  overflow-wrap: anywhere !important;
}
body.property-page .property-reviews-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 18px !important;
  overflow: hidden !important;
}
@media (max-width: 980px) {
  body.property-page { --property-boundary: min(1120px, calc(100vw - 24px)); }
  body.property-page .property-detail-grid,
  body.property-page .property-reviews-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.property-page .property-slider {
    max-width: 100% !important;
    height: min(240px, 56vw) !important;
  }
}
@media (max-width: 640px) {
  body.property-page { --property-boundary: calc(100vw - 18px); }
  body.property-page .site-header > .container,
  body.property-page .page-hero > .container,
  body.property-page .section > .container,
  body.property-page .property-boundary,
  body.property-page #reviews > .container {
    width: var(--property-boundary) !important;
    max-width: var(--property-boundary) !important;
  }
  body.property-page .nav-wrap {
    gap: 10px !important;
    padding: 12px 0 !important;
  }
  body.property-page .brand-block {
    flex: 1 1 100% !important;
    justify-content: space-between !important;
  }
  body.property-page .nav {
    flex: 1 1 100% !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    font-size: .9rem !important;
  }
  body.property-page .property-slider {
    height: 188px !important;
  }
  body.property-page .payment-summary,
  body.property-page .property-contact-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.property-page .detail-panel {
    padding: 16px !important;
  }
}

/* PROPERTY PAGE DEEP LAYOUT FIX - aligns content from header logo start to Login button end */
body.property-page {
  --property-readable-boundary: min(980px, 100%);
  overflow-x: hidden !important;
}

body.property-page .page-hero > .container,
body.property-page .section > .container {
  width: min(1120px, calc(100vw - 32px)) !important;
  max-width: min(1120px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: hidden !important;
}

body.property-page .property-boundary,
body.property-page .property-detail-grid,
body.property-page #reviews > .container,
body.property-page .property-reviews-grid {
  width: var(--property-readable-boundary) !important;
  max-width: var(--property-readable-boundary) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.property-page .property-detail-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 640px) minmax(260px, 300px) !important;
  gap: 18px !important;
  align-items: start !important;
  overflow: hidden !important;
}

body.property-page .property-slider {
  width: 100% !important;
  max-width: 640px !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  max-height: 330px !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  border-radius: 14px !important;
}

body.property-page .detail-panel {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 18px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

body.property-page .detail-panel > div[style*="display:flex"],
body.property-page .listing-top,
body.property-page .feature-list,
body.property-page .payment-inline-strip {
  display: flex !important;
  flex-wrap: wrap !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body.property-page .payment-summary,
body.property-page .property-contact-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.property-page .payment-summary div,
body.property-page .payment-summary strong,
body.property-page .premium-contact-list a,
body.property-page .feature-pill,
body.property-page .payment-chip,
body.property-page .btn,
body.property-page p,
body.property-page span,
body.property-page strong,
body.property-page a {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  white-space: normal !important;
}

body.property-page .property-reviews-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  overflow: hidden !important;
}

@media (max-width: 1040px) {
  body.property-page .property-boundary,
  body.property-page .property-detail-grid,
  body.property-page #reviews > .container,
  body.property-page .property-reviews-grid {
    width: 100% !important;
    max-width: 100% !important;
  }
  body.property-page .property-detail-grid,
  body.property-page .property-reviews-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.property-page .property-slider {
    max-width: 100% !important;
    max-height: none !important;
  }
}

@media (max-width: 640px) {
  body.property-page .page-hero > .container,
  body.property-page .section > .container {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
  }
  body.property-page .property-slider {
    aspect-ratio: 4 / 3 !important;
  }
  body.property-page .detail-panel {
    padding: 15px !important;
  }
  body.property-page .payment-summary,
  body.property-page .property-contact-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* =========================================================
   PROPERTY PAGE HARD BOUNDARY FIX - 2026-05-04
   Lengo: side/detail card ibaki NDANI ya mstari wa header
   (kuanzia logo hadi mwisho wa Login button), isikimbilie kulia.
   ========================================================= */
body.property-page {
  --property-header-line: min(880px, calc(100vw - 32px));
}

body.property-page .page-hero > .container,
body.property-page .property-detail-section > .container,
body.property-page #reviews > .container,
body.property-page .property-reviews-grid {
  width: var(--property-header-line) !important;
  max-width: var(--property-header-line) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.property-page .property-detail-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 600px) minmax(220px, 260px) !important;
  gap: 16px !important;
  align-items: start !important;
  width: var(--property-header-line) !important;
  max-width: var(--property-header-line) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.property-page .property-slider {
  width: 100% !important;
  max-width: 600px !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  max-height: 315px !important;
  justify-self: stretch !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.property-page .detail-panel {
  width: 100% !important;
  max-width: 260px !important;
  min-width: 0 !important;
  justify-self: end !important;
  padding: 16px !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.property-page .detail-panel .btn,
body.property-page .detail-panel .payment-chip,
body.property-page .detail-panel .feature-pill,
body.property-page .detail-panel .tag,
body.property-page .detail-panel .price,
body.property-page .detail-panel p,
body.property-page .detail-panel a,
body.property-page .detail-panel strong,
body.property-page .detail-panel span {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.property-page .detail-panel .price {
  font-size: clamp(.95rem, 1.25vw, 1.08rem) !important;
  line-height: 1.25 !important;
}

body.property-page .detail-panel .payment-summary,
body.property-page .detail-panel .property-contact-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.property-page .detail-panel .payment-safe-box {
  padding: 14px !important;
  border-radius: 14px !important;
}

body.property-page .detail-panel .btn {
  padding: 9px 12px !important;
  font-size: .82rem !important;
}

body.property-page .property-reviews-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

@media (min-width: 1200px) {
  body.property-page {
    --property-header-line: 880px;
  }
}

@media (max-width: 960px) {
  body.property-page {
    --property-header-line: calc(100vw - 24px);
  }
  body.property-page .property-detail-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.property-page .property-slider,
  body.property-page .detail-panel {
    max-width: 100% !important;
    justify-self: stretch !important;
  }
  body.property-page .property-slider {
    max-height: none !important;
  }
}

@media (max-width: 640px) {
  body.property-page {
    --property-header-line: calc(100vw - 18px);
  }
  body.property-page .property-slider {
    aspect-ratio: 4 / 3 !important;
  }
  body.property-page .detail-panel .payment-summary,
  body.property-page .detail-panel .property-contact-list,
  body.property-page .property-reviews-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* =========================================================
   PROPERTY PAGE REAL HEADER-LINE FIX - 2026-05-04
   Target: property.php side card must start and end INSIDE the red/header
   login boundary. The property body aligns from logo start, not centered wide.
   ========================================================= */
body.property-page{
  --site-inner-width: min(1120px, calc(100vw - 32px));
  --site-inner-left: max(16px, calc((100vw - 1120px) / 2));
  --property-inside-login-line: min(820px, var(--site-inner-width));
  overflow-x: hidden !important;
}

body.property-page .page-hero > .container,
body.property-page .property-detail-section > .container,
body.property-page #reviews > .container,
body.property-page .property-boundary,
body.property-page .property-reviews-grid{
  width: var(--property-inside-login-line) !important;
  max-width: var(--property-inside-login-line) !important;
  margin-left: var(--site-inner-left) !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.property-page .property-detail-grid{
  width: var(--property-inside-login-line) !important;
  max-width: var(--property-inside-login-line) !important;
  margin-left: var(--site-inner-left) !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 548px) minmax(0, 256px) !important;
  gap: 16px !important;
  align-items: start !important;
  overflow: visible !important;
}

body.property-page .property-slider{
  width: 100% !important;
  max-width: 548px !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  max-height: 308px !important;
  min-width: 0 !important;
  justify-self: stretch !important;
}

body.property-page .property-detail-grid > .detail-panel{
  width: 100% !important;
  max-width: 256px !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  padding: 14px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

body.property-page .property-detail-grid > .detail-panel .payment-safe-box{
  padding: 12px !important;
  border-radius: 14px !important;
}

body.property-page .property-detail-grid > .detail-panel .price{
  font-size: .98rem !important;
  line-height: 1.25 !important;
}

body.property-page .property-detail-grid > .detail-panel .btn,
body.property-page .property-detail-grid > .detail-panel .payment-chip,
body.property-page .property-detail-grid > .detail-panel .feature-pill{
  padding: 8px 10px !important;
  font-size: .78rem !important;
}

body.property-page .property-detail-grid > .detail-panel .payment-summary{
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.property-page .property-reviews-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
body.property-page .property-reviews-grid > .detail-panel{
  max-width: 100% !important;
  width: 100% !important;
  justify-self: stretch !important;
}

@media (max-width: 900px){
  body.property-page{
    --site-inner-left: 12px;
    --property-inside-login-line: calc(100vw - 24px);
  }
  body.property-page .property-detail-grid,
  body.property-page .property-reviews-grid{
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.property-page .property-slider,
  body.property-page .property-detail-grid > .detail-panel{
    max-width: 100% !important;
  }
}

@media (max-width: 640px){
  body.property-page{
    --site-inner-left: 9px;
    --property-inside-login-line: calc(100vw - 18px);
  }
  body.property-page .property-slider{aspect-ratio: 4 / 3 !important;}
  body.property-page .property-detail-grid > .detail-panel .payment-summary,
  body.property-page .property-contact-list,
  body.property-page .property-reviews-grid{
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* =========================================================
   GLOBAL HARD BOUNDARY AUDIT FIX - 2026-05-05
   Lengo: hakuna public page inayovunja upana wa header.
   Content zote zibaki ndani ya kipimo kilekile cha header container.
   ========================================================= */
:root{
  --dalali-page-boundary: min(1120px, calc(100vw - 32px));
}
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}
*,*::before,*::after{box-sizing:border-box;}
img,video,iframe,svg,canvas,table{max-width:100%;}
.site-header,
main,
.hero,
.page-hero,
.section,
.site-footer{
  max-width:100vw;
  overflow-x:clip;
}
.site-header > .container,
main > .container,
.hero > .container,
.page-hero > .container,
.section > .container,
.site-footer > .container,
.container,
.container-wide{
  width:var(--dalali-page-boundary) !important;
  max-width:var(--dalali-page-boundary) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.nav-wrap,
.brand-block,
.nav,
.search-card,
.grid-3,
.two-col,
.detail-grid,
.agent-premium-grid,
.agent-profile-shell,
.review-layout,
.chart-grid,
.report-summary-grid,
.reports-dashboard-grid,
.metrics,
.payment-methods-grid,
.footer-grid,
.room-grid,
.listing-track.is-static,
.property-detail-grid,
.property-reviews-grid{
  min-width:0 !important;
  max-width:100% !important;
}
.grid-3,
.two-col,
.detail-grid,
.agent-premium-grid,
.agent-profile-shell,
.review-layout,
.chart-grid,
.report-summary-grid,
.reports-dashboard-grid,
.metrics,
.payment-methods-grid,
.footer-grid,
.room-grid,
.listing-track.is-static{
  width:100% !important;
}
.card,
.card-body,
.dashboard-card,
.metric,
.summary-card,
.search-card,
.hero-card,
.form-card,
.detail-panel,
.payment-option-card,
.agent-premium-card,
.premium-unlock-card,
.footer-shell,
.review-card,
.empty-state,
.listing-card{
  min-width:0 !important;
  max-width:100% !important;
  overflow-wrap:anywhere;
}
.section-head,
.listing-top,
.button-row,
.pill-row,
.feature-list,
.payment-inline-strip,
.footer-bottom,
.footer-pills{
  max-width:100% !important;
  min-width:0 !important;
  flex-wrap:wrap !important;
}
.search-card input,
.search-card select,
.form-card input,
.form-card select,
.form-card textarea,
input,select,textarea,button,.btn{
  max-width:100% !important;
  min-width:0 !important;
}
.listing-carousel{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.listing-track{
  max-width:none;
}
.table-wrap,
.dashboard-card:has(table){
  overflow-x:auto !important;
}
.listing-table{
  min-width:720px;
}
@media(max-width:980px){
  :root{--dalali-page-boundary:calc(100vw - 24px);}
  .hero-stack-home.hero-home-wide,
  .hero-title-wide{
    width:var(--dalali-page-boundary) !important;
    max-width:var(--dalali-page-boundary) !important;
  }
  .search-card,
  .grid-3,
  .two-col,
  .detail-grid,
  .agent-premium-grid,
  .agent-profile-shell,
  .review-layout,
  .chart-grid,
  .report-summary-grid,
  .reports-dashboard-grid,
  .metrics,
  .payment-methods-grid,
  .footer-grid,
  .room-grid,
  .listing-track.is-static{
    grid-template-columns:minmax(0,1fr) !important;
  }
}
@media(max-width:640px){
  :root{--dalali-page-boundary:calc(100vw - 18px);}
}

/* Property page final override after global audit: keep the whole layout inside the header line. */
body.property-page{
  --property-inside-login-line:min(820px, var(--dalali-page-boundary));
  --site-inner-left:max(16px, calc((100vw - 1120px) / 2));
}
body.property-page .page-hero > .container,
body.property-page .property-detail-section > .container,
body.property-page #reviews > .container,
body.property-page .property-boundary,
body.property-page .property-reviews-grid{
  width:var(--property-inside-login-line) !important;
  max-width:var(--property-inside-login-line) !important;
  margin-left:var(--site-inner-left) !important;
  margin-right:auto !important;
}
body.property-page .property-detail-grid{
  width:var(--property-inside-login-line) !important;
  max-width:var(--property-inside-login-line) !important;
  margin-left:var(--site-inner-left) !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,548px) minmax(0,256px) !important;
  gap:16px !important;
  align-items:start !important;
  overflow:visible !important;
}
body.property-page .property-slider{
  width:100% !important;
  max-width:548px !important;
  aspect-ratio:16/9 !important;
  height:auto !important;
  max-height:308px !important;
}
body.property-page .property-detail-grid > .detail-panel{
  width:100% !important;
  max-width:256px !important;
  min-width:0 !important;
  padding:14px !important;
  overflow:hidden !important;
}
body.property-page .property-reviews-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
}
@media(max-width:900px){
  body.property-page{--site-inner-left:12px;--property-inside-login-line:calc(100vw - 24px);}
  body.property-page .property-detail-grid,
  body.property-page .property-reviews-grid{grid-template-columns:minmax(0,1fr) !important;}
  body.property-page .property-slider,
  body.property-page .property-detail-grid > .detail-panel{max-width:100% !important;}
}
@media(max-width:640px){
  body.property-page{--site-inner-left:9px;--property-inside-login-line:calc(100vw - 18px);}
  body.property-page .property-slider{aspect-ratio:4/3 !important;}
  body.property-page .payment-summary,
  body.property-page .property-contact-list,
  body.property-page .property-reviews-grid{grid-template-columns:minmax(0,1fr) !important;}
}

/* Agent profile page hard polish - scoped to agent.php only */
body.agent-profile-page{
  --agent-page-boundary:min(1120px, calc(100vw - 48px));
  background:#f8fbff;
}
body.agent-profile-page .site-header > .container,
body.agent-profile-page main > .container,
body.agent-profile-page .section > .container,
body.agent-profile-page .agent-profile-hero > .container{
  width:var(--agent-page-boundary) !important;
  max-width:var(--agent-page-boundary) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
body.agent-profile-page .agent-profile-hero{
  padding:34px 0 24px;
  background:linear-gradient(135deg,#f0fdfa 0%,#eff6ff 58%,#fff 100%);
  border-bottom:1px solid #e5edf5;
  overflow-x:hidden;
}
body.agent-profile-page .agent-profile-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:22px;
  align-items:stretch;
}
body.agent-profile-page .agent-profile-main-card,
body.agent-profile-page .agent-contact-card{
  min-width:0;
  background:#fff;
  border:1px solid #dfeaf3;
  border-radius:26px;
  box-shadow:0 24px 70px rgba(15,23,42,.08);
}
body.agent-profile-page .agent-profile-main-card{
  padding:24px;
  overflow:hidden;
}
body.agent-profile-page .agent-profile-topline,
body.agent-profile-page .agent-contact-card-head,
body.agent-profile-page .agent-section-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
body.agent-profile-page .agent-mini-kicker{
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#00796b;
}
body.agent-profile-page .agent-status-badge,
body.agent-profile-page .agent-contact-card-head strong{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:8px 12px;
  color:#005f56;
  background:#ecfdf5;
  border:1px solid #cdeee5;
  font-weight:900;
  white-space:nowrap;
}
body.agent-profile-page .agent-profile-header-block{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:22px;
  align-items:center;
  margin-top:18px;
}
body.agent-profile-page .agent-profile-photo{
  width:150px;
  height:150px;
  border-radius:34px;
  background:linear-gradient(135deg,#0f766e,#14b8a6);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:3.4rem;
  font-weight:1000;
  background-size:cover;
  background-position:center;
  box-shadow:0 18px 46px rgba(15,118,110,.22);
  flex:0 0 auto;
}
body.agent-profile-page .agent-profile-summary{min-width:0;}
body.agent-profile-page .agent-profile-summary h1{
  margin:6px 0 8px;
  font-size:clamp(2rem,4vw,3.75rem);
  line-height:.98;
  letter-spacing:-.055em;
  color:#0f172a;
}
body.agent-profile-page .agent-profile-rating{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
body.agent-profile-page .agent-profile-bio{
  max-width:720px;
  color:#53627a;
  font-size:1rem;
  line-height:1.65;
  margin:0 0 14px;
  overflow-wrap:anywhere;
}
body.agent-profile-page .agent-profile-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body.agent-profile-page .agent-profile-chips span,
body.agent-profile-page .agent-property-body .tag,
body.agent-profile-page .agent-property-body .kicker{
  border:1px solid #dce8f1;
  background:#f8fafc;
  color:#526179;
  border-radius:999px;
  padding:8px 12px;
  font-size:.85rem;
  font-weight:800;
}
body.agent-profile-page .agent-contact-card{
  padding:22px;
  align-self:stretch;
}
body.agent-profile-page .agent-contact-card h2{
  margin:18px 0 12px;
  font-size:1.3rem;
  letter-spacing:-.02em;
}
body.agent-profile-page .agent-contact-locked{
  border:1px dashed #bdd8d5;
  background:#f0fdfa;
  color:#0f766e;
  border-radius:18px;
  padding:14px;
  font-weight:900;
  margin-bottom:12px;
}
body.agent-profile-page .agent-contact-open-list{
  display:grid;
  gap:10px;
  margin-bottom:12px;
}
body.agent-profile-page .agent-contact-open-list a{
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:#0f172a;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:12px 13px;
  font-weight:800;
  overflow-wrap:anywhere;
}
body.agent-profile-page .agent-full-btn{width:100%; justify-content:center; margin-top:6px;}
body.agent-profile-page .agent-listings-section{padding-top:30px;}
body.agent-profile-page .agent-section-title{margin-bottom:18px;}
body.agent-profile-page .agent-section-title h2{margin:4px 0 0;font-size:clamp(1.5rem,2.5vw,2.25rem);letter-spacing:-.04em;}
body.agent-profile-page .agent-section-title.compact{margin-bottom:12px;}
body.agent-profile-page .agent-property-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
body.agent-profile-page .agent-property-link{text-decoration:none;color:inherit;min-width:0;}
body.agent-profile-page .agent-property-card{
  min-width:0;
  height:100%;
  background:#fff;
  border:1px solid #dfeaf3;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 45px rgba(15,23,42,.06);
  transition:transform .2s ease, box-shadow .2s ease;
}
body.agent-profile-page .agent-property-card:hover{transform:translateY(-3px);box-shadow:0 22px 60px rgba(15,23,42,.1);}
body.agent-profile-page .agent-property-media{
  position:relative;
  height:190px;
  background:linear-gradient(135deg,#dcfce7,#dbeafe);
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0f766e;
  font-weight:1000;
  letter-spacing:.08em;
}
body.agent-profile-page .agent-property-media em{
  position:absolute;
  top:12px;
  right:12px;
  font-style:normal;
  background:rgba(255,255,255,.9);
  border:1px solid #dbeafe;
  border-radius:999px;
  padding:7px 10px;
  color:#0f766e;
  font-size:.78rem;
  font-weight:900;
}
body.agent-profile-page .agent-property-body{padding:16px;min-width:0;}
body.agent-profile-page .agent-property-body h3{margin:12px 0 8px;font-size:1.08rem;line-height:1.25;overflow-wrap:anywhere;}
body.agent-profile-page .agent-property-body .price{margin-top:12px;color:#0f766e;font-weight:1000;font-size:1.05rem;}
body.agent-profile-page .agent-review-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:20px;
  align-items:start;
}
body.agent-profile-page .agent-review-form select,
body.agent-profile-page .agent-review-form textarea{
  width:100%;
  border:1px solid #dfeaf3;
  border-radius:16px;
  padding:13px 14px;
  background:#fff;
  font:inherit;
  margin-top:8px;
}
body.agent-profile-page .agent-review-form textarea{min-height:120px;resize:vertical;}
body.agent-profile-page .agent-review-form .btn{margin-top:12px;}
body.agent-profile-page .agent-review-list{display:grid;gap:12px;}
body.agent-profile-page .agent-review-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:14px;}
body.agent-profile-page .agent-review-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
body.agent-profile-page .stars{color:#f59e0b;letter-spacing:.05em;}
body.agent-profile-page *{box-sizing:border-box;}
@media(max-width:980px){
  body.agent-profile-page{--agent-page-boundary:calc(100vw - 28px);}
  body.agent-profile-page .agent-profile-wrap,
  body.agent-profile-page .agent-review-grid{grid-template-columns:1fr;}
  body.agent-profile-page .agent-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
  body.agent-profile-page{--agent-page-boundary:calc(100vw - 18px);}
  body.agent-profile-page .agent-profile-main-card,
  body.agent-profile-page .agent-contact-card{border-radius:20px;padding:16px;}
  body.agent-profile-page .agent-profile-header-block{grid-template-columns:1fr;gap:14px;}
  body.agent-profile-page .agent-profile-photo{width:112px;height:112px;border-radius:26px;font-size:2.6rem;}
  body.agent-profile-page .agent-property-grid{grid-template-columns:1fr;}
  body.agent-profile-page .agent-property-media{height:170px;}
}

/* Agent profile listing restore: keep property list cards clean like the original Dalali listing cards */
body.agent-profile-page .section-tight > .container{
  width:var(--agent-page-boundary, min(100% - 32px, 1120px));
  max-width:var(--agent-page-boundary, min(100% - 32px, 1120px));
  margin-left:auto;
  margin-right:auto;
}
body.agent-profile-page .agent-listing-grid-safe{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
body.agent-profile-page .agent-listing-grid-safe .listing-card-link{
  min-width:0;
  text-decoration:none;
  color:inherit;
}
body.agent-profile-page .agent-listing-card-safe{
  height:100%;
  overflow:hidden;
  border-radius:22px;
}
body.agent-profile-page .agent-listing-card-safe .card-media{
  height:190px;
  min-height:190px;
  background-size:cover;
  background-position:center;
  position:relative;
}
body.agent-profile-page .agent-listing-card-safe .card-body{
  padding:16px;
  min-width:0;
}
body.agent-profile-page .agent-listing-card-safe h3,
body.agent-profile-page .agent-listing-card-safe p,
body.agent-profile-page .agent-listing-card-safe .price{
  overflow-wrap:anywhere;
}
body.agent-profile-page .media-placeholder-text{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:#0f766e;
  font-weight:900;
  letter-spacing:.08em;
}
@media(max-width:980px){
  body.agent-profile-page .agent-listing-grid-safe{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  body.agent-profile-page .agent-listing-grid-safe{grid-template-columns:1fr;}
  body.agent-profile-page .agent-listing-card-safe .card-media{height:170px;min-height:170px;}
}

/* Hostel category support */
.media-hostel,
.card-media.media-hostel,
body.agent-profile-page .agent-prop-placeholder.type-hostel{
  background:linear-gradient(135deg,#ccfbf1,#effdf9);
}
.hostel-listing-grid .listing-card .card-media-cover{
  min-height:210px;
}
.hostel-card .pill-row{
  margin-top:12px;
}
@media (max-width: 900px){
  .hostel-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 640px){
  .hostel-listing-grid{grid-template-columns:1fr;}
}
.site-header .nav{gap:clamp(12px,1.8vw,22px);}
@media (max-width: 760px){.site-header .nav{gap:10px;font-size:.9rem;overflow-x:auto;}.site-header .nav-wrap{align-items:flex-start;}}
