/* =========================================================================
   Red Luxe — стили секционных блоков (отзывы, галерея, видео)
   Остальные секции наследуют стили основных модулей.
   ========================================================================= */

/* Дополнительные секции-блоки (CTA, отзывы, видео, галерея) получают
   вертикальные отступы. Основные секции наследуют отступы своих модулей. */
.rl-cta-section, .rl-reviews, .rl-video, .rl-photogrid-wrap, .rl-booking-block {
	padding-block: clamp(2.5rem, 6vw, 4.5rem);
}

/* Отзывы */
.rl-reviews__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: clamp(1.2rem, 3vw, 2rem);
}
.rl-review {
	display: flex; flex-direction: column; gap: 0.9rem;
	background: var(--rl-card);
	border: 1px solid var(--rl-border);
	border-radius: var(--rl-radius-lg);
	padding: clamp(1.4rem, 3vw, 2rem);
	margin: 0;
	transition: transform var(--rl-t) var(--rl-ease), box-shadow var(--rl-t) var(--rl-ease);
}
.rl-review:hover { transform: translateY(-6px); box-shadow: var(--rl-shadow-lg); }
.rl-review__stars { display: inline-flex; gap: 2px; color: var(--rl-gold); }
.rl-review__stars .rl-icon { fill: var(--rl-gold); stroke: var(--rl-gold); }
.rl-review__text { font-family: var(--rl-font-display); font-size: 1.15rem; font-style: italic; line-height: 1.5; color: var(--rl-heading); margin: 0; }
.rl-review__author { font-weight: 600; color: var(--rl-accent); font-style: normal; }

/* Видео */
.rl-video__player, .rl-video__embed iframe { width: 100%; border-radius: var(--rl-radius-lg); overflow: hidden; display: block; }
.rl-video__player { aspect-ratio: 16 / 9; object-fit: cover; box-shadow: var(--rl-shadow); }
.rl-video__embed { position: relative; aspect-ratio: 16 / 9; border-radius: var(--rl-radius-lg); overflow: hidden; box-shadow: var(--rl-shadow); }
.rl-video__embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* Фотогалерея */
.rl-photogrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
}
.rl-photogrid__item { display: block; aspect-ratio: 4 / 3; border-radius: var(--rl-radius); overflow: hidden; }
.rl-photogrid__item img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--rl-t-slow) var(--rl-ease); }
.rl-photogrid__item:hover img { transform: scale(1.06); }

/* Блочная секция контактов не дублирует отступ контейнера */
.rl-cta-section .rl-cta-band { margin: 0; }
