/* ============================================================
   AURELIA — Apartment Detail
   ============================================================ */

.apt-hero {
  background: var(--obsidian);
  color: var(--travertine);
  padding: 140px 0 0;
  position: relative;
}
.apt-hero-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-bottom: 80px;
  align-items: end;
}
.apt-hero h1 {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(48px, 7vw, 124px);
  letter-spacing: -0.034em;
  line-height: 0.92;
  margin: 24px 0 0;
}
.apt-hero h1 em { font-style: italic; color: var(--bronze-soft); }
.apt-hero-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-self: end;
}
.apt-hero-info-cell {
  border-left: 1px solid var(--bronze);
  padding-left: 18px;
}
.apt-hero-info-cell .label {
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(245,241,234,0.5);
  margin-bottom: 8px;
}
.apt-hero-info-cell .val {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(22px, 2vw, 32px);
  letter-spacing: -0.014em;
  color: var(--travertine);
}
.apt-hero-info-cell .val.bronze { color: var(--bronze-soft); }

.apt-gallery-main {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 12px;
  height: 70vh;
}
.apt-gallery-main-img {
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.apt-gallery-main-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.9s var(--ease-out);
}
.apt-gallery-main-img:hover img { transform: scale(1.04); }
.apt-gallery-side {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
}
.apt-gallery-tag {
  position: absolute;
  bottom: 24px; right: 24px;
  z-index: 2;
  background: rgba(14,12,10,0.7);
  color: var(--travertine);
  padding: 12px 20px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Layout */
.apt-layout {
  background: var(--travertine);
  padding: 140px 0;
}
.apt-layout-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: start;
}
.apt-floorplan {
  position: sticky;
  top: 120px;
  background: var(--obsidian);
  padding: 56px;
  border: 1px solid var(--line);
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.apt-floorplan svg {
  width: 100%; height: 100%;
}
.apt-room {
  fill: rgba(184, 146, 74, 0.05);
  stroke: var(--bronze);
  stroke-width: 2;
  cursor: pointer;
  transition: fill 0.4s var(--ease-out);
}
.apt-room:hover, .apt-room.active {
  fill: rgba(184, 146, 74, 0.25);
}
.apt-room-label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  fill: var(--bronze-soft);
  text-anchor: middle;
  pointer-events: none;
}
.apt-room-area {
  font-family: var(--font-mono);
  font-size: 9px;
  fill: rgba(245,241,234,0.5);
  text-anchor: middle;
  pointer-events: none;
}

.apt-rooms-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid var(--line);
}
.apt-rooms-list h2 {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(36px, 4.6vw, 72px);
  letter-spacing: -0.028em;
  line-height: 1;
  margin: 24px 0 60px;
}
.apt-rooms-list h2 em { font-style: italic; color: var(--bronze); }
.apt-room-row {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
  cursor: pointer;
  transition: padding 0.4s var(--ease-out);
}
.apt-room-row:hover, .apt-room-row.active { padding-left: 16px; }
.apt-room-row.active { background: var(--limestone); padding-left: 24px; padding-right: 24px; border-color: var(--bronze); }
.apt-room-row .num {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  color: var(--bronze);
}
.apt-room-row .name {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(18px, 1.6vw, 24px);
  letter-spacing: -0.01em;
}
.apt-room-row .name small {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--smoke);
  margin-top: 4px;
}
.apt-room-row .area {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 22px;
  color: var(--bronze);
}

/* Specs grid */
.apt-specs {
  background: var(--limestone);
  padding: 140px 0;
}
.apt-specs-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--line);
  background: var(--travertine);
}
.apt-spec-cell {
  padding: 40px 32px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.apt-spec-cell:nth-child(4n) { border-right: none; }
.apt-spec-cell .label {
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--smoke);
  margin-bottom: 12px;
}
.apt-spec-cell .val {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 28px;
  letter-spacing: -0.018em;
  color: var(--ink);
}

/* Payment plan */
.apt-payment {
  background: var(--travertine);
  padding: 140px 0;
}
.apt-payment-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 80px;
  align-items: start;
}
.apt-payment-side h2 {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(40px, 5.6vw, 88px);
  letter-spacing: -0.028em;
  line-height: 1;
  margin: 24px 0 32px;
}
.apt-payment-side h2 em { font-style: italic; color: var(--bronze); }

.apt-payment-flow {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: var(--obsidian);
  color: var(--travertine);
  padding: 56px;
}
.apt-pay-step {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line-on-dark);
  align-items: center;
}
.apt-pay-step:last-child { border-bottom: none; }
.apt-pay-step .num {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: 36px;
  color: var(--bronze-soft);
  letter-spacing: -0.02em;
}
.apt-pay-step .label {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 18px;
  letter-spacing: -0.01em;
}
.apt-pay-step .label small {
  display: block;
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(245,241,234,0.5);
  margin-top: 4px;
}
.apt-pay-step .amount {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(20px, 2vw, 28px);
  letter-spacing: -0.014em;
  color: var(--bronze-soft);
}

