/*
Theme Name: Montana
Theme URI: https://colorlib.com/wp/themes/montana/
Author: Colorlib
Author URI: https://colorlib.com/
Description: A block theme for hotels, lodges and mountain resorts. A full-screen photograph slider, offers, a video band, the restaurant, four featured rooms, a rooms page with each room's price and facts, and a room booking request form that needs no plugin -- check-in and check-out dates, guests and room, checked on the server and emailed to the front desk. Contact and newsletter forms too, eight colour palettes, five type pairings, visitor dark mode and WooCommerce styling. Full site editing throughout.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Update URI: https://updates.colorlib.com/theme/montana.json
Text Domain: montana
Tags: blog, entertainment, full-site-editing, block-patterns, block-styles, template-editing, wide-blocks, accessibility-ready, translation-ready, custom-colors, custom-menu, custom-logo, featured-images, threaded-comments, one-column, two-columns, right-sidebar, rtl-language-support, sticky-post, theme-options

Montana WordPress Theme, (C) 2026 Colorlib.
Montana is distributed under the terms of the GNU GPL v2 or later.

Montana bundles the following third-party resources:

Raleway and Playfair Display
License: SIL Open Font License 1.1, https://openfontlicense.org/
Source: https://fontsource.org/

Tabler Icons
License: MIT, https://github.com/tabler/tabler-icons/blob/main/LICENSE
Source: https://tabler.io/icons

Photographs
License: Pexels License
Source: Pexels; readme.txt lists each photograph's page
*/

/*
 * A block theme styles itself from theme.json. What lives here is what
 * theme.json cannot express: the component styles behind the block style
 * variations registered in functions.php, the header that sits over the first
 * photograph and turns black on scroll, the icons, the hover states and the
 * few layout corrections a full-width design needs.
 *
 * This file is also the editor stylesheet (add_editor_style), so an offer
 * card, a room tile or an icon looks the same while it is being edited.
 *
 * Every colour is a palette variable, which is what lets all eight palettes,
 * and dark mode, restyle every component.
 */

:root {
	/* The edge of a control or a ruled box: half text colour, half ground.
	   Measured at 3:1 or better in every palette (WCAG 1.4.11); the
	   template's #e5e6e9 is 1.2:1 and disappears. */
	--montana-edge: color-mix(in srgb, var(--wp--preset--color--contrast) 50%, var(--wp--preset--color--base));
	/* The side gutter the header and the footer share with the template:
	   150px on a wide screen, 20px on a small laptop, 10px on a phone. */
	--montana-gutter: clamp(0.75rem, 8vw - 1.5rem, 9.375rem);
}

/* ==========================================================================
   Screen reader text
   ========================================================================== */

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--wp--preset--color--base);
	clip-path: none;
	color: var(--wp--preset--color--contrast);
	display: block;
	height: auto;
	left: 6px;
	padding: 15px 23px 14px;
	top: 7px;
	width: auto;
	z-index: 100000;
}

/* ==========================================================================
   Layout rhythm

   WordPress separates the top-level pieces of a page -- header, main, footer --
   and every full-width section inside a page's content with the root block
   gap. On a design built from bands, that gap is a strip of bare page between
   every pair of sections. Sections carry their own padding, so they meet edge
   to edge instead.
   ========================================================================== */

.wp-site-blocks > * {
	margin-block-start: 0;
}

.wp-block-post-content > .alignfull + .alignfull,
.wp-block-post-content > .alignfull + .wp-block-gallery,
.wp-block-post-content > .wp-block-gallery.alignfull + * {
	margin-block-start: 0;
}

.montana-page-content:not(:has(> .alignfull:first-child)) {
	padding-top: var(--wp--preset--spacing--70);
}

.montana-page-content:not(:has(> .alignfull:last-child)) {
	padding-bottom: var(--wp--preset--spacing--70);
}

/*
 * The template's spacing between sections is not uniform: 200px above the
 * first section after a photograph, 100px between two sections on the same
 * white ground. Two white sections in a row therefore share one gap.
 */
.montana-about + .montana-offers,
.montana-offers + .montana-room-list {
	padding-top: 0 !important;
}

.montana-hero-frame + .montana-about,
.montana-video-band + .montana-about,
.wp-block-post-content > .montana-offers:first-child,
.wp-block-post-content > .montana-about:first-child {
	padding-top: var(--wp--preset--spacing--80) !important;
}

/* An <iframe> is inline, and auto margins do not centre an inline box. */
.montana-map {
	display: block;
}

a {
	text-underline-offset: 0.18em;
}

/* Anything an in-page link lands on stays clear of the stuck header. */
[id] {
	scroll-margin-top: 6rem;
}

/* ==========================================================================
   Header

   The template's header has no bar of its own: it lies over the first
   photograph, white words on the picture, the menu on the left, the mark in
   the middle, the social links and the booking button on the right. Once the
   page scrolls it comes back as a black bar fixed to the top
   (assets/js/interactions.js adds `is-stuck`).
   ========================================================================== */

.wp-site-blocks > header.wp-block-template-part {
	position: absolute;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
	z-index: 100;
}

/* A page that does not open with a photograph (a page built without the
   hero or a banner) would put white words on white: the header then takes
   its black bar from the start and sits in the flow. */
body:not(:has(.montana-hero, .montana-banner)) .wp-site-blocks > header.wp-block-template-part {
	position: relative;
	top: 0;
}

body:not(:has(.montana-hero, .montana-banner)) .montana-header {
	background-color: var(--wp--preset--color--dark);
	padding-bottom: 0.75rem;
}

