/* assets/imaps.css */

/* ========== Base overlay ========== */
.imaps-wrap{position:relative; max-width:100%; width:100%}
.imaps-stage{position:relative; display:block; line-height:0; overflow:visible; width:100%}
.imaps-stage img{
  display:block; width:100%; height:auto;
  user-select:none; -webkit-user-drag:none; -webkit-touch-callout:none
}
.imaps-svg{
  position:absolute; inset:0; width:100%; height:100%;
  pointer-events:auto; z-index:3; /* above image */
}
/* Make links & polygons always receive pointer events */
.imaps-svg a{pointer-events:auto}
.imaps-svg polygon{pointer-events:all}

/* Polygons: status-based colors */
.imaps-poly{
  fill:rgba(245,166,35,0.25);  /* yellow with low opacity - for sale */
  stroke:rgba(245,166,35,0.5);
  stroke-width:2;
  transition:fill .15s ease, stroke .15s ease, opacity .15s ease, transform .15s ease;
}
.imaps-link{cursor:pointer}

/* For sale: yellow, more opacity on hover */
.imaps-link:hover .imaps-poly,
.imaps-poly.is-hover,
.imaps-poly.is-active{
  fill:rgba(245,166,35,0.5);
  stroke:#f5a623;
}

/* Sold: red, always visible, no hover effect */
.imaps-poly[data-status="Sold"],
.imaps-poly[data-status="sold"],
.imaps-poly[data-status="გაყიდული"]{
  fill:rgba(220,53,69,0.5);
  stroke:#dc3545;
  cursor:default;
}
.imaps-link:hover .imaps-poly[data-status="Sold"],
.imaps-link:hover .imaps-poly[data-status="sold"],
.imaps-link:hover .imaps-poly[data-status="გაყიდული"]{
  fill:rgba(220,53,69,0.5);
  stroke:#dc3545;
}

/* Reserved: orange */
.imaps-poly[data-status="Reserved"],
.imaps-poly[data-status="reserved"],
.imaps-poly[data-status="რეზერვი"]{
  fill:rgba(255,140,0,0.4);
  stroke:#ff8c00;
}

/* Sold text label */
.sold-label{
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

/* Project map: Sales opened - yellow */
.imaps-poly--open{
  fill:rgba(245,166,35,0.25);
  stroke:rgba(245,166,35,0.5);
}
.imaps-link:hover .imaps-poly--open{
  fill:rgba(245,166,35,0.5);
  stroke:#f5a623;
}

/* Project map: Not started yet - red with block name */
.imaps-poly--notstarted{
  fill:rgba(220,53,69,0.5);
  stroke:#dc3545;
}
.imaps-link--notstarted{
  cursor:default !important;
}
.imaps-link:hover .imaps-poly--notstarted{
  fill:rgba(220,53,69,0.5);
  stroke:#dc3545;
}
.block-label{
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

/* ========== IMAP Shared Components (header, footer) ========== */
/* Used by single-block.php and single-apartment.php */

.imap__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  height: 80px;
  background: #fff;
  border-bottom: none;
  box-shadow: 0 2px 8px rgba(24, 47, 77, 0.06);
  flex-shrink: 0;
  border-radius: 40px;
}
.imap__logo img {
  height: 48px;
  width: auto;
}
.imap__back {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #f1f5f9;
  border-radius: 20px;
  color: #182F4D;
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 600;
  transition: all 0.2s;
}
.imap__back:hover {
  background: #e2e8f0;
  color: #274B7A;
}
.imap__back .ph {
  font-size: 1rem;
}
.imap__nav {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #3F6696;
}
.imap__nav span {
  color: #6E8FB8;
}
.imap__nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #3F6696;
  text-decoration: none;
  transition: color 0.2s;
}
.imap__nav a svg,
.imap__nav a .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
  opacity: 0.6;
}
.imap__nav a:hover {
  color: #274B7A;
}
.imap__nav-current {
  color: #182F4D;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.imap__nav-current svg,
.imap__nav-current .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
  opacity: 0.6;
}
.imap__header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.imap__header-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: #274B7A;
  border: none;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #fff;
  cursor: pointer;
  transition: all 0.2s;
}
.imap__header-btn:hover {
  background: #1F3D63;
}
.imap__header-btn svg,
.imap__header-btn .ph {
  opacity: 0.9;
}
.imap__lang {
  display: flex;
  gap: 2px;
  background: rgba(39, 75, 122, 0.04);
  padding: 2px;
}
.imap__lang a {
  padding: 8px 12px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: #6E8FB8;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: all 0.2s;
}
.imap__lang a:hover {
  color: #274B7A;
}
.imap__lang a.is-active {
  background: #fff;
  color: #274B7A;
  box-shadow: 0 1px 3px rgba(24, 47, 77, 0.08);
}

/* Footer */
.imap__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 40px;
  background: #182F4D;
  color: #fff;
  border-radius: 40px;
  flex-shrink: 0;
}
.imap__footer-left {
  display: flex;
  align-items: center;
  gap: 20px;
}
.imap__footer-logo {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.imap__footer-nav {
  display: flex;
  align-items: center;
  gap: 24px;
}
.imap__footer-nav a {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  transition: color 0.2s;
}
.imap__footer-nav a:hover {
  color: #FFBE00;
}
.imap__footer-nav svg,
.imap__footer-nav .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
  opacity: 0.7;
}
.imap__footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.6);
}
.imap__footer-right a {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
}
.imap__footer-right a:hover {
  color: #FFBE00;
}

/* Responsive */
@media (max-width: 768px) {
  .imap__header {
    padding: 0 20px;
    height: 64px;
    border-radius: 20px;
  }
  .imap__header-btn span {
    display: none;
  }
  .imap__logo img {
    height: 36px;
  }
  .imap__nav {
    font-size: 0.75rem;
  }
  .imap__footer {
    flex-direction: column;
    gap: 20px;
    padding: 24px 20px;
    text-align: center;
  }
  .imap__footer-left {
    flex-direction: column;
    gap: 16px;
  }
  .imap__footer-nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }
  .imap__footer-right {
    align-items: center;
  }
}

/* ========== Tooltip (shared) ========== */
.imaps-legend{
  position:absolute; left:0; top:0; pointer-events:none; z-index:7; /* above svg */
}
.imaps-tooltip{
  position:absolute;
  transform:translate(-9999px,-9999px);
  background:#111;
  color:#fff;
  padding:10px 12px;
  border-radius:8px;
  font-size: 0.75rem;
  line-height:1.3;
  box-shadow:0 8px 24px rgba(0,0,0,.25), 0 2px 8px rgba(0,0,0,.15);
  border:1px solid rgba(255,255,255,.06);
  opacity:0;
  transition:opacity .15s ease, transform .15s ease;
  min-width:180px;          /* keeps generic tooltips from being too slim */
  max-width:280px;
  white-space:normal;
  word-break:break-word;
  will-change:transform, opacity;
}
.imaps-tooltip.is-visible{opacity:1}

/* Title line */
.imaps-tooltip .t-title{
  font-weight:600;
  display:block;
  margin-bottom:6px;
}

/* Progress bar (Project view) */
.imaps-tooltip .t-bar{
  width:180px;
  height:6px;
  background:#2a2a2a;
  border-radius:4px;
  overflow:hidden;
  margin:6px 0 4px 0;
}
.imaps-tooltip .t-bar .t-fill{
  display:block; height:100%; width:0%;
  background:#ff2a2a;
}
.imaps-tooltip .t-pct{font-weight:600; margin-left:6px}

/* Floors tooltip (right side facade) */
.imaps-wrap[data-imaps="block"] .imaps-tooltip--floors{
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
}
.imaps-tooltip .t-available{font-weight:700}

/* Apartment tooltip list (base) */
.imaps-tooltip .t-list{margin-top:6px}
.imaps-tooltip .t-row{display:flex; gap:6px; align-items:baseline; flex-wrap:wrap}
.imaps-tooltip .t-row span{opacity:.85}

/* ========== Block view layout (info | floorplan | counter | facade) ========== */
.block-floors{
  display:grid;
  grid-template-columns: 180px 1fr auto 1fr;
  gap:32px;
  align-items:center;
  max-width:1600px;
  margin:0 auto;
  padding:40px 20px;
  min-height:600px;
}
@media (max-width: 1200px){
  .block-floors{ grid-template-columns: 1fr auto 1fr; }
  .bf-apt-info{ display:none; }
}
@media (max-width: 900px){
  .block-floors{ grid-template-columns: 1fr; gap:24px; }
  .bf-counter-center{ order:-1; }
}

/* Left: apartment info panel */
.bf-apt-info{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.bf-apt-info__item{
  text-align:left;
}
.bf-apt-info__value{
  display:block;
  font-size: 2rem;
  font-weight:700;
  line-height:1.2;
}
.bf-apt-info__label{
  display:block;
  font-size: 0.8125rem;
  color:#666;
  margin-top:4px;
}

/* Left: floorplan */
.bf-side{
  position:relative;
  order:1;
}
.bf-floorplan{
  position:relative;
  background:#f8f9fa;
  border-radius:8px;
  overflow:visible;
  min-height:200px;
}
.bf-floorplan img{
  width:100%;
  height:auto;
  display:block;
}

/* Center: floor counter */
.bf-counter-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  order:2;
  padding:20px 0;
}
.bf-counter-center .bf-prev,
.bf-counter-center .bf-next{
  width:40px;
  height:40px;
  border:none;
  background:transparent;
  cursor:pointer;
  font-size: 1.25rem;
  color:#333;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .2s;
}
.bf-counter-center .bf-prev:hover,
.bf-counter-center .bf-next:hover{
  color:#c00;
}
.bf-counter-center .bf-index{
  font-size: 3rem;
  font-weight:700;
  line-height:1;
  display:flex;
  align-items:center;
  gap:12px;
}
.bf-counter-center .bf-index b{
  font-size: 3rem;
}
.bf-counter-center .bf-index span{
  font-size: 1.5rem;
  font-weight:400;
  color:#999;
}

/* Right: facade */
.bf-wrap{
  order:3;
}

/* Floorplan overlay inside the left preview */
.bf-plan-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:auto;
  z-index:2;
}

/* Old counter (hidden, replaced by center) */
.bf-counter{display:none;}

