/* Rooms: opening film, eight landscape photographs, text and enquiry. */
.mm-open.mm-room-video-hero { display: block; min-height: 0; padding: var(--mm-top) 0 0; margin: 0; background: var(--cream, #fff8e7); }
.mm-room-video-hero .mm-room-opening { width: 100%; max-width: none; margin: 0; }
.mm-room-video-hero .mm-room-film-stage { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 9; max-height: calc(100svh - var(--mm-top)); }
.mm-room-video-hero video { display: block; width: 100%; height: 100%; object-fit: contain; filter: brightness(1.035) saturate(1.06) sepia(.045); }
.mm-room-video-hero .mm-open__copy { position: relative; inset: auto; width: 100%; max-width: none; padding: clamp(28px,4vw,54px) 24px; text-align: center; background: var(--cream, #fff8e7); }
.mm-room-video-hero .mm-title { max-width: none; margin-inline: auto; }
.mm-room-video-hero .mm-open__copy > .button { justify-self: center; align-self: center; margin-inline: auto; }
.mm-room-video-hero .mm-nota-modulo { justify-self: center; margin-inline: auto; }
.mm-room-text-only .mm-chapter__grid { display: block; max-width: 850px; }
.mm-room-text-only .mm-chapter__copy, .mm-room-text-only .mm-chapter__text { width: 100%; max-width: none; }
.mm-room-text-only .mm-title { max-width: none; }
.mm-photo-banner--rooms { grid-template-columns: 1fr; }
.mm-photo-banner--rooms .mm-photo-banner__visual { min-height: 0; height: auto; aspect-ratio: auto; padding-bottom: calc(66.6667% + 62px); }
.mm-photo-banner--rooms .mm-photo-banner__slide { padding: 0 0 62px; }
.mm-photo-banner--rooms .mm-photo-banner__slide img { object-fit: cover; object-position: center; }
.mm-photo-banner--rooms .mm-photo-banner__controls { bottom: 8px; left: 50%; transform: translateX(-50%); }
.mm-photo-banner--rooms .mm-photo-banner__copy { padding: clamp(24px,4vw,42px); }
.mm-photo-banner--rooms .mm-photo-banner__copy > p:not(.overline) { max-width: none; }
.mm-room-contacts { margin-top: 42px; padding: clamp(24px,4vw,40px); background: #f3efe4; border: 1px solid #ded3c0; }
.mm-room-contacts h2 { font-size: clamp(28px,3vw,42px); line-height: 1.15; margin: 0 0 18px; }
.mm-room-contacts > p { line-height: 1.7; }
.mm-room-contacts__links { display: grid; gap: 14px; margin-top: 24px; }
.mm-room-contacts__links a { display: block; padding: 12px 0; overflow-wrap: anywhere; }
.mm-room-contacts__links span { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 5px; }
.mm-modulo .mm-campo select { box-sizing: border-box; width: 100%; min-height: 50px; padding: 12px 42px 12px 14px; border: 1px solid #cfc6b6; border-radius: 4px; background-color: #fff; color: #493c2f; font: inherit; cursor: pointer; }
.mm-modulo .mm-campo select:focus-visible { outline: 2px solid #777749; outline-offset: 3px; }
@media(max-width:767px) {
 .mm-room-video-hero .mm-open__copy { padding: 26px 20px; }
 .mm-room-text-only { padding-block: 42px; }
}

/* Editorial heading above the film; audio stays an explicit visitor choice. */
.mm-room-video-hero .mm-room-film-stage { isolation: isolate; }
.mm-room-video-hero .mm-room-film-title { position: relative; margin: 0; padding: clamp(28px,4vw,56px) 20px; color: #594936; text-align: center; font-size: clamp(46px,6vw,84px); font-weight: 400; font-style: italic; line-height: 1.15; letter-spacing: -.025em; text-transform: none; }
.mm-room-video-hero .mm-room-film-toggle { z-index: 3; }
.mm-room-video-hero .mm-room-film-audio { left: 22px; right: auto; }
@media(max-width:767px) { .mm-room-video-hero .mm-room-film-audio { left: 12px; } }
.mm-room-video-hero .mm-open__copy { padding-block: 24px; }
.mm-child-ages { border: 1px solid #d6c9b5; padding: 20px; margin: 0 0 28px; min-width: 0; }
.mm-child-ages[hidden] { display: none; }
.mm-child-ages legend { padding: 0 8px; font-size: 16px; }
.mm-child-ages__fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.mm-child-ages .mm-campo { margin: 0; min-width: 0; }
.mm-modulo input.is-date-invalid, .mm-modulo [aria-invalid="true"] { border: 2px solid #ad2d29; background-color: #fff3f1; outline-color: #ad2d29; }
.mm-modulo .mm-date-error { color: #98251f; font-size: 15px; line-height: 1.5; margin: 0 0 24px; }
.site-footer--rooms .site-footer__grid { grid-template-columns: 1.3fr 1fr 1fr; }
@media(max-width:767px) {
 .mm-child-ages__fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .site-footer--rooms .site-footer__grid { grid-template-columns: 1fr; }
}
