.card {
    background: white;
    border-radius: 10px;
    padding: 16px;
    /* margin-bottom: 16px; */
}
.complex-hero {
    border: none;
    border-radius: 0;
    padding: 12px 0 0px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.hero-left { width: 100%; }
.complex-hero h1 {
    margin: 0 0 10px;
    font-size: 23px;
    font-weight: 700;
    color: #1f2937;
}
.hero-meta, .hero-sub { margin: 0; font-size: 14px; font-weight: 400; color: #4b5563; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.text-foreground-second { color: #4b5563; font-size: 14px; font-weight: 400; }
.hero-meta { margin-bottom: 6px; }
.hero-kpis {
    display: grid;
    gap: 18px;
    width: 100%;
    margin-bottom: 20px;
}
.hero-sub { margin-top: 0; }
.hero-kpi {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto auto;
    align-items: center;
    column-gap: 8px;
    border-bottom: 1px solid #f1f1f1;
    padding: 0px 0px 6px 0px;
}
.hero-kpi .kpi-value,
.hero-kpi .kpi-area,
.hero-kpi .kpi-days { white-space: nowrap; }
.hero-kpi-overview { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; margin-top: 6px; border-bottom: 0; }
.hero-kpi-overview::before { content: none; }
.overview-main { margin: 0; display: flex; align-items: center; gap: 8px; min-width: 0; flex-wrap: wrap; line-height: 1.35; }
.overview-subspecs { margin: 0; display: flex; align-items: center; gap: 8px; color: #4b5563; font-size: 14px; font-weight: 400; line-height: 1.35; }
.overview-pipe { color: #c4c9d1; }
.overview-type { white-space: nowrap; }
.overview-household { white-space: nowrap; }
.overview-address { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-address-full { white-space: nowrap; font-weight: 700; }
.hero-kpi-overview.is-loading #hubapi-household-text,
.hero-kpi-overview.is-loading #hubapi-floor-area-ratio-text,
.hero-kpi-overview.is-loading #hubapi-building-coverage-ratio-text {
  color: transparent;
  background: linear-gradient(90deg, #f3f4f6 0%, #e5e7eb 50%, #f3f4f6 100%);
  background-size: 200% 100%;
  animation: hubapi-skeleton 1.2s ease-in-out infinite;
  border-radius: 6px;
}
.hero-kpi-overview.is-loading #hubapi-household-text { min-width: 56px; }
.hero-kpi-overview.is-loading #hubapi-floor-area-ratio-text,
.hero-kpi-overview.is-loading #hubapi-building-coverage-ratio-text { min-width: 68px; }
@keyframes hubapi-skeleton {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.overview-buildyear { white-space: nowrap; }
.overview-dot { color: #9ca3af; font-size: 12px; line-height: 1; }
.hero-overview-block { display: flex; flex-direction: column; gap: 10px; }
.hero-map-links { display: flex; flex-wrap: wrap; gap: 8px; }
.hero-map-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 38px;
    padding: 0 14px;
    border: 1px solid #dfe3ea;
    border-radius: 999px;
    background: #fff;
    color: #1f2937;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.hero-map-link:hover { background: #f8fafc; border-color: #d1d5db; }
.hero-map-link:active { transform: translateY(1px); }
.hero-map-icon {
    width: 18px;
    height: 18px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    flex: 0 0 auto;
}
.hero-map-icon-naver { background: #03c75a; color: #fff; }
.hero-map-icon-kakao { background: #fee500; color: #191919; }
.hero-map-icon-google { background: #fff; color: #4285f4; border: 1px solid #e5e7eb; }

@media (max-width: 768px) {
    .hero-map-link { height: 34px; padding: 0 12px; font-size: 12px; }
}

.kpi-label, .kpi-value, .kpi-meta { font-size: 14px; font-weight: 400; color: #4b5563; }
.kpi-type { width: 18px; height: 18px; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; }
.kpi-type-sale { background: #fee2e2; color: #b91c1c; }
.kpi-type-jeonse { background: #dbeafe; color: #1d4ed8; }
.kpi-type-wolse { background: #dcfce7; color: #166534; }
.hero-sep { width: 1px; height: 12px; background: #e5e7eb; display: inline-block; }
.hero-tour { background: #ece9ff; color: #5b5bd6; text-decoration: none; padding: 8px 14px; border-radius: 10px; font-size: 20px; font-weight: 700; white-space: nowrap; }
h1 { margin: 0 0 12px; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 8px; border-bottom: 1px solid #f0f2f4; font-size: 14px; }

.complex-page-menu-shell { position: sticky; top: calc(var(--container-padding-top) + 52px); z-index: 35; background: #ffffff; margin-bottom: 24px; }
.complex-page-menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid #eceff3;
    background: #ffffff;
}
.complex-page-menu-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    color: #8b8f97;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    padding: 0;
}
.complex-page-menu-link.is-active { color: #111827; border-bottom-color: #111827; }
.complex-section-anchor { scroll-margin-top: calc(var(--container-padding-top) + 96px); }
.complex-info-section {
    padding: 12px 0px;
}
.complex-info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}
.complex-info-row {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #eef1f4;
    align-items: start;
}
.complex-info-label {
    color: #6b7280;
    font-size: 13px;
    line-height: 1.5;
}
.complex-info-value {
    color: #111827;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    word-break: break-word;
    text-align: right;
    justify-self: end;
}
.complex-info-value-sub { color: #6b7280; }
@media (max-width: 768px) {
    .complex-info-row { grid-template-columns: 108px minmax(0, 1fr); }
}

.trades-card { border: none; padding: 0; background: #fff; }
.chart-panel { margin-bottom: 12px; border: none; border-radius: 0; padding: 12px 0; }
.coupang-ad-wrap { margin: 0 0 12px; display: flex; justify-content: center; }
.coupang-ad-slot { width: 100%; min-height: 140px; display: flex; justify-content: center; align-items: center; overflow: hidden; }
.coupang-ad-slot iframe { max-width: 100%; }
.chart-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.chart-mode { position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid #e5e7eb; border-radius: 12px; padding: 2px; background: #f3f4f6; overflow: hidden; }
.chart-mode-bubble { position: absolute; top: 2px; left: 2px; width: calc((100% - 4px) / 2); height: calc(100% - 4px); background: #ffffff; border-radius: 10px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); transform: translateX(0); transition: transform 220ms ease-out; will-change: transform; }
.chart-mode[data-active="1"] .chart-mode-bubble { transform: translateX(100%); }
.chart-mode-btn { position: relative; z-index: 1; border: 0; background: transparent; color: #6b7280; padding: 6px 14px; font-size: 13px; font-weight: 500; }
.chart-mode-btn.active { color: #111827; }
.chart-area-wrap { position: relative; }
.chart-area-btn { border: 1px solid #e5e7eb; background: #f3f4f6; color: #4b5563; height: 34px; padding: 0 12px; font-size: 13px; font-weight: 500; border-radius: 12px; min-width: 82px; text-align: center; }
.chart-area-menu { position: absolute; top: calc(100% + 6px); right: 0; background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; box-shadow: 0 6px 16px rgba(0,0,0,0.08); padding: 4px; min-width: 102px; display: none; z-index: 5; }
.chart-area-menu.open { display: block; }
.chart-area-option { display: block; width: 100%; border: 0; background: transparent; text-align: left; padding: 6px 8px; border-radius: 6px; font-size: 12px; color: #4b5563; }
.chart-area-option:hover { background: #f3f4f6; }
.chart-summary-label { margin: 0; color: #6b7280; font-size: 13px; margin: 14px 0px 0px 0px; }
.chart-summary-value { margin: 4px 0 8px; color: #1f2937; font-size: 40px; font-weight: 700; }
.chart-range { display: flex; gap: 18px; border-bottom: 1px solid #eceff3; margin-bottom: 8px; }
.chart-range-btn { border: 0; background: transparent; color: #8b8f97; padding: 6px 0 10px; font-size: 15px; }
.chart-range-btn.active { color: #1f2937; border-bottom: 2px solid #1f2937; }
.chart-line.chart-line-sale { stroke: #4b5563; fill: none; }
.chart-dot-sale, .chart-series-label.chart-line-sale { color: #4b5563; stroke: #4b5563; fill: #4b5563; }
.chart-line.chart-line-rent { stroke: #2563eb; fill: none; }
.chart-dot-rent, .chart-series-label.chart-line-rent { color: #2563eb; stroke: #2563eb; fill: #2563eb; }
.chart-line-under.chart-line-under-sale { fill: none; stroke: rgba(75, 85, 99, 0.2); stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.chart-line-under.chart-line-under-rent { fill: none; stroke: rgba(75, 85, 99, 0.2); stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.chart-area-sale { fill: rgba(75, 85, 99, 0.2); stroke: none; }
.chart-area-rent { fill: rgba(37, 99, 235, 0.14); stroke: none; }
.chart-series-label { font-size: 11px; font-weight: 100; }
.ratio-line { fill: none; stroke: #9ca3af; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ratio-line circle, circle.ratio-line { fill: #9ca3af; stroke: none; }
.ratio-avg-line { stroke: #d1d5db; stroke-width: 1; stroke-dasharray: 3 3; }
.ratio-avg-label { fill: #9ca3af; font-size: 11px; font-weight: 300; }
.detail-chart { width: 100%; height: 210px; display: block; }
.detail-volume { width: 100%; height: 54px; display: block; }
.snapshot-card-single { margin: 16px 0 18px; border: 1px solid #eef1f4; border-radius: 12px; padding: 16px; background: #fcfcfd; }
.snapshot-head { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center; }
.snapshot-card-single .section-head { margin: 0 0 12px; }
.snapshot-card-single .section-head h2 { margin: 0; font-size: 16px; }
.snapshot-controls { display: inline-flex; align-items: center; gap: 10px; position: relative; }
.snapshot-mode { position: relative; display: inline-grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #e5e7eb; border-radius: 12px; padding: 2px; background: #f3f4f6; overflow: hidden; }
.snapshot-mode-bubble { position: absolute; top: 2px; left: 2px; width: calc((100% - 4px) / 3); height: calc(100% - 4px); background: #fff; border-radius: 10px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); transform: translateX(0); transition: transform 220ms ease-out; }
.snapshot-mode[data-active="1"] .snapshot-mode-bubble { transform: translateX(100%); }
.snapshot-mode[data-active="2"] .snapshot-mode-bubble { transform: translateX(200%); }
.snapshot-mode-btn { position: relative; z-index: 1; border: 0; background: transparent; color: #6b7280; padding: 6px 10px; font-size: 12px; }
.snapshot-mode-btn.active { color: #111827; }
.snapshot-area-btn { height: 30px; min-width: 64px; }
.snapshot-lines {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 10px 0px 0px 0px;
    padding-top: 10px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
}
.snapshot-line-row { display: grid; grid-template-columns: 64px 1fr; gap: 10px; align-items: start; }
.snapshot-line-row .price-badge {
    margin-top: 4px;
    width: 50px;
    text-align: center;
}
.snapshot-line {
    margin: 0;
    color: #374151;
    font-size: 14px;
    line-height: 2;
}
.snapshot-val {
    background: #e5e7eb;
    color: #111827;
    border-radius: 6px;
    padding: 2px 4px;
    margin: 0px 2px;
    font-weight: 500;
}
.snapshot-pct {
    border-radius: 6px;
    padding: 2px 4px;
    margin: 0px 2px;
    font-weight: 500;
}
.snapshot-pct-up { background: #fee2e2; color: #b91c1c; }
.snapshot-pct-down { background: #dbeafe; color: #1d4ed8; }
.chart-grid { stroke: #e5e7eb; stroke-width: 1; }
.chart-y {
    fill: #9ca3af;
    font-size: 11px;
    font-weight: 300;
}
.chart-dot { opacity: 0.55; }
.chart-dot line { stroke: #bcc5d1; stroke-width: 0.8; stroke-linecap: round; }
.chart-dot-compare { fill: #bcc5d1; stroke: none; opacity: 0.55; }
.chart-dot-sale line { stroke: #dc2626; }
.chart-dot-rent line { stroke: #2563eb; }
.chart-line-under { fill: none; stroke: rgba(75, 85, 99, 0.2); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.chart-line { fill: none; stroke: #4b5563; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.chart-vline { stroke: #d1d5db; stroke-dasharray: 3 3; }
.chart-max { fill: #ef4444; }
.chart-min { fill: #2563eb; }
.chart-max-label { fill: #ef4444; font-size: 11px; font-weight: 600; }
.chart-min-label { fill: #2563eb; font-size: 11px; font-weight: 600; }
.vol-bar { fill: #bcc5d1; opacity: 0.55; }
.vol-label {
    fill: #9ca3af;
    font-size: 11px;
    font-weight: 300;
}
.vol-x {
    fill: #bcc5d1;
    font-size: 11px;
    font-weight: 300;
}
.trade-filters-sticky-shell { position: sticky; top: calc(var(--container-padding-top) + 92px); z-index: 34; background: #ffffff; padding: 10px 0 10px; margin: 0; }
.trade-mode { position: relative; display: inline-grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid #e5e7eb; border-radius: 12px; padding: 2px; background: #f3f4f6; overflow: hidden; margin: 0; width: 100%; }
.trade-mode-bubble { position: absolute; top: 2px; left: 2px; width: calc((100% - 4px) / 4); height: calc(100% - 4px); background: #ffffff; border-radius: 10px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); transform: translateX(0); transition: transform 220ms ease-out; will-change: transform; }
.trade-mode[data-active="1"] .trade-mode-bubble { transform: translateX(100%); }
.trade-mode[data-active="2"] .trade-mode-bubble { transform: translateX(200%); }
.trade-mode[data-active="3"] .trade-mode-bubble { transform: translateX(300%); }
.trade-mode-btn { position: relative; z-index: 1; border: 0; background: transparent; color: #6b7280; padding: 6px 8px; font-size: 12px; font-weight: 500; }
.trade-mode-btn.active { color: #111827; }
.trades-meta { margin: 0 0 10px; font-size: 12px; color: #9ca3af; }
.trades-table { table-layout: fixed; }
.trades-table thead th { font-size: 12px; font-weight: 500; color: #6b7280; background: #fff; padding: 10px 8px; border-top: 1px solid #eef1f4; border-bottom: 1px solid #eef1f4; white-space: nowrap; text-align: center; }
.trades-table thead th:nth-child(1), .trades-table tbody td:nth-child(1) { width: 22%; }
.trades-table thead th:nth-child(2), .trades-table tbody td:nth-child(2) { width: 16%; }
.trades-table thead th:nth-child(3), .trades-table tbody td:nth-child(3) { width: 18%; }
.trades-table thead th:nth-child(4), .trades-table tbody td:nth-child(4) { width: 44%; }
.trades-table tbody td:nth-child(1),
.trades-table tbody td:nth-child(3) { font-size: 13px; font-weight: 400; }
.trades-table thead th:nth-child(1) { text-align: left; }
.trades-table thead th:nth-child(3) { text-align: left; }
.trades-table thead th:nth-child(4) { text-align: right; }
.trades-table tbody td { font-size: 15px; color: #374151; padding: 9px 8px; border-bottom: 1px solid #edf0f2; vertical-align: middle; }
.trades-table tbody td:nth-child(3),
.trades-table tbody td:nth-child(3) * {
  text-decoration: none !important;
}
.trades-table tbody td:last-child { text-align: right; }
.trade-price-line { display: flex; align-items: center; justify-content: flex-end; gap: 6px; min-height: 20px; }
.trade-price-line strong { line-height: 1.2; }
.trades-table thead th:nth-child(2), .trades-table tbody td:nth-child(2) { text-align: center; }
.trades-table tbody td:nth-child(2) .price-badge { margin: 0 auto; }
.price-badge { display: inline-block; border-radius: 999px; font-size: 11px; padding: 2px 8px; font-weight: 600; }
.badge-매매 { background: #fee2e2; color: #b91c1c; }
.badge-전세 { background: #dbeafe; color: #1d4ed8; }
.badge-월세 { background: #dcfce7; color: #166534; }
.price-sub { margin-top: 3px; font-size: 13px; font-weight: 400; color: #6b7280; }
.trades-table tbody tr:hover { background: #f7f8fa; }
.trades-table tbody tr.is-cancelled td,
.trades-table tbody tr.is-cancelled td strong,
.trades-table tbody tr.is-cancelled .price-sub {
  color: #9ca3af;
  text-decoration: line-through;
  text-decoration-color: #000;
}
.trades-table tbody tr.is-cancelled .price-badge {
  text-decoration: line-through;
  text-decoration-color: #000;
}
.trades-table tbody tr.is-cancelled td:nth-child(3),
.trades-table tbody tr.is-cancelled td:nth-child(3) * {
  text-decoration: line-through !important;
  text-decoration-color: #000 !important;
}
.cancel-pill,
.direct-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 0;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 600;
  color: #6b7280;
  vertical-align: middle;
}
.cancel-pill {
  background: #e5e7eb;
  text-decoration: none;
}
.direct-pill {
  background: #f3f4f6;
}
.pill-text-nudge {
  display: inline-block;
  position: relative;
  top: 1px;
}

.load-more-wrap { display: flex; justify-content: center; margin-top: 18px; }
.local-explore-wrap {
    display: flex;
    justify-content: center;
    margin-top: 24px;
    margin-bottom: 24px;
}
.similar-card-wrap { margin-top: 28px; }
.local-explore-link,
.load-more-btn {
  height: 34px;
  min-width: 96px;
  padding: 0 14px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #ffffff;
  color: #6b7280;
  font-size: 15px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-decoration: none;
}
.load-more-btn:disabled { opacity: 0.6; }
.local-explore-link:hover { background: #f9fafb; }
.load-more-caret {
  width: 7px;
  height: 7px;
  border-right: 1.5px solid #9ca3af;
  border-bottom: 1.5px solid #9ca3af;
  transform: rotate(45deg) translateY(-1px);
}
.load-more-spinner {
  display: none;
  width: 12px;
  height: 12px;
  border: 1.5px solid #d1d5db;
  border-top-color: #6b7280;
  border-radius: 999px;
  animation: loadMoreSpin 0.7s linear infinite;
}
.load-more-btn.is-loading .load-more-caret { display: none; }
.load-more-btn.is-loading .load-more-spinner { display: inline-block; }

@keyframes loadMoreSpin {
  to { transform: rotate(360deg); }
}

.rank-card-separator {
  height: 1px;
  background: #f3f4f6;
  width: 100%;
  margin-top: 40px;
  margin-bottom: 40px;
}

.volume-year-card { padding: 0; background: transparent; border: 0; border-radius: 0; }
.volume-year-head { margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; }
.volume-year-head > div { display: flex; align-items: center; }
.volume-year-head h2 { margin: 0; }
.volume-year-toggle { position: relative; display: inline-grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #e5e7eb; border-radius: 12px; padding: 2px; background: #f3f4f6; overflow: hidden; }
.volume-year-toggle-bubble { position: absolute; top: 2px; left: 2px; width: calc((100% - 4px) / 3); height: calc(100% - 4px); background: #fff; border-radius: 10px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); transform: translateX(0); transition: transform 220ms ease-out; }
.volume-year-toggle[data-active="1"] .volume-year-toggle-bubble { transform: translateX(100%); }
.volume-year-toggle[data-active="2"] .volume-year-toggle-bubble { transform: translateX(200%); }
.volume-year-toggle-btn { position: relative; z-index: 1; border: 0; background: transparent; color: #6b7280; padding: 6px 10px; font-size: 12px; }
.volume-year-toggle-btn.active { color: #111827; }
.volume-year-chart { display: flex; flex-wrap: nowrap; gap: 3px; align-items: flex-start; overflow-x: auto; padding: 10px 0px 0px 0px; margin-top: 0; scrollbar-width: none; -ms-overflow-style: none; }
.volume-year-chart::-webkit-scrollbar { display: none; }
.volume-year-group { display: grid; gap: 8px; justify-items: center; flex: 1 0 auto; min-width: 56px; }
.volume-year-group-label { font-size: 12px; font-weight: 700; color: #374151; margin-top: 2px; line-height: 1.1; }
.volume-year-group-status { line-height: 1.1; white-space: nowrap; }
.volume-year-bar-unit { display: grid; gap: 10px; justify-items: center; }
.volume-year-count { display: none; font-size: 11px; line-height: 1; color: #6b7280; white-space: nowrap; }
.volume-year-bar-shell {
    width: 14px;
    height: 92px;
    border-radius: 6px;
    background: #eef2f6;
    position: relative;
    overflow: hidden;
}
.volume-year-bar { display: block; position: absolute; left: 0; right: 0; bottom: 0; width: 100%; min-height: 0; height: 0; transition: height 560ms cubic-bezier(0.22, 1, 0.36, 1); }
.volume-year-bar-sale { background: rgb(240, 68, 82); }
.volume-year-bar-jeonse { background: rgb(49, 130, 246); }
.volume-year-bar-wolse { background: rgb(16, 149, 149); }
.volume-year-chart[data-kind="sale"] .volume-year-count-sale,
.volume-year-chart[data-kind="jeonse"] .volume-year-count-jeonse,
.volume-year-chart[data-kind="wolse"] .volume-year-count-wolse { display: block; }

.nearby-card,
.rank-card {
  margin-top: 0;
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
}
.rank-card .section-head h2 { margin-bottom: 0; }
.similar-card-wrap .section-head h2,
.nearby-card .section-head h2 { margin-bottom: 0; }
.rank-content { margin-top: 10px; border: 0; }
.rank-loading {
  width: 16px;
  height: 16px;
  margin: 10px auto;
  border: 1.5px solid #e5e7eb;
  border-top-color: #9ca3af;
  border-radius: 999px;
  animation: loadMoreSpin 0.8s linear infinite;
}
.rank-listing { list-style: none; padding: 0; margin: 0; }
.rank-listing li + li .rank-line { border-top: 1px solid #f3f4f6; }
.rank-line {
    display: grid;
    grid-template-columns: 14px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 12px 0px;
    color: inherit;
    text-decoration: none;
}
.rank-line:hover { background: #f9fafb; }
.rank-no { color: #111827; font-size: 15px; font-weight: 400; }
.rank-name { color: #111827; font-size: 15px; font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rank-price { color: #111827; font-size: 15px; font-weight: 400; }
.rank-ellipsis { color: #9ca3af; padding: 8px 0; text-align: center; }
.rank-line.is-current { background: #fffbeb; }
.rank-line.is-current .rank-name,
.rank-line.is-current .rank-price,
.rank-line.is-current .rank-no { color: #b45309; }
.nearby-listing li + li .nearby-line { border-top: 1px solid #f3f4f6; }
.nearby-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    color: inherit;
    text-decoration: none;
}
.nearby-line:hover { background: #f9fafb; }
.nearby-name { color: #111827; font-size: 15px; font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nearby-type { color: #6b7280; font-size: 13px; white-space: nowrap; }
.similar-listing { margin-top: 10px; }

.area-card {
  margin-top: 24px;
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
}
.area-card .section-head h2 { margin-bottom: 0; }
.area-content { margin-top: 10px; border: 0; }
.area-ppy-table { width: 100%; border-collapse: collapse; }
.area-ppy-table thead th {
  font-size: 12px;
  font-weight: 500;
  color: #6b7280;
  background: #fff;
  padding: 10px 0;
  border-top: 1px solid #eef1f4;
  border-bottom: 1px solid #eef1f4;
  white-space: nowrap;
  text-align: left;
}
.area-ppy-table thead th:nth-child(2),
.area-ppy-table thead th:nth-child(3),
.area-ppy-table tbody td:nth-child(2),
.area-ppy-table tbody td:nth-child(3) {
  text-align: right;
}
.area-ppy-table tbody td {
  padding: 12px 0;
  border-bottom: 1px solid #f3f4f6;
  font-size: 15px;
  color: #111827;
}
.area-ppy-table tbody tr:last-child td { border-bottom: 0; }

a:hover { text-decoration: none; }


a:hover { text-decoration: none; }