/* Optional: list-style version */
.floors-scroll{
  max-height:240px; overflow:auto; border:1px solid #eee; padding:8px; margin-top:10px; border-radius:8px; background:#fff
}
.floor-chip{
  display:block; padding:8px 10px; border-radius:6px; text-decoration:none; color:#333; margin-bottom:6px; background:#f9f9f9;
}
.floor-chip.is-active, .floor-chip:hover{background:#ffeded; color:#c00}

/* ========== Apartment Page Layout ========== */
.apt-page{
  width:100%;
  height:100vh;
  margin:0;
  padding:20px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
}

/* Top bar */
.apt-topbar{
  display:flex;
  align-items:center;
  gap:24px;
  padding:16px 0;
  margin-bottom:20px;
}
.apt-back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:#333;
  font-weight:500;
}
.apt-back:hover{color:#000}
.apt-breadcrumb{
  font-size: 0.875rem;
  color:#666;
}
.apt-breadcrumb a{color:#666; text-decoration:none}
.apt-breadcrumb a:hover{color:#000}
.apt-breadcrumb .current{color:#999}

/* Main grid: actions | gallery | info */
.apt-main{
  display:grid;
  grid-template-columns: 200px 1fr 200px;
  gap:40px;
  align-items:start;
  min-height:500px;
}
@media (max-width:1100px){
  .apt-main{grid-template-columns:1fr; gap:24px}
  .apt-actions{order:2; flex-direction:row}
  .apt-info{order:1}
}

/* Left actions */
.apt-actions{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding-top:80px;
}
.apt-btn{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  background:#fff;
  border:none;
  text-decoration:none;
  color:#333;
  font-size: 0.875rem;
  cursor:pointer;
  position:relative;
}
.apt-btn__accent{
  width:4px;
  height:100%;
  background:#f5a623;
  position:absolute;
  left:0;
  top:0;
}
.apt-btn__text{flex:1; text-align:left}
.apt-btn svg{color:#666}
.apt-btn:hover{background:#f9f9f9}

/* Center gallery */
.apt-gallery{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.apt-image-wrap{
  position:relative;
  width:100%;
  max-width:800px;
}
.apt-image{
  width:100%;
  height:auto;
  display:block;
}
.apt-tabs{
  display:inline-flex;
  background:#f0f0f0;
  border-radius:6px;
  padding:4px;
  margin-top:20px;
}
.apt-tab{
  padding:8px 20px;
  border:none;
  background:transparent;
  cursor:pointer;
  font-weight:600;
  color:#666;
  border-radius:4px;
  transition:all .2s;
}
.apt-tab.is-active{
  background:#f5a623;
  color:#fff;
}
.apt-tab:disabled{opacity:.4; cursor:not-allowed}

/* Right info */
.apt-info{
  text-align:right;
}
.apt-floor-counter{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:8px;
  margin-bottom:24px;
}
.apt-floor-num{
  font-size: 4rem;
  font-weight:700;
  line-height:1;
}
.apt-floor-sep{
  font-size: 1.5rem;
  color:#999;
}
.apt-floor-total{
  font-size: 2rem;
  font-weight:400;
  color:#999;
}

.apt-meta{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.apt-meta__item{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
}
.apt-meta__value{
  font-size: 1.25rem;
  font-weight:700;
}
.apt-meta__label{
  font-size: 0.8125rem;
  color:#666;
}
.apt-meta--status .apt-meta__value{color:#f5a623}
.apt-meta--status .status-reserved{color:#f5a623}
.apt-meta--price .apt-meta__value{color:#f5a623}

.apt-meta__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  justify-content:flex-end;
  text-decoration:none;
  color:#333;
  font-size: 0.875rem;
  margin-top:8px;
}
.apt-meta__link .apt-meta__accent{
  width:4px;
  height:20px;
  background:#f5a623;
}
.apt-meta__link:hover{color:#000}

/* Status row */
.apt-status-row{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:flex-end;
  gap:8px;
  margin-bottom:16px;
  font-size: 0.875rem;
}
.apt-status-label{color:#666}
.apt-status-value{font-weight:600; color:#f5a623}
.apt-price-old{color:#999; text-decoration:line-through}
.apt-price-new{font-weight:700}

/* Full specs list */
.apt-specs-list{
  list-style:none;
  padding:0;
  margin:0;
  text-align:right;
}
.apt-specs-list li{
  display:flex;
  justify-content:space-between;
  padding:8px 0;
  border-bottom:1px solid #eee;
  font-size: 0.875rem;
}
.apt-specs-list li:last-child{border-bottom:none}
.apt-specs-label{color:#666}
.apt-specs-value{font-weight:600}

/* Bottom section */
.apt-bottom{
  display:grid;
  grid-template-columns: 150px 1fr 300px;
  gap:40px;
  align-items:end;
  margin-top:60px;
  padding:40px 0;
  border-top:1px solid #eee;
}
@media (max-width:900px){
  .apt-bottom{grid-template-columns:1fr; gap:24px}
}

.apt-bottom__building img{
  max-width:120px;
  height:auto;
}

.apt-bottom__info{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.apt-bottom__row{
  display:flex;
  align-items:center;
  gap:12px;
}
.apt-bottom__row svg{color:#666}
.apt-bottom__row strong{display:block; font-weight:600}
.apt-bottom__row span{display:block; font-size: 0.8125rem; color:#666}
.apt-bottom__accent{
  width:4px;
  height:40px;
  background:#9b59b6;
}

.apt-bottom__floorplan{
  width:100%;
  position:relative;
}
.apt-bottom__floorplan .imaps-wrap{
  background:#f8f9fa;
  border-radius:8px;
  overflow:visible;
  position:relative;
  width:100%;
}
.apt-bottom__floorplan .imaps-stage{
  position:relative;
  width:100%;
  line-height:0;
  display:block;
}
.apt-bottom__floorplan .imaps-stage img{
  display:block;
  width:100%;
  height:auto;
  position:relative;
}
.apt-bottom__floorplan .imaps-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:auto;
  z-index:2;
}
.apt-bottom__floorplan .imaps-poly{
  pointer-events:all;
  fill:transparent;
  stroke:transparent;
}
/* Available: faded yellow, brighter on hover */
.apt-bottom__floorplan .imaps-link:hover .imaps-poly:not([data-status="Sold"]):not([data-status="sold"]):not([data-status="გაყიდული"]){
  fill:rgba(245,166,35,0.35);
  stroke:#f5a623;
}
.apt-bottom__floorplan .imaps-poly.is-active:not([data-status="Sold"]):not([data-status="sold"]):not([data-status="გაყიდული"]){
  fill:rgba(245,166,35,0.5);
  stroke:#f5a623;
}
/* Sold: red always visible */
.apt-bottom__floorplan .imaps-poly[data-status="Sold"],
.apt-bottom__floorplan .imaps-poly[data-status="sold"],
.apt-bottom__floorplan .imaps-poly[data-status="გაყიდული"]{
  fill:rgba(220,53,69,0.5);
  stroke:#dc3545;
}
.apt-bottom__floorplan .sold-label{
  font-size: 0.625rem;
}

/* Full specs section */
.apt-specs{
  margin-top:40px;
  padding:40px 0;
}
.apt-specs h3{
  margin-bottom:24px;
  font-size: 1.5rem;
}

/* Legacy apt-wrap (shortcode) */
.apt-wrap{display:grid; gap:24px; grid-template-columns: minmax(280px,1fr) minmax(260px,360px);}
@media (max-width: 900px){ .apt-wrap{ grid-template-columns: 1fr; } }
.apt-media img{max-width:100%; height:auto; display:block}
.tabs{display:flex; gap:8px; margin-bottom:10px}
.tab{padding:6px 12px; border:1px solid #ddd; background:#fff; cursor:pointer; border-radius:6px}
.tab.is-active{background:#ffeded; border-color:#ffb1b1}
.tab-panel{display:none}
.tab-panel.is-active{display:block}
.btn.btn-pdf{display:inline-block; margin-top:10px; padding:6px 12px; background:#111; color:#fff; text-decoration:none; border-radius:6px}
.specs{list-style:none; padding:0; margin:12px 0}
.specs li{display:flex; justify-content:space-between; border-bottom:1px dashed #eee; padding:6px 0}

/* === Apartment tooltip polish === */
.imaps-tooltip--apts{
  white-space:normal;
  min-width:280px;                          /* ensures nice wide box */
  max-width:clamp(360px,50vw,720px);
  padding:12px 14px;
  font-size: 0.8125rem;
  line-height:1.45;
  border-radius:10px;
}
.imaps-tooltip--apts .t-line + .t-line{margin-top:6px}
.imaps-tooltip--apts .t-list{
  margin-top:8px;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:10px;
  row-gap:4px;
}
.imaps-tooltip--apts .t-row{display:contents}
.imaps-tooltip--apts .t-row span{opacity:.85}
.imaps-tooltip--apts .t-row strong{justify-self:start; font-weight:600}

/* Mobile stack */
@media (max-width:680px){
  .imaps-tooltip--apts{
	max-width:min(92vw,640px);
	font-size:12.5px;
	padding:11px 12px;
  }
  .imaps-tooltip--apts .t-list{grid-template-columns:1fr; row-gap:6px}
  .imaps-tooltip--apts .t-row{display:block}
  .imaps-tooltip--apts .t-row span{display:inline-block; margin-right:6px}
}

/* ========== Block: Sales Not Started State ========== */
.block-floors--not-started{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:500px;
  padding:40px 20px;
}
.bf-not-started{
  max-width:800px;
  width:100%;
}
.bf-not-started__image{
  position:relative;
  border-radius:12px;
  overflow:hidden;
}
.bf-not-started__image img{
  display:block;
  width:100%;
  height:auto;
}
.bf-not-started__overlay{
  position:absolute;
  inset:0;
  background:rgba(220,53,69,0.6);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.bf-not-started__title{
  font-size: 3rem;
  font-weight:700;
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,0.3);
}
.bf-not-started__label{
  font-size: 1.125rem;
  color:#fff;
  opacity:0.9;
  text-shadow:0 1px 4px rgba(0,0,0,0.3);
}
@media (max-width:600px){
  .bf-not-started__title{font-size: 2rem}
  .bf-not-started__label{font-size: 0.875rem}
}

/* Force show breadcrumb on project pages */
.single-spaciaz_project .breadcrumb-wrap,
.post-type-archive-spaciaz_project .breadcrumb-wrap {
  display: block !important;
}

/* Hide masthead and footer on apartment and block pages */
.single-apartment #masthead,
.single-apartment .site-header,
.single-apartment #colophon,
.single-apartment .site-footer,
.single-block #masthead,
.single-block .site-header,
.single-block #colophon,
.single-block .site-footer {
  display: none !important;
}

/* ========== Block Page: Fullscreen Layout ========== */
.single-block .site-main--block {
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
}
.single-block .site-main--block article {
  width: 100%;
  max-width: 100%;
}
.single-block .block-floors {
  width: 100%;
  max-width: 100%;
  height: 100vh;
  min-height: 100vh;
  padding: 20px;
  box-sizing: border-box;
  margin: 0;
}

/* ========== Responsive Font Sizes ========== */
/* Large screens */
@media (min-width: 1400px) {
  .apt-floor-num { font-size: 4.5rem; }
  .apt-floor-total { font-size: 2.25rem; }
  .bf-counter-center .bf-index b { font-size: 3.5rem; }
  .bf-apt-info__value { font-size: 2.25rem; }
}

/* Medium screens */
@media (max-width: 1200px) {
  .apt-floor-num { font-size: 3rem; }
  .apt-floor-total { font-size: 1.5rem; }
  .apt-floor-sep { font-size: 1.125rem; }
  .bf-counter-center .bf-index b { font-size: 2.5rem; }
  .bf-counter-center .bf-index span { font-size: 1.25rem; }
  .bf-apt-info__value { font-size: 1.75rem; }
}

/* Small screens */
@media (max-width: 900px) {
  .apt-floor-num { font-size: 2.5rem; }
  .apt-floor-total { font-size: 1.25rem; }
  .apt-floor-sep { font-size: 1rem; }
  .bf-counter-center .bf-index b { font-size: 2rem; }
  .bf-counter-center .bf-index span { font-size: 1rem; }
  .apt-specs-list li { font-size: 0.8125rem; }
  .apt-btn { font-size: 0.8125rem; padding: 10px 14px; }

  .single-block .block-floors {
    height: auto;
    min-height: auto;
  }
}

/* Extra small screens */
@media (max-width: 600px) {
  .apt-floor-num { font-size: 2rem; }
  .apt-floor-total { font-size: 1.125rem; }
  .apt-topbar { gap: 12px; padding: 12px 0; }
  .apt-back span { display: none; }
  .apt-breadcrumb { font-size: 0.75rem; }
  .apt-page { padding: 12px; }
  .bf-counter-center .bf-index b { font-size: 1.75rem; }
}

/* ========================================================================
   APARTMENT V2 - Geometric Design
   ======================================================================== */

.apt-page-body {
  margin: 0;
  padding: 0;
  font-family: 'Mersad', sans-serif;
  background: #fafafa;
  color: #1a1a1a;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
  height: 100vh;
}

.apt-v2 {
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ===== Header ===== */
.apt-v2__header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  height: 64px;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
}

.apt-v2__header-left {
  flex: 0 0 auto;
}

.apt-v2__logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #1a1a1a;
  font-weight: 700;
  font-size: 1.125rem;
}
.apt-v2__logo img {
  height: 36px;
  width: auto;
}

.apt-v2__breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: #666;
}
.apt-v2__breadcrumb a {
  color: #666;
  text-decoration: none;
  transition: color 0.2s;
}
.apt-v2__breadcrumb a:hover {
  color: #1a1a1a;
}
.apt-v2__breadcrumb-sep {
  color: #ccc;
}
.apt-v2__breadcrumb-current {
  color: #1a1a1a;
  font-weight: 500;
}

.apt-v2__header-right {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
}

.apt-v2__call-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: #1a1a1a;
  color: #fff;
  text-decoration: none;
  font-size: 0.8125rem;
  border-radius: 0;
  transition: background 0.2s;
}
.apt-v2__call-btn:hover {
  background: #333;
  color: #fff;
}

/* Language Switcher */
.apt-v2__lang-switcher {
  position: relative;
}
.apt-v2__lang-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: transparent;
  border: 1px solid #e5e5e5;
  cursor: pointer;
  font-size: 0.75rem;
  color: #1a1a1a;
  transition: border-color 0.2s;
}
.apt-v2__lang-btn:hover {
  border-color: #999;
}
.apt-v2__lang-flag {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  border: 1px solid #e5e5e5;
}
.apt-v2__lang-flag--ka {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 200"><rect fill="%23fff" width="300" height="200"/><rect fill="%23FF0000" x="130" width="40" height="200"/><rect fill="%23FF0000" y="80" width="300" height="40"/><g fill="%23FF0000"><rect x="30" y="20" width="10" height="50"/><rect x="15" y="35" width="40" height="10"/><rect x="30" y="130" width="10" height="50"/><rect x="15" y="145" width="40" height="10"/><rect x="220" y="20" width="10" height="50"/><rect x="205" y="35" width="40" height="10"/><rect x="220" y="130" width="10" height="50"/><rect x="205" y="145" width="40" height="10"/></g></svg>');
}
.apt-v2__lang-flag--en {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 30"><clipPath id="s"><path d="M0,0 v30 h60 v-30 z"/></clipPath><clipPath id="t"><path d="M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z"/></clipPath><g clip-path="url(%23s)"><path d="M0,0 v30 h60 v-30 z" fill="%23012169"/><path d="M0,0 L60,30 M60,0 L0,30" stroke="%23fff" stroke-width="6"/><path d="M0,0 L60,30 M60,0 L0,30" clip-path="url(%23t)" stroke="%23C8102E" stroke-width="4"/><path d="M30,0 v30 M0,15 h60" stroke="%23fff" stroke-width="10"/><path d="M30,0 v30 M0,15 h60" stroke="%23C8102E" stroke-width="6"/></g></svg>');
}
.apt-v2__lang-code {
  font-size: 0.6875rem;
}
.apt-v2__lang-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 4px;
  background: #fff;
  border: 1px solid #e5e5e5;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s;
}
.apt-v2__lang-switcher.is-open .apt-v2__lang-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.apt-v2__lang-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  text-decoration: none;
  color: #1a1a1a;
  font-size: 0.75rem;
  transition: background 0.2s;
}
.apt-v2__lang-item:hover {
  background: #f5f5f5;
}

/* ===== Main Layout ===== */
.apt-v2__main {
  display: grid;
  grid-template-columns: 320px 1fr 378px;
  height: 100vh;
  padding-top: 64px;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

/* ===== Left Sidebar ===== */
.apt-v2__sidebar {
  background: #fff;
  border-right: 1px solid #e5e5e5;
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  overflow-y: auto;
}

.apt-v2__title-block {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.apt-v2__title {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}

.apt-v2__status {
  display: inline-block;
  padding: 6px 12px;
  font-size: 0.6875rem;
  background: #e8f5e9;
  color: #2e7d32;
}
.apt-v2__status--sold,
.apt-v2__status--გაყიდული {
  background: #ffebee;
  color: #c62828;
}
.apt-v2__status--reserved,
.apt-v2__status--რეზერვი {
  background: #fff3e0;
  color: #e65100;
}

/* Stats */
.apt-v2__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 24px 0;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.apt-v2__stat {
  text-align: center;
}
.apt-v2__stat-value {
  display: block;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}
.apt-v2__stat-label {
  display: block;
  font-size: 0.6875rem;
  color: #888;
  margin-top: 4px;
}

/* Price */
.apt-v2__price-block {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.apt-v2__price {
  font-size: 2rem;
  font-weight: 700;
  color: #1a1a1a;
}
.apt-v2__price-old {
  font-size: 1.125rem;
  color: #999;
}

/* Specs */
.apt-v2__specs {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.apt-v2__spec {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 0.8125rem;
}
.apt-v2__spec:last-child {
  border-bottom: none;
}
.apt-v2__spec-label {
  color: #666;
}
.apt-v2__spec-value {
  font-weight: 600;
  color: #1a1a1a;
}

/* Actions */
.apt-v2__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: auto;
}

.apt-v2__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 24px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}
.apt-v2__btn--primary {
  background: #1a1a1a;
  color: #fff;
}
.apt-v2__btn--primary:hover {
  background: #333;
}
.apt-v2__btn--secondary {
  background: #f0f0f0;
  color: #1a1a1a;
  border: 1px solid #e5e5e5;
}
.apt-v2__btn--secondary:hover {
  background: #e5e5e5;
  border-color: #ccc;
}
.apt-v2__btn--outline {
  background: transparent;
  color: #1a1a1a;
  border: 1px solid #1a1a1a;
}
.apt-v2__btn--outline:hover {
  background: #1a1a1a;
  color: #fff;
}

/* ===== Center Content ===== */
.apt-v2__content {
  display: flex;
  flex-direction: column;
  background: #f5f5f5;
  position: relative;
}

.apt-v2__tabs {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  background: #fff;
  border: 1px solid #e5e5e5;
  z-index: 10;
}
.apt-v2__tab {
  padding: 10px 24px;
  font-size: 0.8125rem;
  font-weight: 500;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
}
.apt-v2__tab:hover {
  color: #1a1a1a;
}
.apt-v2__tab.is-active {
  background: #1a1a1a;
  color: #fff;
}
.apt-v2__tab:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.apt-v2__panels {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 40px 40px;
}

.apt-v2__panel {
  display: none;
  width: 100%;
  height: 100%;
}
.apt-v2__panel.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
}

.apt-v2__floorplan {
  width: 100%;
  max-width: 100%;
  height: 100%;
}
.apt-v2__floorplan .imaps-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.apt-v2__floorplan .imaps-stage {
  position: relative;
  max-width: 100%;
  max-height: calc(100vh - 200px);
}
.apt-v2__floorplan .imaps-stage img {
  max-width: 100%;
  max-height: calc(100vh - 200px);
  width: auto;
  height: auto;
  display: block;
}
.apt-v2__floorplan .imaps-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.apt-v2__image {
  max-width: 100%;
  max-height: calc(100vh - 200px);
  width: auto;
  height: auto;
  display: block;
}

.apt-v2__no-image {
  color: #999;
  font-size: 0.875rem;
}

/* ===== Right Panel: Floor Cards ===== */
.apt-v2__right-panel {
  background: #fff;
  border-left: 1px solid #e5e5e5;
  display: flex;
  flex-direction: column;
  width: 378px;
  overflow: hidden;
}

/* Floor Cards Container */
.apt-v2__floor-cards {
  flex: 1;
  overflow-y: auto;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Individual Floor Card */
.apt-v2__floor-card {
  display: block;
  text-decoration: none;
  border: 1px solid #e5e5e5;
  transition: border-color 0.2s;
}
.apt-v2__floor-card:hover {
  border-color: #999;
}
.apt-v2__floor-card.is-active {
  border-color: #1a1a1a;
  border-width: 2px;
}

/* Card Info Section */
.apt-v2__floor-card-info {
  border-bottom: 1px solid #e5e5e5;
}
.apt-v2__floor-card-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  border-bottom: 1px solid #f0f0f0;
}
.apt-v2__floor-card-row:last-child {
  border-bottom: none;
}
.apt-v2__floor-card-label {
  font-size: 0.6875rem;
  color: #888;
}
.apt-v2__floor-card-value {
  font-size: 0.75rem;
  color: #1a1a1a;
}

/* Card Floorplan */
.apt-v2__floor-card-plan {
  padding: 8px;
  background: #fafafa;
}
.apt-v2__floor-card-plan .imaps-wrap {
  position: relative;
  width: 100%;
}
.apt-v2__floor-card-plan .imaps-stage {
  position: relative;
  width: 100%;
  line-height: 0;
}
.apt-v2__floor-card-plan .imaps-stage img {
  width: 100%;
  height: auto;
  display: block;
}
.apt-v2__floor-card-plan .imaps-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.apt-v2__floor-card-plan .imaps-poly {
  fill: rgba(0, 150, 60, 0.3);
  stroke: rgba(0, 150, 60, 0.6);
  stroke-width: 1;
}
.apt-v2__floor-card-plan .imaps-poly.is-active {
  fill: rgba(245, 166, 35, 0.5);
  stroke: #f5a623;
  stroke-width: 2;
}
.apt-v2__floor-card-plan .imaps-poly[data-status="Sold"],
.apt-v2__floor-card-plan .imaps-poly[data-status="sold"],
.apt-v2__floor-card-plan .imaps-poly[data-status="გაყიდული"] {
  fill: rgba(233, 154, 143, 0.4);
  stroke: #D4847A;
}

/* ===== Responsive ===== */
@media (max-width: 1600px) {
  .apt-v2__main {
    grid-template-columns: 300px 1fr 340px;
  }
  .apt-v2__right-panel {
    width: 340px;
  }
}

@media (max-width: 1400px) {
  .apt-v2__main {
    grid-template-columns: 280px 1fr 300px;
  }
  .apt-v2__right-panel {
    width: 300px;
  }
}

@media (max-width: 1200px) {
  .apt-v2__main {
    grid-template-columns: 260px 1fr 260px;
  }
  .apt-v2__sidebar {
    padding: 30px 24px;
  }
  .apt-v2__right-panel {
    width: 260px;
  }
  .apt-v2__title {
    font-size: 1.5rem;
  }
  .apt-v2__floor-cards {
    padding: 8px;
    gap: 8px;
  }
}

@media (max-width: 900px) {
  .apt-page-body {
    overflow: auto;
    height: auto;
  }
  .apt-v2 {
    height: auto;
    overflow: visible;
  }
  .apt-v2__header {
    padding: 0 20px;
  }
  .apt-v2__breadcrumb {
    display: none;
  }
  .apt-v2__main {
    position: static;
    height: auto;
    overflow: visible;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
  .apt-v2__sidebar {
    order: 1;
    border-right: none;
    border-bottom: 1px solid #e5e5e5;
  }
  .apt-v2__content {
    order: 2;
    min-height: 50vh;
  }
  .apt-v2__right-panel {
    order: 3;
    width: 100%;
    border-left: none;
    border-top: 1px solid #e5e5e5;
    max-height: 300px;
  }
  .apt-v2__floor-cards {
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .apt-v2__floor-card {
    flex: 0 0 200px;
  }
}

@media (max-width: 600px) {
  .apt-v2__header {
    height: 56px;
    padding: 0 16px;
  }
  .apt-v2__logo img {
    height: 28px;
  }
  .apt-v2__call-btn span {
    display: none;
  }
  .apt-v2__call-btn {
    padding: 10px;
  }
  .apt-v2__sidebar {
    padding: 24px 16px;
    gap: 24px;
  }
  .apt-v2__title {
    font-size: 1.375rem;
  }
  .apt-v2__stats {
    gap: 8px;
  }
  .apt-v2__stat-value {
    font-size: 1.375rem;
  }
  .apt-v2__price {
    font-size: 1.625rem;
  }
  .apt-v2__panels {
    padding: 70px 20px 20px;
  }
  .apt-v2__floor-card {
    flex: 0 0 160px;
  }
}

/* ===== Reservation Modal ===== */
.apt-v2__modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.apt-v2__modal.is-open {
  opacity: 1;
  visibility: visible;
}
.apt-v2__modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.apt-v2__modal-content {
  position: relative;
  background: #fff;
  width: 100%;
  max-width: 480px;
  max-height: 90vh;
  overflow-y: auto;
  transform: translateY(20px);
  transition: transform 0.3s;
}
.apt-v2__modal.is-open .apt-v2__modal-content {
  transform: translateY(0);
}
.apt-v2__modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #666;
  transition: color 0.2s;
}
.apt-v2__modal-close:hover {
  color: #1a1a1a;
}
.apt-v2__modal-header {
  padding: 24px 32px;
  border-bottom: 1px solid #e5e5e5;
}
.apt-v2__modal-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
}
.apt-v2__modal-body {
  padding: 24px 32px;
}
.apt-v2__modal-info {
  display: flex;
  gap: 16px;
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid #e5e5e5;
}
.apt-v2__modal-thumb {
  width: 100px;
  height: 70px;
  flex-shrink: 0;
}
.apt-v2__modal-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.apt-v2__modal-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.apt-v2__modal-apt-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 4px;
}
.apt-v2__modal-apt-space {
  font-size: 0.875rem;
  color: #666;
  margin: 0;
}
.apt-v2__modal-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.apt-v2__modal-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.apt-v2__modal-field label {
  font-size: 0.8125rem;
  color: #666;
}
.apt-v2__modal-field input {
  padding: 12px 16px;
  border: 1px solid #e5e5e5;
  font-size: 0.875rem;
  font-family: inherit;
  transition: border-color 0.2s;
}
.apt-v2__modal-field input:focus {
  outline: none;
  border-color: #1a1a1a;
}
.apt-v2__modal-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.apt-v2__modal-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #1a1a1a;
}
.apt-v2__modal-checkbox label {
  font-size: 0.8125rem;
  color: #666;
  line-height: 1.4;
}
.apt-v2__modal-submit {
  margin-top: 8px;
  width: 100%;
}

/* ========================================================================
   GLOBAL CALLBACK MODAL - p2-modal
   Use data-open-callback attribute on any button to trigger
   ======================================================================== */
.p2-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.p2-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.p2-modal__overlay {
  position: absolute;
  inset: 0;
    background: rgb(40 75 122 / 77%);
    backdrop-filter: blur(4px);
}
.p2-modal__content {
  position: relative;
  background: #fff;
  width: 100%;
  max-width: 420px;
  margin: 20px;
  max-height: 90vh;
  overflow-y: auto;
  transform: translateY(20px);
  transition: transform 0.3s;
}
.p2-modal.is-open .p2-modal__content {
  transform: translateY(0);
}
.p2-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #666;
  transition: color 0.2s;
}
.p2-modal__close:hover {
  color: #1a1a1a;
}

.p2-modal__title {
  font-family: 'Mersad', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
  color: #1a1a1a;
}

.p2-modal__desc {
  font-size: 0.875rem;
  color: #666;
  margin: 0 0 24px;
}
.p2-modal__form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}
.p2-modal__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 1rem;
}
.p2-modal__field label {
  font-family: 'Mersad', sans-serif;
  font-size: 0.8125rem;
  color: #666;
}
.p2-modal__field input {
  padding: 12px 16px;
  border: 1px solid #e5e5e5;
  font-family: 'Mersad', sans-serif;
  font-size: 0.875rem;
  transition: border-color 0.2s;
}
.p2-modal__field input:focus {
  outline: none;
  border-color: #1a1a1a;
}
.p2-modal__checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.p2-modal__checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #1a1a1a;
  flex-shrink: 0;
}
.p2-modal__checkbox label {
  font-family: 'Mersad', sans-serif;
  font-size: 0.8125rem;
  color: #666;
  line-height: 1.4;
}
.p2-modal__submit {
  display: block;
  width: 100%;
  padding: 14px 24px;
  background: #1a1a1a;
  color: #fff;
  border: none;
  font-family: 'Mersad', sans-serif;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background 0.2s;
  margin-top: 8px;
}
.p2-modal__submit:hover {
  background: #333;
}

/* ========================================================================
   APARTMENT V3 - Professional Architecture Design
   Color Palette:
   - Primary: #274B7A (deep blue)
   - Accent: #FFBE00 (golden yellow)
   - Dark shades: #182F4D, #1F3D63, #3F6696, #6E8FB8
   - Background: #fafafa
   ======================================================================== */

/* Base */
.apt-v3 {
  margin: 0;
  padding: 0;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif;
  background: #fafafa;
  color: #182F4D;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
  height: 100vh;
}

.apt {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
  padding: 20px;
}

/* Header */
.apt__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  height: 80px;
  background: #fff;
  border-bottom: none;
  box-shadow: 0 2px 8px rgba(24, 47, 77, 0.06);
  flex-shrink: 0;
  border-radius: 40px;
}

.apt__logo img {
  height: 48px;
  width: auto;
}

.apt__nav {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #3F6696;
}
.apt__nav span {
  color: #6E8FB8;
}
.apt__nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #3F6696;
  text-decoration: none;
  transition: color 0.2s;
}
.apt__nav a svg,
.apt__nav a .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
  opacity: 0.6;
}
.apt__nav a:hover {
  color: #274B7A;
}
.apt__nav-current {
  color: #182F4D;
  font-weight: 700;
}

.apt__header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.apt__header-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: #274B7A;
  border: none;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #fff;
  cursor: pointer;
  transition: all 0.2s;
}
.apt__header-btn:hover {
  background: #1F3D63;
}
.apt__header-btn svg,
.apt__header-btn .ph {
  opacity: 0.9;
}

.apt__lang {
  display: flex;
  gap: 2px;
  background: rgba(39, 75, 122, 0.04);
  padding: 2px;
}
.apt__lang a {
  padding: 8px 12px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: #6E8FB8;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: all 0.2s;
}
.apt__lang a:hover {
  color: #274B7A;
}
.apt__lang a.is-active {
  background: #fff;
  color: #274B7A;
  box-shadow: 0 1px 3px rgba(24, 47, 77, 0.08);
}

/* Main Layout */
.apt__main {
  display: grid;
  grid-template-columns: 380px 1fr 340px;
  grid-template-rows: 1fr;
  flex: 1;
  overflow: hidden;
  margin: 40px 0px;
  border-radius: 40px;
  min-height: 0;
}

/* Sidebar */
.apt__sidebar {
  padding: 32px;
  background: #fff;
  border-right: 1px solid rgba(39, 75, 122, 0.06);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.apt__info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.apt__label {
  font-size: 0.6875rem;
  color: #6E8FB8;
  letter-spacing: 1px;
  font-weight: 500;
}
.apt__title {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.15;
  color: #182F4D;
}

.apt__meta {
  display: flex;
      background-color: #fafafa;
    border-radius: 20px;
}
.apt__meta-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 20px 16px;
  border-right: 1px solid rgba(39, 75, 122, 0.06);
  text-align: center;
}
.apt__meta-item:last-child {
  border-right: none;
}
.apt__meta-icon {
  color: #FFBE00;
  margin-bottom: 4px;
}
.apt__meta-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #182F4D;
  line-height: 1;
}
.apt__meta-label {
  font-size: 0.6875rem;
  color: #6E8FB8;
  font-weight: 500;
}

.apt__price {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.apt__price-label {
  font-size: 0.6875rem;
  color: #6E8FB8;
  letter-spacing: 1px;
  font-weight: 500;
}
.apt__price-value {
  font-size: 2rem;
  font-weight: 700;
  color: #182F4D;
  line-height: 1.1;
}
.apt__price-value del {
  font-size: 1rem;
  color: #6E8FB8;
  font-weight: 400;
  margin-right: 8px;
  text-decoration: line-through;
}

.apt__status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 0.6875rem;
  letter-spacing: 0.5px;
  font-weight: 600;
  background: linear-gradient(135deg, rgba(39, 122, 75, 0.08) 0%, rgba(39, 122, 75, 0.12) 100%);
  color: #1e7a3b;
  border-left: 3px solid #1e7a3b;
  align-self: flex-start;
}
.apt__status--sold,
.apt__status--გაყიდული {
  background: linear-gradient(135deg, rgba(200, 50, 50, 0.08) 0%, rgba(200, 50, 50, 0.12) 100%);
  color: #c23232;
  border-left-color: #c23232;
}
.apt__status--reserved,
.apt__status--რეზერვი {
  background: linear-gradient(135deg, rgba(255, 190, 0, 0.1) 0%, rgba(255, 190, 0, 0.15) 100%);
  color: #b38600;
  border-left-color: #FFBE00;
}

.apt__specs {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.apt__specs-title {

  color: #6E8FB8;
  font-weight: 600;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(39, 75, 122, 0.08);
}
.apt__spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  font-size: 0.8125rem;
  border-bottom: 1px solid rgba(39, 75, 122, 0.04);
}
.apt__spec-row:last-child {
  border-bottom: none;
}
.apt__spec-label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #3F6696;
}
.apt__spec-label svg,
.apt__spec-label .ph {
  width: 18px;
  height: 18px;
  font-size: 1.125rem;
  color: #FFBE00;
  flex-shrink: 0;
}
.apt__spec-value {
  font-weight: 600;
  color: #182F4D;
}

.apt__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
  padding-top: 20px;
}
.apt__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 20px;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  border: 1px solid rgba(39, 75, 122, 0.15);
  border-radius: 0;
  background: #fff;
  color: #274B7A;
  cursor: pointer;
  transition: all 0.25s;
}
.apt__btn svg,
.apt__btn .ph {
  flex-shrink: 0;
}
.apt__btn:hover {
  border-color: #274B7A;
  background: rgba(39, 75, 122, 0.04);
  transform: translateY(-1px);
}
.apt__btn--primary {
  background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
  border: none;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
}
.apt__btn--primary:hover {
  background: linear-gradient(135deg, #2980b9 0%, #1f6dad 100%);
  box-shadow: 0 6px 20px rgba(52, 152, 219, 0.4);
}
.apt__btn--outline {
  background: transparent;
  border: 1px solid rgba(39, 75, 122, 0.2);
  color: #3F6696;
}
.apt__btn--outline:hover {
  background: rgba(39, 75, 122, 0.04);
  border-color: rgba(39, 75, 122, 0.3);
}

/* Content */
.apt__content {
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
  overflow-y: auto;
}

.apt__tabs-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 32px;
  height: 60px;
  background: #fff;
  border-bottom: 1px solid rgba(39, 75, 122, 0.06);
}
.apt__tabs-left {
  display: flex;
  align-items: center;
  gap: 16px;
}
.apt__tabs {
  display: flex;
  gap: 2px;
  background: rgba(39, 75, 122, 0.04);
  padding: 3px;
}
.apt__tab {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6E8FB8;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  letter-spacing: 0.5px;
}
.apt__tab svg,
.apt__tab .ph {
  width: 16px;
  height: 16px;
  font-size: 1rem;
  opacity: 0.7;
}
.apt__tab:hover {
  color: #274B7A;
}
.apt__tab.is-active {
  color: #182F4D;
  background: #fff;
}
.apt__tab.is-active svg,
.apt__tab.is-active .ph {
  opacity: 1;
  color: #FFBE00;
}

/* Tabs Right Actions */
.apt__tabs-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.apt__action-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.8125rem;
  font-weight: 500;
  background: #fff;
  border: 1px solid rgba(39, 75, 122, 0.12);
  border-radius: 50px;
  color: #3F6696;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}
.apt__action-btn svg,
.apt__action-btn .ph {
  width: 16px;
  height: 16px;
  font-size: 1rem;
}
.apt__action-btn:hover {
  border-color: #274B7A;
  color: #274B7A;
  background: rgba(39, 75, 122, 0.02);
}
.apt__action-btn--primary {
  background: #FFBE00;
  border-color: #FFBE00;
  color: #182F4D;
  font-weight: 600;
}
.apt__action-btn--primary:hover {
  background: #e6ab00;
  border-color: #e6ab00;
}

/* Share */
.apt__share {
  position: relative;
}
.apt__share-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: #fff;
  border: 1px solid rgba(39, 75, 122, 0.12);
  border-radius: 50px;
  cursor: pointer;
  color: #6E8FB8;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.75rem;
  transition: all 0.2s;
}
.apt__share-btn svg,
.apt__share-btn .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
}
.apt__share-btn:hover {
  border-color: #274B7A;
  color: #274B7A;
}
.apt__share-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  background: #fff;
  border: 1px solid rgba(39, 75, 122, 0.08);
  box-shadow: 0 8px 24px rgba(24, 47, 77, 0.12);
  z-index: 100;
  min-width: 180px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s;
}
.apt__share-dropdown.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.apt__share-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 16px;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.8125rem;
  color: #274B7A;
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  text-align: left;
}
.apt__share-item:hover {
  background: rgba(39, 75, 122, 0.04);
}
.apt__share-item svg,
.apt__share-item .ph {
  flex-shrink: 0;
  color: #6E8FB8;
}