.montana-header {
	padding: 1.75rem var(--montana-gutter) 0;
	color: var(--wp--preset--color--overlay);
}

/* In the editor there is no photograph under the header: give it the bar. */
.editor-styles-wrapper .montana-header {
	background-color: var(--wp--preset--color--dark);
	padding-bottom: 0.75rem;
}

.montana-header.is-stuck {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
	padding-top: 0.625rem;
	padding-bottom: 0.625rem;
	background-color: var(--wp--preset--color--dark);
	box-shadow: var(--wp--preset--shadow--header);
	animation: montana-drop 0.5s ease;
}

@keyframes montana-drop {
	from {
		transform: translateY(-100%);
	}

	to {
		transform: none;
	}
}

@media (max-width: 600px) {
	.montana-header.is-stuck {
		top: 0;
	}
}

.montana-header__row {
	margin: 0;
}

.montana-header__nav,
.montana-header__end {
	flex: 1 1 0;
	min-width: 0;
}

.montana-header__brand {
	flex: none;
	text-align: center;
}

/* The mark: the initial in a ruled square, the name, a spaced word. */
.montana-header__brand > * {
	margin-block: 0 !important;
}

.montana-logo__mark {
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	margin-inline: auto !important;
	margin-bottom: 0.375rem !important;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--overlay) 60%, transparent);
	font-size: 1.25rem;
	line-height: 1;
}

.montana-header .wp-block-site-title {
	font-size: 1.875rem;
	letter-spacing: 0.01em;
}

.montana-logo__word {
	margin-top: 0.3rem !important;
	font-size: 0.6875rem;
	letter-spacing: 0.55em;
	/* The spacing trails the last letter; this puts the word back on centre. */
	text-indent: 0.55em;
	line-height: 1;
}

.montana-header.is-stuck .montana-logo__mark,
.montana-header.is-stuck .montana-logo__word {
	display: none;
}

.montana-header .wp-block-site-logo img {
	width: auto;
	max-height: 5.75rem;
}

/* An uploaded logo replaces the drawn mark. */
.montana-header__brand:has(.wp-block-site-logo img) > :not(.wp-block-site-logo) {
	display: none;
}

/* Navigation: white, semibold, an underline that grows in on hover. */
.montana-header .wp-block-navigation__container {
	gap: 0.5rem clamp(0.9rem, 3.4vw - 1.25rem, 3.125rem);
}

.montana-header .wp-block-navigation-item__content {
	position: relative;
	padding-bottom: 0.625rem;
	color: var(--wp--preset--color--overlay);
	text-decoration: none;
	text-transform: capitalize;
}

.montana-header .wp-block-navigation a.wp-block-navigation-item__content::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: currentColor;
	opacity: 0;
	transform: scaleX(0);
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.montana-header .wp-block-navigation a.wp-block-navigation-item__content:hover::before,
.montana-header .wp-block-navigation a.wp-block-navigation-item__content:focus-visible::before,
.montana-header .wp-block-navigation .current-menu-item > a.wp-block-navigation-item__content::before {
	opacity: 1;
	transform: none;
}

.montana-header .wp-block-navigation__submenu-container {
	border: 0;
	padding: 0.5rem 0;
	background-color: var(--wp--preset--color--base) !important;
	box-shadow: 0 0 10px rgb(0 0 0 / 0.08);
}

.montana-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.625rem 0.9375rem;
	color: var(--wp--preset--color--contrast);
}

.montana-header .wp-block-navigation__submenu-container a.wp-block-navigation-item__content::before {
	display: none;
}

.montana-header__end {
	margin: 0;
}

.montana-header__end > .wp-block-buttons {
	flex-wrap: nowrap;
}

/* Between the tablet and a wide screen the menu, the mark and the right-hand
   side stop fitting on one row; the social links are the first to go. */
@media (min-width: 992px) and (max-width: 1199px) {
	.montana-header__end > .wp-block-social-links {
		display: none !important;
	}
}

/* The template's "Book A Room". */
.montana-header__book > .wp-block-button__link {
	padding: 0.75rem 1.625rem;
	white-space: nowrap;
}

.montana-header__book > .wp-block-button__link:hover,
.montana-header__book > .wp-block-button__link:focus-visible {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

/*
 * Core switches the navigation to its menu button below 600px; the template
 * collapses at 992px, where the menu and the right-hand side stop fitting
 * beside the mark. Below that the header is one row: the mark on the left, the
 * dark-mode switch and the menu button on the right. The social links and
 * the booking button go, as the template's phone layout drops them.
 */
@media (max-width: 991px) {
	.montana-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.montana-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.montana-header {
		padding-top: 0.625rem;
		padding-bottom: 0.625rem;
	}

	.montana-header__brand {
		order: -1;
		text-align: left;
	}

	.montana-header__brand .wp-block-site-title {
		text-align: left;
		font-size: 1.375rem;
	}

	.montana-logo__mark,
	.montana-logo__word {
		display: none !important;
	}

	.montana-header__end {
		flex: none;
		order: 1;
	}

	.montana-header__nav {
		flex: none;
		order: 2;
	}

	.montana-header__end > .wp-block-social-links,
	.montana-header__book {
		display: none !important;
	}

	.montana-header .wp-block-navigation__responsive-container-open {
		color: var(--wp--preset--color--overlay);
	}

	.montana-header .wp-block-navigation__responsive-container-open svg {
		width: 28px;
		height: 28px;
	}
}

/* The opened phone menu: black, like the stuck bar, white words. */
.montana-header .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--dark) !important;
	color: var(--wp--preset--color--overlay) !important;
}

