/**
 * HikingDreams component layer.
 *
 * The Kadence Customizer remains the source of truth for header/footer layout.
 * These styles provide the brand tokens and the domain-specific components.
 */

:root {
	--hd-charcoal: #35403e;
	--hd-charcoal-deep: #202927;
	--hd-sand: #c7ad82;
	--hd-sand-dark: #8b6f43;
	--hd-sand-light: #eee4d4;
	--hd-alpine: #687b68;
	--hd-alpine-dark: #4d674f;
	--hd-mist: #f5f4ef;
	--hd-stone: #66706d;
	--hd-line: #dfe3df;
	--hd-white: #fff;
	--hd-error: #a63e32;
	--hd-success: #3f6b4a;
	--hd-font-sans: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
	--hd-font-serif: Georgia, "Times New Roman", serif;
	--hd-content: 760px;
	--hd-frame: 1280px;
	--hd-gutter: clamp(1rem, 3vw, 2rem);
	--hd-header-height: 8.55rem;
	--hd-page-image: 42rem;
	--hd-wide: var(--hd-frame);
	--hd-surface-radius: 0.5rem;
	--hd-radius-sm: var(--hd-surface-radius);
	--hd-radius: var(--hd-surface-radius);
	--hd-radius-lg: var(--hd-surface-radius);
	--hd-shadow-sm: 0 0.4rem 1.25rem rgb(32 41 39 / 8%);
	--hd-shadow: 0 1rem 3rem rgb(32 41 39 / 12%);
	--hd-transition: 180ms ease;
	--global-palette1: var(--hd-charcoal);
	--global-palette2: var(--hd-alpine-dark);
	--global-palette3: var(--hd-charcoal-deep);
	--global-palette4: var(--hd-charcoal);
	--global-palette5: var(--hd-stone);
	--global-palette6: #8a918f;
	--global-palette7: var(--hd-sand-light);
	--global-palette8: var(--hd-mist);
	--global-palette9: var(--hd-white);
}

.hikingdreams-site,
.hikingdreams-site button,
.hikingdreams-site input,
.hikingdreams-site select,
.hikingdreams-site textarea {
	font-family: var(--hd-font-sans);
}

.hikingdreams-site {
	background: var(--hd-white);
	color: var(--hd-charcoal);
	font-size: 1rem;
	line-height: 1.65;
}

.hikingdreams-site *,
.hikingdreams-site *::before,
.hikingdreams-site *::after {
	box-sizing: border-box;
}

.hikingdreams-site img {
	height: auto;
	max-width: 100%;
}

.hikingdreams-site .wp-block-image:not(.alignfull) img {
	border-radius: var(--hd-surface-radius);
}

.hikingdreams-site .wp-block-image:not(.alignfull) > a,
.hikingdreams-site .wp-block-image:not(.alignfull) > .wp-lightbox-container,
.hikingdreams-site .wp-block-image.wp-lightbox-container:not(.alignfull) {
	border-radius: var(--hd-surface-radius);
	overflow: hidden;
}

.hikingdreams-site .wp-lightbox-overlay .lightbox-image-container img,
.hikingdreams-site .hd-lightbox__image {
	border-radius: var(--hd-surface-radius);
}

.hikingdreams-site h1,
.hikingdreams-site h2,
.hikingdreams-site h3,
.hikingdreams-site h4,
.hikingdreams-site h5,
.hikingdreams-site h6 {
	color: var(--hd-charcoal-deep);
	font-family: var(--hd-font-sans);
	font-weight: 720;
	-webkit-hyphens: none;
	hyphens: none;
	letter-spacing: -0.025em;
	line-height: 1.13;
	overflow-wrap: normal;
	text-wrap: balance;
	word-break: normal;
}

.hikingdreams-site h1 {
	font-size: clamp(2.35rem, 1.78rem + 2.75vw, 4.5rem);
}

.hikingdreams-site h2 {
	font-size: clamp(1.85rem, 1.51rem + 1.65vw, 3rem);
}

.hikingdreams-site h3 {
	font-size: clamp(1.35rem, 1.19rem + 0.8vw, 1.9rem);
}

.hikingdreams-site h4 {
	font-size: clamp(1.05rem, 1rem + 0.22vw, 1.2rem);
}

.hikingdreams-site a {
	color: var(--hd-alpine-dark);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

.hikingdreams-site a:hover {
	color: var(--hd-charcoal-deep);
}

.hikingdreams-site :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--hd-sand-dark);
	outline-offset: 3px;
}

.hikingdreams-site ::selection {
	background: var(--hd-sand-light);
	color: var(--hd-charcoal-deep);
}

.hd-screen-reader-text,
.hikingdreams-site .screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.hikingdreams-site .skip-link:focus {
	clip: auto !important;
	clip-path: none;
	height: auto;
	left: 1rem;
	padding: 0.8rem 1.1rem;
	top: 1rem;
	width: auto;
	z-index: 100000;
}

/* Kadence header and identity. The logo source is always WordPress Custom Logo. */
.hikingdreams-site .site-header {
	background: var(--hd-charcoal-deep);
	border-bottom: 1px solid rgb(238 228 212 / 18%);
}

.hikingdreams-site #masthead,
.hikingdreams-site #masthead .site-header-row-container-inner,
.hikingdreams-site #masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start):not(.site-header-row-container):not(.site-main-header-wrap),
.hikingdreams-site #masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
	background: var(--hd-charcoal-deep);
}

.hikingdreams-site #masthead .site-container {
	margin-inline: auto;
	max-width: var(--hd-wide);
	padding-inline: var(--hd-gutter);
	width: 100%;
}

.hikingdreams-site #masthead .site-main-header-inner-wrap {
	min-height: var(--hd-header-height);
}

.hikingdreams-site .site-branding a {
	text-decoration: none;
}

.hikingdreams-site .site-branding .custom-logo {
	display: block;
	/* The uploaded inverse PNG preserves the sand `Dreams`; do not recolour it with a CSS filter. */
	height: auto;
	max-height: none;
	max-width: 100%;
	width: 12rem;
}

.hikingdreams-site .site-title {
	font-size: clamp(1.25rem, 1.05rem + 1vw, 1.75rem);
	font-weight: 750;
	letter-spacing: -0.025em;
}

.hikingdreams-site .site-title a {
	color: var(--hd-white);
}

.hikingdreams-site .site-description {
	color: rgb(255 255 255 / 72%);
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hikingdreams-site #masthead .header-navigation .menu > li > a {
	color: var(--hd-white);
	font-size: 0.95rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	position: relative;
	text-decoration: none;
}

.hikingdreams-site #masthead .header-navigation .menu > li > a::after {
	background: var(--hd-sand);
	bottom: 0.55rem;
	content: "";
	height: 2px;
	left: 0.75rem;
	position: absolute;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--hd-transition);
	width: calc(100% - 1.5rem);
}

.hikingdreams-site #masthead .header-navigation .menu > li > a:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

.hikingdreams-site #masthead .header-navigation .menu > li:is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current_page_ancestor) > a::after,
.hikingdreams-site #masthead .header-navigation .menu > li > a[aria-current="page"]::after {
	transform: scaleX(0);
	transform-origin: right;
}

.hikingdreams-site #masthead .header-navigation .menu > li > a:hover,
.hikingdreams-site #masthead .header-navigation .menu > li > a:focus,
.hikingdreams-site #masthead .header-navigation :is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current_page_ancestor) > a,
.hikingdreams-site #masthead .header-navigation .menu > li > a[aria-current="page"],
.hikingdreams-site #masthead .menu-toggle-open:hover,
.hikingdreams-site #masthead .menu-toggle-open:focus {
	color: var(--hd-sand);
}

.hikingdreams-site #masthead .menu-toggle-open {
	color: var(--hd-white);
}

.hikingdreams-site #masthead :where(a, button):focus-visible {
	outline-color: var(--hd-sand);
}

.hikingdreams-site .drawer-inner {
	background: var(--hd-charcoal-deep);
	color: var(--hd-white);
}

.hikingdreams-site .drawer-inner .drawer-toggle,
.hikingdreams-site .mobile-navigation .menu > li > a {
	color: var(--hd-white);
}

.hikingdreams-site .drawer-inner .drawer-toggle:hover,
.hikingdreams-site .drawer-inner .drawer-toggle:focus,
.hikingdreams-site .mobile-navigation .menu > li > a:hover,
.hikingdreams-site .mobile-navigation .menu > li > a:focus,
.hikingdreams-site .mobile-navigation :is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current_page_ancestor) > a,
.hikingdreams-site .mobile-navigation .menu > li > a[aria-current="page"] {
	color: var(--hd-sand);
}

.hikingdreams-site .mobile-navigation :is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current_page_ancestor) > a,
.hikingdreams-site .mobile-navigation .menu > li > a[aria-current="page"] {
	background: rgb(199 173 130 / 12%);
	box-shadow: inset 3px 0 0 var(--hd-sand);
	padding-inline-start: calc(0.5em + 10px);
}

/*
 * Standard editorial pages share the visible header-logo axis. Kadence may be
 * configured with a full-width boxed content shell; these rules keep that
 * flexibility while giving text the same available frame as the homepage
 * mosaics and keeping individual editorial images deliberately compact.
 */
.hikingdreams-standard-page .entry-hero .entry-hero-container-inner {
	background: var(--hd-sand-light);
	padding-block: 0;
}

.hikingdreams-standard-page .entry-hero .hero-section-overlay {
	background: transparent;
	opacity: 0;
}

.hikingdreams-standard-page .entry-hero .hero-container.site-container,
.hikingdreams-standard-page .content-area > .content-container.site-container {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--hd-frame);
	padding-inline: var(--hd-gutter);
	width: 100%;
}

.hikingdreams-standard-page .entry-hero.page-hero-section .entry-header {
	align-items: flex-start;
	justify-content: center;
	min-height: var(--hd-header-height);
	padding-block: 0;
	text-align: left;
	width: 100%;
}

.hikingdreams-standard-page .entry-hero .entry-title,
.hikingdreams-standard-page .single-content > h1:first-child {
	font-size: clamp(2rem, 1.72rem + 1.1vw, 2.85rem);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.12;
	max-width: 28ch;
}

.hikingdreams-standard-page .entry-hero .entry-title {
	margin: 0;
	text-align: left;
	width: 100%;
}

.hikingdreams-standard-page.hikingdreams-page-english .entry-hero .entry-title {
	max-width: none;
	text-wrap: wrap;
	width: 100%;
}

.hikingdreams-standard-page.hikingdreams-page-english .single-content > h1:first-child {
	max-width: none;
	text-wrap: wrap;
	width: 100%;
}

.hikingdreams-standard-page .content-area {
	margin-block: 0;
}

