/* DISPLAY SIZE + MASONRY PREMIUM GRID */

/* kontenery, które mają kafelki obiektów */
.elm-properties,
.city-cards,
.pp-cards,
#ppCards{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-flow:dense!important;
  grid-auto-rows:24px!important;
  gap:24px!important;
  align-items:stretch!important;
}

/* bazowa karta */
.pp-card{
  position:relative!important;
  grid-column:span 4;
  grid-row:span 22;
  min-width:0!important;
  width:100%!important;
  background:#fff!important;
  border:1px solid rgba(24,20,14,.10)!important;
  border-radius:0!important;
  overflow:hidden!important;
  box-shadow:8px 8px 0 rgba(15,18,24,.14)!important;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease!important;
}

.pp-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:12px 12px 0 rgba(15,18,24,.18)!important;
  border-color:rgba(200,164,93,.36)!important;
}

/* rozmiary kafelków */
.pp-size-standard{
  grid-column:span 4!important;
  grid-row:span 22!important;
}

.pp-size-plus{
  grid-column:span 4!important;
  grid-row:span 27!important;
}

.pp-size-premium{
  grid-column:span 6!important;
  grid-row:span 30!important;
  border-color:rgba(200,164,93,.45)!important;
  box-shadow:10px 10px 0 rgba(200,164,93,.20)!important;
}

.pp-size-ultra{
  grid-column:span 12!important;
  grid-row:span 28!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)!important;
  border:1px solid rgba(243,217,141,.55)!important;
  background:
    radial-gradient(circle at 85% 0%,rgba(243,217,141,.18),transparent 34%),
    linear-gradient(135deg,#05070c,#111827 55%,#2b2116)!important;
  color:#fff!important;
  box-shadow:12px 12px 0 rgba(143,107,43,.22)!important;
}

.pp-size-ultra:hover{
  box-shadow:16px 16px 0 rgba(143,107,43,.30)!important;
}

/* obraz */
.pp-card-img{
  display:block!important;
  position:relative!important;
  height:250px!important;
  overflow:hidden!important;
  background:#111827!important;
}

.pp-size-plus .pp-card-img{
  height:310px!important;
}

.pp-size-premium .pp-card-img{
  height:340px!important;
}

.pp-size-ultra .pp-card-img{
  height:100%!important;
  min-height:520px!important;
}

.pp-card-img img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .65s cubic-bezier(.2,.8,.2,1)!important;
}

.pp-card:hover .pp-card-img img{
  transform:scale(1.045)!important;
}

.pp-size-ultra:hover .pp-card-img img{
  transform:scale(1.035)!important;
}

/* badge */
.pp-card-badges{
  position:absolute!important;
  left:14px!important;
  top:14px!important;
  z-index:3!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}

.pp-card-badges em{
  display:inline-flex!important;
  padding:8px 11px!important;
  border-radius:0!important;
  background:linear-gradient(135deg,#f3d98d,#c8a45d,#8f6b2b)!important;
  color:#17130b!important;
  font-size:11px!important;
  font-weight:950!important;
  font-style:normal!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.pp-size-ultra .pp-card-badges em{
  background:#fff!important;
  color:#17130b!important;
}

/* body */
.pp-card-body{
  padding:22px!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}

.pp-size-plus .pp-card-body{
  padding:24px!important;
}

.pp-size-premium .pp-card-body{
  padding:28px!important;
}

.pp-size-ultra .pp-card-body{
  padding:44px!important;
  justify-content:center!important;
  color:#fff!important;
}

/* meta */
.pp-card-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}

.pp-card-meta small,
.pp-card-tags em{
  display:inline-flex!important;
  padding:6px 8px!important;
  border-radius:0!important;
  background:#fff8e7!important;
  border:1px solid rgba(200,164,93,.22)!important;
  color:#6d5420!important;
  font-size:11px!important;
  font-weight:850!important;
  font-style:normal!important;
}

.pp-card-meta small.is-no-rating{
  background:#f8f5ee!important;
  color:#6f675c!important;
  border-color:rgba(24,20,14,.08)!important;
}

.pp-size-ultra .pp-card-meta small,
.pp-size-ultra .pp-card-tags em{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#fff!important;
}

/* tytuły */
.pp-card h3{
  margin:14px 0 12px!important;
  color:#151515!important;
  font-size:25px!important;
  line-height:1.04!important;
  letter-spacing:-.055em!important;
}

.pp-size-plus h3{
  font-size:28px!important;
}

.pp-size-premium h3{
  font-size:34px!important;
  letter-spacing:-.07em!important;
}

.pp-size-ultra h3{
  font-size:clamp(42px,5vw,74px)!important;
  line-height:.88!important;
  letter-spacing:-.09em!important;
  margin:18px 0 16px!important;
  color:#fff!important;
}

.pp-card h3 a{
  color:inherit!important;
  text-decoration:none!important;
}

.pp-card-desc{
  margin:0 0 16px!important;
  color:#6f675c!important;
  line-height:1.75!important;
  font-size:15px!important;
}

.pp-size-ultra .pp-card-desc{
  color:rgba(255,255,255,.72)!important;
  max-width:700px!important;
  font-size:17px!important;
}

/* tagi */
.pp-card-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  min-height:31px!important;
}

