/* ==========================================================
   PAGE LISTE DES BIENS - KAZAMOI
   ========================================================== */

.kz-listing-page{
  background:#FFFFFF;
}

.kz-listing-hero{
  padding:48px 0 32px;
}

.kz-listing-hero__inner{
  max-width:760px;
}

.kz-listing-hero__title{
  margin:0 0 14px;
  font-size:44px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:-0.02em;
  color:#1F1F1F;
}

.kz-listing-hero__subtitle{
  margin:0;
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  color:#5E5E5E;
}

.kz-listing-filters{
  padding:0 0 64px;
}

.kz-listing-filters__form{
  padding:22px;
  border:1px solid #E7EFED;
  border-radius:20px;
  background:#F8FBFA;
  box-shadow:0 8px 20px rgba(19, 37, 35, 0.04);
}

.kz-listing-filters__grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:16px;
  align-items:end;
}

.kz-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.kz-field__label{
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  color:#1F1F1F;
}

.kz-field__label--inline{
  white-space:nowrap;
}

.kz-field__control,
.kz-listing-toolbar__select{
  width:100%;
  min-height:52px;
  padding:0 16px;
  border:1px solid #DDE8E5;
  border-radius:14px;
  background:#FFFFFF;
  font-size:15px;
  color:#1F1F1F;
}

.kz-listing-filters__actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.kz-listing-filters__submit{
  min-height:52px;
  padding:0 24px;
  border:none;
  border-radius:14px;
  background:#3EA49D;
  color:#FFFFFF;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(62,164,157,.18);
}

.kz-listing-filters__reset{
  color:#1E3D36;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
}

.kz-listing-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:22px 0 24px;
}

.kz-listing-toolbar__count{
  margin:0;
  font-size:15px;
  color:#5E5E5E;
}

.kz-listing-toolbar__sort{
  display:flex;
  align-items:center;
  gap:12px;
}

.kz-listing-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:28px 24px;
}

.kz-listing-card{
  border:1px solid #E7EFED;
  border-radius:22px;
  overflow:hidden;
  background:#FFFFFF;
  box-shadow:0 12px 26px rgba(19, 37, 35, 0.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.kz-listing-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(19, 37, 35, 0.08);
  border-color:#D8E5E2;
}

.kz-listing-card__media{
  position:relative;
  display:block;
  aspect-ratio:4 / 3;
  background:#F5F7F6;
}

.kz-listing-card__image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.kz-listing-card__badge{
  position:absolute;
  top:14px;
  left:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(6px);
  font-size:13px;
  font-weight:700;
  color:#1E3D36;
}

.kz-listing-card__content{
  padding:20px;
}

.kz-listing-card__meta{
  margin-bottom:8px;
  font-size:15px;
  font-weight:500;
  color:#5E5E5E;
}

.kz-listing-card__price{
  margin-bottom:10px;
  font-size:28px;
  font-weight:800;
  line-height:1.1;
  color:#1F1F1F;
}

.kz-listing-card__infos{
  margin-bottom:18px;
  font-size:15px;
  line-height:1.55;
  color:#5F5F5F;
}

.kz-listing-card__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  border:1px solid #DCE8E5;
  border-radius:12px;
  background:#F3F8F7;
  color:#1E3D36;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
}

.kz-listing-pagination{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:36px;
}

.kz-listing-pagination__item a,
.kz-listing-pagination__item span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid #DDE8E5;
  border-radius:12px;
  background:#FFFFFF;
  color:#1F1F1F;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
}

.kz-listing-pagination .current{
  background:#1E3D36;
  color:#FFFFFF;
  border-color:#1E3D36;
}

.kz-listing-empty{
  padding:32px;
  border:1px solid #E7EFED;
  border-radius:20px;
  background:#F8FBFA;
  text-align:center;
}

.kz-listing-empty__title{
  margin:0 0 10px;
  font-size:28px;
  font-weight:800;
  line-height:1.2;
  color:#1F1F1F;
}

.kz-listing-empty__text{
  margin:0 0 18px;
  font-size:16px;
  line-height:1.6;
  color:#5E5E5E;
}

.kz-listing-empty__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 22px;
  border:1px solid #DCE8E5;
  border-radius:12px;
  background:#FFFFFF;
  color:#1E3D36;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
}

@media (max-width: 1180px){
  .kz-listing-filters__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .kz-listing-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
  }
}

@media (max-width: 767px){
  .kz-listing-hero{
    padding:32px 0 24px;
  }

  .kz-listing-hero__title{
    font-size:30px;
  }

  .kz-listing-hero__subtitle{
    font-size:16px;
  }

  .kz-listing-filters{
    padding-bottom:48px;
  }

  .kz-listing-filters__form{
    padding:18px;
    border-radius:18px;
  }

  .kz-listing-filters__grid{
    grid-template-columns:1fr;
  }

  .kz-listing-filters__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .kz-listing-toolbar{
    flex-direction:column;
    align-items:stretch;
    margin:20px 0;
  }

  .kz-listing-toolbar__sort{
    flex-direction:column;
    align-items:stretch;
  }

  .kz-listing-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .kz-listing-card__content{
    padding:18px;
  }

  .kz-listing-card__price{
    font-size:24px;
  }
}
/* ==========================================================
   MÉDIAS DISPONIBLES SUR CARTE BIEN
   ========================================================== */

.kz-listing-card__media-flags{
  position:absolute;
  right:14px;
  bottom:14px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.kz-listing-card__media-flags span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(30,61,54,.88);
  color:#FFFFFF;
  font-size:12px;
  font-weight:800;
  line-height:1;
  backdrop-filter:blur(6px);
}