.hikingdreams-standard-page .entry.single-entry {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

.hikingdreams-standard-page .entry-content-wrap {
	padding: clamp(2rem, 3.5vw, 3.5rem) 0 clamp(3.5rem, 5.5vw, 5.5rem);
}

.hikingdreams-standard-page .single-content {
	font-size: clamp(1rem, 0.98rem + 0.1vw, 1.075rem);
	line-height: 1.72;
}

.hikingdreams-standard-page .single-content > :where(p, ul, ol, blockquote, h1, h2, h3, h4, h5, h6, .wp-block-buttons, .wp-block-separator) {
	margin-inline: 0;
	max-width: 100%;
	width: 100%;
}

.hikingdreams-standard-page .single-content > h1:first-child {
	margin-block: 0 clamp(2rem, 3.5vw, 3.25rem);
}

.hikingdreams-standard-page .single-content > h2 {
	font-size: clamp(1.5rem, 1.32rem + 0.72vw, 2.05rem);
	margin-block: clamp(2.25rem, 3.25vw, 3.25rem) 0.75rem;
}

.hikingdreams-site.hikingdreams-standard-page .single-content h3 {
	color: #9b8a6d;
}

.hikingdreams-standard-page .single-content > h3 {
	font-size: clamp(1.25rem, 1.15rem + 0.4vw, 1.55rem);
	margin-block: clamp(1.75rem, 2.75vw, 2.75rem) 0.65rem;
}

.hikingdreams-standard-page .single-content > h4 {
	font-size: clamp(1.05rem, 1rem + 0.22vw, 1.2rem);
	font-weight: 700;
	letter-spacing: -0.015em;
	margin-block: clamp(1.35rem, 2vw, 2rem) 0.4rem;
}

.hikingdreams-standard-page .single-content > p {
	margin-block: 0 0.95rem;
}

.hikingdreams-standard-page .single-content > :where(ul, ol) {
	margin-block: 0 1.25rem;
}

.hikingdreams-standard-page .single-content > .wp-block-image:not(.alignwide):not(.alignfull) {
	margin: clamp(1.25rem, 2vw, 2rem) 0 clamp(1.75rem, 2.75vw, 2.75rem);
	max-width: min(100%, var(--hd-page-image));
	width: fit-content;
}

.hikingdreams-standard-page .single-content > .wp-block-image:not(.alignwide):not(.alignfull) img {
	border-radius: var(--hd-surface-radius);
	box-shadow: var(--hd-shadow-sm);
	display: block;
	max-height: 36rem;
	object-fit: contain;
	width: auto;
}

.hikingdreams-standard-page .single-content > .wp-block-image.hd-about-photo {
	max-width: min(100%, 38rem);
}

.hikingdreams-standard-page .single-content > .wp-block-image.hd-about-photo img {
	max-height: 34rem;
}

/* Alternating editorial rows on the "Über mich" page. */
.hikingdreams-standard-page .single-content > .hd-about-row {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block: 0;
}

.hikingdreams-standard-page .single-content > .hd-about-row + .hd-about-row {
	margin-block-start: clamp(3rem, 6vw, 6rem);
}

.hikingdreams-standard-page .single-content > .hd-about-row:last-of-type {
	margin-block-end: clamp(2.5rem, 5vw, 4.5rem);
}

.hikingdreams-standard-page .hd-about-row__content,
.hikingdreams-standard-page .hd-about-row__media {
	grid-row: 1;
	min-width: 0;
}

.hikingdreams-standard-page .hd-about-row__content,
.hikingdreams-standard-page .hd-about-row--media-right .hd-about-row__content {
	grid-column: 1;
}

.hikingdreams-standard-page .hd-about-row__media,
.hikingdreams-standard-page .hd-about-row--media-right .hd-about-row__media {
	grid-column: 2;
}

.hikingdreams-standard-page .hd-about-row--media-left .hd-about-row__content {
	grid-column: 2;
}

.hikingdreams-standard-page .hd-about-row--media-left .hd-about-row__media {
	grid-column: 1;
}

.hikingdreams-standard-page .hd-about-row__content > h2 {
	font-size: clamp(1.5rem, 1.32rem + 0.72vw, 2.05rem);
	margin-block: 0 0.75rem;
}

.hikingdreams-standard-page .hd-about-row__content > p {
	margin-block: 0 0.95rem;
}

.hikingdreams-standard-page .hd-about-row__content > :last-child {
	margin-block-end: 0;
}

.hikingdreams-standard-page .hd-about-row__media > .wp-block-image {
	align-items: center;
	display: flex;
	justify-content: center;
	margin: 0;
	width: 100%;
}

.hikingdreams-standard-page .hd-about-row__media .hd-about-photo img {
	border-radius: var(--hd-surface-radius);
	box-shadow: var(--hd-shadow-sm);
	display: block;
	height: auto;
	max-height: 34rem;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

@media (min-width: 783px) {
	.hikingdreams-standard-page .hd-about-row--media-left .hd-about-row__media > .wp-block-image {
		align-items: flex-start;
		justify-content: flex-start;
	}
}

@media (max-width: 782px) {
	.hikingdreams-standard-page .single-content > .hd-about-row {
		gap: clamp(1.5rem, 5vw, 2.25rem);
		grid-template-columns: minmax(0, 1fr);
	}

	.hikingdreams-standard-page .single-content > .hd-about-row + .hd-about-row {
		margin-block-start: clamp(3rem, 9vw, 4.5rem);
	}

	.hikingdreams-standard-page .hd-about-row__content,
	.hikingdreams-standard-page .hd-about-row--media-left .hd-about-row__content,
	.hikingdreams-standard-page .hd-about-row--media-right .hd-about-row__content {
		grid-column: 1;
		grid-row: 1;
	}

	.hikingdreams-standard-page .hd-about-row__media,
	.hikingdreams-standard-page .hd-about-row--media-left .hd-about-row__media,
	.hikingdreams-standard-page .hd-about-row--media-right .hd-about-row__media {
		grid-column: 1;
		grid-row: 2;
	}

	.hikingdreams-standard-page .hd-about-row__media .hd-about-photo img {
		max-height: none;
		width: 100%;
	}

	/* Keep the English contact heading between Gaby's photo and the form. */
	body.hikingdreams-site.hikingdreams-page-english #wrapper .single-content > .hd-about-row {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	body.hikingdreams-site.hikingdreams-page-english #wrapper .hd-about-row__content {
		display: contents;
	}

	body.hikingdreams-site.hikingdreams-page-english #wrapper .hd-about-row__media {
		margin-block: clamp(1rem, 4vw, 1.5rem) clamp(1.5rem, 5vw, 2.25rem);
		order: 1;
	}

	body.hikingdreams-site.hikingdreams-page-english #wrapper .hd-about-row__content > h3:last-child {
		order: 2;
	}
}

@media (max-width: 600px) {
	.hikingdreams-standard-page .entry-content-wrap {
		padding-block: 2rem 4rem;
	}

	.hikingdreams-standard-page .single-content > .wp-block-image:not(.alignwide):not(.alignfull),
	.hikingdreams-standard-page .single-content > .wp-block-image.hd-about-photo {
		max-width: 100%;
		width: 100%;
	}

	.hikingdreams-standard-page .single-content > .wp-block-image:not(.alignwide):not(.alignfull) img,
	.hikingdreams-standard-page .single-content > .wp-block-image.hd-about-photo img {
		max-height: none;
		width: 100%;
	}
}

/* The homepage hero starts directly below the header without Kadence's page shell gap. */
.hikingdreams-site.home .content-area {
	margin-block: 0;
}

.hikingdreams-site.home .entry-content-wrap {
	padding: 0;
}

.hikingdreams-site.home .entry.single-entry {
	box-shadow: none;
}

.hikingdreams-site.home .hd-hero-slider.alignfull {
	left: 50%;
	margin-inline: -50vw;
	max-width: 100vw;
	width: 100vw;
}

/*
 * Homepage bands share the header and hero axis. The outer groups span the
 * viewport while their inner frame always retains the same responsive gutter.
 */
.hikingdreams-site.home .hd-home-band {
	left: 50%;
	margin-block: 0;
	margin-inline: -50vw;
	max-width: 100vw;
	padding-block: clamp(3rem, 5vw, 5rem);
	position: relative;
	width: 100vw;
}

.hd-home-band--intro,
.hd-home-band--offers,
.hd-home-band--hiking,
.hd-home-band--cta {
	background: var(--hd-white);
}

.hd-home-band--program,
.hd-home-band--snowshoe {
	background: var(--hd-mist);
}

.hd-home-band--retrospectives {
	background: var(--hd-sand-light);
}

.hikingdreams-site.home .hd-home-band--cta {
	padding-block: clamp(2.5rem, 4vw, 4rem);
}

.hd-home-frame {
	box-sizing: border-box;
	margin-inline: auto !important;
	max-width: min(100vw, var(--hd-frame)) !important;
	padding-inline: var(--hd-gutter);
	width: 100%;
}

/*
 * The pattern deliberately uses a default Gutenberg layout. These rules also
 * neutralise a constrained layout should WordPress retain one while migrating
 * an already inserted copy of the pattern.
 */
.hikingdreams-site .hd-home-frame.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-inline: 0 !important;
	max-width: none;
}

.hd-home-frame > :first-child,
.hd-home-frame > .wp-block-group__inner-container > :first-child {
	margin-block-start: 0;
}

.hd-home-frame > :last-child,
.hd-home-frame > .wp-block-group__inner-container > :last-child {
	margin-block-end: 0;
}

.hd-home-frame > h2,
.hd-home-frame > .wp-block-group__inner-container > h2 {
	margin-block: 0 clamp(1.5rem, 2.5vw, 2.25rem);
}

.hd-home-prose,
.hd-home-prose.hd-prose {
	max-width: 65ch;
}

.hd-home-prose > :first-child {
	margin-block-start: 0;
}

.hd-home-prose > :last-child {
	margin-block-end: 0;
}

/* Compact personal introduction with text first in both visual and DOM order. */
.hd-home-intro.wp-block-media-text {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 3fr) minmax(18rem, 2fr);
}

.hd-home-intro .wp-block-media-text__content {
	grid-column: 1;
	grid-row: 1;
	padding: 0;
}

.hd-home-intro .wp-block-media-text__media {
	background: var(--hd-mist);
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	overflow: hidden;
}

.hd-home-intro .wp-block-media-text__media,
.hd-home-intro .wp-block-media-text__media img {
	aspect-ratio: 4 / 3;
	border-radius: var(--hd-surface-radius);
}

.hd-home-intro .wp-block-media-text__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: 50% 35%;
	width: 100%;
}

/*
 * WordPress stretches a cropped Media & Text image to the text row height.
 * In the intermediate two-column layout that height can make the 4:3 media
 * wider than its 40% grid track. Derive the height from the track width there.
 */
@media (min-width: 601px) and (max-width: 1279px) {
	.hikingdreams-site.home .hd-home-intro.wp-block-media-text.is-image-fill-element > .wp-block-media-text__media {
		box-sizing: border-box;
		height: auto;
		justify-self: stretch;
		max-width: 100%;
		min-height: 0;
		min-width: 0;
		width: 100%;
	}
}

.hd-home-intro__content h2 {
	margin-block: 0 1.25rem;
}

.hd-home-intro__content .wp-block-buttons {
	margin-block-start: 1.75rem;
}

/* Dynamic tour teasers use the theme's existing tour-card component. */
.hd-home-dynamic {
	margin-block-start: clamp(1.5rem, 2.5vw, 2.25rem);
}

.hd-home-dynamic .hd-empty {
	background: var(--hd-white);
	border: 1px solid var(--hd-line);
	border-inline-start: 4px solid var(--hd-sand);
	border-radius: var(--hd-surface-radius);
	box-shadow: var(--hd-shadow-sm);
	color: var(--hd-charcoal);
	margin: 0;
	max-width: 42rem;
	padding: 1rem 1.25rem;
}