.montana-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	padding: 0.35rem 0;
	font-size: 1.125rem;
}

.montana-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background-color: transparent !important;
	box-shadow: none;
}

.montana-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--wp--preset--color--overlay);
}

/* ==========================================================================
   The dark-mode switch (inc/scheme.php). Here rather than in scheme.css so
   the editor, which loads this file, draws it as the icon it is.
   ========================================================================== */

.wp-block-button.montana-scheme-toggle > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	padding: 0;
	width: 44px;
	height: 44px;
	min-width: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--wp--preset--color--overlay);
}

.wp-block-button.montana-scheme-toggle > .wp-block-button__link:hover,
.wp-block-button.montana-scheme-toggle > .wp-block-button__link:focus-visible {
	background: rgb(255 255 255 / 0.16);
	color: var(--wp--preset--color--overlay);
}

.wp-block-button.montana-scheme-toggle > .wp-block-button__link::before {
	content: "";
	width: 1.1rem;
	height: 1.1rem;
	flex: 0 0 auto;
	background-color: currentColor;
	/* A moon, and a sun in dark mode, masked so they take the button's colour. */
	-webkit-mask: var(--montana-scheme-icon) center / contain no-repeat;
	mask: var(--montana-scheme-icon) center / contain no-repeat;
	--montana-scheme-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z'/%3E%3C/svg%3E");
}

/* ==========================================================================
   Icons

   Tabler Icons, used as masks: the SVG supplies the shape and the element's
   own colour fills it, so an icon takes whatever palette is active and turns
   over in dark mode with no extra files. Each name sets --montana-icon, so
   the class can sit on a block without masking the block itself.
   ========================================================================== */

.montana-icon--home { --montana-icon: url("assets/icons/home.svg"); }
.montana-icon--phone { --montana-icon: url("assets/icons/phone.svg"); }
.montana-icon--mail { --montana-icon: url("assets/icons/mail.svg"); }
.montana-icon--calendar { --montana-icon: url("assets/icons/calendar.svg"); }
.montana-icon--message { --montana-icon: url("assets/icons/message.svg"); }
.montana-icon--folder { --montana-icon: url("assets/icons/folder.svg"); }

/* ==========================================================================
   Section titles
   ========================================================================== */

/* Eyebrow (block style: paragraph > Eyebrow): the template's small blue
   line above a title, in the readable shade. */
.is-style-montana-eyebrow {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	line-height: 1.4;
}

.is-style-montana-eyebrow:not(.has-text-color) {
	color: var(--wp--preset--color--primary);
}

.montana-title > * {
	margin-block: 0;
}

.montana-title > .is-style-montana-eyebrow {
	margin-bottom: 0.9375rem;
}

.montana-title--center {
	margin-bottom: var(--wp--preset--spacing--70) !important;
}

@media (max-width: 767px) {
	.montana-title .wp-block-heading br {
		display: none;
	}
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.wp-block-button__link,
.wp-element-button {
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Outline (block style: button > Outline): the template's "book now". */
.wp-block-button.is-style-montana-outline > .wp-block-button__link {
	padding: 0.625rem 1.5625rem;
	border-color: var(--wp--preset--color--primary);
	background: transparent;
	color: var(--wp--preset--color--primary);
	font-weight: 400;
	text-transform: capitalize;
}

.wp-block-button.is-style-montana-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-montana-outline > .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
}

/* The template's `.line-button`: words on a 1px rule, no box. A link in a
   paragraph (montana-more), so it reads and behaves as the link it is. */
.montana-more {
	margin: 0;
}

.montana-more a {
	display: inline-block;
	padding: 0 0.3125rem 0.125rem 0;
	border-bottom: 1px solid currentColor;
	color: inherit;
	font-weight: 400;
	text-decoration: none;
}

.montana-more:not(.has-text-color) a {
	color: var(--wp--preset--color--muted);
}

.montana-more a:hover,
.montana-more a:focus-visible {
	color: var(--wp--preset--color--primary);
}

.montana-footer .montana-more a:hover,
.montana-footer .montana-more a:focus-visible {
	color: var(--wp--preset--color--accent);
}

/* Pill (block style: button > Pill): the reservation number. */
.wp-block-button.is-style-montana-pill > .wp-block-button__link {
	padding: 0.75rem 3.3125rem;
	border-radius: 1.875rem;
	font-size: 1.125rem;
	font-weight: 400;
}

.wp-block-button.is-style-montana-pill > .wp-block-button__link:hover,
.wp-block-button.is-style-montana-pill > .wp-block-button__link:focus-visible {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

/* The play button: a white disc with the triangle in the brand colour. */
.wp-block-button.montana-play > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.75rem;
	height: 3.75rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	/* The palette's accent, deepened: `primary` is a pale blue in the dark
	   palettes and in dark mode, and would vanish on the white disc. */
	color: color-mix(in srgb, var(--wp--preset--color--accent) 70%, black);
	transition: transform 0.3s ease;
}

.wp-block-button.montana-play > .wp-block-button__link::before {
	content: "";
	width: 1rem;
	height: 1rem;
	margin-left: 0.2rem;
	background-color: currentColor;
	-webkit-mask: url("assets/icons/player-play.svg") center / contain no-repeat;
	mask: url("assets/icons/player-play.svg") center / contain no-repeat;
}

.wp-block-button.montana-play > .wp-block-button__link:hover,
.wp-block-button.montana-play > .wp-block-button__link:focus-visible {
	background: #fff;
	color: color-mix(in srgb, var(--wp--preset--color--accent) 70%, black);
	transform: scale(1.08);
}

/* Video popup (assets/js/interactions.js). Without JavaScript the play
   button is an ordinary link to the film. */
.montana-video-dialog {
	width: min(960px, 92vw);
	padding: 0;
	border: 0;
	overflow: visible;
	background: #000;
}

.montana-video-dialog::backdrop {
	background: rgb(0 0 0 / 0.85);
}

.montana-video-dialog iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}

