/* LeaseMatrix Building Listings — LeasingHub 風格現有放盤 */

.lbl-wrap {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Noto Sans TC", sans-serif;
  color: #4a5568;
  --lbl-navy: #1e3a5f;
  --lbl-text: #4a5568;
  --lbl-text-strong: #2d3748;
  --lbl-muted: #718096;
  --lbl-line: rgba(96, 116, 128, 0.16);
  --lbl-card: #ffffff;
  --lbl-row-alt: transparent;
}

.lbl-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: nowrap;
}

.lbl-title-wrap {
  width: 100%;
  max-width: none;
  margin: 0 auto 20px;
}

.lbl-title-wrap .lbl-title {
  margin: 0;
}

.lbl-wrap--table {
  margin-top: 0;
}

.lbl-title {
  margin: 0;
  flex: 0 1 auto;
  min-width: 0;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: var(--lbl-title-size, 24px);
  font-weight: 500;
  font-style: normal;
  line-height: var(--lbl-title-line, 1.35);
  letter-spacing: 0;
  color: #334155;
  white-space: normal;
}

.lbl-title-sep {
  margin: 0 6px;
  font-weight: 500;
}

.lbl-title-count {
  font-weight: 500;
  color: #334155;
}

.lbl-tabs {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 172px;
  width: 172px;
  height: 44px;
  gap: 20px;
  border: 0;
  background: transparent;
}

.lbl-tab {
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  width: 76px;
  height: 44px;
  margin: 0;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: #eef7f9;
  color: #1a3d4c;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  font-style: normal;
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.lbl-tab + .lbl-tab {
  border-left: 0;
}

.lbl-tab:hover {
  color: #0f172a;
}

.lbl-tab.is-active {
  background: #1e293b;
  color: #fff;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.18);
}

.lbl-card {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.lbl-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: transparent;
}

.lbl-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
  font-size: 14px;
  line-height: 1.45;
  background: transparent;
}

.lbl-table thead {
  border-bottom: 1px solid var(--lbl-line);
}

.lbl-table thead th {
  padding: 0 14px;
  height: 36px;
  text-align: center;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 20px;
  font-weight: 700;
  font-style: normal;
  line-height: 36px;
  letter-spacing: 0;
  color: #607480;
  background: transparent;
  white-space: nowrap;
  border: 0;
}

.lbl-table thead th.lbl-col-thumb {
  text-align: center;
  padding-left: 14px;
}

.lbl-table tbody td {
  padding: 14px;
  vertical-align: middle;
  text-align: center;
  color: var(--lbl-text);
  border: 0;
  border-bottom: 1px solid var(--lbl-line);
  background: transparent;
}

.lbl-table tbody tr:last-child td {
  border-bottom: 0;
}

.lbl-table tbody tr.lbl-row {
  background: transparent;
  cursor: pointer;
  transition: background 0.15s ease;
}

.lbl-table tbody tr.lbl-row:hover {
  background: rgba(255, 255, 255, 0.35);
}

.lbl-table tbody tr.lbl-row-even {
  background: transparent;
}

.lbl-table tbody tr.lbl-row-even:hover {
  background: rgba(255, 255, 255, 0.35);
}

.lbl-col-thumb {
  text-align: center !important;
  padding-left: 14px !important;
  width: 180px;
}

.lbl-thumb-link {
  display: inline-block;
  line-height: 0;
}

.lbl-thumb {
  display: block;
  width: 167px;
  height: 97px;
  object-fit: cover;
  border-radius: 4px;
  background: #e2e8f0;
}

.lbl-thumb--empty {
  box-shadow: inset 0 0 0 1px rgba(96, 116, 128, 0.15);
}

.lbl-col-area,
.lbl-col-price,
.lbl-col-floor,
.lbl-col-view,
.lbl-col-status {
  white-space: nowrap;
}

.lbl-col-price {
  font-weight: 600;
  color: var(--lbl-text-strong);
}