.apt__visual {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  background: #fff;
  min-height: 400px;
}
.apt__panel {
  display: none;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.apt__panel.is-active {
  display: flex;
}
.apt__panel img {
  min-width: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.apt__empty {
  color: #6E8FB8;
  font-size: 0.875rem;
}

.apt__floorplan {
  position: relative;
  max-width: 100%;
  max-height: 100%;
}
.apt__floorplan img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 200px);
}
.apt__floorplan svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.apt__poly {
  fill: rgba(39, 75, 122, 0.15);
  stroke: rgba(39, 75, 122, 0.4);
  stroke-width: 1;
  cursor: pointer;
  transition: all 0.2s;
}
.apt__poly:hover {
  fill: rgba(39, 75, 122, 0.3);
}
.apt__poly.is-current {
  fill: rgba(255, 190, 0, 0.4);
  stroke: #FFBE00;
  stroke-width: 2;
}
.apt__poly[data-status*="old"],
.apt__poly[data-status*="გაყიდული"] {
  fill: rgba(200, 100, 100, 0.25);
  stroke: rgba(200, 100, 100, 0.5);
  cursor: default;
}

/* Floors Panel */
.apt__floors {
  background: #fff;
  border-left: 1px solid rgba(39, 75, 122, 0.06);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
  min-height: 0;
}
.apt__floors-title {
  padding: 20px 24px;
  font-size: 0.8125rem;
  color: #6E8FB8;
  font-weight: 600;
  border-bottom: 1px solid rgba(39, 75, 122, 0.06);
  flex-shrink: 0;
}
.apt__floors-list {
  overflow-y: auto;
  padding: 16px;
  background: linear-gradient(180deg, #fafbfc 0%, #f5f7f9 100%);
  height: 100%;
}
.apt__floors-list .apt__floor-card {
  margin-bottom: 12px;
}
.apt__floors-list .apt__floor-card:last-child {
  margin-bottom: 0;
}

.apt__floor-card {
  display: block;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(39, 75, 122, 0.08);
  border-radius: 12px;
  transition: all 0.25s;
  overflow: hidden;
}
.apt__floor-card:hover {
  border-color: rgba(39, 75, 122, 0.15);
  box-shadow: 0 4px 16px rgba(24, 47, 77, 0.08);
  transform: translateY(-2px);
}
.apt__floor-card.is-active {
  box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2), 0 4px 16px rgba(52, 152, 219, 0.15);
}
.apt__floor-card.is-sold {
  opacity: 0.6;
}

