:root {
  --hpm-navy: #081a33;
  --hpm-navy-2: #12345b;
  --hpm-silver: #aeb8c5;
  --hpm-light: #f4f7fa;
  --hpm-white: #fff;
  --hpm-accent: #8b1e3f;
  --hpm-green: #169c5f;
  --hpm-text: #24364c;
  --hpm-muted: #697789;
  --hpm-border: #e1e7ed;
  --hpm-radius: 18px;
  --hpm-shadow: 0 18px 50px rgba(8, 26, 51, .11);
}

.hpm-properties,
.hpm-single,
.hpm-panel,
.hpm-login-shell {
  color: var(--hpm-text);
  font-family: inherit;
}

.hpm-properties *,
.hpm-single *,
.hpm-panel *,
.hpm-login-shell * { box-sizing: border-box; }

.hpm-properties { width: 100%; max-width: var(--hpm-results-width, 1500px); margin-inline: auto; }
.hpm-properties.hpm-layout-breakout { position: relative; left: 50%; width: min(var(--hpm-results-width, 1500px), calc(100vw - 32px)); max-width: none; margin-left: 0; margin-right: 0; transform: translateX(-50%); }

.hpm-icon {
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 auto;
  display: inline-block;
  stroke: currentColor;
  vertical-align: -.18em;
}

/* Search and filters */
.hpm-filters {
  padding: 24px;
  margin-bottom: 30px;
  border: 1px solid var(--hpm-border);
  border-radius: var(--hpm-radius);
  background: var(--hpm-white);
  box-shadow: var(--hpm-shadow);
}

.hpm-filter-grid,
.hpm-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.hpm-filters label,
.hpm-login label,
.hpm-lead-form label,
.hpm-property-form label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: var(--hpm-text);
  font-size: 13px;
  font-weight: 750;
}

.hpm-filters input,
.hpm-filters select,
.hpm-login input,
.hpm-lead-form input,
.hpm-lead-form textarea,
.hpm-property-form input,
.hpm-property-form textarea,
.hpm-property-form select {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #d5dde5;
  border-radius: 10px;
  outline: 0;
  background: #fff;
  color: #17283d;
  transition: border-color .18s, box-shadow .18s;
}

.hpm-property-form textarea,
.hpm-lead-form textarea { min-height: 100px; resize: vertical; }

.hpm-filters input:focus,
.hpm-filters select:focus,
.hpm-login input:focus,
.hpm-lead-form input:focus,
.hpm-lead-form textarea:focus,
.hpm-property-form input:focus,
.hpm-property-form textarea:focus,
.hpm-property-form select:focus {
  border-color: var(--hpm-navy-2);
  box-shadow: 0 0 0 3px rgba(18, 52, 91, .1);
}

.hpm-filter-actions { display: flex; gap: 10px; margin-top: 18px; }

.hpm-filters button,
.hpm-home-search button,
.hpm-login button,
.hpm-lead-form button,
.hpm-property-form button {
  min-height: 46px;
  padding: 12px 20px;
  border: 0;
  border-radius: 10px;
  background: var(--hpm-navy);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  transition: transform .18s, background .18s, box-shadow .18s;
}

.hpm-filters button:hover,
.hpm-home-search button:hover,
.hpm-login button:hover,
.hpm-lead-form button:hover,
.hpm-property-form button:hover { transform: translateY(-1px); background: var(--hpm-navy-2); }
.hpm-filters .hpm-secondary { background: #e9eef3; color: var(--hpm-navy); }
.hpm-results.is-loading { opacity: .45; pointer-events: none; }

.hpm-home-search {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr auto;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(174, 184, 197, .5);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--hpm-shadow);
}