.lbl-empty-row td {
  text-align: center;
  color: var(--lbl-muted);
  padding: 40px 18px !important;
  background: transparent !important;
  cursor: default !important;
}

.lbl-wrap.is-loading .lbl-table-wrap {
  opacity: 0.55;
  pointer-events: none;
}

@media (max-width: 768px) {
  .lbl-header {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
  }

  .lbl-title {
    font-size: 28px;
    line-height: 40px;
    white-space: normal;
  }

  .lbl-tabs {
    width: 172px;
    flex-basis: 172px;
  }

  .lbl-tab {
    font-size: 16px;
    line-height: 26px;
  }

  .lbl-table thead th {
    padding: 0 10px;
    font-size: 16px;
    line-height: 32px;
    height: 32px;
  }

  .lbl-table tbody td {
    padding: 12px 10px;
    font-size: 13px;
  }

  .lbl-thumb {
    width: 120px;
    height: 70px;
  }
}

/* ——— 共享辦公室表格 ——— */

.lbl-wrap--shared .lbl-shared-heading {
  margin: 0 0 12px;
}

.lbl-wrap--shared .lbl-shared-title {
  margin: 0;
  font-family: 'Plus Jakarta Sans', "PingFang TC", "Noto Sans TC", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.35;
  color: #334155;
}

.lbl-wrap--shared .lbl-table thead th {
  background: #fcf7ed;
  color: #73788c;
  font-family: 'Plus Jakarta Sans', "PingFang TC", "Noto Sans TC", sans-serif;
  font-size: 20px;
  font-weight: 500;
  font-style: normal;
  line-height: 24px;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  height: 40px;
  padding: 8px 20px 8px;
  box-sizing: border-box;
  border-bottom: 0;
  white-space: nowrap;
}

.lbl-wrap--shared .lbl-table thead th:first-child {
  border-radius: 5px 0 0 5px;
  padding-left: 16px;
}

.lbl-wrap--shared .lbl-table thead th:last-child {
  border-radius: 0 5px 5px 0;
  padding-right: 16px;
}

.lbl-wrap--shared .lbl-table thead {
  border-bottom: 0;
}

.lbl-wrap--shared .lbl-table tbody td {
  border-bottom: 1px solid rgba(96, 116, 128, 0.14);
  white-space: normal;
  font-family: 'Poppins', "PingFang TC", "Noto Sans TC", sans-serif;
  font-size: 16px;
  font-weight: 400;
  font-style: normal;
  line-height: 24px;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  color: #212121;
}

.lbl-wrap--shared .lbl-col-price {
  white-space: pre-line;
  font-weight: 400;
  color: #212121;
}

.lbl-wrap--shared .lbl-col-thumb {
  width: 200px;
}

.lbl-mini-gallery {
  position: relative;
  display: inline-block;
  width: 200px;
  height: 116px;
  vertical-align: middle;
  border-radius: 4px;
  overflow: hidden;
  background: #e2e8f0;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.9);
}

.lbl-mini-gallery .lbl-thumb {
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.lbl-mini-gallery .lbl-thumb--empty {
  display: block;
  width: 100%;
  height: 100%;
  box-shadow: none;
}

.lbl-mini-gallery__link {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 0;
}

.lbl-mini-gallery__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
}

.lbl-mini-gallery__img.is-active {
  opacity: 1;
  visibility: visible;
}

.lbl-mini-gallery__nav {
  appearance: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 26px;
  height: 26px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-size: 18px;
  line-height: 26px;
  text-align: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s ease, background 0.15s ease;
}

.lbl-mini-gallery.has-nav:hover .lbl-mini-gallery__nav,
.lbl-mini-gallery.has-nav:focus-within .lbl-mini-gallery__nav {
  opacity: 1;
}

.lbl-mini-gallery__nav:hover {
  background: rgba(0, 0, 0, 0.62);
}

.lbl-mini-gallery__nav--prev {
  left: 6px;
}

.lbl-mini-gallery__nav--next {
  right: 6px;
}

