---
// RoomSection — one room on /camere: name (Fraunces display), the VERBATIM
// description, "Servizi inclusi" + "Servizi Extra (su richiesta)" lists, the
// Gallery (lightbox) and a coral booking CTA → Amenitiz.
//
// The section carries an anchor id matching the Home room-preview slug
// (suite / deluxe / standard / economy) so deep links land on the room.
import type { ImageMetadata } from 'astro';
import Gallery from './Gallery.astro';
interface GalleryImage {
src: ImageMetadata;
alt: string;
}
interface Props {
slug: string;
kicker: string;
name: string;
description: string;
included: string[];
extra: string[];
images: GalleryImage[];
index: number; // 0-based, for the displayed ordinal
includedLabel: string;
extraLabel: string;
bookLabel: string;
bookHref: string;
// Gallery a11y strings
galleryLabel: string;
lightboxLabel: string;
lightboxClose: string;
lightboxPrev: string;
lightboxNext: string;
lightboxCounter: (current: number, total: number) => string;
}
const {
slug, kicker, name, description, included, extra, images, index,
includedLabel, extraLabel, bookLabel, bookHref,
galleryLabel, lightboxLabel, lightboxClose, lightboxPrev, lightboxNext, lightboxCounter,
} = Astro.props;
const ordinal = String(index + 1).padStart(2, '0');
const headingId = `room-${slug}-title`;
---
{ordinal}
{kicker}
{name}
{description}