.property_list {
    margin: 8rem auto 14rem;
    max-width: 176rem;
    padding: 0 2rem;
}
.property_list .grid.items-list {
    display: grid;
    /* grid-template-columns: repeat(auto-fit, minmax(32rem, 1fr)); */
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem 4rem;
}
.property_list .items-list .card {
    border: none;
    box-shadow: none;
    padding: 0;
    /* align-content: flex-end; */
    align-content: flex-start;
}
.property_list table.tableList {
    border-collapse:separate;
    border-spacing:0 0.5rem;
}
body .property_list table.tableList th {
    background: #F0F3F7;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.06em;
    text-align: center;
    min-width: 9rem;
}
body .property_list table.tableList th div {
    min-height: 5.8rem;
}
body .property_list table.tableList td {
    background: #fff;
    border: none;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.06em;
    align-content: flex-start;
}
.property_list article.card tr {
    border-spacing: 0.8rem;
}

.property_list .floor_table table {
  border-collapse:separate;
  border-spacing: 2px;
  table-layout: fixed;
}
.property_list .floor_table tr:not(:last-of-type) td {
  border-bottom: 1px solid #DDD;
  /* border-bottom: 1px solid #F0F3F7; */
}
.property_list .floor_table th {
    background: #F0F3F7;
    padding: 10px 20px;
    font-weight: 400;
    /* font-size: 1.6rem; */
    line-height: 1.8;
    letter-spacing: 0.06em;
    text-align: center;
    /* min-width: 9rem; */
}
/* .property_list .floor_table .rent_yen_th {
  width: 22.5%;
} */
.property_list .floor_table td {
  padding: 10px 20px;
}
/* .property_list .floor_table .rent_yen_td {
  width: 22.5%;
} */
.property_list .floor_table .rent_yen_td span {
  display: inline-block;
}
.property_list .floor_table td:has(.button) {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.property_list .floor_table td .button {
  padding: 0px 7px;
  background: #113A95;
  color: #fff;
}

.property_list h2.h5 {
    padding: 3rem 0 2rem;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: 0.06em;
    color: #021237;
}
.property_list figure.clm1 {
    /* max-width: 40rem;
    width: 40rem;
    height: auto; */
    max-width: unset;
    width: auto;
    height: 40rem;
    margin: 0 auto;
}
.property_list figure.clm1 img {
    object-fit: cover;
    height: 100%;
}
.property_list .pagination a {
    padding: 0.75rem 1.5rem;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.08em;
    text-align: center;
    color: #021237;
    border: 1px solid #D5D6D8;
}
.pagination span.page-numbers.current {
    padding: 0.75rem 1.5rem;
    margin: 0;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.08em;
    text-align: center;
    background-color: #021237;
    color: #fff;
    border: 1px solid #021237;
}
.property_list .pagination a.next {
    margin-left: 2rem;
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
}
.property_list .pagination a.prev {
    margin-right: 2rem;
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
}
.property_list .pagination-bottom {
    margin-top: 6rem;
}
@media (min-width: 1201px) {
  .property_list .floor_table table {
    width: 100%;
  }
  .property_list .floor_table tr {
    display: flex;
    gap: 2px;
  }
  .property_list .floor_table th, .property_list .floor_table td {
    font-size: clamp(12px, 0.9vw, 16px);
  }
  .property_list .floor_table tr th span {
    display: inline-block;
  }
  .floor_table tr .floor_no_th, .floor_table tr .floor_no_td {
    width: 10%;
    white-space: nowrap;
  }
  .floor_table tr .menseki_tsubo_th, .floor_table tr .menseki_tsubo_td {
    width: 15%;
  }
  .floor_table tr .rent_yen_th, .floor_table tr .rent_yen_td {
    width: 17%;
    /* flex-shrink: 1; */
  }
  .floor_table tr .mng_yen_th, .floor_table tr .mng_yen_td {
    width: 15%;
  }
  .floor_table tr .hwatasi_th, .floor_table tr .hwatasi_td {
    width: 17%;
  }
  .floor_table tr .button_th, .floor_table tr .button_td {
    flex-shrink: 1;
    flex-grow: 1;
  }
  .floor_table tr .button_th, .floor_table tr .button_td .button {
    height: fit-content;
  }
}
@media (max-width: 1200px) {
  .property_list .grid.items-list {
    grid-template-columns: repeat(1, 1fr);
  }
  .property_list .floor_table {
    width: 100vw;
    overflow-x: auto;
  }
  .property_list .floor_table th {
    white-space: nowrap;
  }
}
@media (max-width: 768px) {
    .property_list .grid.items-list {
        /* grid-template-columns: repeat(auto-fit, minmax(26rem, 1fr)); */
        gap: 3rem 2rem;
    }

    .property_list figure.clm1 {
        width: 100%;
        max-width: 100%;
        aspect-ratio: 4 / 3; /* Ajustable */
        overflow: hidden;
        height: auto;
        margin: 0;
    }

    .property_list figure.clm1 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    .property_list {
      padding: 0rem 0 5rem;
    }
}


/* SINGLE */
.property_single__main {
  max-width: 150em;
  padding: 0 10rem 26rem;
  margin-inline: auto;
  gap: 6rem;
  display: flex;
  align-items: flex-start;
}
/* .property_single__main .left {
    max-width: 86rem;
}
.property_single__main .right {
    max-width: 54rem;
} */
/* 50/50 + shrink propre */
.property_single__main .left,
.property_single__main .right{
  flex: 1 1 0;
  min-width: 0;     /* clé pour éviter l’écrasement */
  max-width: none;  /* enlève tes 86rem / 54rem */
}

.property_single__title {
    font-weight: 500;
    font-size: 4.2rem;
    line-height: 1.5;
    letter-spacing: 0.12em;
    position: relative;
    max-width: 150em;
    padding: 0 10rem;
    margin-inline: auto;
    margin: 0 auto 10rem;
    color: #021237;
}
.property_single__title::after {
  content: "";
  position: absolute;
  left: 14rem;
  transform: translateX(-50%);
  bottom: -2.5rem;
  background: #113a95;
  height: 0.2rem;
  width: 8rem;
}
/* =========================
   SINGLE PROPERTY – TABLE RIGHT
========================= */
.property_single__main div.right {
  /* width: 100%;
  max-width: 54rem;               */
}
.property_single__main table.right {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin: 0;
}

.property_single__main table.right th {
  width: 18rem;                 
  background-color: #021237;    
  color: #ffffff;
  font-weight: 600;
  line-height: 1.8;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  text-align: left;
  padding: 1.5rem 2rem;
  vertical-align: middle;
  border-bottom: 1px solid #D5D6D8;
  white-space: nowrap;
}

.property_single__main table.right tr:last-child th,
.property_single__main table.right tr:last-child td {
  border-bottom: none;
}

.property_single__main table.right td {
  background-color: #ffffff;
  color: #111111;
  font-weight: 400;
  line-height: 1.8;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  text-align: left;
  padding: 1.5rem 2rem;
  vertical-align: middle;
  border-bottom: 1px solid #D5D6D8;
  word-break: break-word;
}

.property_single__main .right {
  /* max-width: 54rem; */
}

.roomplancontbottom {
    background: #F0F3F7;
    padding: 10rem 0;
    margin-bottom: 0;
}
.roomplancontbottom .roomplanmap {
    margin-inline: auto;
    max-width: 124rem;
    padding: 0 2rem;
}
.roomplancontbottom h3 {
  text-align: center;
  font-weight: 500;
  font-size: 4.2rem;
  line-height: 1;
  letter-spacing: 0.12em;
  color: #021237;
  margin: 0 0 7rem;
  position: relative;
  text-align: center;
}

.roomplancontbottom h3::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -2.5rem;
  background: #113a95;
  height: 0.2rem;
  width: 8rem;
}