.montana-video-dialog__close {
	position: absolute;
	top: -3rem;
	right: 0;
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	border-radius: 50%;
	background: rgb(255 255 255 / 0.14);
	color: #fff;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}

.montana-video-dialog__close:hover,
.montana-video-dialog__close:focus-visible {
	background: rgb(255 255 255 / 0.28);
}

/* ==========================================================================
   Photograph sliders: the hero and the about page's wide photographs

   Without JavaScript the slides are a horizontal scroll-snap strip, so a
   finger or a trackpad moves them. The script adds the template's round
   arrows (on a wide screen, shown on hover) and turns the pages on its own
   unless the visitor asks for reduced motion.
   ========================================================================== */

.montana-carousel-frame {
	position: relative;
}

.montana-carousel {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}

.montana-carousel::-webkit-scrollbar {
	display: none;
}

.montana-carousel > .montana-slide {
	flex: 0 0 100%;
	width: 100%;
	margin: 0 !important;
	scroll-snap-align: start;
}

.montana-carousel__arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: none;
	width: 3.375rem;
	height: 3.375rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgb(255 255 255 / 0.2);
	color: #fff;
	cursor: pointer;
	opacity: 0;
	transform: translateY(-50%);
	transition: opacity 0.3s ease, background-color 0.3s ease;
}

.montana-carousel__arrow::before {
	content: "";
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	margin: auto;
	background-color: currentColor;
	-webkit-mask: url("assets/icons/chevron-left.svg") center / contain no-repeat;
	mask: url("assets/icons/chevron-left.svg") center / contain no-repeat;
}

.montana-carousel__arrow--next::before {
	-webkit-mask-image: url("assets/icons/chevron-right.svg");
	mask-image: url("assets/icons/chevron-right.svg");
}

.montana-carousel__arrow--prev {
	left: 3.125rem;
}

.montana-carousel__arrow--next {
	right: 3.125rem;
}

@media (min-width: 992px) {
	.montana-carousel__arrow {
		display: block;
	}
}

.montana-carousel-frame:hover .montana-carousel__arrow,
.montana-carousel__arrow:focus-visible {
	opacity: 1;
}

.montana-carousel__arrow:hover,
.montana-carousel__arrow:focus-visible {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
}

.montana-carousel__arrow:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

/* ==========================================================================
   Hero
   ========================================================================== */

/* The header's white words sit on the top of the photograph, and a bright sky
   there is 3:1 at best. A shade that fades out a third of the way down keeps
   the menu and the mark readable without darkening the picture itself. */
.wp-block-cover.montana-hero::before,
.wp-block-cover.montana-banner::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	z-index: 1;
	height: 14rem;
	background: linear-gradient(to bottom, rgb(0 0 0 / 0.6), rgb(0 0 0 / 0));
	pointer-events: none;
}

.wp-block-cover.montana-hero {
	min-height: max(30rem, 100vh) !important;
	min-height: max(30rem, 100svh) !important;
}

.montana-hero .wp-block-cover__inner-container > .wp-block-group > * {
	margin-block: 0;
}

.montana-hero__title {
	margin-bottom: 0.25rem !important;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.1;
	text-transform: capitalize;
}

.montana-hero__line {
	font-size: clamp(1rem, 0.6rem + 1.1vw, 1.5rem);
	font-weight: 400;
}

@media (max-width: 767px) {
	.montana-hero__title {
		letter-spacing: 0.09em;
	}
}

/* ==========================================================================
   About and restaurant: words beside two photographs at different heights
   ========================================================================== */

.montana-about__text > * {
	margin-block: 0;
}

.montana-about__text > p:not(.montana-more) {
	margin-top: 1.25rem;
	margin-bottom: 2.9375rem;
}

.montana-pair {
	max-width: 36.875rem;
}

.montana-pair--end {
	margin-left: auto;
}

.montana-pair--start {
	margin-right: auto;
}

.montana-pair .wp-block-columns {
	gap: 0.625rem !important;
	margin: 0;
}

.montana-pair .wp-block-image,
.montana-pair .wp-block-image img {
	width: 100%;
	margin: 0;
}

.montana-pair .montana-pair__low {
	padding-top: 2.5rem;
}

/* ==========================================================================
   Offers
   ========================================================================== */

.montana-offer > * {
	margin-block: 0;
}

.montana-offer__photo {
	overflow: hidden;
}

.montana-offer__photo img {
	width: 100%;
	transition: transform 0.3s ease;
}

.montana-offer:hover .montana-offer__photo img,
.montana-offer:focus-within .montana-offer__photo img {
	transform: scale(1.1);
}

.montana-offer .montana-offer__title {
	margin-top: 2rem;
	font-size: var(--wp--preset--font-size--large);
}

.montana-offer .is-style-montana-dots {
	margin-top: 1.0625rem;
	margin-bottom: 1.875rem;
}

.montana-offer .wp-block-buttons {
	margin-top: 0;
}

@media (min-width: 782px) and (max-width: 991px) {
	.montana-offer .montana-offer__title {
		font-size: 1.125rem;
	}

	.montana-offer .montana-offer__title br {
		display: none;
	}
}

