/* ========================================
   LUXURY ROOM PAGE — Specific Styles
   ======================================== */

.luxury-hero { position: relative; height: 70vh; min-height: 450px; overflow: hidden; display: flex; align-items: flex-end; }
.luxury-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: luxZoom 25s ease-in-out infinite alternate; }
@keyframes luxZoom { from { transform: scale(1.05); } to { transform: scale(1.15); } }
.luxury-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(14,14,14,0.95) 0%, rgba(14,14,14,0.2) 60%); }
.luxury-hero-content { position: relative; z-index: 2; padding: clamp(30px, 5vw, 80px); }

.luxury-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.luxury-gallery-item { position: relative; overflow: hidden; border-radius: 2px; }
.luxury-gallery-item img { width: 100%; height: 400px; object-fit: cover; transition: transform 1.2s var(--transition); }
.luxury-gallery-item:hover img { transform: scale(1.06); }
.luxury-gallery-caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 30px; background: linear-gradient(to top, rgba(14,14,14,0.85), transparent); }
.luxury-gallery-caption p { font-family: var(--font-display); font-size: 1.1rem; font-style: italic; color: var(--color-text); }

.space-planning { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 80px); align-items: center; }
.space-planning-image { overflow: hidden; border-radius: 2px; }
.space-planning-image img { width: 100%; height: 500px; object-fit: cover; transition: transform 1.2s var(--transition); }
.space-planning-image:hover img { transform: scale(1.05); }

html[dir="rtl"] .space-planning .reveal-left { text-align: right; }
@media (max-width: 1024px) { .luxury-gallery { grid-template-columns: 1fr; } .space-planning { grid-template-columns: 1fr; } }
@media (max-width: 768px) { .luxury-gallery-item img { height: 300px; } .space-planning-image img { height: 350px; } }