.hd-home-dynamic .hd-empty > :first-child {
	margin-block-start: 0;
}

.hd-home-dynamic .hd-empty > :last-child {
	margin-block-end: 0;
}

/*
 * Image-led activity bands. Their galleries deliberately override the Core
 * Gallery flex widths (including inline figure widths) with a stable editorial
 * grid. The first image is the visual anchor; all six images remain large
 * enough to read on a wide screen.
 */
.hd-home-activity__header {
	margin-block-end: clamp(1.75rem, 3vw, 2.75rem);
}

.hd-home-activity__copy > :first-child {
	margin-block-start: 0;
}

.hd-home-activity__copy > :last-child {
	margin-block-end: 0;
}

.hd-home-activity__copy h2 {
	margin-block: 0 0.75rem;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic {
	--wp--style--unstable-gallery-gap: clamp(0.75rem, 1.25vw, 1.1rem);
	display: grid !important;
	gap: clamp(0.75rem, 1.25vw, 1.1rem) !important;
	grid-auto-flow: dense;
	grid-auto-rows: clamp(10rem, 13vw, 13.5rem);
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	margin: 0;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image {
	aspect-ratio: auto !important;
	background: var(--hd-sand-light);
	border: 1px solid rgb(32 41 39 / 10%);
	border-radius: var(--hd-surface-radius);
	box-shadow: var(--hd-shadow-sm);
	box-sizing: border-box;
	flex-basis: auto !important;
	grid-column: span 4;
	height: 100% !important;
	margin: 0 !important;
	min-width: 0;
	overflow: hidden;
	position: relative;
	width: auto !important;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image:first-child {
	grid-column: span 8;
	grid-row: span 2;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image:nth-child(n + 7) {
	grid-column: span 3;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image :where(a, picture) {
	display: block;
	height: 100%;
	width: 100%;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image img {
	aspect-ratio: auto !important;
	display: block;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center;
	transition: filter var(--hd-transition), transform 500ms ease;
	width: 100% !important;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image figcaption {
	display: none;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image:focus-within {
	box-shadow: 0 0 0 3px var(--hd-sand-dark), 0 0 0 6px var(--hd-white), var(--hd-shadow);
}

.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image :where(a, button):focus-visible {
	outline: 3px solid var(--hd-sand-dark);
	outline-offset: -5px;
}

@media (hover: hover) and (pointer: fine) {
	/*
	 * The zoom cursor already communicates the native WordPress lightbox.
	 * Keep its trigger in the focus and click path, but do not duplicate that
	 * affordance with the small fullscreen icon during mouse hover.
	 */
	.hikingdreams-site .wp-lightbox-container .lightbox-trigger:not(:focus-visible) {
		cursor: zoom-in;
		opacity: 0;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image:hover img {
		filter: saturate(1.04);
		transform: scale(1.025);
	}
}

.hd-home-impressions-link {
	margin-block-start: clamp(1.5rem, 2.5vw, 2.25rem);
}

.hd-impressions-intro,
.hd-impressions-section {
	margin-inline: 0;
	max-width: none;
	width: 100%;
}

.hd-impressions-section {
	margin-block-start: clamp(3rem, 5vw, 4.5rem);
	scroll-margin-block-start: 7rem;
}

.hd-impressions-section > :first-child {
	margin-block-start: 0;
}

.hikingdreams-standard-page .single-content .hd-impressions-section > h2 {
	font-size: clamp(1.5rem, 1.32rem + 0.72vw, 2.05rem);
	margin-block: 0 0.75rem;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid {
	--wp--style--unstable-gallery-gap: clamp(0.65rem, 1.25vw, 1rem);
	display: grid !important;
	gap: clamp(0.65rem, 1.25vw, 1rem) !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	margin-block-start: clamp(1.5rem, 3vw, 2.25rem);
}

.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid > .wp-block-image {
	aspect-ratio: 3 / 2 !important;
	background: var(--hd-sand-light);
	border: 1px solid rgb(32 41 39 / 10%);
	border-radius: var(--hd-surface-radius);
	box-shadow: none;
	box-sizing: border-box;
	flex-basis: auto !important;
	height: auto !important;
	margin: 0 !important;
	min-width: 0;
	overflow: hidden;
	position: relative;
	width: auto !important;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid > .wp-block-image :where(a, picture) {
	display: block;
	height: 100%;
	width: 100%;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid > .wp-block-image img {
	aspect-ratio: 3 / 2 !important;
	display: block;
	height: 100% !important;
	object-fit: cover !important;
	transition: filter var(--hd-transition), transform 500ms ease;
	width: 100% !important;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid > .wp-block-image figcaption {
	background: linear-gradient(transparent, rgb(20 28 27 / 82%));
	bottom: 0;
	box-sizing: border-box;
	color: var(--hd-white);
	font-size: clamp(0.72rem, 0.68rem + 0.2vw, 0.86rem);
	inset-inline: 0;
	line-height: 1.35;
	margin: 0;
	padding: 2rem 0.75rem 0.65rem;
	position: absolute;
	text-align: start;
}

.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid > .wp-block-image:focus-within {
	box-shadow: 0 0 0 3px var(--hd-sand-dark), 0 0 0 6px var(--hd-white), var(--hd-shadow);
}

.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid > .wp-block-image :where(a, button):focus-visible {
	outline: 3px solid var(--hd-sand-dark);
	outline-offset: -5px;
}

@media (hover: hover) and (pointer: fine) {
	.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid > .wp-block-image:hover img {
		filter: saturate(1.04);
		transform: scale(1.025);
	}
}

@media (max-width: 1024px) {
	.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 782px) {
	.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid {
		-webkit-overflow-scrolling: touch;
		grid-auto-columns: min(82vw, 22rem);
		grid-auto-flow: column;
		grid-auto-rows: auto;
		grid-template-columns: none !important;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		padding-block-end: 0.75rem;
		scroll-snap-type: inline proximity;
		scrollbar-color: var(--hd-sand) rgb(56 64 64 / 14%);
		scrollbar-width: thin;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid > .wp-block-image {
		grid-column: auto;
		grid-row: auto;
		scroll-snap-align: start;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid::-webkit-scrollbar {
		height: 0.5rem;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid::-webkit-scrollbar-track {
		background: rgb(56 64 64 / 14%);
		border-radius: 999px;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid::-webkit-scrollbar-thumb {
		background: var(--hd-sand);
		border-radius: 999px;
	}
}

@media (max-width: 600px) {
	.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid > .wp-block-image figcaption {
		font-size: 0.68rem;
		padding: 1.5rem 0.55rem 0.45rem;
	}
}

/* Three image-led offer cards; no text is overlaid on the photography. */
.hd-home-offer-grid {
	display: grid;
	gap: clamp(1.25rem, 2.5vw, 2rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hd-home-offer-card,
.hd-home-offer-card > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.hd-home-offer-card {
	background: var(--hd-white);
	border: 1px solid var(--hd-line);
	border-radius: var(--hd-surface-radius);
	box-shadow: var(--hd-shadow-sm);
	overflow: hidden;
	transition: box-shadow var(--hd-transition), transform var(--hd-transition);
}

.hd-home-offer-card:hover,
.hd-home-offer-card:focus-within {
	box-shadow: var(--hd-shadow);
	transform: translateY(-3px);
}

.hd-home-offer-card__media {
	aspect-ratio: 3 / 2;
	background: var(--hd-sand-light);
	margin: 0;
	min-height: 0 !important;
	overflow: hidden;
}

.hd-home-offer-card__media :where(img, .wp-block-cover__image-background) {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
	width: 100%;
}

.hd-home-offer-card:hover .hd-home-offer-card__media :where(img, .wp-block-cover__image-background),
.hd-home-offer-card:focus-within .hd-home-offer-card__media :where(img, .wp-block-cover__image-background) {
	transform: scale(1.025);
}

.hd-home-offer-card__body,
.hd-home-offer-card__body > .wp-block-group__inner-container {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.hd-home-offer-card__body {
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
}

.hd-home-offer-card__body h3 {
	font-size: clamp(1.3rem, 1.18rem + 0.6vw, 1.7rem);
	margin-block: 0 0.75rem;
}

.hd-home-offer-card__body p {
	color: var(--hd-stone);
	margin-block: 0 1.25rem;
}

.hd-home-offer-card__actions {
	margin-block-start: auto;
}

/* Compact sand contact panel before the footer. */
.hd-home-cta {
	background: var(--hd-sand-light);
	border: 1px solid rgb(139 111 67 / 24%);
	border-radius: var(--hd-surface-radius);
	box-shadow: var(--hd-shadow-sm);
	padding: clamp(1.75rem, 3vw, 3rem);
}

.hd-home-cta__layout {
	align-items: center;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 7fr) minmax(12rem, 3fr);
	margin: 0;
}

.hd-home-cta__content > :first-child {
	margin-block-start: 0;
}

.hd-home-cta__content > :last-child {
	margin-block-end: 0;
}

.hd-home-cta__content h2 {
	font-size: clamp(1.65rem, 1.4rem + 1.25vw, 2.5rem);
	margin-block: 0 0.75rem;
}

.hd-home-cta__content .hd-kicker {
	margin-block-end: 0.65rem;
}

.hd-home-cta__action {
	justify-self: end;
}

.hd-home-cta__action .wp-block-buttons {
	justify-content: flex-end;
	margin: 0;
}

/* Reusable layout and editorial utilities. */
.hd-section {
	padding-block: clamp(3.5rem, 2.65rem + 4.25vw, 7rem);
}

.hd-section--compact {
	padding-block: clamp(2.25rem, 1.7rem + 2.75vw, 4.5rem);
}

.hd-section--mist {
	background: var(--hd-mist);
}

.hd-section--sand {
	background: var(--hd-sand-light);
}

.hd-section--dark,
.is-style-hd-section-dark {
	background: var(--hd-charcoal-deep);
	color: rgb(255 255 255 / 84%);
	padding: clamp(2rem, 4vw, 4rem);
}

.hd-section--dark :where(h1, h2, h3, h4, a),
.is-style-hd-section-dark :where(h1, h2, h3, h4, a) {
	color: var(--hd-white);
}

.hd-container {
	margin-inline: auto;
	max-width: var(--hd-wide);
	padding-inline: clamp(1rem, 3vw, 2rem);
	width: 100%;
}

.hd-prose {
	max-width: var(--hd-content);
}

.hd-prose > * + * {
	margin-block-start: 1.4em;
}

.hd-kicker,
.hd-eyebrow {
	color: var(--hd-alpine-dark);
	display: block;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.11em;
	line-height: 1.3;
	margin-block-end: 0.75rem;
	text-transform: uppercase;
}

.hd-lead {
	color: var(--hd-stone);
	font-size: clamp(1.1rem, 1.04rem + 0.3vw, 1.3rem);
	line-height: 1.6;
}

.hd-panel,
.is-style-hd-panel {
	background: var(--hd-white);
	border: 1px solid var(--hd-line);
	border-radius: var(--hd-surface-radius);
	box-shadow: var(--hd-shadow-sm);
	padding: clamp(1.25rem, 1rem + 1.25vw, 2.25rem);
}

.hd-notice {
	background: var(--hd-mist);
	border-inline-start: 4px solid var(--hd-alpine);
	border-radius: var(--hd-surface-radius);
	color: var(--hd-charcoal);
	padding: 1rem 1.25rem;
}

.hd-notice--sand {
	background: #faf5eb;
	border-inline-start-color: var(--hd-sand-dark);
}

.hd-divider {
	background: var(--hd-sand);
	border: 0;
	height: 3px;
	margin: 2.5rem 0;
	width: 4rem;
}

/*
 * Buttons: shared with core and Kadence blocks. The Gutenberg anchor stays
 * outside `:where()` so its white text outranks the generic link colour.
 */
.hikingdreams-site .wp-block-button__link,
.hikingdreams-site :where(.button, .kb-button, .hd-button, input[type="submit"]),
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form button.forminator-button {
	align-items: center;
	background: var(--hd-charcoal);
	border: 2px solid var(--hd-charcoal);
	border-radius: 999px;
	box-shadow: none;
	color: var(--hd-white);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--hd-font-sans);
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	gap: 0.55rem;
	justify-content: center;
	letter-spacing: normal;
	line-height: 1.2;
	min-height: 2.9rem;
	padding: 0.78rem 1.4rem;
	text-decoration: none;
	text-transform: none;
	transition: background-color var(--hd-transition), border-color var(--hd-transition), color var(--hd-transition), transform var(--hd-transition);
}

/*
 * Keep the button text white with selectors that outrank the generic
 * `.hikingdreams-site a:hover` link colour.
 */
.hikingdreams-site .wp-block-button__link:hover,
.hikingdreams-site .button:hover,
.hikingdreams-site .kb-button:hover,
.hikingdreams-site .hd-button:hover,
.hikingdreams-site input[type="submit"]:hover,
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form button.forminator-button:hover {
	background: var(--hd-alpine-dark);
	border-color: var(--hd-alpine-dark);
	color: var(--hd-white);
	transform: translateY(-1px);
}

.hikingdreams-standard-page :where(.wp-block-button__link, .button, .kb-button, .hd-button, input[type="submit"]):is(:hover, :focus-visible),
body.hikingdreams-site.hikingdreams-standard-page #wrapper .forminator-ui.forminator-custom-form button.forminator-button:is(:hover, :focus-visible) {
	box-shadow: 0 1px 4px rgb(0 0 0 / 60%);
	color: var(--hd-white);
}

.hikingdreams-standard-page .wp-block-button__link:active,
.hikingdreams-standard-page .button:active,
.hikingdreams-standard-page .kb-button:active,
.hikingdreams-standard-page .hd-button:active,
.hikingdreams-standard-page input[type="submit"]:active,
body.hikingdreams-site.hikingdreams-standard-page #wrapper .forminator-ui.forminator-custom-form button.forminator-button:active {
	background: var(--hd-alpine-dark);
	border-color: var(--hd-alpine-dark);
	box-shadow: 0 1px 4px rgb(0 0 0 / 60%);
	color: var(--hd-white);
	transform: none;
}

.hikingdreams-site .is-style-hd-secondary .wp-block-button__link,
.hikingdreams-site .hd-button--secondary {
	background: transparent;
	border-color: currentcolor;
	color: var(--hd-charcoal);
}

.hikingdreams-site .is-style-hd-secondary .wp-block-button__link:hover,
.hikingdreams-site .hd-button--secondary:hover {
	background: var(--hd-charcoal);
	border-color: var(--hd-charcoal);
	color: var(--hd-white);
}

.hikingdreams-site .hd-home-cta .wp-block-button__link,
.hikingdreams-site .hd-home-cta .wp-block-button__link:link,
.hikingdreams-site .hd-home-cta .wp-block-button__link:visited {
	color: var(--hd-white);
}

.hikingdreams-site .hd-home-cta .wp-block-button__link:is(:hover, :active) {
	background: var(--hd-alpine-dark);
	border-color: var(--hd-alpine-dark);
	box-shadow: 0 1px 4px rgb(0 0 0 / 60%);
	color: var(--hd-white);
}

.hikingdreams-site .hd-home-cta .wp-block-button__link:focus-visible {
	box-shadow: 0 1px 4px rgb(0 0 0 / 60%);
	color: var(--hd-white);
}

.hikingdreams-site .hd-home-cta .wp-block-button__link:active {
	transform: none;
}

/* Accessible homepage hero slider. */
.hd-hero-slider {
	--hd-hero-admin-bar-height: 0px;
	background: var(--hd-charcoal-deep);
	color: var(--hd-white);
	display: grid;
	isolation: isolate;
	min-height: clamp(32rem, calc(100vh - var(--hd-header-height) - var(--hd-hero-admin-bar-height)), 52rem);
	min-height: clamp(32rem, calc(100svh - var(--hd-header-height) - var(--hd-hero-admin-bar-height)), 52rem);
	overflow: hidden;
	position: relative;
}

.admin-bar .hd-hero-slider {
	--hd-hero-admin-bar-height: 32px;
}

.hd-hero-slider__slides {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
	z-index: 0;
}

.hd-hero-slider__slides > .wp-block-group__inner-container {
	height: 100%;
	position: relative;
	width: 100%;
}

.hd-hero-slide {
	grid-area: 1 / 1;
	height: 100%;
	inset: 0;
	min-height: 0 !important;
	overflow: hidden;
	position: absolute;
	width: 100%;
	z-index: 0;
}

.hd-hero-slide:not(:first-child) {
	display: none;
}

.hd-hero-slider.is-enhanced .hd-hero-slide:first-child:not(.is-active) {
	display: none;
}

.hd-hero-slider.is-enhanced .hd-hero-slide.is-active {
	display: grid;
}

.hd-hero-slide :where(img, .wp-block-cover__image-background) {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

/* Fallback focal points for the fixed Brüsti, St. Luc and winter slide order. */
.hd-hero-slide:nth-child(1) :where(img, .wp-block-cover__image-background) {
	object-position: 50% 42%;
}

.hd-hero-slide:nth-child(2) :where(img, .wp-block-cover__image-background) {
	object-position: 53% 60%;
}

.hd-hero-slide:nth-child(3) :where(img, .wp-block-cover__image-background) {
	object-position: 50% 60%;
}

.hd-hero-slide .wp-block-cover__background,
.hd-hero-slide .wp-block-cover__inner-container {
	display: none;
}

.hd-hero-slider__content {
	--hd-hero-content-axis: max(var(--hd-gutter), calc((100% - var(--hd-wide)) / 2 + var(--hd-gutter)));
	--hd-hero-panel-border-width: 1px;
	--hd-hero-panel-bottom-offset: clamp(1.25rem, 3vw, 2rem);
	--hd-hero-panel-padding: clamp(1.1rem, 0.99rem + 0.55vw, 1.5rem);
	--hd-hero-panel-edge: max(0.5rem, calc(var(--hd-hero-content-axis) - var(--hd-hero-panel-padding)));
	align-self: end;
	background: rgb(32 41 39 / 97%);
	border: var(--hd-hero-panel-border-width) solid rgb(255 255 255 / 16%);
	border-radius: var(--hd-surface-radius);
	box-shadow: 0 0.75rem 2rem rgb(20 28 26 / 24%);
	color: var(--hd-white);
	display: flex;
	flex-direction: column;
	gap: clamp(0.75rem, 0.68rem + 0.35vw, 1rem);
	grid-area: 1 / 1;
	justify-content: flex-start;
	justify-self: start;
	margin-bottom: var(--hd-hero-panel-bottom-offset);
	margin-inline-start: var(--hd-hero-panel-edge);
	max-width: min(28rem, calc(100% - var(--hd-hero-panel-edge) - var(--hd-hero-content-axis)));
	min-height: 0;
	padding-block: var(--hd-hero-panel-padding);
	padding-inline-end: var(--hd-hero-panel-padding);
	padding-inline-start: max(0px, calc(var(--hd-hero-content-axis) - var(--hd-hero-panel-edge) - var(--hd-hero-panel-border-width)));
	position: relative;
	width: fit-content;
	z-index: 2;
}

/*
 * Kadence changes the bottom margin of the last content group. Slider
 * enhancement appends controls after this panel, so keep its position
 * independent of the resulting :last-child state.
 */
.hikingdreams-site.home .single-content .hd-hero-slider__content {
	margin-bottom: var(--hd-hero-panel-bottom-offset);
}

.hd-hero-slider__content > * {
	margin-inline: 0 !important;
	max-width: none;
}

.hikingdreams-site .hd-hero-slider__content :where(h1, h2, p) {
	color: var(--hd-white);
}

.hikingdreams-site .hd-hero-slider__content h1 {
	color: var(--hd-white);
	font-size: clamp(1.15rem, 1.08rem + 0.35vw, 1.4rem);
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.45;
	margin-block: 0;
	text-shadow: 0 1px 0.75rem rgb(0 0 0 / 28%);
}

.hikingdreams-site .hd-hero-slider__content h1 .has-sand-color {
	color: var(--hd-sand);
}

.hikingdreams-site .hd-hero-slider__content .hd-kicker {
	display: none;
}

.hd-hero-slider__content > p:empty {
	display: none;
}

.hd-hero-slider__content p {
	font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.3rem);
	font-weight: 400;
	margin-block-end: 0;
	max-width: 36rem;
	text-shadow: 0 1px 0.75rem rgb(0 0 0 / 28%);
}

.hd-hero-slider__controls {
	align-items: center;
	align-self: end;
	background: rgb(20 28 26 / 74%);
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: 999px;
	bottom: clamp(1.25rem, 3vw, 2rem);
	display: flex;
	gap: 0.25rem;
	justify-self: end;
	margin-inline-end: max(clamp(1rem, 3vw, 2rem), calc((100vw - var(--hd-wide)) / 2 + 2rem));
	padding: 0.35rem;
	position: absolute;
	transition: opacity var(--hd-transition), transform var(--hd-transition);
	z-index: 4;
}

.hd-hero-slider.is-enhanced .hd-hero-slider__controls {
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.5rem);
}

.hd-hero-slider.is-enhanced:focus-within .hd-hero-slider__controls,
.hd-hero-slider.is-enhanced.is-controls-visible .hd-hero-slider__controls {
	opacity: 1;
	pointer-events: auto;
	transform: none;
}

@media (any-hover: hover) and (any-pointer: fine) {
	.hd-hero-slider.is-enhanced:hover .hd-hero-slider__controls {
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}
}

.hd-hero-slider__button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 50%;
	color: var(--hd-white);
	cursor: pointer;
	display: inline-flex;
	font-size: 1.25rem;
	height: 2.5rem;
	justify-content: center;
	line-height: 1;
	padding: 0;
	transition: background-color var(--hd-transition), color var(--hd-transition);
	width: 2.5rem;
}

.hd-hero-slider__button:hover {
	background: var(--hd-white);
	color: var(--hd-charcoal-deep);
}

.hd-hero-slider__button:disabled {
	background: transparent;
	color: rgb(255 255 255 / 58%);
	cursor: not-allowed;
}

.hd-hero-slider__dots {
	align-items: center;
	display: flex;
	gap: 0.15rem;
}

.hd-hero-slider__dot {
	background: transparent;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	height: 2rem;
	padding: 0;
	position: relative;
	width: 2rem;
}

.hd-hero-slider__dot::after {
	background: rgb(255 255 255 / 48%);
	border-radius: 999px;
	content: "";
	height: 0.45rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: background-color var(--hd-transition), width var(--hd-transition);
	width: 0.45rem;
}

.hd-hero-slider__dot[aria-current="true"]::after {
	background: var(--hd-sand);
	width: 1.2rem;
}

/* Tour list: exactly one editorial image per card. */
.hd-tour-grid,
.hd-tour-list,
.hd-tours-grid {
	display: grid;
	gap: clamp(1.25rem, 1rem + 1.25vw, 2rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.hd-tour-card {
	background: var(--hd-white);
	border: 1px solid rgb(32 41 39 / 18%);
	border-radius: var(--hd-surface-radius);
	box-shadow: 0 0.5rem 1.5rem rgb(32 41 39 / 11%);
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	position: relative;
	transition: box-shadow var(--hd-transition), transform var(--hd-transition);
}

.hd-tour-card:hover,
.hd-tour-card:focus-within {
	box-shadow: var(--hd-shadow);
	transform: translateY(-3px);
}

.hd-tour-card__media,
.hd-tour-card__image-wrap,
.hd-tour-list-image,
.hd-tour-card__image {
	aspect-ratio: 3 / 2;
	background: var(--hd-sand-light);
	display: block;
	overflow: hidden;
	position: relative;
}

.hd-tour-card__media :where(img, .hd-tour-card__image),
.hd-tour-card__image-wrap img,
.hd-tour-list-image img,
.hd-tour-card__image img,
.hd-tour-card__image .hd-tour-card__placeholder {
	aspect-ratio: 3 / 2;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
	width: 100%;
}

.hd-tour-card:hover .hd-tour-card__media img,
.hd-tour-card:focus-within .hd-tour-card__media img,
.hd-tour-card:hover .hd-tour-card__image img,
.hd-tour-card:focus-within .hd-tour-card__image img {
	transform: scale(1.025);
}

.hd-tour-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.1rem, 0.95rem + 0.75vw, 1.6rem);
}

.hd-tour-card__body > .hd-status {
	margin-block-end: 5px;
}

.hd-tour-card__body > .hd-status + .hd-tour-card__date {
	margin-block-start: 0;
}

.hd-tour-card__date {
	color: var(--hd-alpine-dark);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-block-end: 0.55rem;
	text-transform: uppercase;
}

.hd-tour-card__title {
	font-size: clamp(1.25rem, 1.15rem + 0.5vw, 1.55rem);
	margin: 0 0 0.75rem;
}

.hd-tour-card__body h3 {
	font-size: clamp(1.25rem, 1.15rem + 0.5vw, 1.55rem);
	margin: 0 0 0.75rem;
}

.hd-tour-card__title a {
	color: var(--hd-charcoal-deep);
	text-decoration: none;
}

.hd-tour-card__title a::after {
	content: "";
	inset: 0;
	position: absolute;
}

.hd-tour-card__excerpt {
	color: var(--hd-stone);
	font-size: 0.95rem;
	margin-block-end: 1rem;
}

.hd-tour-card__meta {
	border-top: 1px solid var(--hd-line);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.85rem;
	gap: 0.5rem 1rem;
	margin-block-start: auto;
	padding-block-start: 1rem;
}

.hd-tour-card__link {
	align-items: center;
	color: var(--hd-alpine-dark);
	display: inline-flex;
	font-size: 0.9rem;
	font-weight: 750;
	gap: 0.45rem;
	margin-block-start: 1rem;
	text-decoration: none;
	position: relative;
	z-index: 2;
}

.hd-tour-card__meta a {
	position: relative;
	z-index: 2;
}

.hd-tour-card__link::after {
	content: "\2192";
	font-size: 1.1em;
}

.hd-tour-badge,
.hd-tour-card__badge {
	background: var(--hd-white);
	border-radius: 999px;
	box-shadow: 0 0.2rem 0.8rem rgb(32 41 39 / 15%);
	color: var(--hd-charcoal-deep);
	font-size: 0.72rem;
	font-weight: 800;
	left: 0.85rem;
	letter-spacing: 0.04em;
	line-height: 1.1;
	padding: 0.55rem 0.75rem;
	position: absolute;
	top: 0.85rem;
	text-transform: uppercase;
	z-index: 2;
}

.hd-tour-badge--open,
.hd-status--open,
.hd-status--available,
.hd-status--ongoing,
.hd-status--completed {
	background: #e7f1e8;
	color: #315c3c;
}

.hd-tour-badge--few,
.hd-status--few {
	background: #fff3d6;
	color: #735418;
}

.hd-status--closed {
	background: var(--hd-sand-light);
	color: #5f4829;
}

.hd-tour-badge--full,
.hd-tour-badge--cancelled,
.hd-status--full,
.hd-status--cancelled {
	background: #f7e6e3;
	color: #84372e;
}

.hd-status--registration-closed {
	background: var(--hd-sand-light);
	color: var(--hd-charcoal-deep);
}

/* Tour detail and facts. */
.hd-tour-detail,
.single-hd_tour .content-area {
	--hd-tour-section-gap: clamp(2rem, 1.5rem + 2.5vw, 4rem);
}

/* Compatibility layer for the production HikingDreams Core markup. */
.hd-wrap {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--hd-wide);
	padding-inline: clamp(1rem, 3vw, 2rem);
	width: 100%;
}

.hd-tour__header {
	background: var(--hd-sand-light);
	padding-block: 0;
}

.hd-tour__heading {
	--hd-tour-status-gap: clamp(0.75rem, 0.625rem + 0.625vw, 1rem);
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	padding-block-start: var(--hd-tour-status-gap);
	position: relative;
}

.hd-tour__heading > .hd-status {
	inset: auto;
	margin-block-end: var(--hd-tour-status-gap);
	position: static;
}

.hikingdreams-site.hikingdreams-tour-detail .hd-tour__heading > h1 {
	font-size: clamp(2rem, 1.72rem + 1.1vw, 2.85rem);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.12;
	margin: 0 0 0.75rem;
	max-width: none;
	text-wrap: wrap;
	width: 100%;
}

.hd-tour__date {
	margin: 0 0 1rem;
}

.hd-tour__hero {
	border-radius: var(--hd-surface-radius);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.hd-tour__hero img {
	aspect-ratio: 2 / 1;
	display: block;
	object-fit: cover;
	width: 100%;
}

.hd-tour__layout {
	display: grid;
	gap: clamp(2rem, 1.5rem + 2.5vw, 4rem);
	grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
	padding-block: clamp(2rem, 1.5rem + 2.5vw, 4rem);
}

.hd-tour__section + .hd-tour__section {
	border-top: 1px solid var(--hd-line);
	margin-block-start: clamp(1.5rem, 1.125rem + 1.875vw, 3rem);
	padding-block-start: clamp(1.5rem, 1.125rem + 1.875vw, 3rem);
}

.hikingdreams-site.hikingdreams-tour-detail .hd-tour__section > h2,
.hikingdreams-site.hikingdreams-tour-detail .hd-prose h2,
.hikingdreams-site.hikingdreams-tour-detail .hd-inquiry h2 {
	font-size: clamp(1.5rem, 1.32rem + 0.72vw, 2.05rem);
	font-weight: 720;
	letter-spacing: -0.025em;
	line-height: 1.13;
	margin-block: clamp(2.25rem, 3.25vw, 3.25rem) 0.75rem;
}

.hikingdreams-site.hikingdreams-tour-detail .hd-tour__section > h3,
.hikingdreams-site.hikingdreams-tour-detail .hd-prose h3 {
	color: #9b8a6d;
	font-size: clamp(1.25rem, 1.15rem + 0.4vw, 1.55rem);
	font-weight: 720;
	letter-spacing: -0.025em;
	line-height: 1.13;
	margin-block: clamp(1.75rem, 2.75vw, 2.75rem) 0.65rem;
}

.hikingdreams-site.hikingdreams-tour-detail .hd-tour__section > h4,
.hikingdreams-site.hikingdreams-tour-detail .hd-prose h4 {
	font-size: clamp(1.05rem, 1rem + 0.22vw, 1.2rem);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.13;
	margin-block: clamp(1.35rem, 2vw, 2rem) 0.4rem;
}

.hikingdreams-site.hikingdreams-tour-detail .hd-tour__section > h2:first-child,
.hikingdreams-site.hikingdreams-tour-detail .hd-inquiry > .hd-wrap > h2:first-child {
	margin-block-start: 0;
}

@media (min-width: 783px) {
	.hikingdreams-site.hikingdreams-tour-detail .hd-tour__main > .hd-tour__section:first-child > h2:first-child {
		margin-block-start: calc(1.4rem + 1px);
	}
}

.hd-tour__sidebar {
	align-self: start;
	position: sticky;
	top: 7rem;
}

.admin-bar .hd-tour__sidebar {
	top: 9rem;
}

.hd-facts {
	background: var(--hd-mist);
	border: 1px solid var(--hd-line);
	border-radius: var(--hd-surface-radius);
	padding: 1.4rem;
}

.hd-facts dl > div:first-child {
	border-top: 0;
	padding-block-start: 0;
}

.hd-inquiry {
	background: var(--hd-sand-light);
	padding-block: clamp(2rem, 1.5rem + 2.5vw, 4rem);
}

.hd-tour-hero {
	background: var(--hd-charcoal-deep);
	color: var(--hd-white);
	display: grid;
	isolation: isolate;
	min-height: clamp(26rem, 62vh, 46rem);
	overflow: hidden;
	position: relative;
}

.hd-tour-hero__media {
	grid-area: 1 / 1;
	min-height: inherit;
	position: relative;
	z-index: -1;
}

.hd-tour-hero__media::after {
	background: linear-gradient(0deg, rgb(19 27 25 / 86%), rgb(19 27 25 / 8%) 78%);
	content: "";
	inset: 0;
	position: absolute;
}

.hd-tour-hero__media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.hd-tour-hero__content {
	align-self: end;
	grid-area: 1 / 1;
	margin-inline: auto;
	max-width: var(--hd-wide);
	padding: clamp(5rem, 12vh, 9rem) clamp(1rem, 3vw, 2rem) clamp(2.5rem, 6vw, 5rem);
	width: 100%;
}

.hd-tour-hero__content :where(h1, h2, p, a) {
	color: var(--hd-white);
}

.hd-tour-hero__content h1 {
	margin-block: 0 1rem;
	max-width: 16ch;
}

.hd-tour-hero__meta {
	display: flex;
	flex-wrap: wrap;
	font-size: 0.95rem;
	font-weight: 650;
	gap: 0.65rem 1.5rem;
}

.hd-tour-layout {
	display: grid;
	gap: clamp(2rem, 1.5rem + 2.5vw, 4rem);
	grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
	margin-block: var(--hd-tour-section-gap);
}

.hd-tour-main > section + section,
.hd-tour-section + .hd-tour-section {
	border-top: 1px solid var(--hd-line);
	margin-block-start: var(--hd-tour-section-gap);
	padding-block-start: var(--hd-tour-section-gap);
}

.hd-tour-sidebar {
	align-self: start;
	position: sticky;
	top: 7rem;
}

.admin-bar .hd-tour-sidebar {
	top: 9rem;
}

.hd-tour-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.hd-tour-fact {
	border-bottom: 1px solid var(--hd-line);
	margin: 0;
	padding: 0.95rem 0;
}

.hd-tour-fact:nth-child(odd) {
	padding-inline-end: 1.25rem;
}

.hd-tour-fact:nth-child(even) {
	border-inline-start: 1px solid var(--hd-line);
	padding-inline-start: 1.25rem;
}

.hd-tour-fact dt {
	color: var(--hd-stone);
	font-size: 0.74rem;
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hd-tour-fact dd {
	color: var(--hd-charcoal-deep);
	font-weight: 700;
	margin: 0.2rem 0 0;
}

.hd-tour-cta {
	background: var(--hd-mist);
	border: 1px solid var(--hd-line);
	border-radius: var(--hd-surface-radius);
	padding: 1.5rem;
}

.hd-tour-cta .hd-button,
.hd-tour-cta .wp-block-button,
.hd-tour-cta .wp-block-button__link {
	width: 100%;
}

/*
 * Three deliberately separate media levels.
 * 1) .hd-tour-card__media: one image in lists (above).
 * 2) .hd-tour-impressions: illustrative images for the advertised route.
 * 3) .hd-tour-report-gallery: pictures from this actual tour date.
 */
.hd-tour-impressions,
.hd-tour-gallery--impressions,
[data-hd-gallery="impressions"] {
	background: #faf6ee;
	border: 1px solid #e8d9c1;
	border-radius: var(--hd-surface-radius);
	padding: clamp(1.25rem, 1rem + 1.25vw, 2rem);
}

.hd-tour-report-gallery,
.hd-tour-gallery--report,
[data-hd-gallery="report"] {
	background: #eef3ee;
	border: 1px solid #ccd9cc;
	border-radius: var(--hd-surface-radius);
	padding: clamp(1.25rem, 1rem + 1.25vw, 2rem);
}

.hd-tour-impressions::before,
.hd-tour-gallery--impressions::before,
[data-hd-gallery="impressions"]::before,
.hd-tour-report-gallery::before,
.hd-tour-gallery--report::before,
[data-hd-gallery="report"]::before {
	display: block;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	margin-block-end: 0.8rem;
	text-transform: uppercase;
}

.hd-tour-impressions::before,
.hd-tour-gallery--impressions::before,
[data-hd-gallery="impressions"]::before {
	color: var(--hd-sand-dark);
	content: "Impressionen zur Ausschreibung";
}

.hd-tour-report-gallery::before,
.hd-tour-gallery--report::before,
[data-hd-gallery="report"]::before {
	color: var(--hd-alpine-dark);
	content: "Fotos dieser Durchf\00fchrung";
}

.hd-tour-impressions__note,
.hd-tour-gallery__note {
	color: var(--hd-stone);
	font-size: 0.88rem;
	margin-block: -0.25rem 1.25rem;
}

.hd-tour-gallery,
.hd-gallery,
.hd-tour-impressions .wp-block-gallery,
.hd-tour-report-gallery .wp-block-gallery,
.is-style-hd-gallery {
	--wp--style--unstable-gallery-gap: clamp(0.5rem, 1vw, 0.9rem);
	display: grid;
	gap: clamp(0.5rem, 1vw, 0.9rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hd-tour-gallery > *,
.hd-gallery > *,
.hd-tour-impressions .wp-block-gallery > *,
.hd-tour-report-gallery .wp-block-gallery > *,
.is-style-hd-gallery > * {
	margin: 0 !important;
	width: auto !important;
}

.hd-tour-gallery :where(img, figure),
.hd-gallery :where(img, figure),
.hd-tour-impressions .wp-block-gallery :where(img, figure),
.hd-tour-report-gallery .wp-block-gallery :where(img, figure),
.is-style-hd-gallery :where(img, figure) {
	border-radius: var(--hd-surface-radius);
}

.hd-tour-gallery img,
.hd-gallery__link img,
.hd-tour-impressions .wp-block-gallery img,
.hd-tour-report-gallery .wp-block-gallery img,
.is-style-hd-gallery img {
	aspect-ratio: 4 / 3;
	height: 100% !important;
	object-fit: cover !important;
	width: 100% !important;
}

.hd-tour-gallery figcaption,
.hd-tour-impressions figcaption,
.hd-tour-report-gallery figcaption,
.is-style-hd-gallery figcaption {
	background: linear-gradient(transparent, rgb(20 28 26 / 80%));
	border-radius: 0 0 var(--hd-surface-radius) var(--hd-surface-radius);
	font-size: 0.78rem;
	padding: 1.5rem 0.65rem 0.55rem;
}

.hd-gallery__item figcaption {
	background: transparent;
	color: var(--hd-stone);
	font-size: 0.82rem;
	line-height: 1.45;
	padding: 0.45rem 0 0;
}

.hd-gallery__link {
	background: var(--hd-sand-light);
	border-radius: var(--hd-surface-radius);
	display: block;
	overflow: hidden;
}

/* The real plugin uses one .hd-gallery component in two distinct sections. */
#hd-impressionen ~ .hd-gallery {
	background: #faf6ee;
	border: 1px solid #e8d9c1;
	border-radius: var(--hd-surface-radius);
	padding: clamp(1rem, 2vw, 1.5rem);
}

.hd-tour__review {
	border-top-color: var(--hd-alpine) !important;
}

.hd-tour__review .hd-gallery {
	background: #eef3ee;
	border: 1px solid #ccd9cc;
	border-radius: var(--hd-surface-radius);
	padding: clamp(1rem, 2vw, 1.5rem);
}

.hd-tour-report {
	border-top: 4px solid var(--hd-alpine);
	margin-block-start: var(--hd-tour-section-gap);
	padding-block-start: clamp(1.5rem, 3vw, 2.5rem);
}

.hd-tour-retrospectives-empty {
	background: var(--hd-mist);
	border-radius: var(--hd-surface-radius);
	color: var(--hd-stone);
	padding: 1.25rem;
	text-align: center;
}

/* Native controls and the Forminator default design share the HikingDreams system. */
.hikingdreams-site :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea),
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default :where(input.forminator-input, select.forminator-select--field, textarea.forminator-textarea) {
	appearance: none;
	background: var(--hd-white);
	border: 1px solid #aeb6b3;
	border-radius: var(--hd-surface-radius);
	box-shadow: none;
	color: var(--hd-charcoal-deep);
	font-size: 1rem;
	line-height: 1.4;
	min-height: 3rem;
	padding: 0.72rem 0.85rem;
	transition: border-color var(--hd-transition), box-shadow var(--hd-transition);
	width: 100%;
}

.hikingdreams-site :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea):focus,
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default :where(input.forminator-input, select.forminator-select--field, textarea.forminator-textarea):focus {
	border-color: var(--hd-alpine-dark);
	box-shadow: 0 0 0 3px rgb(104 123 104 / 20%);
	outline: 0;
}

.hikingdreams-site textarea,
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default textarea.forminator-textarea {
	min-height: 8rem;
	resize: vertical;
}

.hikingdreams-site :where(label, legend),
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-label {
	color: var(--hd-charcoal-deep);
	font-size: 0.92rem;
	font-weight: 720;
	margin-block-end: 0.4rem;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default {
	background: transparent;
	color: var(--hd-charcoal);
	font-family: var(--hd-font-sans);
}

/*
 * The English landing page keeps its contact heading inside the final
 * editorial row, while Forminator is inserted immediately afterwards. Remove
 * the generic row ending, WordPress' empty auto-paragraph and the form's own
 * top margin so that no additional gap remains.
 */
body.hikingdreams-site.hikingdreams-page-english #wrapper .single-content > .hd-about-row {
	margin-block-end: 0;
}

body.hikingdreams-site.hikingdreams-page-english #wrapper .hd-about-row__content > h3:last-child {
	margin-block-end: 0;
}

body.hikingdreams-site.hikingdreams-page-english #wrapper .single-content > .hd-about-row + p:empty {
	margin: 0;
}

body.hikingdreams-site.hikingdreams-page-english #wrapper .single-content > :is(.forminator-ui.forminator-custom-form, .wp-block-shortcode, p:has(> .forminator-ui.forminator-custom-form)) {
	margin-block-start: 0 !important;
}

body.hikingdreams-site.hikingdreams-page-english #wrapper .single-content > :is(.wp-block-shortcode, p) > .forminator-ui.forminator-custom-form,
body.hikingdreams-site.hikingdreams-page-english #wrapper .single-content > .forminator-ui.forminator-custom-form + .forminator-ui.forminator-custom-form {
	margin-block-start: 0 !important;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-row {
	gap: 1rem;
	margin-block-end: 1rem;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-title {
	color: var(--hd-charcoal-deep);
	font-family: var(--hd-font-sans);
	font-size: clamp(1.85rem, 1.51rem + 1.65vw, 3rem);
	font-weight: 720;
	letter-spacing: -0.025em;
	line-height: 1.13;
	text-wrap: balance;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-label.forminator-repeater-label {
	color: var(--hd-charcoal-deep);
	font-family: var(--hd-font-sans);
	font-size: clamp(1.35rem, 1.19rem + 0.8vw, 1.9rem);
	font-weight: 720;
	letter-spacing: -0.025em;
	line-height: 1.13;
	margin-block-end: 0.85rem;
	text-wrap: balance;
}

body.hikingdreams-site.hikingdreams-tour-detail #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-title {
	font-size: clamp(1.5rem, 1.32rem + 0.72vw, 2.05rem);
	margin-block: clamp(2.25rem, 3.25vw, 3.25rem) 0.75rem;
}

body.hikingdreams-site.hikingdreams-tour-detail #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-label.forminator-repeater-label {
	color: #9b8a6d;
	font-size: clamp(1.25rem, 1.15rem + 0.4vw, 1.55rem);
	margin-block: clamp(1.75rem, 2.75vw, 2.75rem) 0.65rem;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default :where(.forminator-description, .forminator-description p) {
	color: var(--hd-stone);
	font-size: 0.82rem;
	line-height: 1.5;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-required {
	color: var(--hd-error);
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default :where(.forminator-input, .forminator-textarea)::placeholder {
	color: var(--hd-stone);
	opacity: 0.82;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-input-with-icon input.forminator-input {
	padding-inline-start: 2.5rem;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-input-with-icon .forminator-icon-calendar {
	color: var(--hd-alpine-dark);
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default :where(.forminator-checkbox-box, .forminator-radio-bullet) {
	background: var(--hd-white);
	border-color: #8a9692;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default :where(.forminator-checkbox, .forminator-radio):hover :where(.forminator-checkbox-box, .forminator-radio-bullet) {
	border-color: var(--hd-alpine-dark);
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-checkbox input:checked + .forminator-checkbox-box,
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-consent input:checked + .forminator-checkbox-box,
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-radio input:checked + .forminator-radio-bullet {
	background: var(--hd-alpine);
	border-color: var(--hd-alpine);
	color: var(--hd-white);
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-radio input:checked + .forminator-radio-bullet::before {
	background: var(--hd-white);
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-checkbox input:focus-visible + .forminator-checkbox-box,
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-consent input:focus-visible + .forminator-checkbox-box,
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-radio input:focus-visible + .forminator-radio-bullet {
	outline: 3px solid var(--hd-sand-dark);
	outline-offset: 3px;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default select.forminator-select2 + .forminator-select .selection :is(.select2-selection--single, .select2-selection--multiple)[role="combobox"] {
	background: var(--hd-white);
	border-color: #aeb6b3;
	border-radius: var(--hd-surface-radius);
	box-shadow: none;
	color: var(--hd-charcoal-deep);
	min-height: 3rem;
	transition: border-color var(--hd-transition), box-shadow var(--hd-transition);
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default select.forminator-select2 + .forminator-select .selection :is(.select2-selection--single, .select2-selection--multiple)[role="combobox"] :where(.select2-selection__rendered, .select2-selection__arrow) {
	color: var(--hd-charcoal-deep);
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default select.forminator-select2 + .forminator-select .selection :is(.select2-selection--single, .select2-selection--multiple)[role="combobox"]:is(:hover, :focus),
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default select.forminator-select2 + .forminator-select.select2-container--open .selection :is(.select2-selection--single, .select2-selection--multiple)[role="combobox"] {
	background: var(--hd-white);
	border-color: var(--hd-alpine-dark);
	box-shadow: 0 0 0 3px rgb(104 123 104 / 20%);
	outline: 0;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default select.forminator-select2 + .forminator-select .selection :is(.select2-selection--single, .select2-selection--multiple)[role="combobox"]:focus-visible {
	outline: 3px solid var(--hd-sand-dark);
	outline-offset: 3px;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-has_error select.forminator-select2 + .forminator-select .selection :is(.select2-selection--single, .select2-selection--multiple)[role="combobox"],
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-has_error :where(.forminator-input, .forminator-textarea, .forminator-checkbox-box, .forminator-radio-bullet) {
	border-color: var(--hd-error);
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-repeater-field {
	background: var(--hd-mist);
	border: 1px solid var(--hd-line);
	border-radius: var(--hd-surface-radius);
	box-shadow: none;
	padding: clamp(1rem, 2vw, 1.5rem);
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-repeater-field .forminator-grouped-fields {
	border-bottom: 1px solid var(--hd-line);
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-repeater-field .forminator-grouped-fields:last-child {
	border-bottom: 0;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-field-section .forminator-border {
	border: 0 !important;
	border-top: 1px solid var(--hd-line) !important;
	margin-block-start: 1rem;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-error-message,
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-response-message.forminator-error,
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-response-message.forminator-error p {
	background: #fbefed;
	border-color: var(--hd-error);
	color: #752c25;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-error-message {
	border-inline-start: 3px solid var(--hd-error);
	border-radius: var(--hd-surface-radius);
	padding: 0.35rem 0.7rem;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-response-message.forminator-error,
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-response-message.forminator-success {
	border-style: solid;
	border-width: 1px;
	border-inline-start-width: 4px;
	border-radius: var(--hd-surface-radius);
	box-shadow: none;
}

body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-response-message.forminator-success,
body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form.forminator-design--default .forminator-response-message.forminator-success p {
	background: #edf6ef;
	border-color: var(--hd-success);
	color: #2f5738;
}

/* Select2 moves its menu below body, outside #wrapper. */
body.hikingdreams-site .forminator-select-dropdown-container--open .forminator-dropdown--default {
	background: var(--hd-white);
	border-color: var(--hd-alpine-dark);
	border-radius: var(--hd-surface-radius);
	box-shadow: var(--hd-shadow-sm);
	color: var(--hd-charcoal-deep);
}

body.hikingdreams-site .forminator-select-dropdown-container--open .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option,
body.hikingdreams-site .forminator-select-dropdown-container--open .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option span:not(.forminator-checkbox-box) {
	background: var(--hd-white);
	color: var(--hd-charcoal-deep);
}

body.hikingdreams-site .forminator-select-dropdown-container--open .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option:not(.select2-results__option--selected).select2-results__option--highlighted,
body.hikingdreams-site .forminator-select-dropdown-container--open .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option:not(.select2-results__option--selected).select2-results__option--highlighted span:not(.forminator-checkbox-box) {
	background: var(--hd-mist);
	color: var(--hd-charcoal-deep);
}

body.hikingdreams-site .forminator-select-dropdown-container--open .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--selected,
body.hikingdreams-site .forminator-select-dropdown-container--open .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--selected span:not(.forminator-checkbox-box) {
	background: var(--hd-alpine);
	color: var(--hd-white);
}

body.hikingdreams-site .forminator-select-dropdown-container--open .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--highlighted {
	outline: 3px solid var(--hd-sand-dark);
	outline-offset: -3px;
}

/* The jQuery datepicker is also appended below body. */
body.hikingdreams-site .ui-datepicker.forminator-calendar--default {
	color: var(--hd-charcoal-deep);
	font-family: var(--hd-font-sans);
}

body.hikingdreams-site .ui-datepicker.forminator-calendar--default::before {
	background: var(--hd-white);
	border-color: var(--hd-line);
	border-radius: var(--hd-surface-radius);
	box-shadow: var(--hd-shadow-sm);
}

body.hikingdreams-site .ui-datepicker.forminator-calendar--default .ui-datepicker-header .ui-corner-all {
	background: var(--hd-alpine);
	color: var(--hd-white);
}

body.hikingdreams-site .ui-datepicker.forminator-calendar--default .ui-datepicker-header .ui-corner-all:is(:hover, :focus) {
	background: var(--hd-alpine-dark);
	color: var(--hd-white);
}

body.hikingdreams-site .ui-datepicker.forminator-calendar--default .ui-datepicker-header .ui-datepicker-title select {
	background: var(--hd-white);
	border-color: #aeb6b3;
	color: var(--hd-charcoal-deep);
}

body.hikingdreams-site .ui-datepicker.forminator-calendar--default[class*="forminator-color-option--"] .ui-datepicker-header .ui-datepicker-title select:focus,
body.hikingdreams-site .ui-datepicker.forminator-calendar--default[class*="forminator-color-option--"] .ui-datepicker-calendar tbody td a.ui-state-default:focus {
	outline: 3px solid var(--hd-sand-dark);
	outline-offset: 2px;
}

body.hikingdreams-site .ui-datepicker.forminator-calendar--default .ui-datepicker-calendar thead th {
	color: var(--hd-charcoal-deep);
}

body.hikingdreams-site .ui-datepicker.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default,
body.hikingdreams-site .ui-datepicker.forminator-calendar--default .ui-datepicker-calendar tbody td.ui-state-disabled span {
	background: var(--hd-white);
	border-color: var(--hd-line);
	color: var(--hd-charcoal);
}

body.hikingdreams-site .ui-datepicker.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default:is(:hover, .ui-state-hover) {
	background: var(--hd-mist);
	border-color: var(--hd-alpine);
	color: var(--hd-alpine-dark);
	outline: 0;
}

body.hikingdreams-site .ui-datepicker.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default:is(:active, .ui-state-active) {
	background: var(--hd-alpine);
	border-color: var(--hd-alpine);
	color: var(--hd-white);
}

body.hikingdreams-site .ui-datepicker.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default.ui-state-highlight {
	background: var(--hd-sand-light);
	border-color: var(--hd-sand);
	color: var(--hd-charcoal-deep);
}

body.hikingdreams-site .ui-datepicker.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default.ui-state-highlight:is(:active, .ui-state-active) {
	background: var(--hd-alpine);
	border-color: var(--hd-alpine);
	color: var(--hd-white);
}

.hd-form-section {
	border: 0;
	border-top: 1px solid var(--hd-line);
	margin: 2rem 0 0;
	padding: 2rem 0 0;
}

.hd-form-person {
	background: var(--hd-mist);
	border-radius: var(--hd-surface-radius);
	margin-block: 1rem;
	padding: clamp(1rem, 2vw, 1.5rem);
}

.hd-privacy-note {
	color: var(--hd-stone);
	font-size: 0.85rem;
	line-height: 1.5;
}

/* Core block refinements. */
.hikingdreams-site .wp-block-group.has-background:not(.alignfull),
.hikingdreams-site :where(.hd-section--mist, .hd-section--sand, .hd-section--dark, .is-style-hd-section-dark):not(.alignfull) {
	border-radius: var(--hd-surface-radius);
}

.hikingdreams-site .wp-block-image.is-style-hd-rounded img,
.hikingdreams-site .is-style-hd-rounded img {
	border-radius: var(--hd-surface-radius);
}

.hikingdreams-site .wp-block-quote {
	border-inline-start: 4px solid var(--hd-sand);
	font-family: var(--hd-font-serif);
	font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.5rem);
	margin-inline: 0;
	padding-inline-start: 1.5rem;
}

.hikingdreams-site .wp-block-separator:not(.is-style-wide) {
	border: 0;
	border-top: 3px solid var(--hd-sand);
	margin-inline: 0;
	width: 4rem;
}

.hikingdreams-site .wp-block-table table {
	border-collapse: collapse;
}

.hikingdreams-site .wp-block-table :where(th, td) {
	border-color: var(--hd-line);
	padding: 0.75rem;
}

.hikingdreams-site .wp-block-table th {
	background: var(--hd-mist);
	color: var(--hd-charcoal-deep);
	text-align: start;
}

/* Footer and legal navigation. */
.hikingdreams-site .site-footer {
	background: var(--hd-charcoal-deep);
	color: rgb(255 255 255 / 76%);
	margin-block-start: clamp(3rem, 6vw, 6rem);
}

.hikingdreams-site.home .site-footer {
	margin-block-start: 0;
}

.hikingdreams-site .site-footer :where(h2, h3, h4, .widget-title) {
	color: var(--hd-white);
}

.hikingdreams-site .site-footer a {
	color: var(--hd-sand-light);
	text-underline-offset: 0.22em;
}

.hikingdreams-site .site-footer a:hover {
	color: var(--hd-white);
}

.hikingdreams-site .site-footer .site-footer-row-container-inner {
	background: transparent;
}

.hikingdreams-site .site-footer .site-container {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--hd-frame);
	padding-inline: var(--hd-gutter);
	width: 100%;
}

.hikingdreams-site .site-footer .footer-html {
	font-size: 0.86rem;
}

.hikingdreams-site .footer-navigation .menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
}

.hikingdreams-site .site-middle-footer-inner-wrap :is(.site-footer-middle-section-1, .site-footer-middle-section-3, .site-footer-middle-section-4) .footer-widget-area-inner > .widget:first-child:not(:last-child) {
	margin-bottom: 15px;
}

.hikingdreams-site .site-footer-middle-section-1 .footer-widget-area-inner > .widget:first-child .wp-block-paragraph:last-child {
	margin-block-end: 0;
}

.hikingdreams-site .site-middle-footer-inner-wrap :is(.site-footer-middle-section-1, .site-footer-middle-section-3, .site-footer-middle-section-4) .widget_text > .wp-block-paragraph {
	margin-block-start: 0;
}

.hikingdreams-site .site-middle-footer-inner-wrap :is(.site-footer-middle-section-3, .site-footer-middle-section-4) .widget_text > .wp-block-paragraph {
	line-height: 1.75;
}

@media (min-width: 1025px) {
	.hikingdreams-site .site-footer-middle-section-4 .footer-widget-area-inner {
		align-content: start;
		box-sizing: border-box;
		display: grid;
		justify-content: end;
		padding-inline-end: 0.57rem;
	}

	.hikingdreams-site .site-footer-middle-section-4 :is(h2, h3, h4, .widget-title) {
		text-align: start;
	}
}

/* Responsive adjustments. */
@media (max-width: 1024px) {
	.hikingdreams-site {
		--hd-header-height: 6.95rem;
	}

	.hikingdreams-site .site-branding .custom-logo {
		width: 9.375rem;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic {
		grid-auto-rows: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image,
	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image:nth-child(n + 7) {
		aspect-ratio: 3 / 2 !important;
		grid-column: span 1;
		grid-row: auto;
		height: auto !important;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image:first-child {
		aspect-ratio: 16 / 9 !important;
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.hd-home-offer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hd-tour-grid,
	.hd-tour-list,
	.hd-tours-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hd-tour-layout {
		grid-template-columns: minmax(0, 1fr) minmax(16rem, 19rem);
	}

	.hd-tour__layout {
		grid-template-columns: minmax(0, 1fr) minmax(16rem, 19rem);
	}
}

@media (max-width: 782px) {
	.admin-bar .hd-hero-slider {
		--hd-hero-admin-bar-height: 46px;
	}

	.admin-bar .hd-tour-sidebar {
		top: 7rem;
	}

	.admin-bar .hd-tour__sidebar {
		top: 7rem;
	}

	.hd-hero-slider {
		min-height: clamp(31rem, calc(100vh - var(--hd-header-height) - var(--hd-hero-admin-bar-height)), 56rem);
		min-height: clamp(31rem, calc(100svh - var(--hd-header-height) - var(--hd-hero-admin-bar-height)), 56rem);
	}

	.hd-hero-slider__content {
		--hd-hero-panel-bottom-offset: clamp(0.75rem, 2.5vw, 1rem);
		--hd-hero-panel-padding: 1rem;
		gap: 0.75rem;
		padding-block: 0.9rem;
	}

	.hikingdreams-site .hd-hero-slider__content h1 {
		font-size: clamp(1.05rem, 0.98rem + 0.4vw, 1.15rem);
	}

	.hd-home-intro.wp-block-media-text {
		gap: clamp(1.75rem, 4vw, 3rem);
		grid-template-columns: minmax(0, 3fr) minmax(15rem, 2fr);
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic {
		-webkit-overflow-scrolling: touch;
		grid-auto-columns: min(82vw, 22rem);
		grid-auto-flow: column;
		grid-auto-rows: auto;
		grid-template-columns: none !important;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		padding-block-end: 0.75rem;
		scroll-snap-type: inline proximity;
		scrollbar-color: var(--hd-sand-dark) rgb(32 41 39 / 12%);
		scrollbar-width: thin;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image,
	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image:first-child,
	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image:nth-child(n + 7) {
		aspect-ratio: 3 / 2 !important;
		grid-column: auto;
		grid-row: auto;
		height: auto !important;
		scroll-snap-align: start;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic::-webkit-scrollbar {
		height: 0.5rem;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic::-webkit-scrollbar-track {
		background: rgb(32 41 39 / 12%);
		border-radius: 999px;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic::-webkit-scrollbar-thumb {
		background: var(--hd-sand-dark);
		border-radius: 999px;
	}

	.hd-home-cta__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.hd-home-cta__action {
		justify-self: start;
	}

	.hd-home-cta__action .wp-block-buttons {
		justify-content: flex-start;
	}

	.hd-hero-slider__controls {
		bottom: auto;
		inset-inline-end: 1rem;
		inset-inline-start: auto;
		justify-self: auto;
		margin-inline: 0;
		top: 1rem;
	}

	.hd-tour-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.hd-tour__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.hd-tour-sidebar {
		position: static;
	}

	.hd-tour__sidebar {
		position: static;
	}

	.hikingdreams-site.hikingdreams-tour-detail .hd-tour__hero img {
		aspect-ratio: 3 / 2;
	}

	.hd-tour-gallery,
	.hd-tour-impressions .wp-block-gallery,
	.hd-tour-report-gallery .wp-block-gallery,
	.is-style-hd-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hd-gallery {
		-webkit-overflow-scrolling: touch;
		grid-auto-columns: min(82vw, 22rem);
		grid-auto-flow: column;
		grid-auto-rows: auto;
		grid-template-columns: none;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		padding-block-end: 0.75rem;
		scroll-snap-type: inline proximity;
		scrollbar-color: var(--hd-sand-dark) rgb(32 41 39 / 12%);
		scrollbar-width: thin;
	}

	.hd-gallery__item {
		scroll-snap-align: start;
	}

	.hd-gallery::-webkit-scrollbar {
		height: 0.5rem;
	}

	.hd-gallery::-webkit-scrollbar-track {
		background: rgb(32 41 39 / 12%);
		border-radius: 999px;
	}

	.hd-gallery::-webkit-scrollbar-thumb {
		background: var(--hd-sand-dark);
		border-radius: 999px;
	}
}

@media (max-width: 600px) {
	.hikingdreams-site {
		--hd-header-height: 6.5rem;
	}

	.hikingdreams-site .site-branding .custom-logo {
		width: 8.625rem;
	}

	.hd-hero-slider {
		min-height: max(31rem, calc(100vh - var(--hd-header-height) - var(--hd-hero-admin-bar-height)));
		min-height: max(31rem, calc(100svh - var(--hd-header-height) - var(--hd-hero-admin-bar-height)));
	}

	.hd-hero-slider__content {
		--hd-hero-panel-bottom-offset: calc(0.5rem + 7px);
		--hd-hero-panel-edge: -1.25rem;
	}

	.hd-hero-slider__controls {
		display: none;
	}

	.hd-home-intro.wp-block-media-text {
		display: grid;
		gap: 2rem;
		/* Override the inline 60/40 grid emitted by the Media & Text block. */
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.hikingdreams-site.home .hd-home-intro.wp-block-media-text {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
		width: 100%;
	}

	.hikingdreams-site.home .hd-home-intro.wp-block-media-text > .wp-block-media-text__media {
		box-sizing: border-box;
		justify-self: stretch;
		margin-inline: 0;
		max-width: 100%;
		min-width: 0;
		width: 100%;
	}

	.hd-home-intro .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 1;
	}

	.hd-home-intro .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 2;
	}

	.hd-home-offer-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.hikingdreams-site h1 {
		font-size: clamp(1.75rem, 0.54rem + 6.07vw, 2.8125rem);
	}

	.hikingdreams-site h2 {
		font-size: clamp(1.375rem, 0.51rem + 4.31vw, 2.13rem);
	}

	.hd-tour-grid,
	.hd-tour-list,
	.hd-tours-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.hd-tour-facts {
		grid-template-columns: minmax(0, 1fr);
	}

	.hd-tour-fact:nth-child(odd),
	.hd-tour-fact:nth-child(even) {
		border-inline-start: 0;
		padding-inline: 0;
	}

	.hd-tour-gallery,
	.hd-tour-impressions .wp-block-gallery,
	.hd-tour-report-gallery .wp-block-gallery,
	.is-style-hd-gallery {
		grid-template-columns: minmax(0, 1fr);
	}

	.hd-tour-gallery img,
	.hd-gallery__link img,
	.hd-tour-impressions .wp-block-gallery img,
	.hd-tour-report-gallery .wp-block-gallery img,
	.is-style-hd-gallery img {
		aspect-ratio: 3 / 2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hikingdreams-site *,
	.hikingdreams-site *::before,
	.hikingdreams-site *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.hd-hero-slider__controls {
		transition: none;
	}

	.hd-hero-slider.is-enhanced .hd-hero-slider__controls {
		transform: none;
	}

	.hd-tour-card:hover,
	.hd-tour-card:focus-within,
	.hd-home-offer-card:hover,
	.hd-home-offer-card:focus-within,
	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image:hover img,
	.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid > .wp-block-image:hover img,
	.hikingdreams-site .wp-block-button__link:hover,
	.hikingdreams-site .button:hover,
	.hikingdreams-site .kb-button:hover,
	.hikingdreams-site .hd-button:hover,
	.hikingdreams-site input[type="submit"]:hover,
	body.hikingdreams-site #wrapper .forminator-ui.forminator-custom-form button.forminator-button:hover {
		transform: none;
	}

	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image img,
	.hikingdreams-site .wp-block-gallery.is-style-hd-impressions-grid > .wp-block-image img {
		transition: none;
	}
}

@media (prefers-contrast: more) {
	:root {
		--hd-line: #858e8b;
	}

	.hd-tour-card {
		border-color: var(--hd-line);
	}

	.hd-tour-card,
	.hd-home-offer-card,
	.hikingdreams-site .wp-block-gallery.is-style-hd-home-mosaic > .wp-block-image,
	.hd-home-cta,
	.hd-hero-slider__content,
	.hd-panel,
	.is-style-hd-panel,
	.hd-tour-cta {
		border-width: 2px;
	}

	.hd-hero-slider__content {
		--hd-hero-panel-border-width: 2px;
	}
}

@media (prefers-contrast: more), (forced-colors: active) {
	.hikingdreams-site #masthead .header-navigation :is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current_page_ancestor) > a,
	.hikingdreams-site #masthead .header-navigation .menu > li > a[aria-current="page"],
	.hikingdreams-site .mobile-navigation :is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current_page_ancestor) > a,
	.hikingdreams-site .mobile-navigation .menu > li > a[aria-current="page"] {
		font-weight: 750;
	}

	.hd-hero-slider.is-enhanced .hd-hero-slider__controls {
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}
}

@media (forced-colors: active) {
	.hd-hero-slider__content {
		background: Canvas;
		border-color: CanvasText;
		box-shadow: none;
	}

	.hikingdreams-site .hd-hero-slider__content h1,
	.hikingdreams-site .hd-hero-slider__content h1 .has-inline-color {
		color: CanvasText !important;
		text-shadow: none;
	}

	.hd-hero-slider__controls {
		background: Canvas;
		border-color: ButtonText;
	}

	.hd-hero-slider__button,
	.hd-hero-slider__dot::after {
		color: ButtonText;
	}

	.hd-hero-slider__dot::after {
		background: ButtonText;
	}

	.hd-hero-slider__dot[aria-current="true"]::after {
		background: Highlight;
	}
}

@media print {
	.hikingdreams-site .site-header,
	.hikingdreams-site .site-footer,
	.hd-hero-slider__controls,
	.hd-tour-cta,
	.hd-tour-gallery,
	.hd-gallery,
	.hd-tour-impressions .wp-block-gallery,
	.hd-tour-report-gallery .wp-block-gallery,
	.forminator-ui {
		display: none !important;
	}

	.hikingdreams-site,
	.hd-tour-hero,
	.hd-tour-hero__content {
		background: #fff !important;
		color: #000 !important;
	}

	.hd-tour-hero {
		min-height: 0;
	}

	.hd-tour-hero__media {
		display: none;
	}

	.hd-tour-hero__content {
		padding: 1rem 0;
	}

	.hd-tour-hero__content :where(h1, h2, p, a) {
		color: #000 !important;
	}

	.hikingdreams-site a[href]::after {
		content: " (" attr(href) ")";
		font-size: 0.8em;
	}
}