@media (max-width: 768px) {
  .lbl-wrap--shared .lbl-shared-title {
    font-size: 18px;
  }

  .lbl-wrap--shared .lbl-table thead th {
    font-size: 16px;
    line-height: 24px;
    height: 40px;
    padding: 8px 12px;
  }

  .lbl-mini-gallery {
    width: 160px;
    height: 93px;
  }

  .lbl-mini-gallery__nav {
    opacity: 1;
    width: 22px;
    height: 22px;
    font-size: 16px;
    line-height: 22px;
  }
}

/* Building index — LeasingHub-style cards */

.lbl-index {
  width: 100%;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Noto Sans TC", sans-serif;
  color: #475569;
  --lbl-index-image-width: 300px;
  --lbl-index-image-height: 227px;
  --lbl-index-image-radius: 8px;
  --lbl-rent: #5b21b6;
  --lbl-rent-soft: #f3eeff;
  --lbl-sale: #be185d;
  --lbl-sale-soft: #f7e0fb;
  --lbl-highlight: #134657;
}

.lbl-index--archive-card {
  margin-top: 40px;
  padding-top: 8px;
}

.lbl-index--archive-card .lbl-index-card {
  background: #f8f8f8;
}

.lbl-index-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.lbl-index-empty {
  margin: 0;
  padding: 24px 0;
  text-align: center;
  color: #94a3b8;
}

.lbl-index-card {
  --lbl-index-image-width: 300px;
  --lbl-index-image-height: 227px;
  --lbl-index-image-radius: 8px;
  display: flex;
  align-items: stretch;
  gap: 28px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lbl-index-card__media {
  flex: 0 0 var(--lbl-index-image-width, 300px);
  box-sizing: border-box;
  align-self: stretch;
  width: var(--lbl-index-image-width, 300px);
  min-width: var(--lbl-index-image-width, 300px);
  max-width: var(--lbl-index-image-width, 300px);
  padding: 0;
  margin: 0;
  background: #e2e8f0;
}

.lbl-index-gallery {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: var(--lbl-index-image-height, 227px);
  overflow: hidden;
  border-radius: 0;
  background: #e2e8f0;
}

.lbl-index-gallery__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.lbl-index .lbl-index-gallery__img {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease;
}

.lbl-index .lbl-index-gallery__img.is-active {
  z-index: 2;
  opacity: 1;
  visibility: visible;
}

.lbl-index-gallery__empty {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #e2e8f0 0%, #f8fafc 100%);
}

.lbl-index-gallery__nav {
  appearance: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 34px;
  height: 34px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #334155;
  font-size: 22px;
  line-height: 34px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.12);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s ease, background 0.15s ease;
}

.lbl-index-gallery.has-nav:hover .lbl-index-gallery__nav,
.lbl-index-gallery.has-nav:focus-within .lbl-index-gallery__nav {
  opacity: 1;
}

.lbl-index-gallery__nav:hover {
  background: #fff;
}

.lbl-index-gallery__nav--prev {
  left: 12px;
}

.lbl-index-gallery__nav--next {
  right: 12px;
}

.lbl-index-gallery__media-badges {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 3;
  display: flex;
  gap: 8px;
}

.lbl-index-gallery__media-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-width: 34px;
  padding: 0;
  border-radius: 8px;
  background: transparent;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  line-height: 0;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
}

.lbl-index-gallery__media-badge:hover {
  opacity: 0.92;
}

.lbl-index-gallery__media-badge-icon {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.lbl-index-card__panel {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 42%);
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0 28px;
  min-height: calc(var(--lbl-index-image-height) + 32px);
  padding: 16px 20px 16px 0;
}

.lbl-index-card__intro {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: start;
  min-width: 0;
}

