/* Shared hero, navigation, cards, FAQ and SEO box retain their source styles. */
.balcony-page { direction: rtl; text-align: right; }
.balcony-page :is(h1,h2,h3,th) { text-align: center; vertical-align: middle; }
.balcony-page .balcony-note { margin-block: 18px; color: var(--muted); font-size: 14px; }
.balcony-page .balcony-copy p + p { margin-block-start: 18px; }
.balcony-page .balcony-copy h3 { margin-block: 24px 12px; }
.balcony-page .balcony-copy a { text-decoration: underline; text-underline-offset: 4px; }
.balcony-page .balcony-table { width: 100%; table-layout: fixed; }
.balcony-page .balcony-table td { text-align: center; font-variant-numeric: tabular-nums; }
.balcony-page .balcony-table th:first-child { width: 26%; }
.balcony-page .balcony-table caption { padding: 16px 20px; }
.balcony-page .balcony-figure { margin: 0; }
.balcony-page .balcony-figure img { width: 100%; height: auto; border-radius: var(--r-lg); }
.balcony-page .balcony-steps { list-style: persian; padding-inline-start: 24px; }
.balcony-page .balcony-steps li + li { margin-block-start: 18px; }
/* Same stacked-row strategy as the prototype installed-price table. */
@media (max-width: 899px) {
 .balcony-page .balcony-table, .balcony-page .balcony-table tbody,
 .balcony-page .balcony-table tr, .balcony-page .balcony-table th,
 .balcony-page .balcony-table td { display: block; width: 100%; }
 .balcony-page .balcony-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .balcony-page .balcony-table th:first-child { width: 100%; background: var(--mist); }
 .balcony-page .balcony-table td { display: flex; justify-content: space-between; gap: 16px; text-align: left; }
 .balcony-page .balcony-table td::before { content: attr(data-label); color: var(--muted); text-align: right; }
 .balcony-page .balcony-table caption { display: block; width: 100%; }
}