.apt__floor-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(39, 75, 122, 0.04);
  background: linear-gradient(135deg, rgba(39, 75, 122, 0.02) 0%, transparent 100%);
}
.apt__floor-num {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #274B7A;
}
.apt__floor-num svg,
.apt__floor-num .ph {
  color: #6E8FB8;
  flex-shrink: 0;
}
.apt__floor-avail {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  background: rgba(39, 75, 122, 0.06);
  color: #6E8FB8;
}
.apt__floor-avail svg,
.apt__floor-avail .ph {
  flex-shrink: 0;
}
.apt__floor-avail.has-available {
  background: rgba(46, 204, 113, 0.12);
  color: #27ae60;
}
.apt__floor-avail.has-available svg,
.apt__floor-avail.has-available .ph {
  color: #27ae60;
}
.apt__floor-avail.all-sold {
  background: rgba(231, 76, 60, 0.1);
  color: #e74c3c;
}
.apt__floor-avail.all-sold svg,
.apt__floor-avail.all-sold .ph {
  color: #e74c3c;
}
.apt__floor-card.is-active .apt__floor-num {
  color: #182F4D;
}
.apt__floor-card.is-active .apt__floor-num svg,
.apt__floor-card.is-active .apt__floor-num .ph {
  color: #3498db;
}
.apt__floor-card.is-active .apt__floor-info {
  background: linear-gradient(135deg, rgba(52, 152, 219, 0.06) 0%, rgba(52, 152, 219, 0.02) 100%);
}