.apt-pay-total {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 2px solid var(--bronze);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.apt-pay-total span {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.apt-pay-total strong {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(32px, 4vw, 56px);
  letter-spacing: -0.028em;
  color: var(--bronze-soft);
}

@media (max-width: 1024px) {
  .apt-hero-top, .apt-layout-grid, .apt-payment-grid { grid-template-columns: 1fr; gap: 40px; }
  .apt-floorplan { position: static; aspect-ratio: 1/1.1; padding: 32px; }
  .apt-gallery-main { grid-template-columns: 1fr; height: 60vh; }
  .apt-gallery-side { display: none; }
  .apt-specs-grid { grid-template-columns: 1fr 1fr; }
  .apt-spec-cell:nth-child(2n) { border-right: none; }
  .apt-spec-cell:nth-child(4n) { border-right: 1px solid var(--line); }
  .apt-payment-flow { padding: 32px; }
}
@media (max-width: 640px) {
  .apt-specs-grid { grid-template-columns: 1fr; }
  .apt-spec-cell { border-right: none !important; }
  .apt-hero-info { grid-template-columns: 1fr; }
}

/* ======= MOBILE: 768px ======= */
@media (max-width: 768px) {
  /* Apartment hero */
  .apt-hero { padding: 110px 0 0; }
  .apt-hero-top { grid-template-columns: 1fr; gap: 32px; margin-bottom: 48px; }
  .apt-hero h1 { font-size: clamp(40px, 10vw, 80px); }
  .apt-hero-info { grid-template-columns: 1fr 1fr; gap: 16px; }
  .apt-hero-info-cell .val { font-size: clamp(18px, 4vw, 28px); }

  /* Gallery */
  .apt-gallery-main { height: 50vh; }

  /* Layout */
  .apt-layout { padding: 80px 0; }
  .apt-layout-grid { grid-template-columns: 1fr; gap: 32px; }
  .apt-floorplan { padding: 24px; }
  .apt-rooms-list h2 { font-size: clamp(28px, 7vw, 48px); margin-bottom: 36px; }
  .apt-room-row { grid-template-columns: 40px 1fr auto; gap: 16px; padding: 22px 0; }
  .apt-room-row .name { font-size: clamp(16px, 4vw, 22px); }
  .apt-room-row .area { font-size: 18px; }

  /* Specs */
  .apt-specs { padding: 80px 0; }
  .apt-specs-grid { grid-template-columns: 1fr 1fr; }
  .apt-spec-cell { padding: 28px 20px; }
  .apt-spec-cell .val { font-size: 22px; }

  /* Payment */
  .apt-payment { padding: 80px 0; }
  .apt-payment-grid { grid-template-columns: 1fr; gap: 32px; }
  .apt-payment-side h2 { font-size: clamp(32px, 8vw, 64px); }
  .apt-payment-flow { padding: 28px 20px; }
  .apt-pay-step { grid-template-columns: 56px 1fr auto; gap: 16px; padding: 18px 0; }
  .apt-pay-step .num { font-size: 28px; }
  .apt-pay-step .label { font-size: 16px; }
  .apt-pay-step .amount { font-size: clamp(16px, 4vw, 22px); }
  .apt-pay-total strong { font-size: clamp(28px, 8vw, 48px); }
}

/* ======= MOBILE: 480px ======= */
@media (max-width: 480px) {
  .apt-hero { padding: 100px 0 0; }
  .apt-hero h1 { font-size: clamp(32px, 11vw, 60px); }
  .apt-hero-info { grid-template-columns: 1fr 1fr; gap: 12px; }
  .apt-hero-info-cell .label { font-size: 10px; }
  .apt-hero-info-cell .val { font-size: clamp(16px, 4vw, 22px); }

  .apt-gallery-main { height: 42vh; }

  .apt-layout { padding: 60px 0; }
  .apt-floorplan { padding: 16px; }
  .apt-room-row { grid-template-columns: 1fr auto; gap: 12px; }
  .apt-room-row .num { display: none; }

  .apt-specs { padding: 60px 0; }
  .apt-specs-grid { grid-template-columns: 1fr; }

  .apt-payment { padding: 60px 0; }
  .apt-payment-flow { padding: 20px 16px; }
  .apt-pay-step { grid-template-columns: 40px 1fr auto; gap: 12px; }
  .apt-pay-step .num { font-size: 22px; }
  .apt-pay-total { flex-direction: column; gap: 8px; }
  .apt-pay-total strong { font-size: clamp(28px, 9vw, 44px); }
}
