:root{
  --ng-border:#b88538;
  --ng-text:#f2f2f2;
  --ng-muted:#c9c9cc;
  --ng-green:#20d163;
  --ng-green-stroke:#16954a;
  --ng-orange:#f0b625;
  --ng-orange-stroke:#b07d0b;
  --ng-red:#ef4a4a;
  --ng-red-stroke:#a92c2c;
  --ng-mobile-table:#202125;
}

html.ng-no-scroll,
body.ng-no-scroll{
  overflow:hidden !important;
  height:100%;
  touch-action:none;
}

.ng-wrap{
  position:relative;
  max-width:1180px;
  margin:0 auto 24px;
  padding:34px 22px 0;
  color:var(--ng-text);
  background:transparent;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
}

.ng-hero-card{
  position:absolute;
  top:16px;
  left:22px;
  right:22px;
  z-index:15;
  display:grid;
  grid-template-columns:320px 1fr;
  gap:18px;
  padding:14px 16px;
  background:rgba(40,40,43,.92);
  border:1px solid var(--ng-border);
}

.ng-hero-card__main{
  display:flex;
  flex-direction:column;
  gap:10px;
  justify-content:center;
}

.ng-hero-card__eyebrow{
  font-size:18px;
  line-height:1.35;
  font-weight:700;
  color:var(--ng-border);
}

.ng-hero-card__status{
  font-size:36px;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
}

.ng-status--available{color:var(--ng-green)!important}
.ng-status--reserved{color:var(--ng-orange)!important}
.ng-status--sold{color:var(--ng-red)!important}

.ng-hero-card__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 18px;
  align-items:stretch;
  border-left:1px solid rgba(255,255,255,.08);
  padding-left:18px;
}

.ng-hero-card__item,
.ng-hero-card__cta{
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.ng-hero-card__grid span{
  color:var(--ng-muted);
}

.ng-hero-card__grid strong{
  font-weight:700;
  color:#fff;
  white-space:nowrap;
}

.ng-hero-card__cta{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}

.ng-btn{
  min-height:46px;
  padding:11px 18px;
  border:1px solid rgba(255,255,255,.45);
  background:transparent;
  color:#fff;
  text-decoration:none;
  cursor:pointer;
  transition:.2s ease;
}

.ng-btn:hover{
  border-color:var(--ng-border);
  color:#fff;
  background:rgba(255,255,255,.04);
}

.ng-btn--gold{
  border-color:var(--ng-border);
  background:rgba(184,133,56,.12);
}

.ng-btn--small{
  min-height:36px;
  padding:6px 14px;
  font-size:14px;
}

.ng-btn.is-disabled{
  pointer-events:none;
  opacity:.45;
}

.ng-map-shell{
  padding-top:132px;
}

.ng-map-figure{
  position:relative;
}

.ng-map-image{
  display:block;
  width:100%;
  height:auto;
}

.ng-map-overlay{
  position:absolute;
  inset:0;
  z-index:5;
}

.ng-map-overlay svg{
  width:100%;
  height:100%;
  display:block;
}

.ng-map-overlay [id^="b"]{
  fill:transparent!important;
  stroke:#ffffff!important;
  stroke-width:3!important;
  vector-effect:non-scaling-stroke;
  cursor:pointer;
  transition:fill .2s ease,stroke .2s ease,opacity .2s ease;
}

.ng-map-overlay [id^="b"].is-filter-match.ng-status-available{
  fill:rgba(32,209,99,.34)!important;
  stroke:var(--ng-green-stroke)!important;
}

.ng-map-overlay [id^="b"].is-filter-match.ng-status-reserved{
  fill:rgba(240,182,37,.34)!important;
  stroke:var(--ng-orange-stroke)!important;
}

.ng-map-overlay [id^="b"].is-filter-match.ng-status-sold{
  fill:rgba(239,74,74,.34)!important;
  stroke:var(--ng-red-stroke)!important;
}

.ng-map-overlay [id^="b"].is-active.ng-status-available{
  fill:rgba(32,209,99,.45)!important;
  stroke:var(--ng-green-stroke)!important;
}

.ng-map-overlay [id^="b"].is-active.ng-status-reserved{
  fill:rgba(240,182,37,.45)!important;
  stroke:var(--ng-orange-stroke)!important;
}

.ng-map-overlay [id^="b"].is-active.ng-status-sold{
  fill:rgba(239,74,74,.45)!important;
  stroke:var(--ng-red-stroke)!important;
}

.ng-map-overlay [id^="b"].is-hidden{
  opacity:.25;
}

.ng-toolbar{
  display:flex;
  justify-content:flex-end;
  gap:18px;
  padding:18px 0;
}

.ng-toolbar__controls{
  display:flex;
  gap:12px;
  align-items:center;
}

.ng-toolbar select{
  min-width:220px;
  min-height:46px;
  padding:0 14px;
  background:#2b2d33;
  color:#fff;
  border:1px solid rgba(255,255,255,.45);
}

.ng-toolbar select option{
  background:#22252a;
  color:#fff;
}

.ng-filters{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:center;
  margin:0 0 22px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
}

.ng-filters label{
  display:flex;
  gap:8px;
  align-items:center;
  color:#fff;
}

.ng-table-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 22px 22px;
  color:#fff;
  background:transparent;
  border-radius:0;
  box-shadow:none;
}

.ng-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}

.ng-table thead th{
  padding:13px 10px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-weight:600;
}

.ng-table tbody td{
  padding:14px 10px;
  border-bottom:1px solid rgba(255,255,255,.09);
  color:#e7e7e8;
}