/* footer */
.pp-card-foot{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:auto!important;
  padding-top:18px!important;
  border-top:1px solid rgba(24,20,14,.08)!important;
}

.pp-size-ultra .pp-card-foot{
  border-top-color:rgba(255,255,255,.12)!important;
  justify-content:flex-start!important;
  gap:18px!important;
}

.pp-card-foot strong{
  color:#151515!important;
  font-size:21px!important;
  letter-spacing:-.035em!important;
}

.pp-size-premium .pp-card-foot strong{
  font-size:24px!important;
}

.pp-size-ultra .pp-card-foot strong{
  color:#f3d98d!important;
  font-size:30px!important;
}

.pp-card-foot a,
.pp-check-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 15px!important;
  border-radius:0!important;
  background:#151515!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}

.pp-card-foot a:hover,
.pp-check-btn:hover{
  background:linear-gradient(135deg,#f3d98d,#c8a45d,#8f6b2b)!important;
  color:#17130b!important;
}

.pp-size-ultra .pp-check-btn{
  min-height:54px!important;
  padding:0 24px!important;
  background:linear-gradient(135deg,#f3d98d,#c8a45d,#8f6b2b)!important;
  color:#17130b!important;
  font-size:15px!important;
}

/* reklamy — rozmiary pod CMS ads.php */
.adx-wrap.adx-size-compact{width:min(640px,calc(100% - 40px))!important;max-width:640px!important}
.adx-wrap.adx-size-normal{width:min(760px,calc(100% - 40px))!important;max-width:760px!important}
.adx-wrap.adx-size-wide{width:min(960px,calc(100% - 40px))!important;max-width:960px!important}
.adx-wrap.adx-size-hero{width:min(1180px,calc(100% - 40px))!important;max-width:1180px!important}

/* jeśli reklama ma być ultra wizualnie */
.adx-wrap.adx-size-hero .adx-card{
  min-height:420px!important;
  box-shadow:12px 12px 0 rgba(143,107,43,.22)!important;
}

/* Responsywność */
@media(max-width:1180px){
  .elm-properties,
  .city-cards,
  .pp-cards,
  #ppCards{
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
  }

  .pp-size-standard,
  .pp-size-plus{
    grid-column:span 4!important;
  }

  .pp-size-premium{
    grid-column:span 8!important;
  }

  .pp-size-ultra{
    grid-column:span 8!important;
    grid-template-columns:1fr!important;
    grid-row:auto!important;
  }

  .pp-size-ultra .pp-card-img{
    height:380px!important;
    min-height:380px!important;
  }
}

@media(max-width:760px){
  .elm-properties,
  .city-cards,
  .pp-cards,
  #ppCards{
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
    gap:18px!important;
  }

  .pp-card,
  .pp-size-standard,
  .pp-size-plus,
  .pp-size-premium,
  .pp-size-ultra{
    grid-column:auto!important;
    grid-row:auto!important;
    display:block!important;
  }

  .pp-card-img,
  .pp-size-plus .pp-card-img,
  .pp-size-premium .pp-card-img,
  .pp-size-ultra .pp-card-img{
    height:240px!important;
    min-height:240px!important;
  }

  .pp-card-body,
  .pp-size-plus .pp-card-body,
  .pp-size-premium .pp-card-body,
  .pp-size-ultra .pp-card-body{
    padding:24px!important;
  }

  .pp-size-ultra h3{
    font-size:38px!important;
  }

  .pp-size-ultra .pp-card-foot{
    display:block!important;
  }

  .pp-size-ultra .pp-check-btn{
    margin-top:14px!important;
    width:100%!important;
  }
}