.apt__floor-map {
  position: relative;
  line-height: 0;
  background: #fafbfc;
}
.apt__floor-map img {
  display: block;
  width: 100%;
  height: auto;
}
.apt__floor-map svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.apt__floor-map svg polygon {
  pointer-events: auto;
  cursor: pointer;
}
.apt__poly-mini {
  fill: rgba(39, 75, 122, 0.15);
  stroke: rgba(39, 75, 122, 0.3);
  stroke-width: 1;
  transition: all 0.2s;
}
.apt__poly-mini:hover {
  fill: rgba(39, 75, 122, 0.25);
}
.apt__poly-mini.is-current {
  fill: rgba(255, 190, 0, 0.45);
  stroke: #FFBE00;
  stroke-width: 1.5;
}
.apt__poly-mini[data-status*="old"],
.apt__poly-mini[data-status*="გაყიდული"] {
  fill: rgba(200, 100, 100, 0.2);
  stroke: rgba(200, 100, 100, 0.4);
}

/* Apartment page tooltip */
.apt__tooltip {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
}
.apt__tooltip-card {
  background: #fff;
  border: 1px solid rgba(39, 75, 122, 0.1);
  min-width: 180px;
  box-shadow: 0 8px 24px rgba(24, 47, 77, 0.12), 0 2px 8px rgba(24, 47, 77, 0.06);
}
.apt__tooltip-title {
  padding: 14px 16px 12px;
  font-size: 0.875rem;
  font-weight: 700;
  color: #182F4D;
  border-bottom: 1px solid rgba(39, 75, 122, 0.06);
  background: linear-gradient(135deg, rgba(39, 75, 122, 0.02) 0%, transparent 100%);
}
.apt__tooltip-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.apt__tooltip-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 16px;
  border-right: 1px solid rgba(39, 75, 122, 0.04);
  border-bottom: 1px solid rgba(39, 75, 122, 0.04);
}
.apt__tooltip-item:last-child {
  border-right: none;
}
.apt__tooltip-item span {
  font-size: 0.5625rem;
  color: #6E8FB8;
  letter-spacing: 0.5px;
  font-weight: 500;
}
.apt__tooltip-item strong {
  font-size: 0.875rem;
  color: #274B7A;
  font-weight: 700;
}
.apt__tooltip-status {
  padding: 10px 16px;
  font-size: 0.625rem;
  letter-spacing: 0.5px;
  text-align: center;
  font-weight: 600;
  margin: 12px;
  border-left: 3px solid;
}
.apt__tooltip-status.is-available {
  background: linear-gradient(135deg, rgba(30, 122, 59, 0.08) 0%, rgba(30, 122, 59, 0.04) 100%);
  color: #1e7a3b;
  border-color: #1e7a3b;
}
.apt__tooltip-status.is-sold {
  background: linear-gradient(135deg, rgba(194, 50, 50, 0.08) 0%, rgba(194, 50, 50, 0.04) 100%);
  color: #c23232;
  border-color: #c23232;
}

/* Modal */
.apt__modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s;
}
.apt__modal.is-open {
  opacity: 1;
  visibility: visible;
}
.apt__modal-bg {
  position: absolute;
  inset: 0;
  background: rgba(24, 47, 77, 0.6);
  backdrop-filter: blur(4px);
}
.apt__modal-box {
  position: relative;
  background: #fff;
  width: 100%;
  max-width: 420px;
  padding: 36px;
  margin: 20px;
  box-shadow: 0 24px 48px rgba(24, 47, 77, 0.2);
}
.apt__modal-box h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #182F4D;
  margin: 0 0 24px;
}
.apt__modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: #6E8FB8;
  cursor: pointer;
  line-height: 1;
  transition: all 0.2s;
}
.apt__modal-close:hover {
  color: #274B7A;
  background: rgba(39, 75, 122, 0.06);
}
.apt__modal-apt {
  display: flex;
  gap: 16px;
  padding: 16px;
  margin-bottom: 24px;
  background: linear-gradient(135deg, rgba(39, 75, 122, 0.03) 0%, rgba(39, 75, 122, 0.06) 100%);
  border-left: 3px solid #FFBE00;
}
.apt__modal-apt img {
  width: 80px;
  height: 60px;
  object-fit: cover;
}
.apt__modal-apt div {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.apt__modal-apt strong {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #182F4D;
}
.apt__modal-apt span {
  font-size: 0.75rem;
  color: #6E8FB8;
  margin-top: 2px;
}
.apt__modal form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.apt__modal label {
  font-size: 0.6875rem;
  color: #6E8FB8;
  letter-spacing: 0.5px;
  font-weight: 500;
}
.apt__modal input[type="text"],
.apt__modal input[type="tel"] {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid rgba(39, 75, 122, 0.12);
  font-size: 0.875rem;
  margin-top: 6px;
  transition: all 0.2s;
}
.apt__modal input:focus {
  outline: none;
  border-color: #274B7A;
  box-shadow: 0 0 0 3px rgba(39, 75, 122, 0.08);
}
.apt__modal-terms {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  color: #3F6696;
}
.apt__modal-terms input {
  width: 18px;
  height: 18px;
  accent-color: #274B7A;
}
.apt__modal button[type="submit"] {
  padding: 16px;
  background: #FFBE00;
  color: #182F4D;
  border: none;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}
.apt__modal button[type="submit"]:hover {
  background: #e6ab00;
}

/* Callback Modal - 50/50 Layout */
.apt__callback-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.apt__callback-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.apt__callback-modal-bg {
  position: absolute;
  inset: 0;
  background: rgba(24, 47, 77, 0.7);
  backdrop-filter: blur(4px);
}
.apt__callback-modal-box {
  position: relative;
  width: 90%;
  max-width: 900px;
  max-height: 90vh;
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 25px 50px rgba(24, 47, 77, 0.25);
  transform: scale(0.95) translateY(20px);
  transition: transform 0.3s;
}
.apt__callback-modal.is-open .apt__callback-modal-box {
  transform: scale(1) translateY(0);
}
.apt__callback-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,0.9);
  border: none;
  border-radius: 50%;
  font-size: 1.5rem;
  line-height: 1;
  color: #3F6696;
  cursor: pointer;
  z-index: 10;
  transition: all 0.2s;
}
.apt__callback-close:hover {
  background: #fff;
  color: #182F4D;
  transform: rotate(90deg);
}
.apt__callback-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
}
.apt__callback-image {
  position: relative;
  background: #f0f2f5;
  overflow: hidden;
}
.apt__callback-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.apt__callback-image-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 32px 24px 24px;
  background: linear-gradient(to top, rgba(24, 47, 77, 0.95) 0%, transparent 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.apt__callback-apt-name {
  font-size: 1.375rem;
  font-weight: 700;
}
.apt__callback-apt-info {
  font-size: 0.8125rem;
  opacity: 0.85;
}
.apt__callback-form-section {
  padding: 48px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.apt__callback-header {
  margin-bottom: 32px;
}
.apt__callback-header h3 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #182F4D;
  margin: 0 0 10px;
}
.apt__callback-header p {
  font-size: 0.875rem;
  color: #6E8FB8;
  margin: 0;
  line-height: 1.5;
}
.apt__callback-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.apt__callback-field label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #3F6696;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}
.apt__callback-field input {
  width: 100%;
  padding: 16px 20px;
  border: 2px solid rgba(39, 75, 122, 0.1);
  border-radius: 12px;
  font-size: 0.9375rem;
  color: #182F4D;
  transition: all 0.2s;
}
.apt__callback-field input:focus {
  outline: none;
  border-color: #274B7A;
  box-shadow: 0 0 0 4px rgba(39, 75, 122, 0.08);
}
.apt__callback-field input::placeholder {
  color: #6E8FB8;
}
.apt__callback-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 18px 24px;
  background: #FFBE00;
  border: none;
  border-radius: 50px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #182F4D;
  cursor: pointer;
  transition: all 0.25s;
  margin-top: 8px;
}
.apt__callback-submit svg {
  width: 20px;
  height: 20px;
}
.apt__callback-submit:hover {
  background: #e6ab00;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(255, 190, 0, 0.35);
}
.apt__callback-note {
  text-align: center;
  font-size: 0.8125rem;
  color: #6E8FB8;
  margin-top: 24px;
}
.apt__callback-note a {
  color: #274B7A;
  font-weight: 600;
  text-decoration: none;
}
.apt__callback-note a:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .apt__callback-content {
    grid-template-columns: 1fr;
  }
  .apt__callback-image {
    height: 200px;
  }
  .apt__callback-form-section {
    padding: 32px 24px;
  }
  .apt__callback-header h3 {
    font-size: 1.375rem;
  }
}

/* Quick Contact Form */
.apt__quick-contact {
  padding: 40px;
  background: #fff;
  border-top: 1px solid rgba(39, 75, 122, 0.06);
}
.apt__quick-contact-inner {
  display: flex;
  align-items: center;
  gap: 40px;
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid rgba(39, 75, 122, 0.08);
  padding: 32px 40px;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif !important;
}
.apt__quick-contact-header {
  flex-shrink: 0;
}
.apt__quick-contact-header h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #182F4D;
  margin: 0 0 6px;
}
.apt__quick-contact-header p {
  font-size: 0.8125rem;
  color: #6E8FB8;
  margin: 0;
  max-width: 200px;
}
.apt__quick-form {
  flex: 1;
  margin: 0;
}
.apt__quick-form-row {
  display: flex;
  gap: 10px;
  align-items: stretch;
}
.apt__quick-input {
  flex: 1;
}
.apt__quick-input input {
  width: 100%;
  padding: 14px 18px;
  border: 1px solid rgba(39, 75, 122, 0.12);
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.875rem;
  background: #fff;
  color: #182F4D;
  transition: all 0.2s;
}
.apt__quick-input input::placeholder {
  color: #6E8FB8;
}
.apt__quick-input input:focus {
  outline: none;
  border-color: #274B7A;
}
.apt__quick-submit {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  background: #274B7A;
  border: none;
  color: #fff;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.apt__quick-submit:hover {
  background: #1F3D63;
}
.apt__quick-submit svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
.apt__quick-privacy {
  display: none;
}

/* Footer */
.apt__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 40px;
  background: #182F4D;
  color: #fff;
  border-radius: 40px;
  flex-shrink: 0;
}
.apt__footer-left {
  display: flex;
  align-items: center;
  gap: 20px;
}
.apt__footer-logo {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.apt__footer-nav {
  display: flex;
  align-items: center;
  gap: 24px;
}
.apt__footer-nav a {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  transition: color 0.2s;
}
.apt__footer-nav a:hover {
  color: #FFBE00;
}
.apt__footer-nav svg {
  width: 14px;
  height: 14px;
  opacity: 0.7;
}
.apt__footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.6);
}
.apt__footer-right a {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
}
.apt__footer-right a:hover {
  color: #FFBE00;
}

@media (max-width: 768px) {
  .apt__quick-contact {
    padding: 20px 16px;
  }
  .apt__quick-contact-inner {
    flex-direction: column;
    padding: 24px 20px;
    gap: 20px;
  }
  .apt__quick-contact-header {
    text-align: center;
  }
  .apt__quick-contact-header p {
    max-width: none;
  }
  .apt__quick-form-row {
    flex-direction: column;
    gap: 10px;
  }
  .apt__quick-submit {
    width: 100%;
    justify-content: center;
  }
  .apt__footer {
    flex-direction: column;
    gap: 20px;
    padding: 24px 20px;
    text-align: center;
  }
  .apt__footer-left {
    flex-direction: column;
    gap: 16px;
  }
  .apt__footer-nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }
  .apt__footer-right {
    align-items: center;
  }
}