.lbl-index-card__contacts {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  align-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.lbl-index-card__aside {
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 12px;
  min-width: 300px;
  text-align: right;
}

.lbl-index-card__title {
  margin: 0 0 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 26px;
  font-weight: 700;
  font-style: normal;
  line-height: 28px;
  letter-spacing: 0.02em;
}

.lbl-index-card__title a {
  color: #212121;
  text-decoration: none;
}

.lbl-index-card__title a:hover {
  color: #212121;
  opacity: 0.85;
}

.lbl-index-card__name-en {
  margin: 0 0 6px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  font-style: normal;
  line-height: 28px;
  letter-spacing: 0.02em;
  color: #212121;
}

.lbl-index-card__address {
  margin: 0 0 6px;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 400;
  font-style: normal;
  line-height: 26px;
  letter-spacing: 0;
  color: #73788c;
}

.lbl-index-card__tags {
  margin: 0 0 6px;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 400;
  font-style: normal;
  line-height: 26px;
  letter-spacing: 0;
  color: #73788c;
}

.lbl-index-card__tag-sep {
  margin: 0 8px;
  color: #73788c;
}

.lbl-index-card__contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  text-decoration: none;
}

.lbl-index-card__contact.is-disabled {
  opacity: 0.45;
  cursor: default;
}

.lbl-index-card__contact-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lbl-index-card__contact:hover {
  opacity: 0.85;
}

.lbl-index-card__chips,
.lbl-index-summary__badges {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lbl-index-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 26px;
  padding: 0 5px;
  border-radius: 5px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 26px;
  text-decoration: none;
  white-space: nowrap;
}

.lbl-index-chip--rent {
  color: #102735;
  background: #f3eeff;
}

.lbl-index-chip--rent .lbl-index-chip__label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  font-style: normal;
  line-height: 26px;
  letter-spacing: 0;
  color: #102735;
}

.lbl-index-chip--rent .lbl-index-chip__count {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  font-style: normal;
  line-height: 26px;
  letter-spacing: 0;
  color: #102735;
}

.lbl-index-chip--sale {
  color: #102735;
  background: #f7e0fb;
}

.lbl-index-chip--sale .lbl-index-chip__label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  font-style: normal;
  line-height: 26px;
  letter-spacing: 0;
  color: #102735;
}

.lbl-index-chip--sale .lbl-index-chip__count {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  font-style: normal;
  line-height: 26px;
  letter-spacing: 0;
  color: #102735;
}

.lbl-index-chip:hover {
  text-decoration: none;
  filter: brightness(0.98);
}

.lbl-index-card__footer {
  grid-column: 1;
  grid-row: 3;
  align-self: end;
  justify-self: start;
  width: 100%;
  padding-top: 8px;
  text-align: left;
}

.lbl-index-card__highlight {
  margin: 0;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  font-style: normal;
  line-height: 32px;
  letter-spacing: 0;
  color: #134657;
  text-align: left;
}

.lbl-index-card__meta {
  margin: 0;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  font-weight: 500;
  font-style: normal;
  line-height: 32px;
  letter-spacing: 0;
  color: #73788c;
  text-align: right;
  white-space: nowrap;
}

.lbl-index-card__meta-sep {
  margin: 0 6px;
  color: #73788c;
}

.lbl-index-card__summaries,
.lbl-index-summary__lines {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
  width: 100%;
}

.lbl-index-summary-line {
  display: inline-flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 4px;
  width: 100%;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  font-style: normal;
  line-height: 32px;
  letter-spacing: 0;
  text-align: right;
  white-space: nowrap;
}

.lbl-index-summary-line__label {
  flex: 0 0 auto;
  min-width: 2em;
  color: #102735;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  text-align: right;
}

.lbl-index-summary-line--rent .lbl-index-summary-line__text {
  color: #6b33ec;
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
}

.lbl-index-summary-line--sale .lbl-index-summary-line__text {
  color: #d933ec;
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
}