/* Dots (block style: list > Dots): an 8px disc before each line. */
.is-style-montana-dots {
	padding-left: 0;
	list-style: none;
}

.is-style-montana-dots > li {
	position: relative;
	padding-left: 1.4375rem;
	line-height: 1.75;
}

.is-style-montana-dots > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.875em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	transform: translateY(-50%);
}

/* ==========================================================================
   Video band
   ========================================================================== */

.wp-block-cover.montana-video-band {
	padding-block: var(--wp--preset--spacing--70);
}

.montana-video-band .wp-block-cover__inner-container > .wp-block-group > * {
	margin-block: 0;
}

.montana-video-band .wp-block-heading {
	margin-top: 0.75rem;
	margin-bottom: 1.75rem;
}

@media (max-width: 991px) {
	.wp-block-cover.montana-video-band {
		min-height: 28rem !important;
	}
}

/* ==========================================================================
   Featured rooms: four photographs edge to edge
   ========================================================================== */

.montana-featured {
	padding-bottom: 0 !important;
}

.montana-rooms {
	margin-block: 0 !important;
}

.montana-rooms + .montana-rooms {
	margin-top: 0 !important;
}

.montana-rooms > .wp-block-column {
	min-width: 0;
}

.wp-block-cover.montana-room {
	aspect-ratio: 8 / 5;
	min-height: 0 !important;
	height: 100%;
	padding: 3.75rem 3.75rem 2.9375rem;
	overflow: hidden;
}

.montana-room .wp-block-cover__image-background {
	transition: transform 0.5s ease;
}

.montana-room:hover .wp-block-cover__image-background,
.montana-room:focus-within .wp-block-cover__image-background {
	transform: scale(1.1);
}

.montana-room .wp-block-cover__inner-container {
	width: 100%;
}

.montana-room__foot {
	width: 100%;
}

.montana-room__words > * {
	margin-block: 0;
}

.montana-room__price {
	margin-bottom: 0.5625rem !important;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
}

.montana-room__name {
	font-weight: 400;
}

.montana-room__link {
	margin: 0;
	font-weight: 600;
	white-space: nowrap;
	transition: transform 0.4s ease, opacity 0.4s ease;
}

.montana-room__link a {
	color: inherit;
	text-decoration: none;
	text-transform: capitalize;
}

.montana-room__link a:hover,
.montana-room__link a:focus-visible {
	text-decoration: underline;
}

/* The link slides in when the room is hovered or focused; on a touch screen
   there is no hover, so it is simply there. */
@media (hover: hover) {
	.montana-room:not(:hover):not(:focus-within) .montana-room__link {
		opacity: 0;
		transform: translateY(-2.5rem);
	}
}

@media (max-width: 991px) {
	.wp-block-cover.montana-room {
		padding: 1.25rem;
	}
}

@media (max-width: 781px) {
	.wp-block-cover.montana-room {
		aspect-ratio: 4 / 3;
	}

	.montana-rooms > .wp-block-column + .wp-block-column,
	.montana-rooms + .montana-rooms {
		margin-top: 0 !important;
	}
}

/* ==========================================================================
   Rooms, one by one
   ========================================================================== */

.montana-room-card__photo,
.montana-room-card__photo img {
	width: 100%;
	margin: 0;
}

.montana-room-card__words > * {
	margin-block: 0;
}

.montana-room-card__words > * + * {
	margin-top: 1rem;
}

.montana-room-card__price {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
}

.montana-room-card__words .wp-block-heading {
	margin-top: 0.4rem;
}

.montana-room-card__words .wp-block-buttons {
	margin-top: 1.75rem;
}

@media (max-width: 781px) {
	.montana-room-card--flip > .wp-block-column:last-child {
		order: -1;
	}
}

/* ==========================================================================
   Booking request: the template's popup box over a darkened photograph
   ========================================================================== */

.montana-booking__box {
	box-sizing: border-box;
	width: 100%;
	max-width: 42.5rem;
	margin-inline: auto;
	padding: 3.75rem 2.5rem;
	color: var(--wp--preset--color--muted);
}

.montana-booking__box > * {
	margin-block: 0;
}

.montana-booking__title {
	font-size: var(--wp--preset--font-size--large);
}

.montana-booking__note {
	margin-top: 0.75rem !important;
	margin-bottom: 2.25rem !important;
	max-width: 30rem;
	margin-inline: auto !important;
}

@media (max-width: 599px) {
	.montana-booking__box {
		padding: 2.5rem 1.25rem;
	}
}

/* ==========================================================================
   Reservation line
   ========================================================================== */

.montana-query {
	padding: 2.375rem 3.125rem;
	border: 1px solid var(--montana-edge);
}

.montana-query__row {
	margin: 0;
}

.montana-query__text {
	margin: 0;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 400;
	line-height: 1.3;
}

@media (max-width: 767px) {
	.montana-query {
		padding: 1.25rem;
	}

	.montana-query__row {
		justify-content: center !important;
		text-align: center;
	}

	.montana-query__text {
		font-size: 1.125rem;
	}
}

/* ==========================================================================
   Photo strip: five photographs edge to edge
   ========================================================================== */

.wp-block-gallery.montana-strip {
	gap: 0 !important;
	margin-block: 0;
}

.wp-block-gallery.montana-strip > .wp-block-image {
	position: relative;
	overflow: hidden;
	margin: 0 !important;
}

.wp-block-gallery.montana-strip > .wp-block-image img {
	aspect-ratio: 1;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* The template's hover: a light shade slides in from the left. */
.wp-block-gallery.montana-strip > .wp-block-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgb(0 0 0 / 0.2);
	opacity: 0;
	pointer-events: none;
	transform: translateX(-80%);
	transition: transform 0.5s ease, opacity 0.5s ease;
}