/* Responsive */
@media (max-width: 1400px) {
  .apt__main {
    grid-template-columns: 340px 1fr 320px;
  }
}
@media (max-width: 1200px) {
  .apt__main {
    grid-template-columns: 300px 1fr 280px;
  }
  .apt__title {
    font-size: 1.5rem;
  }
  .apt__meta-value {
    font-size: 1.25rem;
  }
}

@media (max-width: 900px) {
  .apt-v3 {
    overflow: auto;
    height: auto;
  }
  .apt {
    height: auto;
    overflow: auto;
  }
  .apt__nav {
    display: none;
  }
  .apt__main {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    overflow: visible;
  }
  .apt__sidebar {
    order: 1;
    border-right: none;
    border-bottom: 1px solid rgba(39, 75, 122, 0.08);
  }
  .apt__content {
    order: 2;
    min-height: 50vh;
  }
  .apt__floors {
    order: 3;
    border-left: none;
    border-top: 1px solid rgba(39, 75, 122, 0.08);
    max-height: 320px;
  }
  .apt__floors-list {
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 16px;
    gap: 12px;
  }
  .apt__floor-card {
    flex: 0 0 220px;
  }
}

@media (max-width: 900px) {
  .apt__tabs-bar {
    flex-wrap: wrap;
    height: auto;
    padding: 12px 16px;
    gap: 12px;
  }
  .apt__tabs-left {
    order: 1;
    width: 100%;
  }
  .apt__tabs-right {
    order: 2;
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .apt__action-btn {
    flex: 1;
    justify-content: center;
  }
}

@media (max-width: 600px) {
  .apt__header {
    padding: 0 16px;
    height: 56px;
  }
  .apt__header-btn {
    padding: 8px 14px;
  }
  .apt__header-btn span {
    display: none;
  }
  .apt__sidebar {
    padding: 24px 16px;
    gap: 20px;
  }
  .apt__title {
    font-size: 1.375rem;
  }
  .apt__meta-item {
    padding: 12px 14px;
  }
  .apt__meta-value {
    font-size: 1.125rem;
  }
  .apt__price-value {
    font-size: 1.625rem;
  }
  .apt__visual {
    padding: 20px 16px;
  }
  .apt__tabs-left {
    width: 100%;
  }
  .apt__tabs {
    width: 100%;
  }
  .apt__tab {
    flex: 1;
    justify-content: center;
    padding: 10px 12px;
    font-size: 0.6875rem;
  }
  .apt__tabs-right {
    gap: 8px;
  }
  .apt__action-btn {
    padding: 10px 14px;
    font-size: 0.75rem;
  }
  .apt__share-btn {
    padding: 10px 12px;
  }
  .apt__share-btn span {
    display: none;
  }
}

/* ========================================================================
   BLOCK PAGE - Clean Minimal Design (matching apartment)
   ======================================================================== */

.blk-page {
  margin: 0;
  padding: 0;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif;
  background: #fff;
  color: #1a1a1a;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
  height: 100vh;
}

.blk {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
  padding: 20px;
  background: #f5f7f9;
}

/* Header - matching apt style */
.blk__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  height: 80px;
  background: #fff;
  border-bottom: none;
  box-shadow: 0 2px 8px rgba(24, 47, 77, 0.06);
  flex-shrink: 0;
  border-radius: 40px;
}

.blk__logo img {
  height: 48px;
  width: auto;
}

.blk__nav {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #3F6696;
}
.blk__nav span {
  color: #6E8FB8;
}
.blk__nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #3F6696;
  text-decoration: none;
  transition: color 0.2s;
}
.blk__nav a svg,
.blk__nav a .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
  opacity: 0.6;
}
.blk__nav a:hover {
  color: #274B7A;
}
.blk__nav-current {
  color: #182F4D;
  font-weight: 700;
}

.blk__header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.blk__header-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: #274B7A;
  border: none;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #fff;
  cursor: pointer;
  transition: all 0.2s;
}
.blk__header-btn:hover {
  background: #1F3D63;
}
.blk__header-btn svg,
.blk__header-btn .ph {
  opacity: 0.9;
}

.blk__lang {
  display: flex;
  gap: 2px;
  background: rgba(39, 75, 122, 0.04);
  padding: 2px;
}
.blk__lang a {
  padding: 8px 12px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: #6E8FB8;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: all 0.2s;
}
.blk__lang a:hover {
  color: #274B7A;
}
.blk__lang a.is-active {
  background: #fff;
  color: #274B7A;
  box-shadow: 0 1px 3px rgba(24, 47, 77, 0.08);
}

/* Main Layout */
.blk__main {
  display: grid;
  grid-template-columns: 340px 1fr;
  flex: 1;
  overflow: hidden;
  position: relative;
  background: #fff;
  border-radius: 24px;
  margin-top: 16px;
  box-shadow: 0 2px 8px rgba(24, 47, 77, 0.04);
}

/* Sidebar */
.blk__sidebar {
  padding: 32px;
  border-right: 1px solid rgba(39, 75, 122, 0.08);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: #fff;
}

.blk__info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.blk__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.6875rem;
  color: #6E8FB8;
  letter-spacing: 0.5px;
  font-weight: 600;
  padding: 6px 12px;
  background: rgba(39, 75, 122, 0.05);
  border-radius: 6px;
  width: fit-content;
}
.blk__label svg,
.blk__label .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
  color: #274B7A;
  opacity: 0.7;
}
.blk__title {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
  color: #182F4D;
  letter-spacing: -0.5px;
}

.blk__meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 20px;
  background: linear-gradient(135deg, rgba(39, 75, 122, 0.03) 0%, rgba(39, 75, 122, 0.06) 100%);
  border-radius: 16px;
  border: 1px solid rgba(39, 75, 122, 0.08);
}
.blk__meta-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding: 12px 8px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(24, 47, 77, 0.04);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.blk__meta-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(24, 47, 77, 0.08);
}
.blk__meta-icon {
  width: 24px;
  height: 24px;
  color: #274B7A;
  opacity: 0.7;
}
.blk__meta-value {
  font-size: 1.375rem;
  font-weight: 700;
  color: #182F4D;
  line-height: 1;
}
.blk__meta-label {
  font-size: 0.625rem;
  color: #6E8FB8;
  font-weight: 600;
  letter-spacing: 0.3px;
}

.blk__floor-preview {
  padding: 16px;
  background: rgba(39, 75, 122, 0.03);
  border: 1px solid rgba(39, 75, 122, 0.08);
  border-radius: 8px;
}
.blk__floor-label {
  font-size: 0.8125rem;
  color: #6E8FB8;
}
.blk__floor-num {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 4px;
  color: #182F4D;
}
.blk__floor-stats {
  font-size: 0.8125rem;
  color: #6E8FB8;
}

/* Floor pills in sidebar - modern grid design */
.blk__floors {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.blk__floors-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 20px 12px;
  font-size: 0.75rem;
  color: #6E8FB8;
  letter-spacing: 0.5px;
  flex-shrink: 0;
  font-weight: 600;
  border-top: 1px solid rgba(39, 75, 122, 0.08);
}
.blk__floors-header svg,
.blk__floors-header .ph {
  width: 16px;
  height: 16px;
  font-size: 1rem;
  opacity: 0.7;
}
.blk__floors-list {
  flex: 1;
  overflow-y: auto;
  padding: 0 16px 16px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  align-content: start;
}

/* Floor pill - modern minimal button */
.blk__floor-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 14px 8px;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  border: 1px solid rgba(39, 75, 122, 0.1);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.blk__floor-pill::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(39, 75, 122, 0) 0%, rgba(39, 75, 122, 0.03) 100%);
  opacity: 0;
  transition: opacity 0.25s;
}
.blk__floor-pill:hover {
  border-color: #274B7A;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(39, 75, 122, 0.12);
}
.blk__floor-pill:hover::before {
  opacity: 1;
}
.blk__floor-pill.is-active {
  background: linear-gradient(180deg, #274B7A 0%, #1F3D63 100%);
  border-color: #274B7A;
  box-shadow: 0 4px 16px rgba(39, 75, 122, 0.25);
}
.blk__floor-pill.is-active .blk__floor-pill-num {
  color: #fff;
}
.blk__floor-pill.is-active .blk__floor-pill-icon {
  color: rgba(255, 255, 255, 0.7);
}
.blk__floor-pill-icon {
  width: 20px;
  height: 20px;
  font-size: 1.25rem;
  color: #6E8FB8;
  transition: color 0.25s;
}
.blk__floor-pill-num {
  font-size: 1rem;
  font-weight: 700;
  color: #182F4D;
  line-height: 1;
  transition: color 0.25s;
}

/* Floor pill badge */
.blk__floor-pill-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  border-radius: 9px;
  background: #e74c3c;
  color: #fff;
  box-shadow: 0 2px 6px rgba(231, 76, 60, 0.3);
}
.blk__floor-pill-badge.has-available {
  background: #27ae60;
  box-shadow: 0 2px 6px rgba(39, 174, 96, 0.3);
}
.blk__floor-pill.is-active .blk__floor-pill-badge {
  background: #fff;
  color: #274B7A;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Sold floor pill */
.blk__floor-pill.is-sold {
  background: linear-gradient(180deg, #fff5f5 0%, #fef2f2 100%);
  border-color: rgba(231, 76, 60, 0.2);
  opacity: 0.7;
}
.blk__floor-pill.is-sold .blk__floor-pill-icon {
  color: #e74c3c;
}
.blk__floor-pill.is-sold .blk__floor-pill-num {
  color: #c0392b;
}

/* Legacy apt-preview - hidden, using tooltip now */
.blk__apt-preview {
  display: none !important;
}

.blk__actions {
  margin-top: auto;
}
.blk__btn {
  display: block;
  width: 100%;
  padding: 14px 20px;
  font-size: 0.8125rem;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  border: 1px solid rgba(39, 75, 122, 0.15);
  border-radius: 8px;
  background: none;
  color: #274B7A;
  cursor: pointer;
  transition: all 0.2s;
}
.blk__btn:hover {
  border-color: #274B7A;
  background: rgba(39, 75, 122, 0.03);
}
.blk__btn--primary {
  background: #274B7A;
  border-color: #274B7A;
  color: #fff;
}
.blk__btn--primary:hover {
  background: #1F3D63;
}
.blk__btn--back {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: rgba(39, 75, 122, 0.06);
  border-color: rgba(39, 75, 122, 0.15);
  color: #274B7A;
  margin-bottom: 10px;
}
.blk__btn--back:hover {
  background: rgba(39, 75, 122, 0.1);
  border-color: #274B7A;
}
.blk__btn--back svg,
.blk__btn--back .ph {
  flex-shrink: 0;
}
.blk__btn--primary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.blk__btn--primary svg {
  flex-shrink: 0;
}

/* Content - Facade */
.blk__content {
  display: flex;
  flex-direction: column;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  overflow: hidden;
  position: relative;
  border-radius: 0 24px 24px 0;
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.blk__main.drawer-open .blk__content {
  opacity: 0;
  transform: scale(0.94);
  pointer-events: none;
  position: absolute;
  inset: 0;
  left: 340px;
}
.blk__main.drawer-closing .blk__content {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
  position: relative;
  left: 0;
}

/* View Tabs */
.blk__tabs {
  position: absolute;
  top: 20px;
  left: 20px;
  display: flex;
  gap: 8px;
  z-index: 10;
}
.blk__tab {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(39, 75, 122, 0.1);
  border-radius: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #6E8FB8;
  cursor: pointer;
  transition: all 0.2s ease;
}
.blk__tab svg,
.blk__tab .ph {
  width: 18px;
  height: 18px;
  font-size: 1.125rem;
}
.blk__tab:hover {
  background: #fff;
  border-color: rgba(39, 75, 122, 0.2);
  color: #274B7A;
}
.blk__tab.is-active {
  background: #182F4D;
  border-color: #182F4D;
  color: #fff;
}

/* View Panels */
.blk__view {
  display: none;
  width: 100%;
  flex: 1;
  min-height: 0;
}
.blk__view.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
}

.blk__facade {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.blk__facade-img {
  max-width: 100%;
  max-height: 100%;
  height: 100vh;
  width: auto;
  object-fit: contain;
}

.blk__facade-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.blk__floor-link {
  cursor: pointer;
}
.blk__floor-poly {
  fill: transparent;
  stroke: transparent;
  stroke-width: 1;
  transition: all 0.2s;
}
.blk__floor-link:hover .blk__floor-poly {
  fill: rgba(0, 150, 60, 0.2);
  stroke: rgba(0, 150, 60, 0.5);
  stroke-width: 2;
}
.blk__floor-link.is-active .blk__floor-poly {
  fill: rgba(245, 166, 35, 0.35);
  stroke: #f5a623;
  stroke-width: 2;
}

/* Floor nav in sidebar - modern design */
.blk__floor-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: linear-gradient(135deg, #182F4D 0%, #274B7A 100%);
  border-radius: 16px;
  padding: 16px 20px;
  box-shadow: 0 4px 16px rgba(24, 47, 77, 0.15);
  position: relative;
  overflow: hidden;
}
.blk__floor-nav::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 120px;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.03) 100%);
  pointer-events: none;
}
.blk__floor-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.8);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(4px);
}
.blk__floor-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.3);
  color: #fff;
  transform: translateY(-1px);
}
.blk__floor-btn:active {
  transform: translateY(0);
}
.blk__floor-counter {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
}
.blk__floor-counter strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 10px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  color: #fff;
  font-weight: 700;
  font-size: 0.9375rem;
}