.lbl-index-summary {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.lbl-index-pagination-wrap {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.lbl-index-pagination-summary {
  margin: 0;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #73788c;
  text-align: center;
}

.lbl-index-pagination {
  display: inline-flex;
  align-items: stretch;
  max-width: 100%;
  border: 1px solid #d9dee7;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.lbl-index-pagination__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 40px;
  padding: 0 14px;
  margin: 0;
  border: 0;
  border-left: 1px solid #d9dee7;
  background: #fff;
  color: #475569;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-sizing: border-box;
}

.lbl-index-pagination__item:first-child {
  border-left: 0;
}

.lbl-index-pagination__item--label {
  font-size: 13px;
  color: #94a3b8;
  padding: 0 16px;
}

.lbl-index-pagination__item--arrow {
  min-width: 40px;
  padding: 0 10px;
  color: #64748b;
  font-size: 12px;
}

.lbl-index-pagination__item--dots {
  min-width: 40px;
  color: #94a3b8;
  cursor: default;
}

.lbl-index-pagination__item.is-active {
  background: #d933ec;
  color: #fff;
  font-weight: 600;
}

.lbl-index-pagination__item:not(.is-active):not(.is-disabled):not(.lbl-index-pagination__item--dots):hover {
  background: #f8fafc;
  color: #334155;
}

.lbl-index-pagination__item.is-disabled {
  opacity: 0.45;
  pointer-events: none;
}

@media (max-width: 1200px) {
  .lbl-index,
  .lbl-index-card {
    --lbl-index-image-width: 240px;
    --lbl-index-image-height: 182px;
  }

  .lbl-index-card {
    gap: 20px;
  }

  .lbl-index-card__panel {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 40%);
    gap: 0 20px;
    padding: 14px 16px 14px 0;
  }

  .lbl-index-card__aside {
    min-width: 240px;
  }

  .lbl-index-card__title {
    font-size: 22px;
    line-height: 26px;
  }

  .lbl-index-card__name-en {
    font-size: 15px;
    line-height: 24px;
  }

  .lbl-index-card__highlight {
    font-size: 16px;
    line-height: 28px;
  }

  .lbl-index-summary-line--rent .lbl-index-summary-line__text,
  .lbl-index-summary-line--sale .lbl-index-summary-line__text {
    font-size: 20px;
  }
}

@media (max-width: 900px) {
  .lbl-index-card {
    flex-direction: column;
    gap: 0;
  }

  .lbl-index-card__media {
    width: 100%;
    min-width: 0;
    max-width: none;
    flex-basis: auto;
    padding: 0;
  }

  .lbl-index-gallery {
    position: relative;
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .lbl-index-gallery__link {
    position: absolute;
    inset: 0;
  }

  .lbl-index-gallery__nav {
    opacity: 1;
  }

  .lbl-index-card__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto;
    grid-template-areas:
      "intro contacts"
      "aside aside"
      "footer footer";
    gap: 12px 16px;
    min-height: 0;
    padding: 16px;
  }

  .lbl-index-card__intro {
    grid-area: intro;
    grid-column: auto;
    grid-row: auto;
    min-width: 0;
  }

  .lbl-index-card__contacts {
    grid-area: contacts;
    grid-column: auto;
    grid-row: auto;
    justify-self: end;
    align-self: start;
  }

  .lbl-index-card__aside {
    grid-area: aside;
    grid-column: auto;
    grid-row: auto;
    min-width: 0;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }

  .lbl-index-card__footer {
    grid-area: footer;
    grid-column: auto;
    grid-row: auto;
    justify-self: start;
    padding-top: 0;
    text-align: left;
  }

  .lbl-index-card__chips,
  .lbl-index-summary__badges {
    justify-content: flex-start;
  }

  .lbl-index-card__meta,
  .lbl-index-summary-line {
    text-align: left;
    white-space: normal;
  }

  .lbl-index-card__summaries,
  .lbl-index-summary__lines {
    align-items: flex-start;
  }

  .lbl-index-summary-line {
    justify-content: flex-start;
  }

  .lbl-index-summary-line__label {
    text-align: left;
  }

  .lbl-index-card__highlight {
    font-size: 16px;
    line-height: 28px;
    text-align: left;
  }

  .lbl-index-pagination-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    align-items: stretch;
  }

  .lbl-index-pagination {
    align-self: center;
  }
}