.wp-block-gallery.montana-strip > .wp-block-image:hover::after {
	opacity: 1;
	transform: none;
}

@media (max-width: 991px) {
	.wp-block-gallery.montana-strip > .wp-block-image {
		width: 50% !important;
	}

	.wp-block-gallery.montana-strip > .wp-block-image:last-child {
		width: 100% !important;
	}

	.wp-block-gallery.montana-strip > .wp-block-image:last-child img {
		aspect-ratio: 2;
	}
}

/* ==========================================================================
   Wide photographs, set in from the left (about page)
   ========================================================================== */

.montana-wide {
	margin-top: var(--wp--preset--spacing--50) !important;
}

@media (min-width: 1500px) {
	.montana-wide {
		padding-left: 24.1875rem;
	}
}

.montana-carousel--wide .wp-block-image,
.montana-carousel--wide .wp-block-image img {
	width: 100%;
	margin: 0;
}

.montana-carousel--wide .wp-block-image img {
	height: 46.875rem;
	aspect-ratio: auto !important;
}

@media (max-width: 1200px) {
	.montana-carousel--wide .wp-block-image img {
		height: 31.25rem;
	}
}

@media (max-width: 991px) {
	.montana-carousel--wide .wp-block-image img {
		height: 25rem;
	}
}

/* ==========================================================================
   Four short notes (about page)
   ========================================================================== */

.montana-note > * {
	margin-block: 0;
}

.montana-note__title {
	margin-bottom: 0.625rem !important;
	font-size: var(--wp--preset--font-size--large);
}

.montana-note p {
	font-weight: 400;
}

@media (max-width: 1500px) {
	.montana-note .wp-block-heading br {
		display: none;
	}
}

/* ==========================================================================
   Contact
   ========================================================================== */

.montana-contact__title {
	margin-bottom: 1.25rem !important;
	font-size: 1.6875rem;
	font-weight: 600;
}

.montana-contact__item {
	position: relative;
	padding-left: 2.9375rem;
}

.montana-contact__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.1rem;
	width: 1.6875rem;
	height: 1.6875rem;
	background-color: var(--wp--preset--color--muted);
	-webkit-mask: var(--montana-icon) center / contain no-repeat;
	mask: var(--montana-icon) center / contain no-repeat;
}

.montana-contact__item > * {
	margin-block: 0;
}

.montana-contact__main {
	color: var(--wp--preset--color--contrast);
	font-weight: 400;
}

.montana-contact__main a {
	color: inherit;
	text-decoration: none;
}

.montana-contact__main a:hover,
.montana-contact__main a:focus-visible {
	color: var(--wp--preset--color--primary);
}

.montana-contact__sub {
	margin-top: 0.25rem !important;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

@media (min-width: 782px) {
	.montana-contact__cols > .wp-block-column:last-child {
		margin-left: auto;
	}
}

@media (max-width: 575px) {
	.montana-map {
		height: 320px !important;
	}
}

/* ==========================================================================
   Page banner
   ========================================================================== */

.wp-block-cover.montana-banner {
	min-height: 31.25rem !important;
	padding-top: 9rem;
	padding-bottom: 5rem;
}

.montana-banner h1,
.montana-banner .wp-block-post-title,
.montana-banner .wp-block-query-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--display);
	font-weight: 400;
	text-transform: capitalize;
}

/* A post's title is a sentence, not a word: it steps down a size and keeps
   the case it was written in. */
.montana-banner .montana-banner__post {
	font-size: var(--wp--preset--font-size--heading);
	max-width: 50rem;
	margin-inline: auto;
	text-transform: none;
}

/* Headings inside a post are the article's, not the page's: a step or two
   below the section titles the patterns use. */
.montana-entry h2 {
	font-size: var(--wp--preset--font-size--x-large);
}

.montana-entry h3 {
	font-size: var(--wp--preset--font-size--large);
}

@media (max-width: 767px) {
	.wp-block-cover.montana-banner {
		min-height: 18.75rem !important;
		padding-top: 7rem;
		padding-bottom: 3rem;
	}
}

/* ==========================================================================
   Blog: the post list, the single post and the sidebar
   ========================================================================== */

.montana-posts .wp-block-post > * {
	margin-block: 0;
}

.montana-post__media {
	position: relative;
}

.montana-post__media .wp-block-post-featured-image {
	margin: 0;
}

/* The date in a blue tab over the photograph's lower edge. */
.montana-date {
	position: absolute;
	left: 2.5rem;
	bottom: -1.25rem;
	z-index: 2;
	margin: 0 !important;
	padding: 0.8125rem 1.875rem;
	border-radius: 5px;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
	text-align: center;
	line-height: 1.2;
}

.montana-date > * {
	margin: 0 !important;
}

.montana-date__day {
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 600;
}

.montana-date__month {
	font-size: 1.125rem;
}

.montana-post__media:not(:has(img)) .montana-date {
	position: static;
	display: inline-block;
	margin-bottom: 1rem !important;
}

.montana-post__body {
	padding: 3.75rem 1.875rem 2.1875rem 2.1875rem;
	box-shadow: 0 10px 20px rgb(221 221 221 / 0.3);
}

.montana-dark .montana-post__body {
	box-shadow: 0 10px 20px rgb(0 0 0 / 0.35);
}

.montana-post__body > * {
	margin-block: 0;
}

.montana-post__body .wp-block-post-title {
	font-size: 1.5rem;
	font-weight: 600;
}