/* ===== SINGLE – SLIDER ===== */

.property_single__main .left {
  /* max-width: 86rem;
  flex: 1 1 auto; */
}

/* Slider principal */
.property_single__main .office-swiper {
  width: 100%;
  aspect-ratio: 4 / 3;              /* ratio proche du design */
  background: #f5f5f5;
  overflow: hidden;
  position: relative;
}

.property_single__main .office-swiper .swiper-wrapper {
  width: 100%;
  height: 100%;
}

.property_single__main .office-swiper .swiper-slide {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.property_single__main .office-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.property_single__main .office-swiper .swiper-button-prev,
.property_single__main .office-swiper .swiper-button-next {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #ffffff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
  color: #021237;
  --swiper-navigation-size: 1.8rem;
}

.property_single__main .office-swiper .swiper-button-prev::after,
.property_single__main .office-swiper .swiper-button-next::after {
  font-size: 1.8rem;
}

.property_single__main .office-swiper .swiper-button-prev {
  left: 1.6rem;
}

.property_single__main .office-swiper .swiper-button-next {
  right: 1.6rem;
}

.property_single__main .swiper {
    height: auto;
}

.property_single__main .thumb-swiper {
  margin-top: 2.4rem;
  height: auto; 
  height: 20rem;
  overflow: visible;
  overflow-x: hidden;
}

.property_single__main .thumb-swiper .swiper-wrapper {
  align-items: stretch;
  flex-wrap: wrap;
}

.property_single__main .thumb-swiper .swiper-slide {
  /* width: 20rem;                  
  height: 20rem; */
  border: 1px solid #e1e3e8;
  background: #f5f5f5;
  overflow: hidden;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s ease, border-color 0.2s ease;
  width: 8rem !important;
  height: 8rem !important;
}

.property_single__main .thumb-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Thumb active = encadrée + plus opaque */
.property_single__main .thumb-swiper .swiper-slide-thumb-active {
  opacity: 1;
  border-color: #113a95;
}



/* ---------- Responsive (mobile < 768px) ---------- */
@media (max-width: 768px) {
  .property_single__main {
    flex-direction: column;
    gap: 4rem;
  }

  .property_single__main .left,
  .property_single__main .right {
    max-width: 100%;
  }

  .property_single__main table.right {
    max-width: 100%;
    font-size: 1.4rem;
  }

  .property_single__main table.right th {
    width: 17rem;
    padding: 1rem;
  }

  .property_single__main table.right td {
    padding: 1rem 1.4rem;
  }
  .property_single__main {
    flex-direction: column;
    gap: 4rem;
  }

  .property_single__main .left,
  .property_single__main .right {
    max-width: 100%;
  }

  .property_single__main .office-swiper {
    aspect-ratio: 3 / 4;  /* un peu plus vertical sur mobile si tu veux */
  }

  .property_single__main .thumb-swiper .swiper-slide {
    width: 7.5rem;
    height: 6rem;
  }
  .property_single__main {
    padding: 0 2rem 13rem;
  }
  .property_single__title::after{
    left: 6rem;
    font-size: 3rem;
  }
  .property_single__title {
    padding: 0 2rem;
  }
  .property_list .items-list .card {
    padding: 0 2rem;
  }
  .property_single__main .thumb-swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
  }
  .property_single__main .thumb-swiper {
    height: auto !important;
  }
}


.ppt-pdf-link  {
  width: 100%;
  height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ppt-pdf-link .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-jp);
  font-weight: 500;
  padding: clamp(0.5rem, calc(5px + (10 - 5) * var(--vw-desktop-range)), 1rem) clamp(1.5rem, calc(15px + (30 - 15) * var(--vw-desktop-range)), 3rem);
  font-size: clamp(1.2rem, calc(12px + (16 - 12) * var(--vw-desktop-range)), 1.6rem);
  width: clamp(18rem, calc(180px + (367 - 180) * var(--vw-desktop-range)), 36.7rem);
  height: clamp(3.1rem, calc(31px + (62 - 31) * var(--vw-desktop-range)), 6.2rem);
  line-height: 1;
  letter-spacing: 0.06em;
  text-align: center;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  z-index: 15;
  display: flex;
  margin: auto;
  font-size: 1.4rem;
  max-width: 28rem;
  width: 100%;
  height: 5rem;
  background-color: var(--color-primary-light);
  color: var(--color-white);
  border: 1px solid var(--color-primary-light);
  transition: .3s;
}

.ppt-pdf-link .button:hover {
  background: white;
  color: var(--color-primary-light);

}