@media (max-width: 640px) {
  .lbl-index-list {
    gap: 14px;
  }

  .lbl-index-card {
    border-radius: 12px;
  }

  .lbl-index-card__media {
    padding: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .lbl-index-card__panel {
    padding: 14px 12px 14px;
    gap: 10px 12px;
  }

  .lbl-index-card__title {
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 6px;
  }

  .lbl-index-card__name-en {
    font-size: 14px;
    line-height: 22px;
  }

  .lbl-index-card__address,
  .lbl-index-card__tags {
    font-size: 12px;
    line-height: 20px;
  }

  .lbl-index-card__meta {
    font-size: 11px;
    line-height: 20px;
    white-space: normal;
  }

  .lbl-index-card__highlight {
    font-size: 15px;
    line-height: 24px;
  }

  .lbl-index-summary-line {
    font-size: 14px;
    line-height: 26px;
    flex-wrap: wrap;
  }

  .lbl-index-summary-line__label {
    font-size: 14px;
    line-height: 26px;
  }

  .lbl-index-summary-line--rent .lbl-index-summary-line__text,
  .lbl-index-summary-line--sale .lbl-index-summary-line__text {
    font-size: 18px;
    line-height: 26px;
  }

  .lbl-index-pagination-summary {
    font-size: 12px;
  }

  .lbl-index-pagination__item {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    font-size: 13px;
  }

  .lbl-index-pagination__item--label {
    padding: 0 10px;
    font-size: 12px;
  }

  .lbl-index-pagination__item--arrow {
    min-width: 34px;
    padding: 0 8px;
  }
}

/* ─── Archive 類型統計列 ──────────────────────────────────── */
.lbl-archive-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
  align-items: center;
  font-family: "Plus Jakarta Sans", "PingFang TC", "Noto Sans TC", sans-serif;
  font-size: 14px;
  color: #4a5568;
  margin-bottom: 16px;
}

.lbl-archive-stats__item {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}

.lbl-archive-stats__type {
  font-weight: 600;
  color: #1e3a5f;
  white-space: nowrap;
}

.lbl-archive-stats__counts {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}

.lbl-archive-stats__rent strong,
.lbl-archive-stats__sale strong,
.lbl-archive-stats__total strong {
  font-weight: 700;
  color: #2d3748;
}

.lbl-archive-stats__sep {
  color: #a0aec0;
  font-size: 12px;
}

/* ─── 工具列：左排序、右數量（LeasingHub 風格） ─────────────── */
.lbl-index-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: nowrap;
  margin-bottom: 16px;
  font-family: "Plus Jakarta Sans", "PingFang TC", "Noto Sans TC", sans-serif;
}

.lbl-index-toolbar__sort {
  flex: 0 1 auto;
  min-width: 0;
  height: 26px;
}

.lbl-index-toolbar__count,
.lbl-archive-toolbar__summary {
  margin: 0;
  flex: 0 0 auto;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  height: 26px;
  font-family: "Plus Jakarta Sans", "PingFang TC", "Noto Sans TC", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0;
  text-align: right;
  white-space: nowrap;
}

.lbl-index-toolbar__count-num {
  color: #6b33ec;
  font-weight: 500;
}

.lbl-index-toolbar__count-label {
  color: #73788c;
  font-weight: 500;
}

.lbl-archive-toolbar {
  margin-bottom: 16px;
}

.lbl-index-sort {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  height: 26px;
  font-family: "Poppins", "PingFang TC", "Noto Sans TC", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0;
  color: #73788c;
}

.lbl-index-sort::before {
  content: "";
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M4.5 2.5v9M4.5 2.5L2.5 4.5M4.5 2.5L6.5 4.5M9.5 11.5v-9M9.5 11.5L7.5 9.5M9.5 11.5L11.5 9.5' stroke='%2373788C' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.lbl-index-sort__label {
  font-family: inherit;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0;
  color: #73788c;
  white-space: nowrap;
  font-weight: 400;
  font-style: normal;
}