.montana-post__body .wp-block-post-excerpt__excerpt {
	margin: 0;
}

@media (max-width: 767px) {
	.montana-date {
		left: 0.625rem;
		bottom: -0.625rem;
		padding: 0.5rem 0.9375rem;
	}

	.montana-date__day {
		font-size: 1.375rem;
	}

	.montana-post__body {
		padding: 1.875rem 1rem 1.25rem;
	}

	.montana-post__body .wp-block-post-title {
		font-size: 1.125rem;
	}
}

.montana-post__meta {
	gap: 0.5rem 1.25rem !important;
	color: var(--wp--preset--color--muted);
}

.montana-meta {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	margin: 0;
}

.montana-meta::before {
	content: "";
	flex: none;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: var(--montana-icon) center / contain no-repeat;
	mask: var(--montana-icon) center / contain no-repeat;
}

.montana-post__meta a {
	color: inherit;
	text-decoration: none;
}

.montana-post__meta a:hover,
.montana-post__meta a:focus-visible {
	color: var(--wp--preset--color--primary);
}

.wp-block-post-terms a {
	text-decoration: none;
}

.montana-tags a {
	display: inline-block;
	margin: 0 0.375rem 0.375rem 0;
	padding: 0.25rem 0.75rem;
	border: 1px solid var(--wp--preset--color--divider);
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.montana-tags .wp-block-post-terms__separator {
	display: none;
}

.montana-tags a:hover,
.montana-tags a:focus-visible {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}

.wp-block-query-pagination {
	gap: 0.5rem;
	margin-top: var(--wp--preset--spacing--60);
}

.wp-block-query-pagination a,
.wp-block-query-pagination .current {
	display: inline-grid;
	place-items: center;
	min-width: 2.8125rem;
	height: 2.8125rem;
	padding: 0 0.6rem;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--divider);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.wp-block-query-pagination .current,
.wp-block-query-pagination a:hover,
.wp-block-query-pagination a:focus-visible {
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
}

.wp-block-query-pagination-previous-arrow,
.wp-block-query-pagination-next-arrow {
	margin: 0 !important;
}

/* The single post's quotation, as the template's: a pale panel, a rule. */
.wp-block-quote {
	margin-inline: 0;
}

.wp-block-quote p {
	font-size: var(--wp--preset--font-size--medium);
	font-style: italic;
}

.wp-block-quote cite {
	display: block;
	margin-top: 0.75rem;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 500;
}

.montana-post-nav {
	padding-block: 1.875rem;
	border-top: 1px solid var(--wp--preset--color--divider);
	border-bottom: 1px solid var(--wp--preset--color--divider);
}

.montana-post-nav .wp-block-post-navigation-link {
	max-width: 48%;
}

.wp-block-post-navigation-link a {
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
	text-decoration: none;
}

.wp-block-post-navigation-link a:hover,
.wp-block-post-navigation-link a:focus-visible {
	color: var(--wp--preset--color--primary);
}

.wp-block-post-navigation-link .post-navigation-link__label {
	display: block;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
}

/* The author, as the template's: photograph, name and a line of biography. */
.montana-author-box {
	padding: 1.875rem;
	background-color: var(--wp--preset--color--surface);
}

.montana-author .wp-block-post-author__avatar img {
	border-radius: 50%;
}

.montana-author .wp-block-post-author__name {
	color: var(--wp--preset--color--contrast);
	font-size: 1.125rem;
	font-weight: 600;
}

.montana-author .wp-block-post-author__bio {
	margin-top: 0.5rem;
	font-size: var(--wp--preset--font-size--medium);
}

/* Pale panel (block style: group > Pale panel): the sidebar's widgets. */
.is-style-montana-box {
	padding: 1.875rem;
	background-color: var(--wp--preset--color--surface);
}

.is-style-montana-box > * {
	margin-block: 0;
}

.is-style-montana-box > * + * {
	margin-top: 1.875rem;
}

.is-style-montana-box ul {
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

.montana-widget-title {
	padding-bottom: 0.9375rem;
	border-bottom: 1px solid var(--wp--preset--color--divider);
	font-size: 1.25rem;
}

/* Categories with counts: name left, count right, ruled. */
.montana-counts li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.625rem 0;
	border-bottom: 1px solid var(--wp--preset--color--divider);
}

.montana-counts li:last-child {
	border-bottom: 0;
}

.montana-counts a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.montana-counts a:hover,
.montana-counts a:focus-visible {
	color: var(--wp--preset--color--primary);
}

.montana-recent li {
	display: flow-root;
	margin-bottom: 1.25rem;
}

.montana-recent li:last-child {
	margin-bottom: 0;
}

.montana-recent .wp-block-latest-posts__featured-image.alignleft {
	margin: 0 1.25rem 0 0;
}

.montana-recent .wp-block-latest-posts__featured-image img {
	width: 5rem;
	height: 5rem;
	object-fit: cover;
}

.montana-recent .wp-block-latest-posts__post-title {
	display: block;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}

.montana-recent .wp-block-latest-posts__post-title:hover,
.montana-recent .wp-block-latest-posts__post-title:focus-visible {
	color: var(--wp--preset--color--primary);
}

.montana-recent .wp-block-latest-posts__post-date {
	margin-top: 0.375rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-tag-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.wp-block-tag-cloud a {
	margin: 0 !important;
	padding: 0.25rem 1.25rem;
	border: 1px solid var(--montana-edge);
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--muted);
	font-weight: 400;
	text-decoration: none;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.wp-block-tag-cloud a:hover,
.wp-block-tag-cloud a:focus-visible {
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
}

.montana-sidebar .wp-block-search__inside-wrapper {
	padding: 0;
	border: 1px solid var(--montana-edge);
	background-color: var(--wp--preset--color--base);
}

.montana-sidebar .wp-block-search__input {
	min-height: 3.125rem;
	border: 0;
	background: transparent;
}

.montana-sidebar .wp-block-search__button {
	margin: 0;
	padding: 0.5rem 1rem;
	border: 0;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
}

.montana-sidebar .wp-block-search__button:hover,
.montana-sidebar .wp-block-search__button:focus-visible {
	background: var(--wp--preset--color--primary-deep);
}

/* Comments. */
.montana-comments {
	margin-top: var(--wp--preset--spacing--60);
}

.montana-comments .wp-block-post-comments-form {
	margin-top: var(--wp--preset--spacing--60);
}

.montana-comments .wp-block-comment-template {
	padding-left: 0;
}

.montana-comments .wp-block-comment-template > li {
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--wp--preset--color--divider);
}

.montana-comments .wp-block-comment-template ol {
	padding-left: var(--wp--preset--spacing--50);
}

.montana-comments .wp-block-comment-author-name {
	margin: 0;
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
}

.montana-comments .wp-block-comment-author-name a {
	color: inherit;
	text-decoration: none;
}

.montana-comments .wp-block-comment-date {
	margin: 0;
}

.montana-comments .wp-block-comment-date a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.montana-comments .wp-block-avatar img {
	border-radius: 50%;
}

.montana-reply {
	margin: 0;
}

.montana-reply a {
	color: var(--wp--preset--color--muted);
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
}

.montana-reply a:hover,
.montana-reply a:focus-visible {
	color: var(--wp--preset--color--primary);
}

/* ==========================================================================
   Footer
   ========================================================================== */

.montana-footer {
	padding-top: 9.0625rem;
	padding-bottom: 1.875rem;
}

@media (max-width: 767px) {
	.montana-footer {
		padding-top: 3.75rem;
	}
}

.montana-footer__cols {
	margin-bottom: 7.1875rem;
}

@media (max-width: 767px) {
	.montana-footer__cols {
		margin-bottom: 1.875rem;
	}
}

.montana-footer .montana-footer__title {
	margin-bottom: 2.5rem;
	font-weight: 400;
	text-transform: capitalize;
}

.montana-footer p {
	font-weight: 400;
}

.montana-footer a {
	color: inherit;
	text-decoration: none;
}

.montana-footer p a:hover,
.montana-footer p a:focus-visible,
.montana-footer__links a:hover,
.montana-footer__links a:focus-visible {
	color: var(--wp--preset--color--accent);
}

.montana-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.montana-footer__links li {
	line-height: 2.625;
}

.montana-footer__note {
	margin-top: 1.25rem !important;
}

.montana-footer__rule.wp-block-separator {
	margin-block: 0 1.875rem;
	border: 0;
	border-top: 1px solid rgb(255 255 255 / 0.2);
	opacity: 1;
}

.montana-footer__bottom {
	margin: 0;
}

.montana-footer__legal {
	margin: 0;
}

.montana-footer__legal a {
	color: var(--wp--preset--color--accent);
}

@media (max-width: 767px) {
	.montana-footer__bottom {
		justify-content: center !important;
		text-align: center;
	}
}

/* Plain icons (block style: social links > Plain icons): the template's
   grey glyphs, white on hover. */
.wp-block-social-links.is-style-montana-plain {
	gap: 0.25rem 1.25rem;
}

.wp-block-social-links.is-style-montana-plain .wp-social-link.wp-block-social-link {
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--on-dark);
	transition: color 0.3s ease;
}