.ng-table tbody tr{
  transition:background .2s ease;
}

.ng-table tbody tr.is-active{
  background:rgba(184,133,56,.13);
}

.ng-table a{
  color:#fff;
}

.ng-table__status{
  font-weight:700;
}

.ng-price-inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}

.ng-history-eye{
  border:none;
  background:transparent;
  color:#fff;
  cursor:pointer;
  padding:0 0 0 2px;
  opacity:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  min-height:22px;
  flex-shrink:0;
  line-height:1;
}

.ng-history-eye:hover{
  color:var(--ng-border);
}

.ng-history-eye__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
}

.ng-history-eye__icon svg{
  width:20px;
  height:20px;
  display:block;
  overflow:visible;
}

.ng-history-modal[hidden]{
  display:none!important;
}

.ng-history-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.ng-history-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.65);
}

.ng-history-modal__box{
  position:relative;
  z-index:2;
  width:100%;
  max-width:720px;
  background:#232327;
  border:1px solid var(--ng-border);
  color:#fff;
  padding:22px;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.ng-history-modal__close{
  position:absolute;
  top:10px;
  right:12px;
  border:none;
  background:transparent;
  color:#fff;
  font-size:28px;
  cursor:pointer;
  font-weight:700;
}

.ng-history-modal__title{
  margin:0 0 18px;
  padding-right:34px;
  font-size:28px;
  line-height:1.2;
  color:#fff;
}

.ng-history-list{
  border-top:1px solid rgba(255,255,255,.14);
  max-height:70vh;
  overflow:auto;
}

.ng-history-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.ng-history-cell-label{
  display:block;
  margin-bottom:6px;
  font-size:14px;
  color:var(--ng-border);
  font-weight:600;
}

.ng-history-cell-value{
  display:block;
  font-size:28px;
  line-height:1.15;
  font-weight:700;
  color:#fff;
}

.ng-history-cell-value--date{
  font-size:24px;
  font-weight:600;
}

.ng-history-empty{
  color:#ddd;
  margin:0;
}

@media (max-width:991px){
  .ng-wrap{
    padding:26px 18px 0;
  }

  .ng-hero-card{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    margin-bottom:0px;
    grid-template-columns:1fr;
  }

  .ng-hero-card__grid{
    grid-template-columns:1fr 1fr;
    border-left:none;
    padding-left:0;
  }

  .ng-map-shell{
    padding-top:0;
  }

  .ng-toolbar{
    justify-content:stretch;
  }

  .ng-toolbar__controls{
    flex-direction:column;
    align-items:stretch;
    width:100%;
  }

  .ng-toolbar select,
  .ng-btn{
    width:100%;
  }

  .ng-map-overlay [id^="b"]{
    stroke-width:2px!important;
  }
}

@media (max-width:767px){
  .ng-hero-card__eyebrow{
    font-size:16px;
    line-height:1.4;
  }

  .ng-hero-card__status{
    font-size:36px;
  }

  .ng-filters{
    flex-direction:column;
    align-items:flex-start;
  }

  .ng-table-wrap{
    padding:14px 14px 14px;
    background:var(--ng-mobile-table);
  }

  .ng-table thead{
    display:none;
  }

  .ng-table,
  .ng-table tbody,
  .ng-table tr,
  .ng-table td{
    display:block;
    width:100%;
  }

  .ng-table tbody tr{
    padding:14px 16px;
    margin-bottom:12px;
    background:var(--ng-mobile-table);
    border:1px solid rgba(255,255,255,.08);
  }

  .ng-table tbody tr.is-active{
    background:rgba(184,133,56,.18);
  }

  .ng-table tbody td{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
    text-align:right;
  }

  .ng-table tbody td:last-child{
    border-bottom:none;
  }

  .ng-table tbody td::before{
    content:attr(data-label);
    font-weight:600;
    color:#fff;
    text-align:left;
  }

  .ng-history-eye{
    min-width:28px;
    min-height:28px;
    padding-left:4px;
  }

  .ng-history-eye__icon{
    width:22px;
    height:22px;
  }

  .ng-history-eye__icon svg{
    width:22px;
    height:22px;
  }

  .ng-price-inline{
    gap:10px;
  }

  .ng-history-modal__box{
    padding:18px;
  }

  .ng-history-modal__title{
    font-size:22px;
  }

  .ng-history-row{
    grid-template-columns:1fr;
    gap:12px;
    padding:14px 0;
  }

  .ng-history-cell-value{
    font-size:22px;
  }

  .ng-history-cell-value--date{
    font-size:20px;
  }

  .ng-map-overlay [id^="b"]{
    stroke-width:1.5px!important;
  }
}

@media (max-width:521px){
  .ng-hero-card__grid{
    grid-template-columns:1fr;
    gap:0;
  }

  .ng-hero-card__item,
  .ng-hero-card__cta{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
  }

  .ng-hero-card__item strong{
    text-align:right;
    white-space:nowrap;
  }
}
/* TYLKO DLA GRIDU PO PRAWEJ */
.ng-hero-card__grid{
  align-items:center;
}

/* ITEMY OBOK SIEBIE (NIE KOLUMNA) */
.ng-hero-card__item{
  display:flex;
  flex-direction:row;
  justify-content:left;
  align-items:center;
  gap:6px;
  text-align:center;
}

/* LABEL (np. Cena za m²) */
.ng-hero-card__item span{
  opacity:.8;
}

/* WARTOŚĆ */
.ng-hero-card__item strong{
  font-weight:700;
}
/* USUNIĘCIE LINII POD PRZYCISKIEM PDF */
.ng-hero-card__cta{
  border-bottom:none!important;
}