.diorama-overview {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin-bottom: 48px;
}

.diorama-overview .placeholder-img {
	aspect-ratio: 3/4;
	border-radius: var(--radius-lg) !important;
	overflow: hidden;
	width: 100%;
}

.diorama-block {
	margin-bottom: 48px;
}

.diorama-block h3 {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.3rem;
	margin-bottom: 8px;
}

.diorama-block h4 {
	color: var(--color-muted);
	font-weight: 500;
	margin-bottom: 16px;
}

.diorama-block p {
	line-height: 1.8;
	margin-top: 16px;
	text-align: justify;
}

.diorama-img-wrap {
	width: 100%;
	margin-top: 12px;
	border-radius: var(--radius-lg);
	overflow: hidden;
}

.diorama-img-wrap.landscape {
	aspect-ratio: 16/9;
}

.diorama-img-wrap.wide {
	aspect-ratio: 21/9;
}

.diorama-img-wrap.portrait {
	display: flex;
	justify-content: center;
	border-radius: 0px;
}

.diorama-img-wrap.ratio-4-3 {
	aspect-ratio: 4/3;
}

.diorama-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.diorama-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-top: 16px;
}

.diorama-row .diorama-img-wrap {
	margin-top: 0;
}

.diorama-row-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin-top: 16px;
}

.diorama-row-2 .diorama-img-wrap {
	margin-top: 0;
}

/* Keep overview images using same cover approach */
#diorama .diorama-overview .placeholder-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.diorama-img-wrap.portrait img {
	width: 300px;
	height: auto;
	object-fit: contain;
	border-radius: var(--radius-lg);
}

/* Align container width with vesak-theme */
#diorama .container {
    max-width: 900px;
    margin: 0 auto;
}

.diorama-img-wrap--floor-plan {
    width: 100%;
    border: none;
    display: flex;
    justify-content: center;
}

.diorama-img-wrap--floor-plan img {
    object-fit: contain;
    border-radius: var(--radius-lg);
    width: 100%;
}

.diorama-gate-label {
    font-weight: 700;
    font-size: 1.2rem;
}

.diorama-portrait-pair {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 12px;
}

.diorama-portrait-pair .diorama-img-wrap.portrait {
    width: 100%;
    /* height: 100% removed */
}

.diorama-portrait-pair .diorama-img-wrap.portrait img {
    width: 100%;
    height: auto; /* Let the height adapt naturally */
    object-fit: cover;
    aspect-ratio: 3 / 4; 
    border-radius: var(--radius-lg);
}