.lbl-index-sort__select {
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  border: none;
  border-radius: 0;
  padding: 0 18px 0 0;
  height: 26px;
  font-family: inherit;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0;
  color: #73788c;
  font-weight: 400;
  font-style: normal;
  cursor: pointer;
  outline: none;
  min-width: 0;
  max-width: 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2373788C' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  transition: opacity 0.15s;
}

.lbl-index-sort__select:hover,
.lbl-index-sort__select:focus {
  opacity: 0.85;
}

@media (max-width: 600px) {
  .lbl-archive-stats {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px 0;
  }

  .lbl-index-toolbar {
    flex-wrap: wrap;
    gap: 10px;
  }

  .lbl-index-toolbar__count {
    margin-left: 0;
    width: 100%;
    text-align: left;
    white-space: normal;
  }

  .lbl-index-sort__select {
    max-width: calc(100vw - 48px);
  }

  /* [lm_archive_toolbar] 手機：左排序、右數量，單行 10px */
  .lbl-archive-toolbar .lbl-index-toolbar,
  .lbl-index-toolbar--archive {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
  }

  .lbl-archive-toolbar .lbl-index-toolbar__sort,
  .lbl-archive-toolbar .lbl-index-sort,
  .lbl-index-toolbar--archive .lbl-index-toolbar__sort,
  .lbl-index-toolbar--archive .lbl-index-sort {
    flex: 0 1 auto;
    min-width: 0;
    max-width: calc(100% - 4em);
    width: auto;
    height: 16px;
    font-size: 10px;
    line-height: 16px;
  }

  .lbl-archive-toolbar .lbl-index-sort::before,
  .lbl-index-toolbar--archive .lbl-index-sort::before {
    width: 10px;
    height: 10px;
  }

  .lbl-archive-toolbar .lbl-index-sort__label,
  .lbl-archive-toolbar .lbl-index-sort__select,
  .lbl-index-toolbar--archive .lbl-index-sort__label,
  .lbl-index-toolbar--archive .lbl-index-sort__select {
    font-size: 10px;
    line-height: 16px;
    height: 16px;
  }

  /* 箭頭貼在選項文字右側，不撐滿整列 */
  .lbl-archive-toolbar .lbl-index-sort__select,
  .lbl-index-toolbar--archive .lbl-index-sort__select {
    flex: 0 1 auto;
    width: auto;
    max-width: 100%;
    field-sizing: content;
    padding-right: 12px;
    background-size: 8px 5px;
    background-position: right center;
  }

  .lbl-archive-toolbar .lbl-index-toolbar__count,
  .lbl-archive-toolbar .lbl-archive-toolbar__summary,
  .lbl-index-toolbar--archive .lbl-index-toolbar__count {
    margin-left: auto;
    width: auto;
    flex: 0 0 auto;
    height: 16px;
    font-size: 10px;
    line-height: 16px;
    text-align: right;
    white-space: nowrap;
  }

  /* [lm_archive_counts] 手機：靠左、10px */
  .lbl-shortcode--archive-counts {
    justify-content: flex-start;
    width: 100%;
  }

  .lbl-shortcode--archive-counts .lbl-index-chip {
    height: 18px;
    gap: 4px;
    font-size: 10px;
    line-height: 18px;
  }

  .lbl-shortcode--archive-counts .lbl-index-chip__label,
  .lbl-shortcode--archive-counts .lbl-index-chip__count {
    font-size: 10px;
    line-height: 18px;
  }

  /* [lm_archive_summary_lines] 手機：10px */
  .lbl-shortcode--archive-summary-lines .lbl-index-summary-line,
  .lbl-shortcode--archive-summary-lines .lbl-index-summary-line__label,
  .lbl-shortcode--archive-summary-lines .lbl-index-summary-line--rent .lbl-index-summary-line__text,
  .lbl-shortcode--archive-summary-lines .lbl-index-summary-line--sale .lbl-index-summary-line__text {
    font-size: 10px;
    line-height: 16px;
  }
}

/* ——— 出租／出售放盤：手機卡片版（桌機維持表格） ——— */

.lbl-lcards {
  display: none;
}