/* Right Panel - Plan (Drawer) */
.blk__plan {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 340px;
  transform: translateX(100%);
  opacity: 0;
  visibility: hidden;
  border-radius: 0 24px 24px 0;
  box-shadow: -8px 0 32px rgba(24, 47, 77, 0.08);
}
.blk__plan.is-open,
.blk__main.drawer-open .blk__plan {
  visibility: visible;
  animation: drawerSlideIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.blk__plan.is-closing {
  animation: drawerSlideOut 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.blk__plan-title {
  padding: 20px 24px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #182F4D;
  border-bottom: 1px solid rgba(39, 75, 122, 0.08);
  flex-shrink: 0;
  background: #fff;
}

/* Apartment info panel */
.blk__plan-info {
  flex-shrink: 0;
  border-bottom: 1px solid rgba(39, 75, 122, 0.08);
  min-height: 120px;
  background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
}
.blk__plan-info-empty {
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
}
.blk__plan-info-empty svg,
.blk__plan-info-empty .ph {
  width: 32px;
  height: 32px;
  font-size: 2rem;
  color: #a0b4cc;
  opacity: 0.8;
}
.blk__plan-info-empty span {
  font-size: 0.8125rem;
  color: #6E8FB8;
  font-weight: 500;
}
.blk__plan-info-card {
  padding: 20px 24px;
}
.blk__plan-info-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(39, 75, 122, 0.08);
}
.blk__plan-info-icon {
  width: 40px;
  height: 40px;
  background: rgba(39, 75, 122, 0.06);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.blk__plan-info-icon svg,
.blk__plan-info-icon .ph {
  width: 20px;
  height: 20px;
  font-size: 1.25rem;
  color: #274B7A;
}
.blk__plan-info-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #182F4D;
  margin: 0;
}
.blk__plan-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.blk__plan-info-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  background: rgba(39, 75, 122, 0.03);
  border-radius: 8px;
}
.blk__plan-info-item svg,
.blk__plan-info-item .ph {
  width: 18px;
  height: 18px;
  font-size: 1.125rem;
  color: #6E8FB8;
  flex-shrink: 0;
}
.blk__plan-info-item-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.blk__plan-info-item span {
  font-size: 0.625rem;
  color: #6E8FB8;
  letter-spacing: 0.3px;
  font-weight: 500;
}
.blk__plan-info-item strong {
  font-size: 0.9375rem;
  color: #182F4D;
  font-weight: 600;
}
.blk__plan-info-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  border-radius: 6px;
  border: 1px solid;
}
.blk__plan-info-status svg,
.blk__plan-info-status .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
}
.blk__plan-info-status.is-available {
  color: #27ae60;
  border-color: #27ae60;
  background: #f0fff4;
}
.blk__plan-info-status.is-sold {
  color: #e74c3c;
  border-color: #e74c3c;
  background: #fff5f5;
}

.blk__plan-view {
  flex: 1;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #fafafa;
}
.blk__plan-empty {
  color: #ccc;
  font-size: 0.8125rem;
}
.blk__plan-map {
  position: relative;
  display: inline-block;
  max-width: 100%;
  max-height: 100%;
}
.blk__plan-map img {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: calc(100vh - 280px);
  object-fit: contain;
}
.blk__plan-map svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.blk__plan-map svg a {
  pointer-events: auto;
}

.blk__apt-link {
  cursor: pointer;
}
.blk__apt-poly {
  fill: rgba(0, 150, 60, 0.25);
  stroke: rgba(0, 150, 60, 0.5);
  stroke-width: 1;
  transition: all 0.2s;
}
.blk__apt-link:hover .blk__apt-poly {
  fill: rgba(0, 150, 60, 0.45);
  stroke: rgba(0, 150, 60, 0.8);
}
.blk__apt-poly.is-sold {
  fill: rgba(233, 154, 143, 0.35);
  stroke: rgba(200, 100, 100, 0.5);
}

/* Universal tooltip - modern design */
.blk__tooltip {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
}
.blk__tooltip-card {
  background: #fff;
  border: none;
  min-width: 180px;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(24, 47, 77, 0.15), 0 2px 8px rgba(24, 47, 77, 0.08);
  overflow: hidden;
}
.blk__tooltip-title {
  padding: 14px 16px 12px;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #182F4D;
  border-bottom: 1px solid rgba(39, 75, 122, 0.08);
  background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
}
.blk__tooltip-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.blk__tooltip-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 16px;
  border-right: 1px solid rgba(39, 75, 122, 0.06);
  background: #fff;
}
.blk__tooltip-item:last-child {
  border-right: none;
}
.blk__tooltip-item span {
  font-size: 0.625rem;
  color: #6E8FB8;
  letter-spacing: 0.4px;
  font-weight: 500;
}
.blk__tooltip-item strong {
  font-size: 0.875rem;
  color: #182F4D;
  font-weight: 700;
}
.blk__tooltip-status {
  padding: 10px 16px;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-align: center;
  border-radius: 6px;
  margin: 12px;
}
.blk__tooltip-status.is-available {
  background: linear-gradient(180deg, #f0fff4 0%, #e8fbee 100%);
  color: #27ae60;
  border: 1px solid rgba(39, 174, 96, 0.3);
}
.blk__tooltip-status.is-sold {
  background: linear-gradient(180deg, #fff5f5 0%, #fef0f0 100%);
  color: #e74c3c;
  border: 1px solid rgba(231, 76, 60, 0.3);
}
.blk__tooltip-status.is-reserved {
  background: linear-gradient(180deg, #fffbf0 0%, #fff6e0 100%);
  color: #f39c12;
  border: 1px solid rgba(243, 156, 18, 0.3);
}

/* ========== Apartment Polygon Styles ========== */
/* Available - green */
.blk__apt-poly.is-available {
  fill: rgba(39, 174, 96, 0.25);
  stroke: rgba(39, 174, 96, 0.6);
  stroke-width: 2;
  transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}
.blk__apt-link:hover .blk__apt-poly.is-available {
  fill: rgba(39, 174, 96, 0.4);
  stroke: rgba(39, 174, 96, 0.9);
}

/* Sold - brand blue 60% overlay */
.blk__apt-poly.is-sold {
  fill: rgba(39, 75, 122, 0.6);
  stroke: rgba(24, 47, 77, 0.7);
  stroke-width: 2;
  cursor: not-allowed;
}
.blk__apt-link:hover .blk__apt-poly.is-sold {
  fill: rgba(39, 75, 122, 0.65);
}

/* Reserved - yellow 60% overlay */
.blk__apt-poly.is-reserved {
  fill: rgba(243, 156, 18, 0.6);
  stroke: rgba(211, 130, 10, 0.7);
  stroke-width: 2;
  cursor: not-allowed;
}
.blk__apt-link:hover .blk__apt-poly.is-reserved {
  fill: rgba(243, 156, 18, 0.65);
}

/* SVG Text Labels inside polygons */
.blk__apt-label {
  font-size: 1.375rem;
  font-weight: 600;
  fill: #fff;
  pointer-events: none;
  filter: url(#dropShadow);
  opacity: 0;
  animation: labelFadeIn 0.4s ease forwards;
  animation-delay: var(--delay, 0s);
}
.blk__apt-label--title {
  font-size: 1.25rem;
  font-weight: 700;
}
.blk__apt-label--sqm {
  font-size: 1.125rem;
  font-weight: 500;
  fill: rgba(255, 255, 255, 0.8);
}
@keyframes labelFadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Status badges inside polygons (foreignObject) */
.blk__apt-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  font-family: 'Mersad', sans-serif;
  white-space: nowrap;
  pointer-events: none;
}
.blk__apt-badge svg,
.blk__apt-badge .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
  flex-shrink: 0;
}
.blk__apt-badge--sold {
  background: rgba(24, 47, 77, 0.95);
  color: #fff;
}
.blk__apt-badge--reserved {
  background: rgba(255, 190, 0, 0.95);
  color: #182F4D;
}

/* Plan SVG animation */
.blk__plan-svg {
  opacity: 0;
  animation: planSvgIn 0.5s ease forwards;
  animation-delay: 0.2s;
}
@keyframes planSvgIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.blk__plan-img {
  animation: planImgIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes planImgIn {
  from { opacity: 0; transform: translateX(30px); }
  to { opacity: 1; transform: translateX(0); }
}

/* ========== Apartment List ========== */
.blk__apt-list {
  flex-shrink: 0;
  border-top: 1px solid rgba(39, 75, 122, 0.08);
  background: linear-gradient(180deg, #fafbfc 0%, #f5f7fa 100%);
  padding: 16px;
  overflow-y: auto;
  max-height: 320px;
}
.blk__apt-list-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #6E8FB8;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}
.blk__apt-list-header svg,
.blk__apt-list-header .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
  opacity: 0.7;
}
.blk__apt-list-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 1400px) {
  .blk__apt-list-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1100px) {
  .blk__apt-list-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .blk__apt-list-grid { grid-template-columns: 1fr; }
}
.blk__apt-list-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 24px;
  color: #6E8FB8;
  font-size: 0.8125rem;
}

/* Legacy srch__card status footer (keep for compatibility) */
.srch__card-status {
  padding: 10px 16px;
  background: #f8f9fa;
  border-top: 1px solid #f0f0f0;
  border-radius: 0 0 8px 8px;
}
.srch__card-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  padding: 6px 10px;
  border-radius: 4px;
}
.srch__card-status-badge svg,
.srch__card-status-badge .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
}
.srch__card-status-badge.is-available {
  background: rgba(39, 174, 96, 0.1);
  color: #27ae60;
}

/* Locked apartment links (sold/reserved - not clickable) */
.blk__apt-link--locked {
  cursor: not-allowed;
  pointer-events: auto;
}
.blk__apt-link--locked polygon {
  cursor: not-allowed;
}

/* ========== Improved Drawer Animations ========== */
/* Facade slide out to left when drawer opens */
.blk__facade {
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
              opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.blk__facade.is-hidden {
  transform: translateX(-100%);
  opacity: 0;
  pointer-events: none;
}
.blk__facade.is-returning {
  animation: facadeReturn 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes facadeReturn {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Updated drawer slide animation */
@keyframes drawerSlideIn {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes drawerSlideOut {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    transform: translateX(100%);
    opacity: 0;
  }
}

/* Plan info status - reserved */
.blk__plan-info-status.is-reserved {
  color: #f39c12;
  border-color: #f39c12;
  background: #fffbf0;
}

/* Footer - matching apt style */
.blk__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 40px;
  background: #182F4D;
  color: #fff;
  border-radius: 40px;
  flex-shrink: 0;
  margin-top: 16px;
}
.blk__footer-left {
  display: flex;
  align-items: center;
  gap: 20px;
}
.blk__footer-logo {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.blk__footer-nav {
  display: flex;
  align-items: center;
  gap: 24px;
}
.blk__footer-nav a {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  transition: color 0.2s;
}
.blk__footer-nav a:hover {
  color: #FFBE00;
}
.blk__footer-nav svg,
.blk__footer-nav .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
  opacity: 0.7;
}
.blk__footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.6);
}
.blk__footer-right a {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
}
.blk__footer-right a:hover {
  color: #FFBE00;
}

/* Responsive */
@media (max-width: 1200px) {
  .blk__main {
    grid-template-columns: 300px 1fr;
  }
  .blk__plan {
    left: 300px;
  }
  .blk__main.drawer-open .blk__content {
    left: 300px;
  }
}

@media (max-width: 900px) {
  .blk-page {
    overflow: auto;
    height: auto;
  }
  .blk {
    height: auto;
    padding: 12px;
  }
  .blk__header {
    border-radius: 20px;
    height: 60px;
    padding: 0 20px;
  }
  .blk__nav {
    display: none;
  }
  .blk__main {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    border-radius: 16px;
  }
  .blk__sidebar {
    order: 1;
    border-right: none;
    border-bottom: 1px solid rgba(39, 75, 122, 0.08);
  }
  .blk__content {
    order: 2;
    min-height: 50vh;
    border-radius: 0 0 16px 16px;
  }
  .blk__main.drawer-open .blk__content {
    position: absolute;
    left: 0;
    opacity: 0;
    visibility: hidden;
  }
  .blk__plan {
    position: relative;
    left: 0;
    order: 2;
    border-top: 1px solid rgba(39, 75, 122, 0.08);
    min-height: 60vh;
    transform: none;
    visibility: hidden;
    border-radius: 0 0 16px 16px;
    animation: none;
  }
  .blk__plan.is-open,
  .blk__main.drawer-open .blk__plan {
    opacity: 1;
    visibility: visible;
  }
  .blk__footer {
    border-radius: 20px;
    padding: 16px 20px;
    flex-direction: column;
    gap: 16px;
    text-align: center;
  }
  .blk__footer-left {
    flex-direction: column;
    gap: 12px;
  }
  .blk__footer-nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }
  .blk__footer-right {
    align-items: center;
  }
}

