
/* Admin building page */
.admin-hero .hero-lead { max-width: 780px; }
.admin-hero-grid { align-items: center; }
.admin-hero-photo img { aspect-ratio: 16 / 10; }
.admin-fit-list { margin-top: 24px; }
.admin-location-section .section-label,
.admin-location-section h2,
.admin-location-section .section-text { color: var(--white); }
.admin-location-section .section-text { color: rgba(255,255,255,0.76); }
.location-photo-card { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.14); }
.location-photo-card figcaption { color: rgba(255,255,255,0.72); }
.floor-grid { display: grid; gap: 14px; margin-top: 24px; }
.floor-card { border: 1px solid var(--line); border-radius: 22px; padding: 20px; background: rgba(255,255,255,0.78); box-shadow: 0 14px 40px rgba(0,0,0,0.055); }
.floor-card h3 { margin: 0 0 8px; }
.floor-card p { margin: 0; color: var(--muted); }
.plan-card img { aspect-ratio: 3 / 4; object-fit: contain; background: #fff; }
.gallery-group { margin-top: 34px; }
.gallery-group h3 { margin: 0 0 14px; font-size: clamp(20px, 3vw, 28px); }
.admin-gallery-section .section-text { max-width: 760px; }
.admin-building-page .photo-card img { background: #f3f0e9; }
@media (min-width: 900px) {
  .admin-hero-grid { grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr); }
  .admin-hero-grid .object-facts { grid-column: 1 / -1; }
  .floor-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-photo-grid .photo-card-large { grid-column: span 2; }
}



/* Admin use cases */
.admin-use-block {
  margin-top: 28px;
}

.admin-use-block h3 {
  margin-bottom: 14px;
  font-size: clamp(20px, 3vw, 26px);
}

.admin-fit-list div {
  display: grid;
  gap: 6px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,0.74);
  border: 1px solid var(--line);
  box-shadow: 0 12px 32px rgba(0,0,0,0.035);
}

.admin-fit-list strong {
  display: block;
  font-weight: 850;
  line-height: 1.2;
}

.admin-fit-list span {
  display: block;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.38;
  font-weight: 650;
}


/* Admin intro side column */
.admin-side-column {
  display: grid;
  gap: 18px;
}

.admin-seo-note {
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 22px;
  background: rgba(255,255,255,0.62);
  box-shadow: 0 14px 40px rgba(0,0,0,0.045);
}

.admin-seo-note h3 {
  margin-bottom: 12px;
  font-size: clamp(19px, 2.4vw, 24px);
}

.admin-seo-note p {
  margin-bottom: 10px;
  color: var(--muted);
  font-weight: 650;
}

.admin-seo-note p:last-child {
  margin-bottom: 0;
}

/* Admin intro alignment fix */
.admin-side-column {
  height: 100%;
  align-content: stretch;
  grid-template-rows: minmax(388px, auto) 1fr;
}

.admin-side-column .spec-card {
  min-height: 388px;
  display: flex;
  align-items: stretch;
}

.admin-side-column .spec-list {
  width: 100%;
  align-content: stretch;
}

.admin-side-column .spec-list div {
  min-height: 61px;
  align-items: center;
}

.admin-seo-note {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (max-width: 679px) {
  .admin-side-column {
    grid-template-rows: auto;
  }

  .admin-side-column .spec-card {
    min-height: 0;
  }

  .admin-seo-note {
    justify-content: flex-start;
  }
}

/* Admin location development block */
.admin-location-grid {
  align-items: center;
}

.admin-location-copy .section-text {
  max-width: 680px;
}

.location-gallery {
  display: grid;
  gap: 12px;
}

.location-gallery .photo-card {
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.08);
  box-shadow: 0 20px 60px rgba(0,0,0,0.18);
}

.location-gallery .photo-card img {
  display: block;
  width: 100%;
  height: 220px;
  aspect-ratio: auto;
  object-fit: cover;
  background: #20262b;
}

.location-gallery .photo-card figcaption {
  color: rgba(255,255,255,0.78);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

@media (min-width: 760px) {
  .location-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .location-gallery .location-card-main {
    grid-column: 1 / -1;
  }

  .location-gallery .location-card-main img {
    height: 300px;
  }
}

@media (min-width: 980px) {
  .admin-location-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(430px, 0.8fr);
  }

  .location-gallery .location-card-main img {
    height: 320px;
  }

  .location-gallery .photo-card:not(.location-card-main) img {
    height: 180px;
  }
}
/* Admin layout plan block */
.admin-plan-section {
  background: var(--bg);
}

.admin-plan-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(520px, 1.04fr);
  gap: 44px;
  align-items: start;
}

.admin-plan-copy {
  position: static;
}

.admin-plan-section h2 {
  margin-bottom: 22px;
}

.admin-plan-section .section-text {
  max-width: 720px;
}

.admin-floor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 34px;
}

.admin-floor-card {
  min-height: 0;
  padding: 24px;
  border-radius: 24px;
  background: rgba(255,255,255,0.76);
}

.floor-card-title {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}

.floor-card-title h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.15;
}

.floor-card-title span {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(201,120,45,0.11);
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.admin-floor-card p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.45;
}