@media (max-width: 768px) {
  .lbl-wrap .lbl-card--table {
    display: none;
  }

  .lbl-lcards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Noto Sans TC", sans-serif;
  }

  .lbl-wrap.is-loading .lbl-lcards {
    opacity: 0.55;
    pointer-events: none;
  }

  .lbl-lcards__empty {
    grid-column: 1 / -1;
    margin: 0;
    padding: 40px 0;
    text-align: center;
    color: var(--lbl-muted, #718096);
  }

  .lbl-lcard {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    cursor: pointer;
  }

  .lbl-lcard__media {
    position: relative;
    background: #e2e8f0;
  }

  .lbl-lcard__gallery {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e2e8f0;
  }

  .lbl-lcard__gallery-link {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 0;
  }

  .lbl-lcard__gallery .lbl-mini-gallery__img {
    width: 100%;
    max-width: none;
    height: 100%;
  }

  .lbl-lcard__gallery-empty {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e2e8f0 0%, #f8fafc 100%);
  }

  .lbl-lcard__gallery .lbl-mini-gallery__nav {
    width: 30px;
    height: 30px;
    font-size: 20px;
    line-height: 30px;
    background: rgba(255, 255, 255, 0.9);
    color: #334155;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.14);
    opacity: 1;
  }

  .lbl-lcard__gallery .lbl-mini-gallery__nav--prev {
    left: 8px;
  }

  .lbl-lcard__gallery .lbl-mini-gallery__nav--next {
    right: 8px;
  }

  .lbl-lcard__badges {
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 3;
    display: flex;
    gap: 6px;
  }

  .lbl-lcard__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    overflow: hidden;
    line-height: 0;
    text-decoration: none;
  }

  .lbl-lcard__badge img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
  }

  .lbl-lcard__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px 14px 14px;
  }

  .lbl-lcard__title {
    margin: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
    letter-spacing: 0.02em;
    color: #212121;
  }

  .lbl-lcard__title a {
    color: #212121;
    text-decoration: none;
  }

  .lbl-lcard__name-en {
    margin: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 9px;
    font-weight: 700;
    line-height: 14px;
    color: #212121;
  }

  .lbl-lcard__address {
    margin: 0;
    font-size: 9px;
    font-weight: 400;
    line-height: 16px;
    color: #73788C;
  }

  .lbl-lcard__tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin: 0;
    font-size: 9px;
    font-weight: 400;
    line-height: 16px;
    color: #73788c;
  }

  .lbl-lcard__tag-sep {
    margin: 0;
    color: #cbd5e1;
  }

  .lbl-lcard__area {
    margin: 0;
    font-size: 9px;
    font-weight: 700;
    line-height: 16px;
    color: #73788C;
  }

  .lbl-lcard__price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    font-size: 7px;
    line-height: 12px;
    color: #475569;
  }

  .lbl-lcard__price-label {
    color: #212121;
  }

  .lbl-lcard__price-value,
  .lbl-lcard__price-unit {
    font-weight: 700;
    color: #6B33EC;
  }

  .lbl-lcard__price-sep {
    color: #cbd5e1;
  }

  .lbl-lcard__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 4px;
    padding-top: 10px;
  }

  .lbl-lcard__agent {
    min-width: 0;
    font-size: 9px;
    line-height: 16px;
    color: #73788c;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .lbl-lcard__footer .lbl-index-card__contacts {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 5px;
  }

  .lbl-lcard__footer .lbl-index-card__contact {
    width: 14px;
    height: 14px;
  }
}

/* 頂讓頁：不顯示大廈索引摘要列（含手機 Loop 卡上仿 summary 的 Elementor 列） */
body.lbl-archive-surrender .lbl-shortcode--archive-summary-lines,
body.lbl-archive-surrender .lbl-shortcode--archive-summary-line,
body.lbl-archive-surrender .lbl-hide-on-surrender,
body.lbl-archive-surrender .elementor-element-e170cbe,
body.lbl-archive-surrender .elementor-element-82be299 {
  display: none !important;
}