.hpm-home-search input,
.hpm-home-search select { min-height: 48px; padding: 12px; border: 1px solid #dbe2e9; border-radius: 9px; }

/* Property cards */
.hpm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.hpm-card {
  overflow: hidden;
  border: 1px solid var(--hpm-border);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(8, 26, 51, .08);
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.hpm-card:hover { transform: translateY(-6px); border-color: #cbd5df; box-shadow: 0 22px 55px rgba(8, 26, 51, .16); }
.hpm-card-image { display: block; position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: #dfe5eb; }
.hpm-card-image::after { content: ""; position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(transparent, rgba(4, 16, 31, .6)); pointer-events: none; }
.hpm-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.hpm-card:hover .hpm-card-image img { transform: scale(1.045); }
.hpm-card-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: #fff; background: linear-gradient(135deg, var(--hpm-navy), var(--hpm-navy-2)); }
.hpm-card-placeholder .hpm-icon { width: 48px; height: 48px; opacity: .7; }
.hpm-card-badges { position: absolute; z-index: 2; top: 14px; left: 14px; right: 14px; display: flex; justify-content: space-between; gap: 8px; }
.hpm-badge,
.hpm-code-badge { padding: 6px 10px; border-radius: 999px; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .03em; backdrop-filter: blur(8px); }
.hpm-badge { background: var(--hpm-accent); }
.hpm-code-badge { background: rgba(8, 26, 51, .76); }
.hpm-card-image-cta { position: absolute; z-index: 2; right: 16px; bottom: 14px; display: flex; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 50%; color: var(--hpm-navy); background: #fff; box-shadow: 0 5px 18px rgba(0, 0, 0, .2); }
.hpm-card-body { padding: 21px; }
.hpm-eyebrow { color: var(--hpm-accent); font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.hpm-card h3 { min-height: 2.5em; margin: 7px 0 9px; color: var(--hpm-navy); font-size: 21px; line-height: 1.25; }
.hpm-card a { color: inherit; text-decoration: none; }
.hpm-zone { display: flex; min-height: 2.8em; gap: 7px; align-items: flex-start; color: var(--hpm-muted); font-size: 13px; line-height: 1.4; }
.hpm-zone .hpm-icon { margin-top: 2px; color: var(--hpm-accent); }
.hpm-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 15px 0; margin: 16px 0; border-top: 1px solid #edf0f3; border-bottom: 1px solid #edf0f3; color: #46576a; font-size: 12px; }
.hpm-features span { display: flex; gap: 5px; align-items: center; white-space: nowrap; }
.hpm-features .hpm-icon { color: var(--hpm-navy-2); font-size: 16px; }
.hpm-card-foot { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.hpm-card-foot > div { display: flex; gap: 5px; align-items: baseline; flex-wrap: wrap; }
.hpm-card-foot > div small { color: var(--hpm-muted); }
.hpm-card-foot strong { color: var(--hpm-navy); font-size: 20px; }
.hpm-card-foot a { display: inline-flex; gap: 5px; align-items: center; color: var(--hpm-accent); font-size: 13px; font-weight: 800; }
.hpm-empty { padding: 52px 24px; border-radius: var(--hpm-radius); background: var(--hpm-light); text-align: center; }

/* Responsive advertising */
.hpm-advertisement{position:relative;width:100%;max-width:var(--hpm-ad-max-width,none);margin:24px auto;overflow:hidden;border:1px solid var(--hpm-border);border-radius:16px;background:#e9eef3;box-shadow:0 10px 28px rgba(8,26,51,.09)}.hpm-advertisement>a,.hpm-advertisement picture{display:block}.hpm-advertisement a{color:inherit;text-decoration:none}.hpm-advertisement img{display:block;width:100%;height:auto;transition:transform .25s ease,filter .25s ease}.hpm-advertisement a:hover img{transform:scale(1.006);filter:brightness(.98)}.hpm-ad-label{position:absolute;z-index:2;top:7px;right:8px;padding:3px 6px;border-radius:5px;color:#fff;background:rgba(8,26,51,.68);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}.hpm-ad-zone-catalog_top{margin-top:0}.hpm-ad-zone-catalog_bottom{margin-bottom:0}.hpm-single .hpm-advertisement{margin-block:28px}.hpm-ad-zone-single_top{margin-top:0}
.hpm-ad-carousel{position:relative;width:100%;max-width:var(--hpm-ad-max-width,none);margin:24px auto}.hpm-ad-carousel-stage{position:relative;overflow:hidden;border-radius:16px}.hpm-ad-carousel .hpm-advertisement{display:none;margin:0;box-shadow:none}.hpm-ad-carousel .hpm-advertisement.is-active{display:block;animation:hpmAdFade .45s ease}.hpm-ad-carousel-controls{position:absolute;z-index:5;right:12px;bottom:11px;display:flex;gap:7px;align-items:center;padding:5px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(8,26,51,.78);box-shadow:0 6px 20px rgba(0,0,0,.22);backdrop-filter:blur(8px)}.hpm-ad-carousel-prev,.hpm-ad-carousel-next{display:grid;width:29px;height:29px;min-height:29px;padding:0;border:0;border-radius:50%;place-items:center;color:#fff;background:rgba(255,255,255,.13);font-size:22px;line-height:1;cursor:pointer}.hpm-ad-carousel-prev:hover,.hpm-ad-carousel-next:hover{background:var(--hpm-accent)}.hpm-ad-carousel-dots{display:flex;gap:5px;align-items:center}.hpm-ad-carousel-dots button{width:7px;min-width:7px;height:7px;min-height:7px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.48);cursor:pointer;transition:.2s}.hpm-ad-carousel-dots button.is-active{width:20px;background:#fff}@keyframes hpmAdFade{from{opacity:.35;transform:scale(1.004)}to{opacity:1;transform:scale(1)}}
@media(max-width:767px){.hpm-advertisement{margin:17px auto;border-radius:12px}.hpm-ad-label{top:5px;right:6px;font-size:7px}.hpm-single .hpm-advertisement{margin-block:20px}.hpm-ad-carousel{margin:20px auto}.hpm-ad-carousel .hpm-advertisement{margin:0}.hpm-ad-carousel-stage{border-radius:12px}.hpm-ad-carousel-controls{right:7px;bottom:7px}.hpm-ad-carousel-prev,.hpm-ad-carousel-next{width:27px;height:27px;min-height:27px}}

/* Featured properties carousel */
.hpm-featured-carousel { width: 100%; color: var(--hpm-text); font-family: inherit; }
.hpm-featured-carousel * { box-sizing: border-box; }
.hpm-featured-head { display: flex; gap: 20px; align-items: flex-end; justify-content: space-between; margin-bottom: 22px; }
.hpm-featured-head > div:first-child > span { color: var(--hpm-accent); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.hpm-featured-head h2 { margin: 4px 0 0; color: var(--hpm-navy); font-size: clamp(27px, 3vw, 38px); line-height: 1.1; }
.hpm-featured-actions { display: flex; gap: 14px; align-items: center; }
.hpm-featured-actions > a { display: inline-flex; gap: 6px; align-items: center; color: var(--hpm-accent); font-size: 12px; font-weight: 850; text-decoration: none; }
.hpm-featured-arrows { display: flex; gap: 7px; }
.hpm-featured-arrows[hidden],
.hpm-featured-dots[hidden] { display: none !important; }
.hpm-featured-arrows button { display: inline-flex; width: 43px; height: 43px; min-height: 43px; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--hpm-border); border-radius: 50%; color: var(--hpm-navy); background: #fff; box-shadow: 0 6px 18px rgba(8,26,51,.08); cursor: pointer; transition: .2s ease; }
.hpm-featured-arrows button:hover:not(:disabled) { border-color: var(--hpm-accent); color: #fff; background: var(--hpm-accent); transform: translateY(-1px); }
.hpm-featured-arrows button:disabled { cursor: default; opacity: .4; }
.hpm-featured-prev .hpm-icon { transform: rotate(180deg); }
.hpm-featured-viewport { overflow-x: auto; overflow-y: visible; padding: 5px 2px 26px; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.hpm-featured-viewport::-webkit-scrollbar { display: none; }
.hpm-featured-track { display: grid; grid-auto-flow: column; grid-auto-columns: var(--hpm-featured-desktop-size, calc((100% - 44px) / 3)); gap: 22px; }
.hpm-featured-slide { min-width: 0; scroll-snap-align: start; }
.hpm-featured-slide .hpm-card { display: flex; height: 100%; flex-direction: column; }
.hpm-featured-slide .hpm-card-body { display: flex; flex: 1; flex-direction: column; }
.hpm-featured-slide .hpm-card-foot { margin-top: auto; }
.hpm-featured-dots { display: flex; min-height: 12px; gap: 6px; align-items: center; justify-content: center; }
.hpm-featured-dots button { width: 7px; min-width: 7px; height: 7px; min-height: 7px; padding: 0; border: 0; border-radius: 999px; background: #b9c3cd; cursor: pointer; transition: width .2s, background .2s; }
.hpm-featured-dots button.is-active { width: 24px; background: var(--hpm-accent); }

/* Single property */
.hpm-single { padding: 38px 20px 76px; background: var(--hpm-single-bg, #f3f6f8); }
.hpm-single.hpm-single-breakout { position: relative; left: 50%; width: calc(100vw - var(--hpm-scrollbar-width, 0px)); min-width: calc(100vw - var(--hpm-scrollbar-width, 0px)); max-width: none; flex: 0 0 calc(100vw - var(--hpm-scrollbar-width, 0px)); transform: translateX(-50%); }
.hpm-single-wrap { width: 100%; max-width: var(--hpm-single-width, 1440px); margin: auto; }
.hpm-breadcrumb { display: flex; overflow: hidden; gap: 8px; margin-bottom: 22px; color: var(--hpm-muted); font-size: 12px; white-space: nowrap; }
.hpm-breadcrumb a { color: inherit; text-decoration: none; }
.hpm-breadcrumb strong { overflow: hidden; color: var(--hpm-navy); text-overflow: ellipsis; }

.hpm-property-hero { display: flex; gap: 32px; align-items: flex-end; justify-content: flex-start; margin-bottom: 28px; }
.hpm-property-heading { flex: 0 1 820px; max-width: 820px; }
.hpm-property-labels { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.hpm-property-labels span { padding: 6px 10px; border: 1px solid #d8e0e7; border-radius: 999px; color: var(--hpm-navy); background: #fff; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.hpm-property-labels .hpm-property-status { border-color: var(--hpm-accent); color: #fff; background: var(--hpm-accent); }
.hpm-property-heading h1 { margin: 0 0 12px; color: var(--hpm-navy); font-size: clamp(32px, 4vw, 52px); line-height: 1.05; letter-spacing: -.035em; }
.hpm-property-address { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: var(--hpm-muted); }
.hpm-property-address .hpm-icon { color: var(--hpm-accent); }
.hpm-property-address a { margin-left: 5px; color: var(--hpm-navy-2); font-size: 13px; font-weight: 800; }
.hpm-property-price { position: relative; display: grid; min-width: 360px; min-height: 104px; flex: 1 1 360px; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 22px; align-items: center; overflow: hidden; padding: 20px 24px 20px 27px; border: 0; border-radius: 14px; color: #fff; background: linear-gradient(110deg, var(--hpm-navy) 0%, var(--hpm-navy-2) 100%); box-shadow: 0 13px 32px rgba(8, 26, 51, .19); isolation: isolate; }
.hpm-property-price::before { position: absolute; z-index: 1; top: 0; left: 0; width: 5px; height: 100%; background: var(--hpm-accent); content: ""; }
.hpm-property-price::after { display: none; }
.hpm-property-price > span { display: block; grid-column: 1; padding: 0; color: #b9c9d8; background: transparent; font-size: 9px; font-weight: 850; letter-spacing: .14em; line-height: 1; text-transform: uppercase; }
.hpm-property-price > strong { display: block; grid-column: 1; margin: 2px 0 0; color: #fff; font-size: clamp(28px, 2.2vw, 35px); font-variant-numeric: tabular-nums; font-weight: 850; letter-spacing: -.03em; line-height: 1.05; white-space: nowrap; }
.hpm-property-price a { display: inline-flex; grid-column: 2; grid-row: 1 / span 2; gap: 7px; align-items: center; justify-content: center; padding: 12px 18px; border: 0; border-radius: 10px; color: #087a43; background: #fff; font-size: 12px; font-weight: 850; line-height: 1; text-decoration: none; white-space: nowrap; box-shadow: 0 5px 16px rgba(0, 0, 0, .13); transition: color .2s ease, background .2s ease, transform .2s ease; }
.hpm-property-price a:hover { color: #fff; background: var(--hpm-green); transform: translateY(-1px); }

.hpm-gallery-carousel { margin-bottom: 32px; }
.hpm-gallery-stage { position: relative; overflow: hidden; aspect-ratio: 16 / 8.1; border-radius: 22px; background: var(--hpm-navy); box-shadow: 0 16px 48px rgba(8, 26, 51, .16); }
.hpm-gallery-track,
.hpm-gallery-slide { width: 100%; height: 100%; }
.hpm-gallery-slide { display: none; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.hpm-gallery-slide.is-active { display: block; animation: hpmFade .28s ease; }
.hpm-gallery-slide img { width: 100%; height: 100%; object-fit: cover; }
@keyframes hpmFade { from { opacity: .55; } to { opacity: 1; } }
.hpm-gallery-nav { position: absolute; z-index: 3; top: 50%; display: grid; width: 46px; height: 46px; padding: 0; border: 1px solid rgba(255,255,255,.48); border-radius: 50%; place-items: center; transform: translateY(-50%); color: #fff; background: rgba(8,26,51,.55); font-size: 31px; line-height: 1; cursor: pointer; backdrop-filter: blur(8px); }
.hpm-gallery-prev { left: 18px; }
.hpm-gallery-next { right: 18px; }
.hpm-gallery-tools { position: absolute; z-index: 3; right: 16px; bottom: 15px; display: flex; gap: 9px; align-items: center; }
.hpm-gallery-tools > span,
.hpm-gallery-tools button { padding: 8px 11px; border: 1px solid rgba(255,255,255,.4); border-radius: 9px; color: #fff; background: rgba(8,26,51,.67); font-size: 12px; font-weight: 750; backdrop-filter: blur(8px); }
.hpm-gallery-tools button { display: inline-flex; gap: 6px; align-items: center; cursor: pointer; }
.hpm-gallery-thumbs { display: flex; overflow-x: auto; gap: 10px; padding: 12px 2px 2px; scrollbar-width: thin; }
.hpm-gallery-thumbs button { flex: 0 0 104px; overflow: hidden; height: 72px; padding: 0; border: 3px solid transparent; border-radius: 10px; background: #dfe5eb; cursor: pointer; opacity: .65; }
.hpm-gallery-thumbs button.is-active { border-color: var(--hpm-accent); opacity: 1; }
.hpm-gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; }

.hpm-lightbox[hidden] { display: none !important; }
.hpm-lightbox { position: fixed; z-index: 999999; inset: 0; display: grid; padding: 48px 70px; place-items: center; color: #fff; background: rgba(2, 9, 18, .96); }
.hpm-lightbox img { max-width: min(1500px, 100%); max-height: calc(100vh - 96px); object-fit: contain; }
.hpm-lightbox button { position: absolute; z-index: 2; display: grid; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; place-items: center; color: #fff; background: rgba(255,255,255,.08); font-size: 34px; line-height: 1; cursor: pointer; }
.hpm-lightbox-close { top: 20px; right: 22px; }
.hpm-lightbox-prev { top: 50%; left: 18px; transform: translateY(-50%); }
.hpm-lightbox-next { top: 50%; right: 18px; transform: translateY(-50%); }
.hpm-lightbox > span { position: absolute; bottom: 18px; padding: 6px 11px; border-radius: 999px; background: rgba(255,255,255,.12); font-size: 12px; }
body.hpm-lightbox-open { overflow: hidden; }
.hpm-no-image { display: grid; min-height: 460px; border-radius: 22px; place-items: center; color: #fff; background: linear-gradient(135deg, var(--hpm-navy), var(--hpm-navy-2)); }
.hpm-no-image .hpm-icon { width: 58px; height: 58px; }

.hpm-single-layout { display: grid; grid-template-columns: minmax(0, 1fr) 365px; gap: 30px; align-items: start; }
.hpm-property-main { display: grid; gap: 20px; min-width: 0; }
.hpm-spec-card,
.hpm-detail-section,
.hpm-contact-card { border: 1px solid var(--hpm-border); border-radius: var(--hpm-radius); background: #fff; box-shadow: 0 10px 34px rgba(8, 26, 51, .065); }
.hpm-spec-card { padding: 12px 20px; }
.hpm-specs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.hpm-specs > div { display: flex; min-width: 0; gap: 10px; align-items: center; padding: 15px 12px; border-right: 1px solid #edf0f3; }
.hpm-specs > div:last-child { border-right: 0; }
.hpm-specs > div > .hpm-icon { width: 24px; height: 24px; color: var(--hpm-accent); }
.hpm-specs span { overflow: hidden; color: var(--hpm-muted); font-size: 10px; line-height: 1.25; text-transform: uppercase; }
.hpm-specs b { display: block; overflow: hidden; margin-bottom: 2px; color: var(--hpm-navy); font-size: 15px; text-overflow: ellipsis; text-transform: none; }
.hpm-detail-section { padding: 30px; }
.hpm-section-title { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; }
.hpm-section-title > span { display: grid; width: 36px; height: 36px; flex: 0 0 auto; border-radius: 50%; place-items: center; color: #fff; background: var(--hpm-navy); font-size: 11px; font-weight: 850; }
.hpm-section-title h2 { margin: 0; color: var(--hpm-navy); font-size: 23px; }
.hpm-content { color: #4b5b6c; font-size: 15px; line-height: 1.75; }
.hpm-content p:last-child { margin-bottom: 0; }
.hpm-amenities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0; margin: 0; list-style: none; }
.hpm-amenities li { display: flex; gap: 9px; align-items: center; padding: 12px; border-radius: 10px; color: var(--hpm-text); background: var(--hpm-light); }
.hpm-amenities .hpm-icon { color: var(--hpm-green); }
.hpm-video iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: 12px; }
.hpm-location-summary { display: flex; gap: 12px; align-items: center; margin-bottom: 18px; }
.hpm-location-summary > .hpm-icon { width: 30px; height: 30px; color: var(--hpm-accent); }
.hpm-location-summary > div { display: flex; flex: 1; flex-direction: column; }
.hpm-location-summary strong { color: var(--hpm-navy); }
.hpm-location-summary span { color: var(--hpm-muted); font-size: 12px; }
.hpm-location-summary a { display: inline-flex; gap: 5px; align-items: center; color: var(--hpm-navy-2); font-size: 12px; font-weight: 850; text-decoration: none; }
.hpm-map-frame { display: block; width: 100%; height: 360px; border: 0; border-radius: 14px; background: #e5eaee; }

.hpm-contact-card { position: sticky; top: 24px; padding: 26px; }
.hpm-contact-kicker { color: var(--hpm-accent); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.hpm-contact-card > h2 { margin: 6px 0 7px; color: var(--hpm-navy); font-size: 27px; }
.hpm-contact-card > p { margin: 0 0 20px; color: var(--hpm-muted); font-size: 13px; line-height: 1.55; }
.hpm-advisor { display: flex; gap: 12px; align-items: center; padding: 13px; margin-bottom: 14px; border-radius: 13px; background: var(--hpm-light); }
.hpm-advisor img { width: 58px; height: 58px; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 5px 14px rgba(8,26,51,.12); }
.hpm-advisor div { display: flex; min-width: 0; flex-direction: column; }
.hpm-advisor strong { color: var(--hpm-navy); }
.hpm-advisor span { color: var(--hpm-muted); font-size: 12px; }
.hpm-advisor small { margin-top: 3px; color: var(--hpm-green); font-size: 10px; font-weight: 750; }
.hpm-whatsapp { display: flex; gap: 8px; align-items: center; justify-content: center; padding: 13px; margin-bottom: 19px; border-radius: 10px; color: #fff !important; background: var(--hpm-green); font-weight: 850; text-decoration: none; box-shadow: 0 8px 20px rgba(22,156,95,.22); }
.hpm-contact-divider { position: relative; margin: 19px 0; border-top: 1px solid var(--hpm-border); text-align: center; }
.hpm-contact-divider span { position: relative; top: -11px; padding: 0 8px; color: var(--hpm-muted); background: #fff; font-size: 10px; }
.hpm-lead-form { display: grid; gap: 11px; }
.hpm-lead-form button { width: 100%; }
.hpm-lead-open { display: flex; width: 100%; gap: 12px; align-items: center; padding: 14px 16px; border: 0; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--hpm-accent), #771535); text-align: left; box-shadow: 0 10px 24px rgba(155,30,66,.18); cursor: pointer; }
.hpm-lead-open > .hpm-icon:first-child { width: 34px; height: 34px; flex: 0 0 auto; padding: 8px; border-radius: 11px; color: #128c4f; background: #fff; }
.hpm-lead-open > .hpm-icon:last-child { width: 18px; height: 18px; margin-left: auto; }
.hpm-lead-open span { display: grid; gap: 2px; }
.hpm-lead-open strong { font-size: 14px; }
.hpm-lead-open small { color: #f4ceda; font-size: 10px; font-weight: 500; }
.hpm-lead-modal[hidden] { display: none !important; }
.hpm-lead-modal { position: fixed; z-index: 100001; inset: 0; display: flex; overflow-x: hidden; overflow-y: auto; box-sizing: border-box; min-height: 100vh; min-height: 100dvh; align-items: center; justify-content: center; padding: 16px 22px; overscroll-behavior: contain; }
.hpm-lead-modal-backdrop { position: fixed; inset: 0; background: rgba(4,17,35,.72); backdrop-filter: blur(5px); }
.hpm-lead-dialog { position: relative; z-index: 1; overflow-x: hidden; overflow-y: auto; box-sizing: border-box; width: min(100%, 680px); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); flex: 0 0 auto; padding: 28px; margin: auto 0; border: 1px solid rgba(255,255,255,.65); border-radius: 24px; background: #fff; box-shadow: 0 30px 90px rgba(3,18,36,.3); overscroll-behavior: contain; scrollbar-gutter: stable; }
.hpm-lead-dialog > header { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 15px; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--hpm-border); }
.hpm-lead-dialog > header > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; color: #fff; background: var(--hpm-navy); }
.hpm-lead-dialog header .hpm-icon { width: 22px; height: 22px; }
.hpm-lead-dialog header small { color: var(--hpm-accent); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hpm-lead-dialog header h2 { margin: 3px 35px 4px 0; color: var(--hpm-navy); font-size: clamp(21px,3vw,28px); line-height: 1.15; }
.hpm-lead-dialog header p { margin: 0; color: var(--hpm-muted); font-size: 12px; line-height: 1.55; }
.hpm-lead-property-summary { display: grid; grid-template-columns: 72px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 12px; margin: -5px 0 18px; border: 1px solid #dce5ec; border-radius: 15px; background: linear-gradient(135deg,#f5f8fb,#fff); }
.hpm-lead-property-image { overflow: hidden; width: 72px; height: 64px; border-radius: 11px; background: var(--hpm-navy); }
.hpm-lead-property-image img { width: 100%; height: 100%; object-fit: cover; }
.hpm-lead-property-placeholder { display: grid; place-items: center; color: #fff; }
.hpm-lead-property-placeholder .hpm-icon { width: 24px; height: 24px; }
.hpm-lead-property-summary > div:nth-child(2) { min-width: 0; }
.hpm-lead-property-summary small { color: var(--hpm-accent); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.hpm-lead-property-summary h3 { overflow: hidden; margin: 3px 0 5px; color: var(--hpm-navy); font-size: 14px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.hpm-lead-property-summary p { display: flex; flex-wrap: wrap; gap: 5px 10px; margin: 0; color: var(--hpm-muted); font-size: 9px; }
.hpm-lead-property-summary p span { display: inline-flex; min-width: 0; gap: 4px; align-items: center; }
.hpm-lead-property-summary p .hpm-icon { width: 11px; height: 11px; flex: 0 0 auto; color: var(--hpm-accent); }
.hpm-lead-property-summary > strong { padding-left: 12px; border-left: 1px solid #dce5ec; color: var(--hpm-navy); font-size: 13px; white-space: nowrap; }
.hpm-lead-close { position: absolute; z-index: 2; top: 18px; right: 18px; display: grid; width: 36px; height: 36px; padding: 0; place-items: center; border: 1px solid var(--hpm-border); border-radius: 50%; color: var(--hpm-navy); background: #f7f9fb; cursor: pointer; }
.hpm-lead-close .hpm-icon { width: 16px; height: 16px; }
.hpm-lead-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.hpm-lead-privacy { display: grid !important; grid-template-columns: 18px minmax(0,1fr); gap: 9px !important; align-items: start; padding: 11px 12px; border: 1px solid #dce4eb; border-radius: 11px; color: var(--hpm-muted) !important; background: #f7f9fb; font-size: 10px !important; font-weight: 500 !important; line-height: 1.45; }
.hpm-lead-privacy input { width: 17px !important; height: 17px; padding: 0 !important; margin: 0; accent-color: var(--hpm-accent); }
.hpm-lead-form .hpm-form-status { min-height: 18px; color: var(--hpm-muted); font-size: 11px; font-weight: 700; text-align: center; }
.hpm-lead-form .hpm-form-status.is-error { color: #b42318; }
.hpm-lead-form .hpm-form-status.is-success { color: #087443; }
.hpm-lead-dialog > footer { display: flex; gap: 7px; justify-content: center; padding-top: 14px; color: var(--hpm-muted); font-size: 9px; text-align: center; }
.hpm-lead-dialog > footer .hpm-icon { width: 13px; height: 13px; color: var(--hpm-accent); }
body.hpm-lead-modal-open { overflow: hidden; }
.hpm-contact-trust { display: flex; gap: 6px; align-items: center; margin-top: 14px; color: var(--hpm-muted); font-size: 10px; }
.hpm-honeypot { position: absolute !important; left: -9999px !important; }
.hpm-form-status,
.hpm-notice { display: flex; gap: 9px; align-items: center; padding: 12px 14px; border-radius: 10px; color: #12633a; background: #e9f7ef; }
.hpm-error { color: #8a1f1f; background: #fff0f0; }

/* Advisor login */
.hpm-login-shell { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); overflow: hidden; max-width: 980px; min-height: 560px; margin: 36px auto; border: 1px solid var(--hpm-border); border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(8,26,51,.16); }
.hpm-login-intro { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; padding: 52px; color: #fff; background: linear-gradient(145deg, rgba(8,26,51,.98), rgba(18,52,91,.93)); }
.hpm-login-intro::after { content: ""; position: absolute; right: -110px; bottom: -130px; width: 330px; height: 330px; border: 50px solid rgba(255,255,255,.045); border-radius: 50%; }
.hpm-brand-mark { display: grid; width: 52px; height: 52px; margin-bottom: 25px; border: 1px solid rgba(255,255,255,.35); border-radius: 14px; place-items: center; color: var(--hpm-navy); background: #fff; font-size: 21px; font-weight: 900; }
.hpm-login-kicker { color: #c9d2dc; font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.hpm-login-intro h1 { margin: 9px 0 12px; color: #fff; font-size: clamp(30px, 4vw, 44px); line-height: 1.08; letter-spacing: -.025em; }
.hpm-login-intro > p { max-width: 440px; margin: 0 0 24px; color: #c9d3df; line-height: 1.65; }
.hpm-login-intro ul { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.hpm-login-intro li { display: flex; gap: 9px; align-items: center; color: #edf2f6; font-size: 13px; }
.hpm-login-intro li .hpm-icon { color: #74d4a8; }
.hpm-login { align-content: center; padding: 48px; }
.hpm-login-icon { display: grid; width: 44px; height: 44px; border-radius: 12px; place-items: center; color: #fff; background: var(--hpm-accent); }
.hpm-login > .hpm-login-kicker { color: var(--hpm-accent); }
.hpm-login h2 { margin: 13px 0 4px; color: var(--hpm-navy); font-size: 28px; }
.hpm-login > p { margin: 0 0 20px; color: var(--hpm-muted); font-size: 13px; }
.hpm-input-wrap { position: relative; }
.hpm-input-wrap > .hpm-icon { position: absolute; z-index: 2; top: 50%; left: 13px; color: #8a97a6; transform: translateY(-50%); }
.hpm-input-wrap input { padding-left: 39px; }
.hpm-login-options { display: flex; align-items: center; justify-content: space-between; font-size: 12px; }
.hpm-login-options a { color: var(--hpm-navy-2); font-weight: 750; }
.hpm-login button { width: 100%; }
.hpm-login-security { display: flex; gap: 7px; align-items: center; justify-content: center; color: var(--hpm-muted); font-size: 10px; }
.hpm-login-state { max-width: 600px; padding: 24px; margin: 30px auto; border-radius: var(--hpm-radius); background: #fff; box-shadow: var(--hpm-shadow); text-align: center; }

/* Advisor panel */
.hpm-panel { max-width: 1320px; padding: 28px; margin: 30px auto; border-radius: 24px; background: #f3f6f8; }
.hpm-panel-head { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 24px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, var(--hpm-navy), var(--hpm-navy-2)); box-shadow: var(--hpm-shadow); }
.hpm-panel-user { display: flex; gap: 14px; align-items: center; }
.hpm-panel-user img { width: 58px; height: 58px; border: 3px solid rgba(255,255,255,.6); border-radius: 50%; }
.hpm-panel-user span { color: #bfcbd8; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.hpm-panel-user h2 { margin: 2px 0 0; color: #fff; font-size: 24px; }
.hpm-panel-actions { display: flex; gap: 10px; align-items: center; }
.hpm-button-secondary,
.hpm-logout { display: inline-flex; min-height: 42px; gap: 6px; align-items: center; padding: 10px 14px; border-radius: 9px; font-size: 12px; font-weight: 800; text-decoration: none !important; }
.hpm-button-secondary { color: var(--hpm-navy) !important; background: #fff; }
.hpm-logout { color: #fff !important; border: 1px solid rgba(255,255,255,.28); }
.hpm-panel-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin: 18px 0; }
.hpm-panel-stats > div { display: flex; gap: 12px; align-items: center; padding: 17px 19px; border: 1px solid var(--hpm-border); border-radius: 14px; background: #fff; }
.hpm-panel-stats > div > .hpm-icon { width: 30px; height: 30px; padding: 6px; border-radius: 9px; color: #fff; background: var(--hpm-accent); }
.hpm-panel-stats span { color: var(--hpm-muted); font-size: 11px; }
.hpm-panel-stats b { display: block; color: var(--hpm-navy); font-size: 22px; }
.hpm-panel > .hpm-notice { margin-bottom: 18px; }
.hpm-profile-card { padding: 24px; margin-bottom: 20px; border: 1px solid var(--hpm-border); border-radius: 18px; background: #fff; scroll-margin-top: 24px; }
.hpm-profile-form { display: grid; gap: 18px; }
.hpm-profile-main { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 24px; align-items: start; }
.hpm-profile-photo { display: grid; gap: 12px; justify-items: center; padding: 18px; border: 1px solid #e5ebf0; border-radius: 14px; background: #f7f9fb; }
.hpm-profile-photo > img { width: 116px; height: 116px; border: 4px solid #fff; border-radius: 50%; object-fit: cover; box-shadow: 0 10px 24px rgba(8,26,51,.14); }
.hpm-profile-form .hpm-profile-photo label { display: grid; width: 100%; grid-template-columns: 28px minmax(0,1fr); gap: 8px; align-items: center; color: var(--hpm-navy); cursor: pointer; }
.hpm-profile-form .hpm-profile-photo label > .hpm-icon { width: 28px; height: 28px; padding: 6px; border-radius: 8px; color: #fff; background: var(--hpm-accent); }
.hpm-profile-form .hpm-profile-photo label span { display: flex; min-width: 0; flex-direction: column; }
.hpm-profile-form .hpm-profile-photo label small { color: var(--hpm-muted); font-size: 9px; font-weight: 400; }
.hpm-profile-form .hpm-profile-photo input { grid-column: 1 / -1; width: 100%; min-height: auto; padding: 7px; border: 1px dashed #c1ccd6; border-radius: 8px; background: #fff; font-size: 10px; }
.hpm-profile-fields { display: grid; gap: 14px; }
.hpm-profile-fields .hpm-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hpm-profile-form label { display: flex; flex-direction: column; gap: 7px; color: var(--hpm-text); font-size: 12px; font-weight: 750; }
.hpm-profile-form input,
.hpm-profile-form textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #d5dde5; border-radius: 9px; color: var(--hpm-text); background: #fff; }
.hpm-profile-form textarea { resize: vertical; }
.hpm-profile-form input:focus,
.hpm-profile-form textarea:focus { border-color: var(--hpm-navy-2); outline: 0; box-shadow: 0 0 0 3px rgba(18,52,91,.1); }
.hpm-profile-password { display: grid; gap: 14px; padding: 18px; border: 1px solid #e5eaf0; border-radius: 13px; background: #fbfcfd; }
.hpm-profile-password > div:first-child { display: flex; flex-direction: column; }
.hpm-profile-password > div:first-child strong { color: var(--hpm-navy); }
.hpm-profile-password > div:first-child small { color: var(--hpm-muted); font-size: 10px; }
.hpm-panel-layout { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 20px; align-items: start; }
.hpm-property-list,
.hpm-editor-card { padding: 20px; border: 1px solid var(--hpm-border); border-radius: 18px; background: #fff; }
.hpm-section-heading { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 17px; }
.hpm-section-heading span { color: var(--hpm-accent); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.hpm-section-heading h3 { margin: 2px 0 0; color: var(--hpm-navy); font-size: 21px; }
.hpm-section-heading > b { display: grid; width: 34px; height: 34px; border-radius: 50%; place-items: center; color: #fff; background: var(--hpm-navy); font-size: 12px; }
.hpm-section-heading > .hpm-icon { width: 30px; height: 30px; padding: 7px; border-radius: 9px; color: #fff; background: var(--hpm-navy); }
.hpm-panel-property { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 12px; padding: 11px; margin-bottom: 10px; border: 1px solid #e8edf1; border-radius: 13px; background: #fff; transition: border-color .18s, box-shadow .18s; }
.hpm-panel-property.is-active,
.hpm-panel-property:hover { border-color: #bdc9d4; box-shadow: 0 8px 22px rgba(8,26,51,.08); }
.hpm-panel-thumb { display: grid; overflow: hidden; width: 88px; min-height: 105px; border-radius: 9px; place-items: center; color: #fff; background: var(--hpm-navy); }
.hpm-panel-thumb img { width: 100%; height: 100%; object-fit: cover; }
.hpm-panel-property-info { min-width: 0; }
.hpm-panel-property-info > div { display: flex; gap: 6px; align-items: center; justify-content: space-between; }
.hpm-status { padding: 3px 7px; border-radius: 999px; color: #6b4d12; background: #fff5d9; font-size: 9px; font-weight: 850; }
.hpm-status-publish { color: #12633a; background: #e6f7ee; }
.hpm-status-draft { color: #5c6876; background: #edf1f4; }
.hpm-panel-property-info small { color: var(--hpm-muted); font-size: 9px; }
.hpm-panel-property h4 { overflow: hidden; margin: 6px 0 4px; color: var(--hpm-navy); font-size: 14px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.hpm-panel-property p { display: flex; overflow: hidden; gap: 4px; margin: 0; color: var(--hpm-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.hpm-panel-property p .hpm-icon { color: var(--hpm-accent); }
.hpm-panel-property footer { display: flex; gap: 8px; align-items: center; justify-content: space-between; margin-top: 11px; }
.hpm-panel-property footer strong { color: var(--hpm-navy); font-size: 12px; }
.hpm-panel-property footer a { display: inline-flex; gap: 4px; align-items: center; color: var(--hpm-accent); font-size: 10px; font-weight: 850; text-decoration: none; }
.hpm-panel-empty { padding: 40px 20px; border: 1px dashed #ccd5de; border-radius: 13px; color: var(--hpm-muted); text-align: center; }
.hpm-panel-empty > .hpm-icon { width: 40px; height: 40px; color: var(--hpm-silver); }
.hpm-panel-empty h4 { margin: 8px 0 4px; color: var(--hpm-navy); }
.hpm-panel-empty p { margin: 0; font-size: 12px; }
.hpm-editor-card { padding: 24px; }
.hpm-property-form { display: grid; gap: 18px; }
.hpm-form-section { display: grid; gap: 14px; padding: 20px; border: 1px solid #e6ebf0; border-radius: 14px; background: #fbfcfd; }
.hpm-form-section-title { display: flex; gap: 12px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid #e7ebef; }
.hpm-form-section-title > span { display: grid; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 9px; place-items: center; color: #fff; background: var(--hpm-accent); font-size: 12px; font-weight: 850; }
.hpm-form-section-title h4 { margin: 0; color: var(--hpm-navy); font-size: 16px; }
.hpm-form-section-title p { margin: 2px 0 0; color: var(--hpm-muted); font-size: 11px; }
.hpm-upload-field { display: grid !important; grid-template-columns: auto 1fr; gap: 12px !important; align-items: center; padding: 18px; border: 1px dashed #b8c4cf; border-radius: 12px; background: #fff; }
.hpm-upload-field > .hpm-icon { width: 34px; height: 34px; color: var(--hpm-accent); }
.hpm-upload-field span { display: flex; flex-direction: column; }
.hpm-upload-field small { color: var(--hpm-muted); font-weight: 400; }
.hpm-upload-field input { grid-column: 1 / -1; min-height: auto; padding: 9px; }
.hpm-form-submit { display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.hpm-form-submit > span { color: var(--hpm-muted); font-size: 11px; }
.hpm-form-submit button { display: inline-flex; gap: 7px; align-items: center; }
.hpm-check { flex-direction: row !important; align-items: center; }
.hpm-check input { width: auto; min-height: auto; }

.hpm-advisor-leads { padding: 22px; border: 1px solid var(--hpm-border); border-radius: 18px; background: #fff; }
.hpm-advisor-lead-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin-top: 16px; }
.hpm-advisor-lead { overflow: hidden; border: 1px solid var(--hpm-border); border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(8,26,51,.06); }
.hpm-advisor-lead > header { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 15px; color: #fff; background: linear-gradient(135deg,var(--hpm-navy),#173b61); }
.hpm-advisor-lead > header > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; color: var(--hpm-accent); background: #fff; }
.hpm-advisor-lead > header .hpm-icon { width: 19px; height: 19px; }
.hpm-advisor-lead header small { color: #b9cad9; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.hpm-advisor-lead h4 { margin: 2px 0; color: #fff; font-size: 15px; }
.hpm-advisor-lead time { color: #cbd7e2; font-size: 9px; }
.hpm-lead-badge { padding: 6px 8px; border-radius: 999px; color: #0a603a; background: #d9f7e8; font-size: 8px; white-space: nowrap; }
.hpm-lead-badge-contacted,.hpm-lead-badge-visit { color: #695205; background: #fff1bd; }
.hpm-lead-badge-closed { color: #185ba5; background: #dcecff; }
.hpm-lead-badge-discarded { color: #8a2530; background: #ffe0e4; }
.hpm-advisor-lead-property,.hpm-advisor-lead-contact { padding: 14px 15px; border-bottom: 1px solid var(--hpm-border); }
.hpm-advisor-lead-property { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 10px; }
.hpm-advisor-lead-property small { grid-column: 1/-1; color: var(--hpm-accent); font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.hpm-advisor-lead-property strong { color: var(--hpm-navy); font-size: 12px; }
.hpm-advisor-lead-property span { color: var(--hpm-muted); font-size: 9px; }
.hpm-advisor-lead-contact a { display: inline-flex; gap: 6px; align-items: center; color: #07864b; font-size: 11px; font-weight: 800; }
.hpm-advisor-lead-contact a .hpm-icon { width: 14px; height: 14px; }
.hpm-advisor-lead-contact p { margin: 9px 0 0; color: var(--hpm-muted); font-size: 10px; line-height: 1.5; }
.hpm-advisor-lead > footer { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 13px 15px; background: #f7f9fb; }
.hpm-advisor-lead-whatsapp { display: inline-flex; gap: 6px; align-items: center; padding: 9px 12px; border-radius: 9px; color: #fff; background: #07864b; font-size: 10px; font-weight: 800; }
.hpm-advisor-lead-whatsapp .hpm-icon { width: 14px; height: 14px; }
.hpm-advisor-lead footer form { display: flex; gap: 6px; }
.hpm-advisor-lead footer select,.hpm-advisor-lead footer button { min-height: 34px; padding: 6px 8px; border: 1px solid #cdd7df; border-radius: 8px; background: #fff; font-size: 9px; }
.hpm-advisor-lead footer button { color: #fff; border-color: var(--hpm-navy); background: var(--hpm-navy); cursor: pointer; }

@media (max-width: 1100px) {
  .hpm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hpm-specs { grid-template-columns: repeat(3, 1fr); }
  .hpm-specs > div:nth-child(3) { border-right: 0; }
  .hpm-specs > div:nth-child(-n+3) { border-bottom: 1px solid #edf0f3; }
  .hpm-panel-layout { grid-template-columns: 330px minmax(0, 1fr); }
  .hpm-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .hpm-filter-grid { grid-template-columns: repeat(2, 1fr); }
  .hpm-home-search { grid-template-columns: 1fr 1fr; }
  .hpm-property-hero { display: block; }
  .hpm-property-price { width: min(100%, 430px); min-height: 96px; margin-top: 24px; }
  .hpm-single-layout,
  .hpm-panel-layout { grid-template-columns: 1fr; }
  .hpm-contact-card { position: static; }
  .hpm-login-shell { grid-template-columns: 1fr; max-width: 620px; }
  .hpm-login-intro { padding: 38px; }
  .hpm-login-intro ul { grid-template-columns: repeat(3, 1fr); }
  .hpm-panel-head { align-items: flex-start; }
	.hpm-profile-main { grid-template-columns: 1fr; }
	.hpm-profile-photo { justify-items: start; }
}

@media (max-width: 650px) {
  .hpm-grid,
  .hpm-filter-grid,
  .hpm-form-grid,
  .hpm-home-search { grid-template-columns: 1fr; }
  .hpm-filter-actions { flex-direction: column; }
  .hpm-card h3 { min-height: 0; }
  .hpm-single { padding: 24px 12px 54px; }
  .hpm-property-heading h1 { font-size: 34px; }
  .hpm-property-price { width: 100%; min-width: 0; min-height: 92px; padding: 18px 17px 18px 20px; }
  .hpm-property-price > strong { font-size: 29px; }
  .hpm-property-price a { padding: 10px 12px; }
  .hpm-gallery-stage { aspect-ratio: 4 / 3; border-radius: 15px; }
  .hpm-gallery-nav { width: 40px; height: 40px; }
  .hpm-gallery-prev { left: 10px; }
  .hpm-gallery-next { right: 10px; }
  .hpm-gallery-tools button { width: 39px; overflow: hidden; padding: 10px; white-space: nowrap; }
  .hpm-gallery-tools button .hpm-icon { flex: 0 0 17px; }
  .hpm-lightbox { padding: 60px 12px; }
  .hpm-lightbox-prev { left: 8px; }
  .hpm-lightbox-next { right: 8px; }
  .hpm-spec-card { padding: 10px; }
  .hpm-specs { grid-template-columns: repeat(2, 1fr); }
  .hpm-specs > div { border-right: 1px solid #edf0f3 !important; border-bottom: 1px solid #edf0f3; }
  .hpm-specs > div:nth-child(even) { border-right: 0 !important; }
  .hpm-specs > div:nth-last-child(-n+2) { border-bottom: 0; }
  .hpm-detail-section,
  .hpm-contact-card { padding: 20px; }
  .hpm-amenities { grid-template-columns: 1fr; }
  .hpm-location-summary { align-items: flex-start; flex-wrap: wrap; }
  .hpm-location-summary a { width: 100%; margin-left: 42px; }
  .hpm-map-frame { height: 290px; }
  .hpm-login-shell { margin: 20px 8px; border-radius: 18px; }
  .hpm-login-intro { padding: 30px 24px; }
  .hpm-login-intro ul { grid-template-columns: 1fr; }
  .hpm-login { padding: 30px 24px; }
  .hpm-panel { padding: 12px; margin: 16px 0; border-radius: 16px; }
  .hpm-panel-head { flex-direction: column; padding: 19px; }
  .hpm-panel-actions { width: 100%; flex-wrap: wrap; }
	.hpm-profile-card { padding: 16px; }
	.hpm-profile-photo { justify-items: center; }
	.hpm-profile-fields .hpm-form-grid { grid-template-columns: 1fr; }
  .hpm-panel-stats { grid-template-columns: 1fr; }
  .hpm-property-list,
  .hpm-editor-card { padding: 15px; }
  .hpm-form-section { padding: 15px; }
  .hpm-form-submit { align-items: stretch; flex-direction: column; }
  .hpm-form-submit button { justify-content: center; }
}

/* v0.3 property finder, results explorer and card gallery action */
.hpm-card-image-cta {
  right: 14px;
  bottom: 13px;
  width: auto;
  height: auto;
  min-height: 40px;
  gap: 7px;
  padding: 4px 9px 4px 4px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 999px;
  color: #fff;
  background: rgba(8, 26, 51, .9);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .24);
  font-size: 12px;
  font-weight: 800;
  backdrop-filter: blur(8px);
}
.hpm-card-photo-icon { display: grid; width: 32px; height: 32px; border-radius: 50%; place-items: center; color: #fff; background: var(--hpm-accent); }
.hpm-card-photo-icon .hpm-icon { width: 16px; height: 16px; }
.hpm-card-image-cta > b { display: inline-flex; width: 24px; min-width: 24px; height: 24px; padding: 0; align-items: center; justify-content: center; border-radius: 50%; color: var(--hpm-navy); background: #fff; font-size: 10px; line-height: 1; text-align: center; }
.hpm-card:hover .hpm-card-image-cta { background: var(--hpm-navy); }

.hpm-brand-mark { width: 112px; height: 112px; padding: 7px; border-radius: 20px; }
.hpm-brand-mark img { display: block; width: 100%; height: 100%; border-radius: 14px; object-fit: contain; }

.hpm-home-finder { overflow: hidden; padding: 28px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; color: #fff; background: linear-gradient(135deg, rgba(8,26,51,.98), rgba(19,47,81,.95)); box-shadow: 0 22px 55px rgba(8,26,51,.2); }
.hpm-home-finder-head { display: flex; gap: 14px; align-items: baseline; margin-bottom: 18px; }
.hpm-home-finder-head > span { color: #9eadbd; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.hpm-home-finder-head h2 { margin: 0; color: #fff; font-size: 25px; }
.hpm-home-finder .hpm-home-search { display: block; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.hpm-home-primary { display: grid; grid-template-columns: 210px minmax(240px, 1fr) 200px 140px; gap: 10px; align-items: end; }
.hpm-home-primary label,
.hpm-home-advanced label { display: flex; min-width: 0; flex-direction: column; gap: 6px; color: #dbe4ed; font-size: 11px; font-weight: 750; }
.hpm-home-primary label > span,
.hpm-home-advanced label > span { padding-left: 2px; }
.hpm-home-finder .hpm-home-search input,
.hpm-home-finder .hpm-home-search select { width: 100%; min-height: 50px; padding: 12px 13px; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; outline: 0; color: var(--hpm-navy); background: #fff; }
.hpm-home-finder .hpm-home-search input:focus,
.hpm-home-finder .hpm-home-search select:focus { border-color: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.13); }
.hpm-home-primary > button { display: inline-flex; min-height: 50px; gap: 7px; align-items: center; justify-content: center; border-radius: 10px; background: var(--hpm-accent); }
.hpm-home-primary > button:hover { background: #a1264b; }
.hpm-home-search-footer { display: flex; justify-content: flex-end; margin-top: 11px; }
.hpm-home-finder .hpm-home-advanced-toggle { display: inline-flex; min-height: auto; gap: 7px; align-items: center; padding: 6px 0; color: #d9e2eb; background: transparent; font-size: 11px; }
.hpm-home-finder .hpm-home-advanced-toggle:hover { transform: none; color: #fff; background: transparent; }
.hpm-home-advanced-toggle > span { display: grid; width: 20px; height: 20px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; place-items: center; }
.hpm-home-advanced[hidden] { display: none !important; }
.hpm-home-advanced { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; padding-top: 15px; margin-top: 8px; border-top: 1px solid rgba(255,255,255,.16); animation: hpmFade .2s ease; }

.hpm-home-finder.hpm-search-bar { overflow: visible; padding: 0; border: 0; border-radius: 0; color: inherit; background: transparent; box-shadow: none; }
.hpm-search-bar .hpm-home-primary label,
.hpm-search-bar .hpm-home-advanced label { color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.35); }
.hpm-search-bar .hpm-home-search input,
.hpm-search-bar .hpm-home-search select { border-color: #d7e0e8; }
.hpm-search-bar .hpm-home-search input:focus,
.hpm-search-bar .hpm-home-search select:focus { border-color: var(--hpm-accent); box-shadow: 0 0 0 3px rgba(166, 28, 70, .1); }
.hpm-search-bar .hpm-home-advanced-toggle { color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.35); }
.hpm-search-bar .hpm-home-advanced-toggle:hover { color: #fff; }
.hpm-search-bar .hpm-home-advanced-toggle > span { border-color: rgba(255,255,255,.55); }
.hpm-search-bar .hpm-home-advanced { border-top-color: rgba(255,255,255,.35); }

.hpm-results-toolbar { display: none; align-items: center; justify-content: flex-end; margin-bottom: 14px; }
.hpm-mobile-filter-toggle { display: none; min-height: 42px; gap: 7px; align-items: center; padding: 10px 15px; border: 0; border-radius: 9px; color: #fff; background: var(--hpm-navy); font-weight: 800; }
.hpm-explorer-layout { display: grid; grid-template-columns: 285px minmax(0, 1fr); gap: 24px; align-items: start; }
.hpm-filter-sidebar { position: sticky; top: 24px; overflow: hidden; border-radius: 18px; color: #fff; background: linear-gradient(155deg, var(--hpm-navy), #122f51); box-shadow: 0 18px 44px rgba(8,26,51,.18); }
.hpm-filter-sidebar-head { display: flex; gap: 10px; align-items: flex-start; justify-content: space-between; padding: 22px 21px 17px; border-bottom: 1px solid rgba(255,255,255,.13); }
.hpm-filter-sidebar-head span { color: #9eacbc; font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.hpm-filter-sidebar-head h2 { margin: 3px 0 0; color: #fff; font-size: 20px; }
.hpm-filter-close { display: none; width: 38px; height: 38px; flex: 0 0 auto; padding: 0; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; place-items: center; color: #fff; background: rgba(255,255,255,.08); }
.hpm-filter-sidebar .hpm-filters { padding: 20px 21px 22px; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.hpm-filter-sidebar .hpm-filters label { color: #dce5ed; font-size: 11px; }
.hpm-filter-sidebar .hpm-filters input,
.hpm-filter-sidebar .hpm-filters select { min-height: 44px; border-color: rgba(255,255,255,.2); }
.hpm-filter-input-icon { position: relative; display: block; }
.hpm-filter-input-icon > .hpm-icon { position: absolute; z-index: 2; top: 50%; left: 12px; color: #8090a1; transform: translateY(-50%); }
.hpm-filter-input-icon input { padding-left: 38px !important; }
.hpm-filter-section { display: grid; gap: 11px; padding-top: 17px; margin-top: 17px; border-top: 1px solid rgba(255,255,255,.13); }
.hpm-filter-section h3 { margin: 0 0 1px; color: #fff; font-size: 12px; }
.hpm-filter-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.hpm-filter-sidebar .hpm-filter-actions { display: grid; gap: 8px; margin-top: 20px; }
.hpm-filter-sidebar .hpm-filter-actions button { display: inline-flex; width: 100%; gap: 7px; align-items: center; justify-content: center; background: var(--hpm-accent); }
.hpm-filter-sidebar .hpm-filter-actions .hpm-secondary { color: #fff; background: rgba(255,255,255,.1); }
.hpm-results-column { min-width: 0; }
.hpm-properties .hpm-grid { grid-template-columns: repeat(var(--hpm-columns-desktop, 4), minmax(0, 1fr)); }
.hpm-filter-backdrop[hidden] { display: none !important; }

.hpm-pagination { display: flex; gap: 7px; align-items: center; justify-content: center; margin-top: 30px; }
.hpm-page-link { display: inline-flex; width: 42px; min-width: 42px; height: 42px; min-height: 42px; align-items: center; justify-content: center; padding: 0; border: 1px solid #d7e0e8; border-radius: 10px; color: var(--hpm-navy); background: #fff; font-size: 13px; font-weight: 800; box-shadow: 0 5px 14px rgba(8, 26, 51, .06); }
.hpm-page-link:hover:not(:disabled) { border-color: var(--hpm-accent); color: #fff; background: var(--hpm-accent); transform: translateY(-1px); }
.hpm-page-link.is-current { border-color: var(--hpm-navy); color: #fff; background: var(--hpm-navy); }
.hpm-page-link:disabled { cursor: default; opacity: 1; }
.hpm-page-prev .hpm-icon { transform: rotate(180deg); }
.hpm-page-link .hpm-icon { width: 16px; height: 16px; }
.hpm-page-gap { display: inline-flex; width: 24px; align-items: center; justify-content: center; color: #7d8b9a; }

@media (max-width: 1100px) {
	.hpm-featured-track { grid-auto-columns: var(--hpm-featured-tablet-size, calc((100% - 18px) / 2)); gap: 18px; }
	.hpm-properties .hpm-grid { grid-template-columns: repeat(var(--hpm-columns-tablet, 2), minmax(0, 1fr)); }
}

@media (max-width: 1050px) {
  .hpm-home-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hpm-home-advanced { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hpm-explorer-layout { grid-template-columns: 255px minmax(0, 1fr); gap: 18px; }
}

@media (max-width: 860px) { 
	.hpm-advisor-lead-grid { grid-template-columns: 1fr; }
	.hpm-results-toolbar { display: flex; }
  .hpm-mobile-filter-toggle { display: inline-flex; }
  .hpm-explorer-layout { display: block; }
  .hpm-filter-sidebar { position: fixed; z-index: 999999; top: 0; bottom: 0; left: 0; width: min(88vw, 360px); overflow-y: auto; border-radius: 0 20px 20px 0; transform: translateX(-105%); transition: transform .25s ease; }
  .hpm-filter-sidebar.is-open { transform: translateX(0); }
  .hpm-filter-close { display: grid; }
  .hpm-filter-backdrop { position: fixed; z-index: 999998; inset: 0; display: block; background: rgba(2,9,18,.62); backdrop-filter: blur(3px); }
  body.hpm-filter-open { overflow: hidden; }
}

@media (max-width: 650px) {
	.hpm-featured-head { align-items: flex-start; flex-direction: column; margin-bottom: 16px; }
	.hpm-featured-actions { width: 100%; justify-content: space-between; }
	.hpm-featured-track { grid-auto-columns: var(--hpm-featured-mobile-size, 100%); gap: 14px; }
	.hpm-featured-viewport { padding-bottom: 19px; }
	.hpm-featured-head h2 { font-size: 28px; }
  .hpm-card-image-cta { right: 11px; bottom: 10px; }
  .hpm-brand-mark { width: 96px; height: 96px; margin-bottom: 20px; }
  .hpm-home-finder { padding: 21px 17px; border-radius: 16px; }
  .hpm-home-finder-head { display: block; }
  .hpm-home-finder-head h2 { margin-top: 5px; font-size: 22px; }
  .hpm-home-primary,
  .hpm-home-advanced { grid-template-columns: 1fr; }
  .hpm-home-search-footer { justify-content: flex-start; }
	.hpm-properties .hpm-grid { grid-template-columns: repeat(var(--hpm-columns-mobile, 1), minmax(0, 1fr)); }
	.hpm-pagination { gap: 5px; margin-top: 23px; }
	.hpm-page-link { width: 38px; min-width: 38px; height: 38px; min-height: 38px; }
}
.hpm-private-owner-section { border-color: #dfcf9f; background: linear-gradient(135deg, #fffdf6 0%, #fbfcfd 100%); }
.hpm-private-data-notice { display: flex; gap: 10px; align-items: center; padding: 12px 14px; border: 1px solid #eadfb9; border-radius: 10px; color: #5b4b1d; background: #fff8dc; }
.hpm-private-data-notice > .hpm-icon { width: 20px; height: 20px; flex: 0 0 auto; color: var(--hpm-accent); }
.hpm-private-data-notice div { display: grid; gap: 2px; }
.hpm-private-data-notice small { color: #756840; font-size: 10px; }
.hpm-panel-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.hpm-panel-tabs a { position: relative; display: flex; gap: 11px; align-items: center; min-height: 74px; padding: 14px 16px; border: 1px solid var(--hpm-border); border-radius: 14px; color: var(--hpm-navy); background: #fff; text-decoration: none; box-shadow: 0 7px 18px rgba(8,26,51,.05); transition: .2s ease; }
.hpm-panel-tabs a:hover { border-color: #b7c5d2; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(8,26,51,.09); }
.hpm-panel-tabs a.is-active { border-color: var(--hpm-navy); color: #fff; background: linear-gradient(135deg, var(--hpm-navy), var(--hpm-navy-2)); box-shadow: 0 12px 28px rgba(8,26,51,.18); }
.hpm-panel-tabs a > .hpm-icon { width: 34px; height: 34px; flex: 0 0 auto; padding: 8px; border-radius: 10px; color: #fff; background: var(--hpm-accent); }
.hpm-panel-tabs a.is-active > .hpm-icon { color: var(--hpm-navy); background: #fff; }
.hpm-panel-tabs a > span { display: grid; gap: 2px; min-width: 0; }
.hpm-panel-tabs strong { font-size: 13px; }
.hpm-panel-tabs small { color: var(--hpm-muted); font-size: 9px; }
.hpm-panel-tabs a.is-active small { color: #c2cedb; }
.hpm-panel-tabs a > b { display: grid; min-width: 24px; height: 24px; margin-left: auto; border-radius: 999px; place-items: center; color: #fff; background: var(--hpm-accent); font-size: 10px; }
.hpm-property-list-tab,
.hpm-editor-card-tab { padding: 22px; border: 1px solid var(--hpm-border); border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(8,26,51,.06); }
.hpm-property-list-tab .hpm-section-heading p { margin: 3px 0 0; color: var(--hpm-muted); font-size: 11px; }
.hpm-panel-property-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.hpm-panel-property-grid .hpm-panel-property { height: 100%; margin: 0; grid-template-columns: 116px minmax(0, 1fr); padding: 14px; }
.hpm-panel-property-grid .hpm-panel-thumb { width: 116px; min-height: 190px; }
.hpm-panel-owner { display: flex !important; gap: 9px !important; align-items: flex-start !important; justify-content: flex-start !important; padding: 10px 11px; margin-top: 10px; border: 1px solid #eadfb9; border-radius: 10px; background: #fff9e4; }
.hpm-panel-owner > span { display: grid; width: 28px; height: 28px; flex: 0 0 auto; border-radius: 8px; place-items: center; color: #fff; background: var(--hpm-accent); }
.hpm-panel-owner > span .hpm-icon { width: 15px; height: 15px; }
.hpm-panel-owner > div { display: grid !important; gap: 2px !important; align-items: start !important; justify-content: start !important; min-width: 0; }
.hpm-panel-owner small { color: #776638; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hpm-panel-owner strong { overflow: hidden; color: var(--hpm-navy); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.hpm-panel-owner a { display: inline-flex; gap: 5px; align-items: center; width: fit-content; margin-top: 3px; color: #087a43; font-size: 11px; font-weight: 800; text-decoration: none; }
.hpm-panel-owner a .hpm-icon { width: 13px; height: 13px; }
.hpm-panel-owner em { margin-top: 2px; color: #8a7b50; font-size: 9px; }
@media (max-width: 860px) {
  .hpm-panel-tabs { grid-template-columns: 1fr; }
  .hpm-panel-tabs a { min-height: 64px; }
  .hpm-panel-property-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .hpm-property-list-tab, .hpm-editor-card-tab { padding: 14px; }
  .hpm-panel-property-grid .hpm-panel-property { grid-template-columns: 88px minmax(0,1fr); padding: 10px; }
  .hpm-panel-property-grid .hpm-panel-thumb { width: 88px; min-height: 170px; }
}
.hpm-panel-property-grid { gap: 18px; }
.hpm-panel-property-grid .hpm-panel-property { overflow: hidden; min-height: 292px; padding: 0; border-color: #dce4eb; border-radius: 16px; grid-template-columns: 190px minmax(0,1fr); background: #fff; box-shadow: 0 10px 28px rgba(8,26,51,.07); }
.hpm-panel-property-grid .hpm-panel-property:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(8,26,51,.12); }
.hpm-panel-property-grid .hpm-panel-thumb { position: relative; overflow: hidden; width: 190px; min-height: 292px; border-radius: 0; color: #fff; background: var(--hpm-navy); text-decoration: none; }
.hpm-panel-property-grid .hpm-panel-thumb::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(8,26,51,.78) 100%); content: ""; }
.hpm-panel-property-grid .hpm-panel-thumb img { transition: transform .35s ease; }
.hpm-panel-property-grid .hpm-panel-thumb:hover img { transform: scale(1.045); }
.hpm-panel-property-grid .hpm-panel-thumb > span { position: absolute; z-index: 2; right: 12px; bottom: 12px; left: 12px; display: inline-flex; gap: 6px; align-items: center; justify-content: center; padding: 9px 10px; border: 1px solid rgba(255,255,255,.38); border-radius: 9px; color: #fff; background: rgba(8,26,51,.7); font-size: 10px; font-weight: 850; backdrop-filter: blur(7px); }
.hpm-panel-property-grid .hpm-panel-thumb > span .hpm-icon { width: 15px; height: 15px; }
.hpm-panel-property-grid .hpm-panel-property-info { display: flex; min-width: 0; flex-direction: column; padding: 17px 18px 14px; }
.hpm-panel-card-meta { display: flex; gap: 8px; align-items: center; justify-content: space-between; }
.hpm-panel-property-grid .hpm-panel-property h4 { margin: 11px 0 6px; font-size: 17px; line-height: 1.25; white-space: normal; }
.hpm-panel-property-grid .hpm-panel-property p { font-size: 10px; line-height: 1.45; white-space: normal; }
.hpm-panel-property-grid .hpm-panel-owner { margin-top: 14px; }
.hpm-panel-property-grid .hpm-panel-property footer { padding-top: 13px; margin-top: auto; border-top: 1px solid #edf1f4; }
.hpm-panel-property-grid .hpm-panel-property footer > strong { font-size: 14px; }
.hpm-panel-card-actions { display: flex; gap: 7px; align-items: center; }
.hpm-panel-card-actions a { display: inline-flex !important; gap: 5px !important; align-items: center; padding: 7px 9px; border-radius: 8px; font-size: 9px !important; font-weight: 850 !important; }
.hpm-panel-card-actions .hpm-panel-quick-link { color: #fff; background: var(--hpm-navy); }
.hpm-panel-card-actions .hpm-panel-edit-link { color: var(--hpm-accent); background: #f9edf1; }
.hpm-panel-card-actions .hpm-icon { width: 13px; height: 13px; }
.hpm-editor-heading-actions { display: flex; gap: 10px; align-items: center; }
.hpm-editor-heading-actions > a { display: inline-flex; gap: 6px; align-items: center; padding: 9px 12px; border-radius: 9px; color: #fff; background: var(--hpm-navy); font-size: 10px; font-weight: 850; text-decoration: none; }
.hpm-editor-heading-actions > a .hpm-icon { width: 15px; height: 15px; }
.hpm-editor-heading-actions > .hpm-icon { width: 26px; height: 26px; color: var(--hpm-accent); }

.hpm-property-share { position: relative; display: flex; gap: 18px; align-items: center; justify-content: space-between; padding: 14px 16px; margin: -8px 0 26px; border: 1px solid #dce4eb; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(8,26,51,.07); }
.hpm-property-share > div:first-child { display: flex; gap: 10px; align-items: center; flex: 0 0 auto; }
.hpm-property-share > div:first-child > span { display: grid; width: 38px; height: 38px; border-radius: 10px; place-items: center; color: #fff; background: var(--hpm-accent); }
.hpm-property-share > div:first-child .hpm-icon { width: 18px; height: 18px; }
.hpm-property-share > div:first-child > div { display: grid; gap: 2px; }
.hpm-property-share > div:first-child strong { color: var(--hpm-navy); font-size: 12px; }
.hpm-property-share > div:first-child small { color: var(--hpm-muted); font-size: 9px; }
.hpm-property-share-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.hpm-property-share-actions a,
.hpm-property-share-actions button { display: inline-flex; min-height: 38px; gap: 6px; align-items: center; padding: 9px 11px; border: 1px solid #d9e1e8; border-radius: 9px; color: var(--hpm-navy); background: #f8fafb; font: inherit; font-size: 9px; font-weight: 850; line-height: 1; text-decoration: none; cursor: pointer; transition: .18s ease; }
.hpm-property-share-actions a:hover,
.hpm-property-share-actions button:hover { border-color: var(--hpm-navy); transform: translateY(-1px); background: #fff; }
.hpm-property-share-actions .hpm-icon { width: 15px; height: 15px; }
.hpm-property-share-actions .is-whatsapp { border-color: #bfe9d1; color: #087a43; background: #edfbf3; }
.hpm-property-share-actions .is-facebook { color: #1967c9; }
.hpm-property-share-actions .is-facebook b,
.hpm-property-share-actions .is-x b { font-size: 15px; line-height: 1; }
.hpm-copy-feedback { position: absolute; right: 16px; bottom: -20px; color: #087a43; font-size: 9px; font-weight: 800; }
.hpm-copy-feedback.is-error { color: #b91c1c; }
@media (max-width: 1100px) {
  .hpm-panel-property-grid .hpm-panel-property { grid-template-columns: 155px minmax(0,1fr); }
  .hpm-panel-property-grid .hpm-panel-thumb { width: 155px; }
  .hpm-property-share { align-items: flex-start; flex-direction: column; }
  .hpm-property-share-actions { justify-content: flex-start; }
}
@media (max-width: 620px) { 
	.hpm-lead-modal { min-height: 100dvh; padding: 10px; align-items: flex-start; }
	.hpm-lead-dialog { max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); padding: 22px 17px 18px; margin: auto 0; border-radius: 20px; }
	.hpm-lead-dialog > header { grid-template-columns: 40px minmax(0,1fr); gap: 11px; }
	.hpm-lead-dialog > header > span { width: 40px; height: 40px; border-radius: 12px; }
	.hpm-lead-form-grid { grid-template-columns: 1fr; }
	.hpm-lead-property-summary { grid-template-columns: 58px minmax(0,1fr); gap: 10px; }
	.hpm-lead-property-image { width: 58px; height: 58px; }
	.hpm-lead-property-summary > strong { grid-column: 2; padding: 0; border: 0; font-size: 12px; }
	.hpm-lead-property-summary h3 { font-size: 13px; }
  .hpm-panel-property-grid .hpm-panel-property { display: block; }
  .hpm-panel-property-grid .hpm-panel-thumb { width: 100%; min-height: 190px; max-height: 230px; }
  .hpm-panel-property-grid .hpm-panel-property-info { padding: 15px; }
  .hpm-panel-property-grid .hpm-panel-property footer { align-items: flex-start; flex-direction: column; }
  .hpm-panel-card-actions { width: 100%; }
  .hpm-panel-card-actions a { flex: 1; justify-content: center; }
  .hpm-property-share-actions a, .hpm-property-share-actions button { flex: 1 1 calc(50% - 7px); justify-content: center; }
}
@media print {
  body.admin-bar { margin-top: 0 !important; }
  #wpadminbar, header, footer, .site-header, .site-footer, .hpm-breadcrumb, .hpm-property-share, .hpm-contact-card, .hpm-advertisement, .nta-wa-gdpr, .joinchat, .hpm-gallery-tools, .hpm-gallery-thumbs, .hpm-gallery-nav { display: none !important; }
  .hpm-single, .hpm-single.hpm-single-breakout { position: static !important; width: 100% !important; min-width: 0 !important; max-width: none !important; padding: 0 !important; margin: 0 !important; transform: none !important; background: #fff !important; }
  .hpm-single-wrap { width: 100% !important; max-width: none !important; }
  .hpm-property-hero { break-inside: avoid; }
  .hpm-gallery-stage { max-height: 460px; break-inside: avoid; box-shadow: none; }
  .hpm-single-layout { display: block; }
  .hpm-detail-section, .hpm-spec-card { break-inside: avoid; box-shadow: none; }
  a { color: inherit !important; text-decoration: none !important; }
}