.plan-feature-strip,
.admin-plan-images {
  display: grid;
  gap: 20px;
}

.plan-card-floor {
  margin: 0;
  padding: 24px 24px 28px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255,255,255,0.78);
  box-shadow: 0 14px 40px rgba(0,0,0,0.045);
}

.plan-card-floor img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 430px;
  aspect-ratio: auto;
  object-fit: contain;
  background: transparent;
}

@media (max-width: 1100px) {
  .admin-plan-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .admin-floor-grid,
  .plan-card-floor {
    padding: 18px;
    border-radius: 22px;
  }
}

/* Admin plan cleanup and height alignment */
.admin-plan-layout {
  align-items: stretch;
}

.admin-plan-copy,
.admin-plan-images {
  height: 100%;
}

.admin-plan-copy {
  display: flex;
  flex-direction: column;
}

.admin-plan-images {
  align-content: stretch;
  grid-template-rows: 1fr 1fr;
}

.plan-card-floor {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
}

.plan-card-floor img {
  max-height: none;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 1100px) {
  .admin-plan-copy,
  .admin-plan-images {
    height: auto;
  }

  .admin-plan-images {
    grid-template-rows: auto;
  }

  .plan-card-floor img {
    height: auto;
  }
}

/* Plan feature cards fix */
.plan-feature-strip {
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.plan-feature-strip div {
  min-height: 112px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,0.72);
  box-shadow: 0 12px 30px rgba(0,0,0,0.035);
}

.plan-feature-strip strong {
  display: block;
  margin-bottom: 7px;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 850;
}

.plan-feature-strip span {
  display: block;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.38;
  font-weight: 700;
}

@media (min-width: 1180px) {
  .plan-feature-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .plan-feature-strip {
    grid-template-columns: 1fr;
    margin-top: 22px;
  }

  .plan-feature-strip div {
    min-height: 0;
  }
}

/* Plan block harmony fix */
.plan-feature-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.plan-feature-strip div {
  min-height: 92px;
  padding: 16px 18px;
  border-radius: 20px;
}

.plan-feature-strip strong {
  font-size: 16px;
  line-height: 1.22;
}

.plan-feature-strip span {
  font-size: 14px;
  line-height: 1.35;
}

@media (min-width: 1180px) {
  .plan-feature-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .plan-feature-strip {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .plan-feature-strip div {
    min-height: 0;
    padding: 16px 18px;
  }
}

/* Admin building gallery: common object-page grid */
.admin-gallery-section .gallery-group {
  margin-top: 34px;
}

.admin-gallery-section .photo-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 0;
  align-items: start;
  grid-auto-flow: dense;
}

.admin-gallery-section .photo-card,
.admin-gallery-section .photo-card-large {
  grid-column: auto;
  grid-row: auto;
}

.admin-gallery-section .photo-card img,
.admin-gallery-section .photo-card:nth-child(3) img,
.admin-gallery-section .photo-card:nth-child(5) img,
.admin-gallery-section .photo-card:nth-child(6) img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  background: var(--paper);
}

.admin-gallery-section .photo-card-large {
  display: flex;
  flex-direction: column;
}

.admin-gallery-section .photo-card-large img {
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: var(--paper);
}

.admin-gallery-section .photo-card figcaption {
  min-height: 0;
  display: block;
}

@media (min-width: 680px) {
  .admin-gallery-section .photo-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .admin-gallery-section .photo-card-large {
    grid-column: span 2;
  }
}

@media (min-width: 980px) {
  .admin-gallery-section .photo-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .admin-gallery-section .photo-card-large {
    grid-column: span 2;
    grid-row: span 2;
    height: 100%;
  }

  .admin-gallery-section .photo-card-large img {
    flex: 1 1 auto;
    height: auto;
  }

  .admin-gallery-section .photo-card-large figcaption {
    flex: 0 0 auto;
  }

  .admin-gallery-section .photo-card:not(.photo-card-large) img {
    height: 220px;
    aspect-ratio: auto;
    object-fit: cover;
  }
}

/* First floor hall + WC gallery layout */
@media (min-width: 680px) {
  .gallery-group-hall-wc .photo-grid {
    grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
    grid-template-rows: repeat(2, 1fr);
    align-items: stretch;
  }

  .gallery-group-hall-wc .photo-card-large {
    grid-column: 1;
    grid-row: 1 / span 2;
    height: 100%;
  }

  .gallery-group-hall-wc .photo-card-large img {
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
  }

  .gallery-group-hall-wc .photo-card:not(.photo-card-large) {
    height: 100%;
  }

  .gallery-group-hall-wc .photo-card:not(.photo-card-large) img {
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
  }
}

/* Fix captions in the first-floor hall/WC grid */
.gallery-group-hall-wc .photo-card {
  display: flex;
  flex-direction: column;
}

.gallery-group-hall-wc .photo-card figcaption {
  flex: 0 0 auto;
  display: block;
  padding: 12px 14px 14px;
}

@media (min-width: 680px) {
  .gallery-group-hall-wc .photo-card img {
    flex: 1 1 auto;
    min-height: 0;
  }

  .gallery-group-hall-wc .photo-card-large img,
  .gallery-group-hall-wc .photo-card:not(.photo-card-large) img {
    height: auto;
  }
}