.montana-header .wp-block-social-links.is-style-montana-plain .wp-social-link.wp-block-social-link {
	color: color-mix(in srgb, var(--wp--preset--color--overlay) 80%, transparent);
}

.wp-block-social-links.is-style-montana-plain .wp-social-link.wp-block-social-link:hover,
.wp-block-social-links.is-style-montana-plain .wp-social-link.wp-block-social-link:focus-within {
	color: var(--wp--preset--color--overlay);
	transform: none;
}

.wp-block-social-links.is-style-montana-plain .wp-social-link a {
	padding: 0.25rem;
	color: inherit;
}

.wp-block-social-links.is-style-montana-plain .wp-social-link svg {
	width: 1rem;
	height: 1rem;
}

/* ==========================================================================
   Scroll reveals (assets/js/interactions.js)

   Hidden only once the script has run and only for what is below the first
   screen, so a visitor without JavaScript, a crawler, or anyone looking at the
   top of the page sees content immediately.
   ========================================================================== */

.montana-motion .montana-reveal {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
	transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
	transition-delay: var(--montana-reveal-delay, 0ms);
}

.montana-motion .montana-reveal.is-revealed {
	opacity: 1;
	transform: none;
}

/* ==========================================================================
   Reduced motion: no movement anywhere, content shown at once.
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.montana-motion .montana-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.montana-carousel {
		scroll-behavior: auto;
	}

	.montana-header.is-stuck {
		animation: none;
	}

	.wp-block-button.montana-play > .wp-block-button__link:hover,
	.montana-offer:hover .montana-offer__photo img,
	.montana-offer:focus-within .montana-offer__photo img,
	.montana-room:hover .wp-block-cover__image-background,
	.montana-room:focus-within .wp-block-cover__image-background {
		transform: none;
	}

	.wp-block-gallery.montana-strip > .wp-block-image::after,
	.montana-room__link {
		transition: none;
	}
}