@media (max-width: 600px) {
  .blk {
    padding: 8px;
  }
  .blk__header {
    padding: 0 16px;
    height: 56px;
  }
  .blk__header-btn span {
    display: none;
  }
  .blk__sidebar {
    padding: 20px 16px;
  }
  .blk__title {
    font-size: 1.375rem;
  }
  .blk__footer {
    padding: 16px;
  }
}


/* ==========================================================================
   APARTMENT SEARCH PAGE (.srch__)
   ========================================================================== */

.srch-page,
.apt-search-page {
  margin: 0;
  padding: 0;
  font-family: 'Mersad', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #fafafa;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
  height: 100vh;
}

.srch {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
  padding: 20px;
}

/* Search page uses shared imap__header/footer - no overrides needed */
.srch .imap__header,
.srch .imap__footer {
  flex-shrink: 0;
}

/* Legacy srch__header (deprecated, use imap__header) */
.srch__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 32px;
  height: 64px;
  border-bottom: 1px solid rgba(39, 75, 122, 0.1);
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 100;
}

.srch__logo img {
  height: 32px;
  width: auto;
}

.srch__nav {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
}

.srch__nav-current {
  font-weight: 600;
  color: #182F4D;
}

.srch__header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.srch__header-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: 1px solid rgba(39, 75, 122, 0.15);
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 0.8125rem;
  color: #182F4D;
  cursor: pointer;
  transition: all 0.15s;
}

.srch__header-btn:hover {
  border-color: #274B7A;
}

.srch__lang {
  display: flex;
  gap: 4px;
}

.srch__lang a {
  padding: 6px 10px;
  font-size: 0.75rem;
  color: #6E8FB8;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 6px;
  transition: all 0.15s;
}

.srch__lang a.is-active {
  color: #182F4D;
  border-color: rgba(39, 75, 122, 0.15);
}

/* Main Layout */
.srch__main {
  display: grid;
  grid-template-columns: 280px 1fr;
  flex: 1;
  overflow: hidden;
  background: #fff;
  border-radius: 40px;
  margin: 40px 0px;
}

/* Filters Sidebar */
.srch__filters {
  padding: 32px;
  border-right: 1px solid rgba(39, 75, 122, 0.06);
  background: #fff;
  overflow-y: auto;
}

.srch__filters-title {
  font-size: 1rem;
  font-weight: 600;
  color: #182F4D;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(39, 75, 122, 0.1);
}

.srch__filter-group {
  margin-bottom: 24px;
}

.srch__filter-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6E8FB8;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.srch__select {
  width: 100%;
  padding: 10px 12px;
  font-size: 0.875rem;
  border: 1px solid rgba(39, 75, 122, 0.15);
  border-radius: 8px;
  background: #fff;
  color: #182F4D;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E8FB8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  transition: all 0.15s;
}

.srch__select--small {
  width: auto;
  padding: 6px 32px 6px 12px;
  font-size: 0.8125rem;
}

.srch__select:focus {
  outline: none;
  border-color: #274B7A;
}

/* Range Slider */
.srch__range-wrap {
  padding-top: 8px;
}

.srch__range-slider {
  margin-bottom: 12px;
}

.srch__range-values {
  font-size: 0.8125rem;
  color: #182F4D;
  text-align: center;
}

/* noUiSlider custom styles */
.srch__range-slider .noUi-target {
  background: rgba(39, 75, 122, 0.1);
  border: none;
  box-shadow: none;
  height: 4px;
  border-radius: 2px;
}

.srch__range-slider .noUi-connect {
  background: #274B7A;
}

.srch__range-slider .noUi-handle {
  width: 18px;
  height: 18px;
  background: #fff;
  border: 2px solid #274B7A;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(39, 75, 122, 0.2);
  cursor: pointer;
  top: -7px;
  right: -9px;
}

.srch__range-slider .noUi-handle:before,
.srch__range-slider .noUi-handle:after {
  display: none;
}

.srch__range-slider .noUi-handle:focus {
  outline: none;
}

/* Room Buttons */
.srch__rooms {
  display: flex;
  gap: 8px;
}

.srch__room-btn {
  flex: 1;
  padding: 10px 8px;
  font-size: 0.8125rem;
  background: #fff;
  border: 1px solid rgba(39, 75, 122, 0.15);
  border-radius: 8px;
  color: #182F4D;
  cursor: pointer;
  transition: all 0.15s;
}

.srch__room-btn:hover {
  border-color: #274B7A;
}

.srch__room-btn.is-active {
  background: #274B7A;
  color: #fff;
  border-color: #274B7A;
}

/* Filter Buttons */
.srch__filter-reset {
  width: 100%;
  padding: 12px;
  font-size: 0.8125rem;
  color: #6E8FB8;
  background: none;
  border: 1px solid rgba(39, 75, 122, 0.15);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s;
}

.srch__filter-reset:hover {
  border-color: #274B7A;
  color: #274B7A;
}

/* Results Section */
.srch__results {
  padding: 24px;
  overflow-y: auto;
}

.srch__results-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(39, 75, 122, 0.1);
}

.srch__results-count {
  font-size: 0.875rem;
  color: #6E8FB8;
}

.srch__results-count span {
  font-weight: 600;
  color: #182F4D;
}

/* Apartment Grid */
.srch__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
}

.srch__loading,
.srch__empty {
  grid-column: 1 / -1;
  padding: 60px 20px;
  text-align: center;
  color: #6E8FB8;
  font-size: 0.875rem;
}

/* Apartment Card - Clean minimal with icons */
.srch__card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  text-decoration: none;
  overflow: hidden;
  transition: all 0.2s;
}

.srch__card:hover {
  border-color: #3d6b5f;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

/* Card Header */
.srch__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
}

.srch__card-num {
  font-size: 1.25rem;
  font-weight: 500;
  color: #1a1a1a;
  letter-spacing: -0.5px;
}

.srch__card-floor {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 1rem;
  font-weight: 500;
  color: #3d6b5f;
}

.srch__card-floor svg,
.srch__card-floor .ph {
  color: #3d6b5f;
}

/* Card Image */
.srch__card-img {
  position: relative;
  aspect-ratio: 1/1;
  background: #fafafa;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.srch__card-img img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.srch__card-noimg {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ddd;
}

/* Card Meta with icons */
.srch__card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-top: 1px solid #f0f0f0;
}

.srch__card-meta-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #1a1a1a;
}

.srch__card-meta-item svg,
.srch__card-meta-item .ph {
  color: #3d6b5f;
  flex-shrink: 0;
}

.srch__card-meta-item span {
  font-size: 0.9375rem;
  font-weight: 500;
}

/* Card Price Footer */
.srch__card-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  background: #2d3e3a;
  color: #fff;
}

.srch__card-price-label {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.5px;
}

.srch__card-price-value {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.5px;
}

/* Responsive - search page layout only (header/footer use shared imap__ responsive) */
@media (max-width: 900px) {
  .srch-page {
    overflow: auto;
    height: auto;
  }
  .srch {
    height: auto;
    padding: 12px;
  }
  .srch__main {
    grid-template-columns: 1fr;
    border-radius: 20px;
    margin: 20px 0;
  }
  .srch__filters {
    border-right: none;
    border-bottom: 1px solid rgba(39, 75, 122, 0.06);
    border-radius: 20px 20px 0 0;
  }
}

@media (max-width: 600px) {
  .srch {
    padding: 8px;
  }
  .p2-grid {
    grid-template-columns: 1fr;
  }
  .srch__rooms {
    flex-wrap: wrap;
  }
  .srch__room-btn {
    flex: 0 0 calc(33.33% - 6px);
  }
}


/* ==========================================================================
   QUICK FILTER WIDGET (Elementor)
   ========================================================================== */

.qfilter {
  background: #fff;
  padding: 32px;
  border-radius: 8px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08);
}

.qfilter__title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 8px;
}

.qfilter__subtitle {
  font-size: 0.875rem;
  color: #666;
  margin-bottom: 24px;
}

.qfilter__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}

.qfilter__group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.qfilter__label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #888;
  letter-spacing: 0.3px;
}

.qfilter__input {
  padding: 12px 14px;
  font-size: 0.875rem;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #fafafa;
  transition: all 0.15s;
}

.qfilter__input:focus {
  outline: none;
  border-color: #1a1a1a;
  background: #fff;
}

.qfilter__select {
  padding: 12px 36px 12px 14px;
  font-size: 0.875rem;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #fafafa;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  cursor: pointer;
  transition: all 0.15s;
}

.qfilter__select:focus {
  outline: none;
  border-color: #1a1a1a;
  background-color: #fff;
}

/* Range slider in quick filter */
.qfilter__range {
  padding-top: 4px;
}

.qfilter__range .noUi-target {
  background: #e0e0e0;
  border: none;
  box-shadow: none;
  height: 4px;
  margin-top: 10px;
}

.qfilter__range .noUi-connect {
  background: #1a1a1a;
}

.qfilter__range .noUi-handle {
  width: 16px;
  height: 16px;
  background: #fff;
  border: 2px solid #1a1a1a;
  border-radius: 50%;
  box-shadow: none;
  cursor: pointer;
  top: -6px;
  right: -8px;
}

.qfilter__range .noUi-handle:before,
.qfilter__range .noUi-handle:after {
  display: none;
}

.qfilter__range-values {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: #666;
  margin-top: 8px;
}

.qfilter__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 24px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #fff;
  background: #1a1a1a;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s;
  margin-top: 8px;
}

.qfilter__btn:hover {
  background: #333;
}

@media (max-width: 600px) {
  .qfilter {
    padding: 20px;
  }
  .qfilter__row {
    grid-template-columns: 1fr;
  }
}

/* ========================================
   P2 Unified Card Component
   Used by: block apartments, search results
   ======================================== */

/* Grid Layout */
.p2-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}

/* Card Container - Minimalistic */
.p2-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 8px;
  border: 1px solid rgba(39, 75, 122, 0.08);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
}
.p2-card:hover {
  border-color: rgba(39, 75, 122, 0.2);
  box-shadow: 0 4px 20px rgba(24, 47, 77, 0.08);
}

/* Card Header */
.p2-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(39, 75, 122, 0.06);
}
.p2-card__num {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #182F4D;
}
.p2-card__floor {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #6E8FB8;
}
.p2-card__floor svg,
.p2-card__floor .ph {
  width: 14px;
  height: 14px;
  font-size: 0.875rem;
}

/* Card Image */
.p2-card__img {
  position: relative;
  aspect-ratio: 4/3;
  background: #f5f7fa;
  overflow: hidden;
}
.p2-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.p2-card:hover .p2-card__img img {
  transform: scale(1.02);
}
.p2-card__img--contain {
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafbfc;
}
.p2-card__img--contain img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.p2-card__noimg {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p2-card__noimg svg,
.p2-card__noimg .ph {
  width: 40px;
  height: 40px;
  font-size: 2.5rem;
  color: #d1dae6;
}

/* Badge overlay on image */
.p2-card__badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #274B7A;
  letter-spacing: 0.3px;
}

/* Card Meta */
.p2-card__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
}
.p2-card__meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
}
.p2-card__meta-item svg,
.p2-card__meta-item .ph {
  width: 16px;
  height: 16px;
  font-size: 1rem;
  color: #6E8FB8;
  flex-shrink: 0;
}
.p2-card__meta-item span {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #182F4D;
}

/* Card Price Footer */
.p2-card__price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: #182F4D;
  margin-top: auto;
}
.p2-card__price-label {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.6);
}
.p2-card__price-value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #fff;
}

/* Animation on load */
.p2-card--animate {
  opacity: 0;
  transform: translateY(12px);
  animation: p2CardIn 0.3s ease forwards;
  animation-delay: var(--delay, 0s);
}
@keyframes p2CardIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive Grid */
@media (max-width: 700px) {
  .p2-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .p2-card__head { padding: 10px 12px; }
  .p2-card__num { font-size: 0.875rem; }
  .p2-card__floor { font-size: 0.75rem; }
  .p2-card__meta { padding: 10px 12px; gap: 10px; }
  .p2-card__meta-item span { font-size: 0.75rem; }
  .p2-card__price { padding: 8px 12px; }
  .p2-card__price-value { font-size: 0.875rem; }
}
@media (max-width: 480px) {
  .p2-grid { grid-template-columns: 1fr; }
}