:root {
	--ts-calendar-blue: #0d5592;
	--ts-calendar-navy: #101b2d;
	--ts-calendar-orange: #f5a400;
	--ts-calendar-line: #d9e2ea;
}

.ts-calendar,
.ts-calendar * {
	box-sizing: border-box;
}

/* Náhled v Gutenbergu vybírá blok; interaktivní karty fungují až na webu. */
.ts-calendar-editor-preview .ts-calendar {
	pointer-events: none;
}

.ts-calendar {
	width: min(100%, 1360px);
	margin: 0 auto;
	padding: 40px 40px clamp(52px, 6vw, 84px);
}

.ts-calendar-place .pc-display {
	margin: 0;
	color: var(--ts-calendar-navy);
	font-family: Montserrat, Arial, sans-serif;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.15;
}

.ts-calendar__intro {
	width: 100%;
	margin: 0 0 clamp(28px, 3.25vw, 44px);
	text-align: left;
}

.ts-calendar__eyebrow {
	margin: 0 0 clamp(8px, 1vw, 13px);
	color: var(--ts-calendar-orange);
	font-family: var(--font-body, Inter, Arial, sans-serif);
	font-size: clamp(.7rem, .7vw, .78rem);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .19em;
	text-transform: uppercase;
}

.entry-content .ts-calendar__heading {
	margin: 0;
	padding: 0;
	color: var(--ts-calendar-navy);
	font-family: var(--font-heading, Montserrat, Inter, Arial, sans-serif);
	font-size: clamp(2.25rem, 5vw, 4.65rem);
	font-weight: 600;
	line-height: 1.06;
	letter-spacing: -.035em;
	text-wrap: balance;
}

.entry-content .ts-calendar__heading::after {
	content: none;
}

.ts-calendar__heading span,
.ts-calendar__heading em {
	font: inherit;
}

.ts-calendar__heading em {
	font-style: italic;
}

.ts-calendar__lead {
	margin: clamp(16px, 1.65vw, 22px) 0 0;
	color: #4c5d70;
	font-family: var(--font-body, Inter, Arial, sans-serif);
	font-size: clamp(.98rem, 1.25vw, 1.12rem);
	font-weight: 400;
	line-height: 1.6;
}

.ts-calendar__lead::before {
	display: inline-block;
	width: 38px;
	height: 1px;
	margin: 0 13px 4px 0;
	background: var(--ts-calendar-orange);
	content: '';
}

.ts-calendar__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(18px, 2vw, 28px);
	padding: 0;
	margin: 0 auto;
	list-style: none;
}

.ts-calendar__item {
	min-width: 0;
	scroll-margin-top: calc(var(--header-height, 80px) + 16px);
}

.ts-calendar--motion-ready .ts-calendar__item {
	opacity: 0;
	transform: translate3d(0, 20px, 0);
	transition: opacity var(--ts-calendar-motion-enter, 520ms) ease var(--ts-card-delay, 0ms), transform var(--ts-calendar-motion-reveal, 680ms) cubic-bezier(.2, .75, .25, 1) var(--ts-card-delay, 0ms);
}

.ts-calendar--motion-ready .ts-calendar__item.is-visible {
	opacity: 1;
	transform: none;
}

.ts-calendar__card {
	width: 100%;
	perspective: 1200px;
}

.ts-calendar__card-inner {
	display: block;
	position: relative;
	width: 100%;
	transform-style: preserve-3d;
	transition: transform var(--ts-calendar-motion-flip, 800ms) cubic-bezier(.2, .75, .25, 1);
}

.ts-calendar__card.is-revealed .ts-calendar__card-inner {
	transform: rotateY(180deg);
}

.ts-calendar__face {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--ts-calendar-line);
	border-radius: 8px;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.ts-calendar__face--front {
	position: relative;
	inset: auto;
	display: grid;
	grid-template-rows: auto auto;
	width: 100%;
	padding: 0;
	color: inherit;
	text-align: left;
	background: #fff;
	box-shadow: 0 12px 26px rgba(16, 27, 45, .09);
	cursor: pointer;
	appearance: none;
}

.ts-calendar__face--front::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 6px;
	background: var(--ts-calendar-blue);
	content: '';
}

.ts-calendar__media {
	display: block;
	min-height: 0;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: #e6ebef;
}

.ts-calendar__image,
.ts-calendar__image-placeholder {
	display: block;
	width: 100%;
	height: 100%;
}

.ts-calendar__image {
	object-fit: cover;
	object-position: center;
	transform: scale(1.12);
	transform-origin: center;
	transition: transform var(--ts-calendar-motion-photo, 700ms) cubic-bezier(.2, .75, .25, 1), filter var(--ts-calendar-motion-detail, 240ms) ease, opacity var(--ts-calendar-motion-detail, 240ms) ease;
}

.ts-calendar__image-placeholder {
	display: grid;
	place-items: center;
	padding: 20px;
	color: #52657b;
	background: #e6ebef;
	text-align: center;
}

.ts-calendar__meta {
	display: flex;
	position: relative;
	align-items: baseline;
	min-height: 76px;
	padding: 16px clamp(16px, 2vw, 22px) 18px;
	gap: 11px;
	background: #fff;
}

.ts-calendar__number,
.ts-calendar__month {
	position: relative;
	z-index: 1;
	font-family: Montserrat, Arial, sans-serif;
}

.ts-calendar__number {
	color: var(--ts-calendar-blue);
	font-size: clamp(1.75rem, 2.6vw, 2.35rem);
	font-weight: 800;
	line-height: .95;
}

.ts-calendar__month {
	color: var(--ts-calendar-navy);
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	font-weight: 700;
	line-height: 1.15;
	text-transform: lowercase;
}

.ts-calendar__countdown {
	position: absolute;
	z-index: 2;
	bottom: calc(100% + 12px);
	left: clamp(16px, 2vw, 22px);
	max-width: calc(100% - 32px);
	padding: 6px 9px;
	border-radius: 3px;
	color: #394b5e;
	background: rgba(255, 255, 255, .88);
	font-size: clamp(.72rem, 1vw, .84rem);
	font-weight: 600;
	line-height: 1.2;
}

.ts-calendar__countdown::before {
	font-weight: 400;
	content: 'Otevře se za ';
}

.ts-calendar__face--front:hover {
	border-color: var(--ts-calendar-line);
	box-shadow: 0 12px 26px rgba(16, 27, 45, .09);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.ts-calendar__card--available .ts-calendar__face--front:hover .ts-calendar__image {
		transform: scale(1.155);
	}
}

.ts-calendar__face--front:focus-visible {
	outline: 3px solid var(--ts-calendar-orange);
	outline-offset: 4px;
}

.ts-calendar__face--front:focus:not(:focus-visible),
.ts-calendar__back-flip:focus:not(:focus-visible) {
	outline: 0;
}

.ts-calendar__face--front:disabled {
	cursor: default;
}

.ts-calendar__card--locked .ts-calendar__face--front {
	border-color: #cbd3da;
	background: #e7eaed;
}

.ts-calendar__card--locked .ts-calendar__media {
	background: #cfd4d8;
}

.ts-calendar__card--locked .ts-calendar__image {
	filter: grayscale(1) saturate(.2);
	opacity: .52;
}

.ts-calendar__card--locked .ts-calendar__meta {
	background: #e7eaed;
}

.ts-calendar__card--locked .ts-calendar__face--front::after {
	background: #8392a2;
}

.ts-calendar__card--locked .ts-calendar__number,
.ts-calendar__card--locked .ts-calendar__month {
	color: #52657b;
}

.ts-calendar__face--back {
	align-items: stretch;
	justify-content: space-between;
	padding: clamp(22px, 2.5vw, 34px);
	color: #fff;
	background: linear-gradient(145deg, #14243a, var(--ts-calendar-navy));
	transform: rotateY(180deg);
}

.ts-calendar__face--back::before {
	position: absolute;
	top: clamp(44px, 6vw, 72px);
	right: clamp(12px, 2vw, 24px);
	color: rgba(255, 255, 255, .085);
	font-family: Montserrat, Arial, sans-serif;
	font-size: clamp(6.5rem, 11vw, 10rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.09em;
	content: attr(data-card-number);
	pointer-events: none;
}

.ts-calendar__back-flip {
	position: absolute;
	z-index: 1;
	inset: 0;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.ts-calendar__back-flip:focus-visible {
	outline: 3px solid var(--ts-calendar-orange);
	outline-offset: -6px;
}

.ts-calendar__back-copy,
.ts-calendar__back-actions {
	position: relative;
	z-index: 2;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity var(--ts-calendar-motion-copy, 300ms) ease var(--ts-calendar-motion-delay, 260ms), transform var(--ts-calendar-motion-copy-in, 420ms) cubic-bezier(.2, .75, .25, 1) var(--ts-calendar-motion-delay, 260ms);
}

.ts-calendar__card.is-revealed :is(.ts-calendar__back-copy, .ts-calendar__back-actions) {
	opacity: 1;
	transform: none;
}

.ts-calendar__back-copy {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 48px 0 26px;
	font-family: Montserrat, Arial, sans-serif;
	text-align: left;
}

.ts-calendar__back-eyebrow {
	position: absolute;
	top: 0;
	left: 0;
	color: #f5a400;
	font-family: var(--font-body, Inter, Arial, sans-serif);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.ts-calendar__back-title {
	color: #fff;
	font-size: clamp(1.25rem, 1.8vw, 1.58rem);
	font-weight: 750;
	line-height: 1.22;
	letter-spacing: -.025em;
	overflow-wrap: anywhere;
}

.ts-calendar__back-location {
	display: block;
	max-width: 100%;
	margin-top: clamp(15px, 2vw, 23px);
	padding-top: 15px;
	border-top: 1px solid rgba(255, 255, 255, .26);
	color: #cbd6e2;
	font-family: var(--font-body, Inter, Arial, sans-serif);
	font-size: clamp(.79rem, 1.15vw, .94rem);
	font-weight: 400;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.ts-calendar__back-location-place,
.ts-calendar__back-location-area {
	display: block;
}

.ts-calendar__back-location-place {
	color: #e7edf3;
	font-weight: 600;
}

.ts-calendar__back-location-area {
	margin-top: 4px;
}

.ts-calendar__back-location-separator {
	color: var(--ts-calendar-orange);
	font-weight: 700;
}

.ts-calendar__back-actions {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	width: 100%;
	gap: 10px;
}

.ts-calendar .ts-calendar__detail-link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--ts-calendar-orange);
	border-radius: 4px;
	color: var(--ts-calendar-navy);
	background: var(--ts-calendar-orange);
	font: inherit;
	font-size: .82rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	transition: color var(--ts-calendar-motion-fast, 160ms) ease, background-color var(--ts-calendar-motion-fast, 160ms) ease, border-color var(--ts-calendar-motion-fast, 160ms) ease;
}

.ts-calendar .ts-calendar__detail-link::after {
	display: block;
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	margin-left: 12px;
	margin-right: 4px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	content: '';
	transform: rotate(45deg);
	transition: transform var(--ts-calendar-motion-icon, 180ms) ease;
}

.ts-calendar .ts-calendar__detail-link:hover::after,
.ts-calendar .ts-calendar__detail-link:focus-visible::after {
	transform: translateX(3px) rotate(45deg);
}

.ts-calendar .ts-calendar__detail-link:hover {
	border-color: #e08e00;
	color: var(--ts-calendar-navy);
	background: #e8a01a;
	text-decoration: none !important;
}

.ts-calendar .ts-calendar__detail-link:active {
	color: var(--ts-calendar-navy);
	background: #d98a00;
	text-decoration: none !important;
}

.ts-calendar__detail-link.is-disabled {
	border-color: #8392a2;
	color: #e8edf1;
	background: #52657b;
	cursor: default;
}

.ts-calendar__detail-link:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
	text-decoration: none !important;
}

/* iOS Safari někdy prosvítá druhou stranou při 3D otočení karty. */
@media (max-width: 768px) {
	.ts-calendar__card-inner,
	.ts-calendar__card.is-revealed .ts-calendar__card-inner {
		-webkit-transform: none !important;
		transform: none !important;
		-webkit-transform-style: flat;
		transform-style: flat;
	}

	.ts-calendar__face--front {
		z-index: 2;
		visibility: visible;
		opacity: 1;
		transition: opacity var(--ts-calendar-motion-copy, 300ms) ease, visibility 0s linear var(--ts-calendar-motion-copy, 300ms);
	}

	.ts-calendar__face--back {
		z-index: 1;
		transform: none;
		visibility: hidden;
		opacity: 0;
		transition: opacity var(--ts-calendar-motion-copy, 300ms) ease, visibility 0s linear var(--ts-calendar-motion-copy, 300ms);
	}

	.ts-calendar__card.is-revealed .ts-calendar__face--front {
		z-index: 0;
		visibility: hidden;
		opacity: 0;
		transition: opacity var(--ts-calendar-motion-copy, 300ms) ease, visibility 0s;
	}

	.ts-calendar__card.is-revealed .ts-calendar__face--back {
		z-index: 2;
		visibility: visible;
		opacity: 1;
		transition: opacity var(--ts-calendar-motion-copy, 300ms) ease, visibility 0s;
	}
}

.ts-calendar-page .page-header {
	display: none;
}

.ts-calendar-page .site-main {
	background: linear-gradient(135deg, #fff 0%, #f5f8fb 55%, #eef4f8 100%);
}

.ts-calendar-page .site-main > article > .container {
	max-width: var(--ts-container-wide, 1400px);
}

.ts-calendar-page .entry-content {
	max-width: none;
	padding-top: 0;
}

.ts-calendar-place {
	padding: clamp(44px, 8vw, 96px) 20px;
	background: #f4f6f8;
}

.ts-calendar-place__inner {
	width: min(100%, 920px);
	margin: auto;
}

.ts-calendar-place__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	position: relative;
	z-index: 3;
	width: max-content;
	margin-bottom: 32px;
	padding: 0;
	border: 0;
	border-radius: 0;
	color: #66717d;
	background: transparent;
	box-shadow: none;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	opacity: .5;
	transform: translate(var(--ts-calendar-back-shift, 0px), var(--ts-calendar-back-shift-y, 0px));
	transition: color .2s ease, opacity .2s ease;
}

.ts-calendar-place__back-icon {
	display: inline-grid;
	width: 14px;
	height: 14px;
	place-items: center;
	flex: 0 0 14px;
	color: inherit;
	background: transparent;
	line-height: 1;
}

.ts-calendar-place__back-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.ts-calendar-place__back-icon path {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ts-calendar-place__back:hover {
	color: var(--ts-calendar-orange, #f5a000);
	opacity: 1;
}

.ts-calendar-place__back:focus-visible {
	outline: 3px solid rgba(7, 102, 167, .28);
	outline-offset: 3px;
}

.ts-calendar-place__image,
.ts-calendar-place__placeholder {
	width: 100%;
	aspect-ratio: 16 / 8;
	margin: 18px 0 32px;
	border-radius: 8px;
	object-fit: cover;
}

.ts-calendar-place__placeholder {
	display: grid;
	place-items: center;
	padding: 20px;
	color: #fff;
	background: var(--ts-calendar-navy);
}

.ts-calendar-place__content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.ts-calendar-place__content section {
	padding: 24px;
	border-radius: 8px;
	background: #fff;
}

.ts-calendar-place__gallery {
	margin-top: 28px;
}

.ts-calendar-place__gallery > div {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
}

.ts-calendar-place__gallery img {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	object-fit: cover;
}

/* Lednový detail je složený z běžných Gutenberg bloků a zůstává plně editovatelný. */
.ts-calendar-place--editorial {
	padding-top: 0;
	padding-bottom: 0;
	background: linear-gradient(145deg, #fff 0%, #f6f8fa 60%, #eef3f6 100%);
	/* Plnošířkové dekorace používají 100vw, které zahrnuje i svislý scrollbar. */
	overflow-x: hidden;
	overflow-x: clip;
}

.ts-calendar-place--editorial .ts-calendar-place__inner {
	width: min(100%, 1360px);
}

.ts-calendar-place--editorial .ts-calendar-place__back {
	--ts-calendar-back-shift: clamp(-250px, calc(700px - 50vw), 0px);
	margin: 0;
}

@media (min-width: 900px) {
	.ts-calendar-place--editorial .ts-calendar-place__back {
		--ts-calendar-back-shift-y: 42px;
	}

	.ts-calendar-place--editorial .ts-arches-main__hero {
		margin-top: -15px !important;
	}
}

.ts-arches-january {
	--arches-sand: #f3ece3;
	--arches-earth: #a9472b;
	--arches-ink: #101b2d;
}

.ts-arches-january .wp-block-columns {
	margin-bottom: 0;
}

.ts-arches-january__hero {
	align-items: center !important;
	gap: clamp(34px, 6vw, 88px);
	min-height: min(720px, 75vh);
	margin-bottom: clamp(76px, 9vw, 128px) !important;
}

.ts-arches-january__eyebrow,
.ts-arches-january__section-label {
	margin: 0 0 12px;
	color: var(--ts-calendar-orange);
	font-size: .73rem;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.ts-arches-january__title {
	margin: 0;
	color: var(--arches-ink);
	font-family: var(--font-heading, Montserrat, Inter, Arial, sans-serif);
	font-size: clamp(3rem, 5.5vw, 5.6rem);
	font-weight: 600;
	line-height: .98;
	letter-spacing: -.045em;
}

.ts-arches-january__title em {
	font-weight: inherit;
}

.ts-arches-january__lead {
	max-width: 520px;
	margin: 26px 0 0;
	color: #4c5d70;
	font-size: clamp(1rem, 1.35vw, 1.18rem);
	line-height: 1.7;
}

.ts-arches-january__buttons {
	margin-top: 30px;
}

.ts-arches-january .wp-block-button__link {
	min-height: 46px;
	padding: 12px 18px;
	border: 1px solid var(--ts-calendar-blue);
	border-radius: var(--radius-md, 8px);
	color: #fff !important;
	background: var(--ts-calendar-blue);
	font-size: .88rem;
	font-weight: 700;
	text-decoration: none !important;
}

.ts-arches-january .wp-block-button__link:hover {
	border-color: #083f70;
	color: #fff !important;
	background: #083f70;
}

.ts-arches-january .wp-block-button__link:focus-visible {
	outline: 3px solid var(--ts-calendar-orange);
	outline-offset: 4px;
}

.ts-arches-january__hero-media {
	position: relative;
	min-width: 0;
	padding: 0 0 52px 54px;
}

.ts-arches-january__hero-image {
	margin: 0;
}

.ts-arches-january__hero-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: var(--radius-md, 8px);
	object-fit: cover;
}

.ts-arches-january__hero-image figcaption {
	margin: 10px 0 0;
	color: #617083;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-align: right;
	text-transform: uppercase;
}

.ts-arches-january__inset-image {
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;
	width: clamp(150px, 27%, 220px);
	margin: 0;
	border: 8px solid #fff;
	border-radius: var(--radius-md, 8px);
	box-shadow: 0 18px 40px rgba(16, 27, 45, .17);
	overflow: hidden;
}

.ts-arches-january__inset-image img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.ts-arches-january__intro {
	max-width: 1060px;
	margin: 0 auto clamp(84px, 10vw, 140px);
	padding: clamp(34px, 5vw, 64px) clamp(24px, 5vw, 72px);
	border-left: 4px solid var(--arches-earth);
	background: var(--arches-sand);
}

.ts-arches-january__intro > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr);
	gap: clamp(28px, 6vw, 84px);
}

.ts-arches-january__intro > .wp-block-group__inner-container > .ts-arches-january__section-label {
	grid-column: 1;
}

.ts-arches-january__intro > .wp-block-group__inner-container > .wp-block-group {
	grid-column: 2;
	width: 100%;
	max-width: 720px;
	margin: 0 !important;
}

.ts-arches-january__intro h2,
.ts-arches-january__feature h2,
.ts-arches-january__closing h2 {
	margin: 0;
	color: var(--arches-ink);
	font-family: var(--font-heading, Montserrat, Inter, Arial, sans-serif);
	font-size: clamp(1.9rem, 3.25vw, 3.2rem);
	font-weight: 600;
	line-height: 1.13;
	letter-spacing: -.03em;
}

.ts-arches-january__intro > .wp-block-group__inner-container > .wp-block-group p,
.ts-arches-january__feature-copy > p:last-child,
.ts-arches-january__closing > p:not(.ts-arches-january__section-label) {
	margin: 20px 0 0;
	color: #4c5d70;
	font-size: clamp(.96rem, 1.2vw, 1.08rem);
	line-height: 1.75;
}

.ts-arches-january__feature {
	align-items: center !important;
	gap: clamp(36px, 7vw, 96px);
	margin-bottom: clamp(84px, 10vw, 140px) !important;
}

.ts-arches-january__feature figure {
	margin: 0;
}

.ts-arches-january__feature img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	border-radius: var(--radius-md, 8px);
	object-fit: cover;
}

.ts-arches-january__feature-copy {
	padding: clamp(28px, 4vw, 54px);
	background: var(--arches-sand);
}

.ts-arches-january__gallery {
	display: grid !important;
	grid-template-columns: 1.25fr .75fr .9fr;
	gap: clamp(12px, 2vw, 24px) !important;
	margin: 0 0 clamp(84px, 10vw, 140px) !important;
}

.ts-arches-january__gallery figure {
	width: auto !important;
	margin: 0 !important;
}

.ts-arches-january__gallery img {
	display: block;
	width: 100% !important;
	height: clamp(300px, 38vw, 520px) !important;
	border-radius: var(--radius-md, 8px);
	object-fit: cover;
}

.ts-arches-january__gallery figure:nth-child(2) img {
	object-position: center;
}

.ts-arches-january__facts,
.ts-arches-january__geology,
.ts-arches-january__visit {
	max-width: 1160px;
	margin: 0 auto clamp(84px, 10vw, 140px);
}

.ts-arches-january__facts h2,
.ts-arches-january__geology h2,
.ts-arches-january__visit h2 {
	max-width: 820px;
	margin: 0;
	color: var(--arches-ink);
	font-family: var(--font-heading, Montserrat, Inter, Arial, sans-serif);
	font-size: clamp(1.9rem, 3.25vw, 3.2rem);
	font-weight: 600;
	line-height: 1.13;
	letter-spacing: -.03em;
}

.ts-arches-january__facts .wp-block-columns {
	gap: clamp(16px, 2vw, 26px);
	margin-top: 34px;
}

.ts-arches-january__facts .wp-block-column {
	padding: clamp(24px, 3vw, 36px);
	border: 1px solid var(--ts-calendar-line);
	border-radius: var(--radius-md, 8px);
	background: #fff;
}

.ts-arches-january__facts h3 {
	margin: 0 0 14px;
	color: var(--ts-calendar-blue);
	font-family: var(--font-heading, Montserrat, Inter, Arial, sans-serif);
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	line-height: 1.1;
}

.ts-arches-january__facts .wp-block-column p,
.ts-arches-january__geology p,
.ts-arches-january__visit p,
.ts-arches-january__visit li {
	color: #4c5d70;
	line-height: 1.72;
}

.ts-arches-january__facts .wp-block-column p {
	margin: 0;
}

.ts-arches-january__geology {
	padding: clamp(38px, 6vw, 72px);
	border-radius: var(--radius-md, 8px);
	background: var(--arches-ink);
}

.ts-arches-january__geology h2,
.ts-arches-january__geology p,
.ts-arches-january__geology li {
	color: #fff;
}

.ts-arches-january__geology > .wp-block-group__inner-container > p:not(.ts-arches-january__section-label) {
	max-width: 880px;
	margin: 20px 0 0;
	opacity: .84;
}

.ts-arches-january__steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 44px;
	margin: 34px 0;
	padding: 0;
	list-style: none;
	counter-reset: arches-steps;
}

.ts-arches-january__steps li {
	position: relative;
	padding: 18px 0 18px 52px;
	border-top: 1px solid rgba(255, 255, 255, .18);
	line-height: 1.65;
	counter-increment: arches-steps;
}

.ts-arches-january__steps li::before {
	position: absolute;
	top: 16px;
	left: 0;
	color: var(--ts-calendar-orange);
	font-family: var(--font-heading, Montserrat, Inter, Arial, sans-serif);
	font-size: 1.35rem;
	font-weight: 800;
	content: counter(arches-steps, decimal-leading-zero);
}

.ts-arches-january__visit {
	padding: clamp(34px, 5vw, 64px);
	border-left: 4px solid var(--arches-earth);
	background: var(--arches-sand);
}

.ts-arches-january__visit .wp-block-columns {
	gap: clamp(34px, 6vw, 86px);
}

.ts-arches-january__visit h2 {
	margin-bottom: 22px;
}

.ts-arches-january__visit .wp-block-column > p:last-child {
	margin-bottom: 0;
}

.ts-arches-january__tips {
	padding: clamp(24px, 3vw, 36px);
	border-radius: var(--radius-md, 8px);
	background: #fff;
}

.ts-arches-january__tips h3 {
	margin: 0 0 18px;
	color: var(--arches-ink);
	font-family: var(--font-heading, Montserrat, Inter, Arial, sans-serif);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.ts-arches-january__tips ul {
	margin: 0;
	padding-left: 20px;
}

.ts-arches-january__tips li + li {
	margin-top: 12px;
}

.ts-arches-january--extras {
	width: 100%;
	margin: 0 auto;
	padding: 0 40px;
	background: transparent;
	box-shadow: none;
	clip-path: none;
}

.ts-arches-january__map {
	max-width: 1080px;
	margin: 0 auto clamp(84px, 10vw, 140px);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.ts-arches-january__map h2 {
	position: static;
	max-width: 860px;
	margin: 0;
	padding: 0;
	color: var(--arches-ink);
	background: transparent;
	font-family: var(--font-heading, Montserrat, Inter, Arial, sans-serif);
	font-size: clamp(2rem, 3vw, 3rem);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -.03em;
}

.ts-arches-january__map h2::before {
	content: none;
}

.ts-arches-january__map h2::after {
	display: block;
	width: 72px;
	height: 4px;
	margin-top: 22px;
	background: var(--arches-earth);
	content: '';
}

.ts-arches-january__map .ts-arches-january__section-label {
	margin-bottom: 14px;
	color: var(--arches-earth);
}

.ts-arches-january__map .ts-arches-january__section-label:empty,
.ts-arches-january__map > .wp-block-group__inner-container > p:empty {
	display: block;
}

.ts-arches-january__map > .wp-block-group__inner-container > p:not(.ts-arches-january__section-label):not(.ts-arches-january__map-source) {
	max-width: 720px;
	margin: 18px 0 28px;
	color: #4c5d70;
	line-height: 1.7;
}

.ts-arches-january__map-frame {
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--ts-calendar-line);
	border-radius: 8px;
	background: #e6ebef;
	box-shadow: 0 14px 34px rgba(16, 27, 45, .1);
}

.ts-caldera-route-map {
	overflow: hidden;
	margin: 0 !important;
	border: 1px solid var(--ts-calendar-line);
	border-radius: 8px;
	background: #e6ebef;
	box-shadow: 0 14px 34px rgba(16, 27, 45, .1);
}

.ts-caldera-route-map img {
	display: block;
	width: 100%;
	height: auto;
}

.ts-caldera-route-map figcaption {
	margin: 0;
	padding: 10px 14px;
	color: #617083;
	background: #fff;
	font-size: .78rem;
	text-align: right;
}

.ts-caldera-map-pair > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 2.2vw, 28px);
	align-items: stretch;
}

.ts-caldera-map-pair .ts-caldera-route-map {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.ts-caldera-map-pair .ts-caldera-route-map img {
	min-height: 430px;
	flex: 1;
	object-fit: cover;
}

.ts-caldera-map-pair .ts-arches-january__map-frame {
	min-width: 0;
}

.ts-caldera-map-pair .ts-arches-january__map-frame iframe {
	height: 100%;
	min-height: 468px;
}

.ts-arches-january__map-frame iframe {
	display: block;
	width: 100%;
	height: clamp(420px, 48vw, 590px);
	border: 0;
}

.ts-arches-january__map-source {
	margin: 10px 0 0;
	padding: 0;
	color: #617083;
	background: transparent;
	font-size: .78rem;
	text-align: right;
}

.ts-arches-january__map-source a {
	color: var(--ts-calendar-blue);
}

.ts-arches-january__closing {
	position: relative;
	width: auto;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding: clamp(42px, 5vw, 66px) clamp(32px, 7vw, 96px);
	border-radius: 0;
	text-align: center;
	background: linear-gradient(118deg, #102b40 0%, #154158 58%, #1b6c7d 100%);
	box-shadow: 0 20px 44px rgba(16, 27, 45, .18);
	overflow: hidden;
}

.ts-arches-january__closing::before,
.ts-arches-january__closing::after {
	position: absolute;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 50%;
	content: '';
}

.ts-arches-january__closing::before {
	top: -150px;
	right: -70px;
	width: 300px;
	height: 300px;
}

.ts-arches-january__closing::after {
	bottom: -110px;
	left: -55px;
	width: 220px;
	height: 220px;
}

.ts-arches-january__closing > .wp-block-group__inner-container {
	position: relative;
	z-index: 1;
	max-width: 900px;
	margin: 0 auto;
}

.ts-arches-january__closing h2,
.ts-arches-january__closing > .wp-block-group__inner-container > p:not(.ts-arches-january__section-label) {
	color: #fff;
}

.ts-arches-january__closing h2 + p {
	margin-top: 32px !important;
}

.ts-arches-january__closing .wp-block-buttons {
	justify-content: center;
	margin-top: 28px;
}

.ts-arches-january__closing .is-style-outline .wp-block-button__link {
	border-color: rgba(255, 255, 255, .7);
	background: transparent;
}

/* CTA v tmavé závěrečné sekci se při najetí jen jemně prosvětlí. */
@media (hover: hover) {
	.ts-arches-january__closing .is-style-outline .wp-block-button__link:hover {
		border-color: rgba(255, 255, 255, .9);
		color: #fff !important;
		background: rgba(255, 255, 255, .11);
	}
}

.ts-arches-january__closing .is-style-outline .wp-block-button__link:focus-visible {
	border-color: rgba(255, 255, 255, .9);
	color: #fff !important;
	background: rgba(255, 255, 255, .11);
}

/* Pohyb se aktivuje až skriptem, aby obsah zůstal viditelný při chybě JS. */
.ts-arches-january.ts-motion-ready .ts-arches-january__hero-copy > *,
.ts-arches-january.ts-motion-ready .ts-arches-january__hero-image,
.ts-arches-january.ts-motion-ready .ts-arches-january__inset-image {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity var(--ts-arches-motion-reveal, 760ms) ease, transform var(--ts-arches-motion-photo, 850ms) cubic-bezier(.2, .75, .25, 1);
}

.ts-arches-january.ts-motion-ready .ts-arches-january__hero-image {
	transform: translateY(18px) scale(.985);
}

.ts-arches-january.ts-motion-ready .ts-arches-january__inset-image {
	transform: translate(-16px, 24px) rotate(-2deg);
}

.ts-arches-january.ts-motion-ready .ts-arches-january__hero.is-visible .ts-arches-january__hero-copy > *,
.ts-arches-january.ts-motion-ready .ts-arches-january__hero.is-visible .ts-arches-january__hero-image,
.ts-arches-january.ts-motion-ready .ts-arches-january__hero.is-visible .ts-arches-january__inset-image {
	opacity: 1;
	transform: none;
}

.ts-arches-january.ts-motion-ready .ts-arches-january__hero.is-visible .ts-arches-january__hero-copy > *:nth-child(2) {
	transition-delay: var(--ts-arches-motion-stagger, 90ms);
}

.ts-arches-january.ts-motion-ready .ts-arches-january__hero.is-visible .ts-arches-january__hero-copy > *:nth-child(3) {
	transition-delay: calc(var(--ts-arches-motion-stagger, 90ms) * 2);
}

.ts-arches-january.ts-motion-ready .ts-arches-january__hero.is-visible .ts-arches-january__hero-copy > *:nth-child(4),
.ts-arches-january.ts-motion-ready .ts-arches-january__hero.is-visible .ts-arches-january__inset-image {
	transition-delay: calc(var(--ts-arches-motion-stagger, 90ms) * 3);
}

.ts-arches-january.ts-motion-ready :is(
	.ts-arches-january__intro,
	.ts-arches-january__facts,
	.ts-arches-january__geology,
	.ts-arches-january__feature,
	.ts-arches-january__gallery,
	.ts-arches-january__visit,
	.ts-arches-january__map,
	.ts-arches-january__closing
) {
	opacity: 0;
	transform: translateY(34px);
	transition: opacity var(--ts-arches-motion-medium, 600ms) ease, transform var(--ts-arches-motion-reveal, 760ms) cubic-bezier(.2, .75, .25, 1);
}

.ts-arches-january.ts-motion-ready :is(
	.ts-arches-january__intro,
	.ts-arches-january__facts,
	.ts-arches-january__geology,
	.ts-arches-january__feature,
	.ts-arches-january__gallery,
	.ts-arches-january__visit,
	.ts-arches-january__map,
	.ts-arches-january__closing
).is-visible {
	opacity: 1;
	transform: none;
}

/* Mapa a závěrečná výzva tvoří jeden celek, proto mezi nimi neběží oddělený pohyb. */
.ts-arches-january--extras.ts-motion-ready :is(.ts-arches-january__map, .ts-arches-january__closing) {
	opacity: 1;
	transform: none;
	transition: none;
}

.ts-arches-january.ts-motion-ready .ts-arches-january__facts .wp-block-column,
.ts-arches-january.ts-motion-ready .ts-arches-january__steps li,
.ts-arches-january.ts-motion-ready .ts-arches-january__gallery > figure {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity var(--ts-arches-motion-enter, 520ms) ease, transform var(--ts-arches-motion-medium, 600ms) cubic-bezier(.2, .75, .25, 1);
}

.ts-arches-january.ts-motion-ready .ts-arches-january__facts.is-visible .wp-block-column,
.ts-arches-january.ts-motion-ready .ts-arches-january__geology.is-visible .ts-arches-january__steps li,
.ts-arches-january.ts-motion-ready .ts-arches-january__gallery.is-visible > figure {
	opacity: 1;
	transform: none;
}

.ts-arches-january.ts-motion-ready :is(.ts-arches-january__facts .wp-block-column, .ts-arches-january__gallery > figure):nth-child(2),
.ts-arches-january.ts-motion-ready .ts-arches-january__steps li:nth-child(2) {
	transition-delay: var(--ts-arches-motion-stagger, 90ms);
}

.ts-arches-january.ts-motion-ready :is(.ts-arches-january__facts .wp-block-column, .ts-arches-january__gallery > figure):nth-child(3),
.ts-arches-january.ts-motion-ready .ts-arches-january__steps li:nth-child(3) {
	transition-delay: calc(var(--ts-arches-motion-stagger, 90ms) * 2);
}

.ts-arches-january.ts-motion-ready .ts-arches-january__steps li:nth-child(4) {
	transition-delay: calc(var(--ts-arches-motion-stagger, 90ms) * 3);
}

/* Hlavní stránka kalendáře je obsahový magazín složený z běžných Gutenberg bloků. */
.ts-arches-calendar-page {
	--arches-cream: #f5eee6;
	--arches-sand: #e8d5c2;
	--arches-terra: #a8492d;
	--arches-rust: #7c3524;
	--arches-ink: #101b2d;
	width: min(100%, 1360px);
	margin: 0 auto;
	padding: 28px 40px 72px;
	color: var(--arches-ink);
}

/* Únor má vlastní vulkanicko-oceánskou paletu, aby nepřebíral lednové pískovcové tóny. */
.ts-calendar-place--unor .ts-caldera-calendar-page {
	--arches-cream: #e6f0ed;
	--arches-sand: #cbded9;
	--arches-terra: #137b7f;
	--arches-rust: #0d5d62;
	--arches-ink: #11272d;
	--ts-calendar-orange: #a86700;
	--ts-calendar-blue: #0f6f78;
	--ts-calendar-line: #cddbd8;
	--color-primary: #0f6f78;
	padding-bottom: 0;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-media figure {
	filter: drop-shadow(14px 14px 0 rgba(19, 123, 127, .16));
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__diversity {
	background: #dfece8;
	box-shadow: 0 0 0 100vmax #dfece8;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__windows-copy h3 {
	background-image: linear-gradient(135deg, #e4b24b 0%, #55aeb0 52%, #8ac5c2 100%);
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__windows-copy p > span {
	border-left-color: rgba(85, 174, 176, .75);
}

.ts-calendar-place--unor .ts-arches-january__closing {
	background: linear-gradient(118deg, #10262c 0%, #104a51 56%, #137b7f 100%);
}

.ts-calendar-place--unor .ts-arches-january__closing h2 {
	color: #fff;
}

/* Lednový magazín má čistý bílý podklad; barevná zůstává jen vybraná sekce. */
.ts-calendar-place--editorial:has(.ts-arches-calendar-page) {
	background: #fff;
}

.ts-calendar-place--unor.ts-calendar-place--editorial:has(.ts-caldera-calendar-page) {
	background: #f4f8f7;
}

.ts-arches-calendar-page > .wp-block-group__inner-container {
	width: 100%;
	max-width: none !important;
}

.ts-arches-calendar-page :is(.wp-block-columns, .wp-block-group, .wp-block-image, .wp-block-gallery) {
	margin-top: 0;
	margin-bottom: 0;
}

.ts-arches-calendar-page :is(h1, h2, h3) {
	color: var(--arches-ink);
	font-family: var(--font-heading, Montserrat, Inter, Arial, sans-serif);
	letter-spacing: -.03em;
}

.ts-arches-calendar-page p {
	color: #4c5d70;
	line-height: 1.68;
}

.ts-arches-calendar-page img {
	display: block;
	width: 100%;
	border-radius: var(--radius-md, 8px);
	object-fit: cover;
}

.ts-arches-calendar-page figcaption {
	display: none;
}

/* Fotografie v magazínu zůstávají čisté bez výchozího „skleněného“ přechodu galerie. */
.ts-arches-calendar-page figure::before,
.ts-arches-calendar-page figure::after,
.ts-arches-calendar-page figure figcaption {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	filter: none !important;
	background-image: none !important;
	box-shadow: none !important;
}

.ts-arches-calendar-page figure figcaption {
	background-color: transparent !important;
}

.ts-arches-main__eyebrow {
	margin: 0 0 10px;
	color: var(--ts-calendar-orange) !important;
	font-size: .72rem;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: .17em;
	text-transform: uppercase;
}

.ts-arches-main__hero {
	display: block !important;
	margin-bottom: 54px !important;
}

.ts-arches-main__hero > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
	align-items: stretch;
	gap: clamp(28px, 4.5vw, 64px);
}

.ts-arches-main__hero-copy {
	padding: 22px 0;
	transform: translateY(16px);
}

.ts-arches-main__hero-copy > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ts-arches-main__title {
	max-width: 680px;
	margin: 0;
	font-size: clamp(2.65rem, 5vw, 5rem);
	font-weight: 650;
	line-height: .99;
}

.ts-arches-main__title em {
	display: block;
	color: var(--arches-terra);
	font-weight: inherit;
}

.ts-arches-main__lead {
	max-width: 620px;
	margin: 22px 0 0;
	font-size: clamp(1.05rem, 1.25vw, 1.22rem);
	line-height: 1.75;
}

.ts-caldera-hero-meta {
	display: grid;
	width: min(100%, 620px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 26px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--ts-calendar-line);
	color: #617083;
	font-size: .72rem;
	line-height: 1.35;
}

.ts-caldera-hero-meta span {
	display: block;
	padding-right: 12px;
}

.ts-caldera-hero-meta span + span {
	padding-left: 14px;
	border-left: 1px solid var(--ts-calendar-line);
}

.ts-caldera-hero-meta strong {
	display: block;
	margin-bottom: 2px;
	color: var(--arches-ink);
	font-family: var(--font-heading, Montserrat, Inter, Arial, sans-serif);
	font-size: .88rem;
	font-weight: 750;
}

.ts-arches-main__hero-media {
	min-height: 510px;
}

.ts-arches-main__hero-media figure,
.ts-arches-main__hero-media img {
	height: 100%;
}

.ts-arches-main__hero-media img {
	min-height: 510px;
	object-position: center 48%;
}

.ts-caldera-calendar-page .ts-arches-main__hero-media figure {
	filter: drop-shadow(14px 14px 0 rgba(168, 73, 45, .14));
}

.ts-arches-main__hero-media figcaption,
.ts-arches-main__mosaic figcaption,
.ts-arches-main__feature figcaption,
.ts-arches-main__card figcaption {
	position: static !important;
	inset: auto !important;
	min-height: 30px;
	margin: 8px 0 0;
	padding: 0 !important;
	color: #647487 !important;
	background: none !important;
	font-size: .7rem;
	line-height: 1.45;
	text-align: center !important;
	text-shadow: none;
}

.ts-arches-main__facts > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.ts-arches-main__fact {
	display: flex;
	min-height: 190px;
	align-items: center;
	padding: 32px 30px;
	border: 1px solid var(--ts-calendar-line);
	border-radius: var(--radius-md, 8px);
	background: #fff;
	box-shadow: 0 8px 22px rgba(16, 27, 45, .07);
}

.ts-arches-main__fact strong {
	display: block;
	margin-bottom: 5px;
	color: var(--ts-calendar-blue);
	font-family: var(--font-heading, Montserrat, Inter, Arial, sans-serif);
	font-size: clamp(1.9rem, 2.7vw, 2.65rem);
	line-height: 1;
}

.ts-arches-main__fact span {
	color: #56677a;
	font-size: .92rem;
	line-height: 1.45;
}

.ts-arches-main__section-heading {
	margin-bottom: 28px;
}

.ts-arches-main__section-heading > .wp-block-group__inner-container {
	display: block;
}

.ts-arches-main__section-heading h2,
.ts-arches-main__calendar-heading h2 {
	margin: 0;
	font-size: clamp(2rem, 3vw, 3rem);
	font-weight: 650;
	line-height: 1.05;
}

.ts-arches-main__section-heading p {
	max-width: 720px;
	margin: 14px 0 0;
}

.ts-arches-main__diversity,
.ts-arches-main__formations,
.ts-arches-main__geology {
	margin-bottom: 64px !important;
}

.ts-arches-main__diversity {
	padding: clamp(34px, 4vw, 52px) 0;
	background: #eceff1;
	box-shadow: 0 0 0 100vmax #eceff1;
	clip-path: inset(0 -100vmax);
}

/* Únorový příběh využívá na širších displejích dva stejně čitelné textové sloupce. */
.ts-caldera-calendar-page .ts-arches-main__diversity > .wp-block-group__inner-container {
	grid-template-columns: minmax(0, 1fr);
}

.ts-caldera-calendar-page .ts-arches-main__diversity .ts-arches-main__section-heading > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(32px, 5vw, 72px);
}

.ts-caldera-calendar-page .ts-arches-main__diversity .ts-arches-main__section-heading :is(.ts-arches-main__eyebrow, h2) {
	grid-column: 1 / -1;
}

.ts-caldera-calendar-page .ts-arches-main__diversity .ts-arches-main__section-heading p:not(.ts-arches-main__eyebrow) {
	max-width: none;
}

.ts-caldera-videos {
	margin-bottom: 64px !important;
}

.ts-caldera-videos__grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 2.5vw, 32px);
}

.ts-caldera-videos__grid > .wp-block-group__inner-container > .ts-caldera-videos__card:only-child {
	width: min(100%, 960px);
	grid-column: 1 / -1;
	justify-self: center;
}

.ts-caldera-videos__card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--ts-calendar-line);
	border-radius: var(--radius-md, 8px);
	background: #fff;
	box-shadow: 0 8px 22px rgba(16, 27, 45, .07);
}

.ts-caldera-videos__player {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: var(--arches-ink);
}

.ts-caldera-videos__player iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.ts-caldera-videos__card h3 {
	margin: 20px 22px 22px;
	font-size: clamp(1.15rem, 1.7vw, 1.45rem);
}

.ts-arches-main__park-intro {
	margin-bottom: 64px !important;
}

.ts-arches-main__park-intro {
	display: flex;
	min-height: clamp(300px, 34vh, 365px);
	align-items: center;
	padding: clamp(18px, 2.3vw, 30px) clamp(26px, 3.63vw, 46px);
	border-left: 4px solid var(--arches-terra);
	background: var(--arches-cream);
}

.ts-arches-main__park-intro > .wp-block-group__inner-container {
	display: grid;
	width: 100%;
	grid-template-columns: minmax(300px, .48fr) minmax(0, 1fr);
	gap: clamp(28px, 6vw, 84px);
	align-items: center;
}

.ts-arches-main__park-intro > .wp-block-group__inner-container > .wp-block-group:first-child {
	grid-row: 1;
	grid-column: 1;
	text-align: left;
}

.ts-arches-main__park-intro-copy {
	grid-row: 1;
	grid-column: 2;
}

.ts-arches-main__park-intro h2,
.ts-arches-main__windows-section h2 {
	margin: 0;
	font-size: clamp(2rem, 3.55vw, 3.55rem);
	font-weight: 650;
	line-height: 1.06;
}

.ts-arches-main__park-intro h2 {
	font-size: clamp(3rem, 4.5vw, 4.6rem);
	line-height: 1.02;
}

.ts-arches-main__park-intro-copy p {
	margin: 0;
	font-size: clamp(1.05rem, 1.25vw, 1.22rem);
	line-height: 1.75;
}

.ts-arches-main__park-intro-copy p + p {
	margin-top: 14px;
}

.ts-arches-main__windows-feature {
	align-items: stretch !important;
	gap: clamp(24px, 4vw, 54px);
	margin-top: 28px !important;
}

.ts-arches-main__windows-copy {
	margin-top: 18px !important;
	padding: clamp(26px, 3.5vw, 44px);
	border-radius: var(--radius-md, 8px);
	background: var(--arches-ink);
}

.ts-arches-main__windows-section {
	margin-bottom: 0 !important;
	padding: clamp(30px, 4vw, 50px) clamp(24px, 4vw, 50px) 18px;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: 0 0 0 100vmax #fff;
	clip-path: inset(0 -100vmax);
}

.ts-arches-main__windows-section + .ts-arches-main__facts {
	margin: 0 !important;
	padding: 0 clamp(24px, 4vw, 50px) clamp(30px, 4vw, 50px);
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: 0 0 0 100vmax #fff;
	clip-path: inset(0 -100vmax);
}

.ts-arches-main__windows-section + .ts-arches-main__facts + .ts-arches-main__diversity {
	margin-top: 0 !important;
}

.ts-arches-main__windows-copy > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr);
	align-items: start;
	gap: clamp(24px, 4vw, 54px);
}

.ts-arches-main__windows-copy :is(h3, p) {
	color: #fff;
}

.ts-arches-main__windows-copy h3 {
	align-self: center;
	margin: 0;
	color: transparent;
	background: linear-gradient(135deg, #f3a02f 0%, #d88443 48%, #69a1ad 100%);
	font-size: clamp(1.8rem, 2.8vw, 2.7rem);
	line-height: 1.08;
	-webkit-background-clip: text;
	background-clip: text;
}

.ts-arches-main__windows-copy p {
	display: grid;
	margin: 0;
	gap: 14px;
	opacity: .86;
}

.ts-arches-main__windows-copy p > span {
	display: block;
	padding-left: 16px;
	border-left: 2px solid rgba(243, 156, 18, .72);
}

.ts-arches-main__windows-copy p > span > strong:first-child {
	display: block;
	margin-bottom: 2px;
	color: #fff;
	font-size: inherit;
	letter-spacing: .02em;
}

.ts-arches-main__windows-gallery {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px !important;
	margin-top: 28px !important;
}

.ts-arches-main__windows-gallery figure {
	position: relative;
	width: auto !important;
	margin: 0 !important;
	border-radius: var(--radius-md, 8px);
	overflow: hidden;
}

.ts-arches-main__windows-gallery img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

/* Mobilní scrollovací příběh vzniká pouze po ověření skutečného telefonu v JS. */
.ts-arches-main__windows-mobile-track {
	position: relative;
	width: min(100%, var(--ts-windows-story-width, 520px));
	height: var(--ts-windows-story-track-height);
	margin: 0 auto;
}

.ts-arches-main__windows-mobile-stage {
	position: sticky;
	z-index: 2;
	top: calc(var(--ts-windows-story-top, 0px) + env(safe-area-inset-top));
	width: 100%;
	height: var(--ts-windows-story-stage-height);
	background: #fff;
}

.ts-arches-main__windows-section.is-mobile-scroll-story .ts-arches-main__windows-gallery {
	display: block !important;
	position: relative;
	width: 100%;
	height: var(--ts-windows-story-photo-height);
	margin: 0 !important;
	overflow: hidden;
	border-radius: var(--radius-md, 8px);
}

.ts-arches-main__windows-section.is-mobile-scroll-story .ts-arches-main__windows-copy {
	margin-top: 0 !important;
}

.ts-arches-main__windows-section.is-mobile-scroll-story .ts-arches-main__windows-gallery figure {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100%;
	margin: 0 !important;
	opacity: 0;
	pointer-events: none;
	transform: translate3d(0, 14px, 0) scale(1.025);
	transition: opacity var(--ts-arches-motion-landscape, 620ms) ease, transform var(--ts-arches-motion-landscape, 620ms) cubic-bezier(.2, .75, .25, 1);
	will-change: opacity, transform;
}

.ts-arches-main__windows-section.is-mobile-scroll-story .ts-arches-main__windows-gallery figure.is-mobile-story-before {
	transform: translate3d(0, -14px, 0) scale(1.015);
}

.ts-arches-main__windows-section.is-mobile-scroll-story .ts-arches-main__windows-gallery figure.is-mobile-story-active {
	z-index: 1;
	opacity: 1;
	pointer-events: auto;
	transform: none;
}

.ts-arches-main__windows-section.is-mobile-scroll-story .ts-arches-main__windows-gallery img {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: auto;
	object-fit: cover;
}

.ts-arches-main__cards--single > .wp-block-group__inner-container {
	grid-template-columns: minmax(0, 1fr);
}

.ts-arches-main__cards--single .ts-arches-main__card > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
}

.ts-arches-main__cards--single .ts-arches-main__card figure img {
	height: 100%;
	min-height: 300px;
}

.ts-arches-main__formation-carousel {
	position: relative;
	margin-top: 4px;
	border-radius: var(--radius-md, 8px);
	outline: none;
	overflow: hidden;
}

.ts-arches-main__formation-track {
	position: relative;
	height: clamp(520px, 44vw, 590px);
}

.ts-arches-main__formation-slide {
	height: 100%;
	width: 100%;
	margin-bottom: 0 !important;
	border: 0;
	border-radius: 0;
	background: var(--arches-ink);
}

.ts-arches-main__formation-slide > .wp-block-group__inner-container {
	display: grid !important;
	height: clamp(520px, 44vw, 590px);
	min-height: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 0 !important;
	align-items: stretch;
}

.ts-arches-main__formation-slide .ts-arches-main__feature-copy,
.ts-arches-main__formation-slide .ts-arches-main__card-copy {
	grid-row: 1;
	grid-column: 2;
	padding: clamp(34px, 4.4vw, 58px) clamp(28px, 4vw, 52px) 116px;
	background: var(--arches-ink);
}

.ts-arches-main__formation-slide .ts-arches-main__feature-copy > .wp-block-group__inner-container,
.ts-arches-main__formation-slide .ts-arches-main__card-copy > .wp-block-group__inner-container {
	display: flex;
	height: 100%;
	flex-direction: column;
	justify-content: center;
}

.ts-arches-main__formation-slide figure {
	position: relative;
	grid-row: 1;
	grid-column: 1;
	height: 100%;
	margin: 0;
	overflow: hidden;
}

.ts-arches-main__formation-slide figure img,
.ts-arches-main__formation-slide.ts-arches-main__card figure img {
	display: block;
	width: 100%;
	height: 100% !important;
	min-height: clamp(520px, 44vw, 590px);
	border-radius: 0;
	object-fit: cover;
}

.ts-arches-main__formation-slide figure figcaption {
	display: none;
}

.ts-arches-main__formation-slide :is(h3, p) {
	color: #fff;
}

.ts-arches-main__formation-slide h3 {
	font-size: clamp(2rem, 3.3vw, 3.15rem);
}

.ts-arches-main__formation-slide .ts-arches-main__tag {
	color: var(--ts-calendar-orange) !important;
	background: transparent;
}

.ts-arches-main__formation-slide[hidden] {
	display: none !important;
}

.ts-arches-main__formation-slide.is-active {
	animation: ts-formation-enter var(--ts-arches-motion-enter, 520ms) cubic-bezier(.2, .75, .25, 1) both;
}

.ts-arches-main__formation-controls {
	position: absolute;
	z-index: 2;
	bottom: 34px;
	left: calc(50% + clamp(28px, 4vw, 52px));
	display: flex;
	align-items: center;
	margin: 0;
	gap: 10px;
}

.ts-arches-main__formation-arrow,
.ts-arches-main__formation-dot {
	border: 0;
	cursor: pointer;
	appearance: none;
}

.ts-arches-main__formation-arrow {
	display: inline-grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border: 0;
	border-radius: 50%;
	color: #fff;
	background: var(--color-primary, var(--ts-calendar-blue));
	box-shadow: 0 6px 16px rgba(10, 77, 140, .18);
	transition: background-color var(--ts-arches-motion-fast, 180ms) ease, transform var(--ts-arches-motion-fast, 180ms) ease, box-shadow var(--ts-arches-motion-fast, 180ms) ease;
}

@media (hover: hover) {
	.ts-arches-main__formation-arrow:hover {
		background: var(--color-primary-dark, #073a6b);
		box-shadow: 0 11px 22px rgba(10, 77, 140, .3);
		transform: translateY(-4px);
	}
}

.ts-arches-main__formation-arrow:active {
	transform: translateY(0) scale(.96);
}

.ts-arches-main__formation-arrow:focus-visible,
.ts-arches-main__formation-dot:focus-visible {
	outline: 3px solid var(--ts-calendar-orange);
	outline-offset: 3px;
}

.ts-arches-main__formation-status {
	min-width: 54px;
	color: rgba(255, 255, 255, .82);
	font-size: .82rem;
	font-weight: 700;
	text-align: center;
}

.ts-arches-main__formation-dots {
	display: none;
	align-items: center;
	margin-left: 8px;
	gap: 8px;
}

.ts-arches-main__formation-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border-radius: 50%;
	background: #b8c3cd;
	transition: width var(--ts-arches-motion-fast, 180ms) ease, border-radius var(--ts-arches-motion-fast, 180ms) ease, background-color var(--ts-arches-motion-fast, 180ms) ease;
}

.ts-arches-main__formation-dot.is-active {
	width: 24px;
	border-radius: 8px;
	background: var(--arches-terra);
}

@keyframes ts-formation-enter {
	from { opacity: 0; transform: translateX(24px); }
	to { opacity: 1; transform: none; }
}

.ts-arches-main__mosaic {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px !important;
}

.ts-arches-main__mosaic figure {
	width: auto !important;
	margin: 0 !important;
}

.ts-arches-main__mosaic img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.ts-arches-main__mosaic figure:first-child img {
	object-position: center 62%;
}

.ts-arches-main__diversity > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
	align-items: center;
	gap: clamp(36px, 6vw, 84px);
}

.ts-arches-main__diversity .ts-arches-main__section-heading {
	margin: 0;
}

.ts-arches-main__diversity figcaption {
	display: none !important;
}

.ts-arches-main__landscape-slider {
	min-width: 0;
	outline: none;
}

.ts-arches-main__landscape-slider .ts-arches-main__mosaic {
	display: block !important;
}

.ts-arches-main__landscape-slide {
	width: 100% !important;
	margin: 0 !important;
}

.ts-arches-main__landscape-slide[hidden] {
	display: none !important;
}

.ts-arches-main__landscape-slide.is-active {
	animation: ts-landscape-enter var(--ts-arches-motion-landscape, 620ms) cubic-bezier(.2, .75, .25, 1) both;
}

.ts-arches-main__landscape-slider .ts-arches-main__landscape-slide img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.ts-arches-main__landscape-controls {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
}

.ts-arches-main__landscape-arrow,
.ts-arches-main__landscape-dot {
	border: 0;
	cursor: pointer;
	appearance: none;
}

.ts-arches-main__landscape-arrow {
	display: inline-grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border: 0;
	border-radius: 50%;
	color: #fff;
	background: var(--color-primary, var(--ts-calendar-blue));
	box-shadow: 0 6px 16px rgba(10, 77, 140, .18);
	transition: background-color var(--ts-arches-motion-fast, 180ms) ease, transform var(--ts-arches-motion-fast, 180ms) ease, box-shadow var(--ts-arches-motion-fast, 180ms) ease;
}

.ts-arches-main__landscape-arrow:hover {
	background: var(--color-primary-dark, #073a6b);
	box-shadow: 0 8px 20px rgba(10, 77, 140, .25);
	transform: translateY(-2px);
}

.ts-arches-main__landscape-arrow:active {
	transform: translateY(0) scale(.96);
}

.ts-arches-main__landscape-arrow:focus-visible,
.ts-arches-main__landscape-dot:focus-visible,
.ts-arches-main__landscape-slider:focus-visible {
	outline: 3px solid var(--ts-calendar-orange);
	outline-offset: 3px;
}

.ts-arches-main__landscape-status {
	min-width: 54px;
	color: #56677a;
	font-size: .82rem;
	font-weight: 700;
	text-align: center;
}

.ts-arches-main__landscape-dots {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: 8px;
}

.ts-arches-main__landscape-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border-radius: 50%;
	background: #b8c3cd;
	transition: width var(--ts-arches-motion-fast, 180ms) ease, border-radius var(--ts-arches-motion-fast, 180ms) ease, background-color var(--ts-arches-motion-fast, 180ms) ease;
}

.ts-arches-main__landscape-dot.is-active {
	width: 24px;
	border-radius: 8px;
	background: var(--arches-terra);
}

@keyframes ts-landscape-enter {
	from { opacity: 0; transform: translateX(24px); }
	to { opacity: 1; transform: none; }
}

.ts-arches-main__feature {
	margin-bottom: 22px !important;
	border: 1px solid var(--ts-calendar-line);
	border-radius: var(--radius-md, 8px);
	background: #fff;
	overflow: hidden;
}

.ts-arches-main__feature > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
	gap: 0;
	align-items: stretch;
}

.ts-arches-main__feature--reverse > .wp-block-group__inner-container {
	grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr);
}

.ts-arches-main__feature figure,
.ts-arches-main__feature img {
	height: 100%;
}

.ts-arches-main__feature img {
	min-height: 410px;
	border-radius: 0;
}

.ts-arches-main__feature-copy {
	padding: clamp(28px, 4vw, 50px);
}

.ts-arches-main__feature-copy > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}

.ts-arches-main__feature-copy h3,
.ts-arches-main__card h3 {
	margin: 0 0 14px;
	font-size: clamp(1.45rem, 2.35vw, 2.25rem);
	font-weight: 700;
	line-height: 1.08;
}

.ts-arches-main__feature-copy p,
.ts-arches-main__card-copy p {
	margin: 0;
}

.ts-arches-main__feature-copy .ts-caldera-route-notes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 22px;
}

.ts-caldera-route-notes span {
	padding: 6px 10px;
	border: 1px solid rgba(168, 73, 45, .22);
	border-radius: 999px;
	color: var(--arches-rust);
	background: var(--arches-cream);
	font-size: .72rem;
	font-weight: 750;
	letter-spacing: .04em;
}

.ts-arches-main__tag {
	display: inline-flex;
	align-self: flex-start;
	margin: 0 0 16px !important;
	padding: 5px 9px;
	border-radius: 4px;
	color: var(--arches-rust) !important;
	background: var(--arches-cream);
	font-size: .69rem;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.ts-arches-main__cards {
	margin-bottom: 22px !important;
}

.ts-arches-main__cards > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px !important;
}

.ts-arches-main__cards--three > .wp-block-group__inner-container {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ts-arches-main__card {
	border: 1px solid var(--ts-calendar-line);
	border-radius: var(--radius-md, 8px);
	background: #fff;
	overflow: hidden;
}

.ts-arches-main__card figure img {
	height: 280px;
	border-radius: 0;
}

.ts-arches-main__cards--three .ts-arches-main__card figure img {
	height: 230px;
}

.ts-arches-main__card-copy {
	padding: 24px;
}

.ts-arches-main__card-copy h3 {
	font-size: clamp(1.35rem, 2vw, 1.85rem);
}

.ts-arches-main__geology {
	border-radius: var(--radius-md, 8px);
	background: var(--arches-ink);
	box-shadow: 0 14px 34px rgba(16, 27, 45, .12);
	overflow: hidden;
}

.ts-arches-main__geology > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

.ts-arches-main__geology-media,
.ts-arches-main__geology-media > .wp-block-group__inner-container,
.ts-arches-main__geology-media figure {
	height: 100%;
	margin: 0;
}

.ts-arches-main__geology-media img {
	display: block;
	width: 100%;
	height: 100% !important;
	min-height: 520px;
	border-radius: 0;
	object-fit: cover;
}

.ts-arches-main__geology-copy {
	padding: clamp(32px, 4.5vw, 58px);
}

.ts-arches-main__geology-copy :is(h2, p, li) {
	color: #fff;
}

.ts-arches-main__geology-copy h2 {
	margin: 0 0 20px;
	font-size: clamp(2rem, 3.4vw, 3.3rem);
	line-height: 1.06;
}

.ts-arches-main__geology-copy > .wp-block-group__inner-container > p:not(.ts-arches-main__eyebrow) {
	margin: 0;
	opacity: .84;
}

.ts-arches-main__geology-detail {
	display: flex;
	min-height: 96px;
	align-items: center;
	margin-top: 26px;
	padding: 20px 22px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: var(--radius-sm, 6px);
	color: #fff;
	background: rgba(0, 0, 0, .2);
	font-size: 1rem;
	line-height: 1.55;
}

.ts-arches-main__geology-detail.is-changing {
	animation: ts-geology-detail var(--ts-arches-motion-detail, 280ms) ease both;
}

.ts-arches-main__geology-steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 28px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: geology;
}

.ts-arches-main__geology-steps li {
	position: relative;
	padding: 13px 0 13px 36px;
	border-top: 1px solid rgba(255, 255, 255, .18);
	font-size: .88rem;
	line-height: 1.55;
	counter-increment: geology;
}

.ts-arches-main__geology-steps li::before {
	position: absolute;
	top: 12px;
	left: 0;
	color: var(--ts-calendar-orange);
	font-weight: 800;
	content: counter(geology, decimal-leading-zero);
}

.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps {
	position: absolute;
	z-index: 4;
	bottom: 59px;
	left: 14px;
	width: calc(55% - 14px);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.ts-arches-main__geology.is-interactive {
	position: relative;
	z-index: 0;
	min-height: 432px;
	padding: 0;
	border: 0 !important;
	border-top: 0 !important;
	border-radius: 0;
	background: linear-gradient(118deg, #102b40 0%, #154158 54%, #1b6c7d 100%);
	box-shadow: none;
	outline: 0;
	overflow: visible;
}

.ts-arches-main__geology.is-interactive::before {
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	background: linear-gradient(118deg, #102b40 0%, #154158 54%, #1b6c7d 100%);
	content: '';
	transform: translateX(-50%);
}

.ts-arches-main__geology.is-interactive > .wp-block-group__inner-container {
	position: relative;
	display: block !important;
	min-height: 432px;
	border: 0;
	outline: 0;
}

.ts-arches-main__geology-header {
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	left: 0;
	display: grid;
	height: 118px;
	min-height: 0;
	grid-template-columns: 55% 45%;
	background: transparent;
	border: 0 !important;
	border-top: 0 !important;
	box-shadow: none;
	outline: 0;
	overflow: visible;
}

.ts-arches-main__geology-heading {
	position: absolute;
	z-index: 1;
	top: -2px;
	left: -32%;
	width: 96%;
	height: calc(100% + 2px);
	padding: 20px clamp(28px, 3vw, 42px) 20px calc(33.333% - 6px);
	clip-path: polygon(0 0, 100% 0, 88% 100%, 12% 100%);
	background: #f0f1ef;
	border: 0 !important;
	border-top: 0 !important;
	box-shadow: none;
	outline: 0;
	text-align: left;
	transform: none;
}

.ts-arches-main__geology-heading .ts-arches-main__eyebrow {
	color: var(--ts-calendar-blue);
}

.ts-arches-main__geology-heading h2 {
	margin: 4px 0 0;
	color: var(--arches-ink);
	font-size: clamp(2.1rem, 2.8vw, 2.8rem);
	line-height: 1.06;
}

.ts-arches-main__geology-heading h2:first-child {
	margin-top: 12px;
}

.ts-arches-main__geology-accent {
	height: 100%;
	background: transparent;
}

.ts-arches-main__geology-stage {
	position: absolute;
	z-index: 2;
	bottom: 129px;
	left: 14px;
	display: grid;
	width: calc(55% - 14px);
	height: 158px;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
	border-radius: var(--radius-sm, 6px);
	overflow: hidden;
}

.ts-arches-main__geology.is-interactive .ts-arches-main__geology-media img {
	height: 158px !important;
	min-height: 158px;
}

.ts-arches-main__geology.is-interactive .ts-arches-main__geology-detail {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: clamp(18px, 2.2vw, 30px);
	justify-content: stretch;
	min-height: 158px;
	margin: 0;
	padding: 18px clamp(24px, 3vw, 40px);
	border: 0;
	border-radius: 0;
	background: #192b42;
	font-size: clamp(1.1rem, 1.3vw, 1.22rem);
	text-align: left;
}

.ts-arches-main__geology-diagram {
	width: 132px;
	color: #f2a100;
}

.ts-arches-main__geology-diagram svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.ts-geology-art__rock {
	fill: #dce8ea;
}

.ts-geology-art__line,
.ts-geology-art__ground,
.ts-geology-art__ice,
.ts-geology-art__wind {
	fill: none;
	stroke: currentColor;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ts-geology-art__water {
	fill: #71c9e8;
}

.ts-geology-art__ice {
	stroke: #bfeaf5;
	stroke-width: 2.5;
}

.ts-geology-art__wind {
	stroke: #94c5d5;
	stroke-width: 2.5;
}

.ts-geology-art__grain {
	fill: #f2a100;
}

.ts-geology-art__opening {
	fill: none;
	stroke: #f2a100;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Pohyb sleduje konkrétní děj v aktivním kroku a běží jen při viditelné infografice. */
.ts-arches-main__geology.is-diagram-in-view .ts-arches-main__geology-diagram[data-step="1"] .ts-geology-art__line {
	stroke-dasharray: 92;
	animation: ts-geology-cracks var(--ts-arches-motion-cycle, 3200ms) ease-in-out infinite;
}

.ts-arches-main__geology.is-diagram-in-view .ts-arches-main__geology-diagram[data-step="2"] .ts-geology-art__water {
	animation: ts-geology-water var(--ts-arches-motion-water, 2600ms) ease-in-out infinite;
}

.ts-arches-main__geology.is-diagram-in-view .ts-arches-main__geology-diagram[data-step="2"] .ts-geology-art__ice {
	transform-origin: 66px 55px;
	animation: ts-geology-ice var(--ts-arches-motion-water, 2600ms) ease-in-out infinite;
}

.ts-arches-main__geology.is-diagram-in-view .ts-arches-main__geology-diagram[data-step="3"] .ts-geology-art__opening {
	stroke-dasharray: 72;
	animation: ts-geology-opening var(--ts-arches-motion-cycle, 3200ms) ease-in-out infinite;
}

.ts-arches-main__geology.is-diagram-in-view .ts-arches-main__geology-diagram[data-step="4"] .ts-geology-art__wind {
	animation: ts-geology-wind var(--ts-arches-motion-wind, 2800ms) ease-in-out infinite;
}

.ts-arches-main__geology.is-diagram-in-view .ts-arches-main__geology-diagram[data-step="4"] .ts-geology-art__grain {
	animation: ts-geology-grains var(--ts-arches-motion-wind, 2800ms) ease-in-out infinite;
}

.ts-arches-main__geology.is-diagram-in-view .ts-arches-main__geology-progress .is-active {
	animation: ts-geology-progress var(--ts-arches-motion-cycle, 3200ms) ease-in-out infinite;
}

@keyframes ts-geology-cracks {
	0%, 12% { stroke-dashoffset: 92; opacity: .45; }
	58%, 88% { stroke-dashoffset: 0; opacity: 1; }
	100% { stroke-dashoffset: 92; opacity: .45; }
}

@keyframes ts-geology-water {
	0%, 100% { transform: translateY(-4px); opacity: .45; }
	45%, 70% { transform: translateY(6px); opacity: 1; }
}

@keyframes ts-geology-ice {
	0%, 20%, 100% { transform: scale(.85); opacity: .45; }
	55%, 75% { transform: scale(1.1); opacity: 1; }
}

@keyframes ts-geology-opening {
	0%, 12% { stroke-dashoffset: 72; opacity: .35; }
	60%, 88% { stroke-dashoffset: 0; opacity: 1; }
	100% { stroke-dashoffset: 72; opacity: .35; }
}

@keyframes ts-geology-wind {
	0%, 100% { transform: translateX(-6px); opacity: .4; }
	50% { transform: translateX(7px); opacity: 1; }
}

@keyframes ts-geology-grains {
	0%, 100% { transform: translate(0, 0); opacity: .5; }
	50% { transform: translate(5px, 4px); opacity: 1; }
}

@keyframes ts-geology-progress {
	0%, 100% { opacity: .7; }
	50% { opacity: 1; }
}

.ts-arches-main__geology-detail-text {
	display: flex;
	align-items: center;
}

.ts-arches-main__geology-detail.is-changing .ts-arches-main__geology-diagram svg {
	animation: ts-geology-art var(--ts-arches-motion-art, 360ms) cubic-bezier(.2, .75, .25, 1) both;
}

.ts-arches-main__geology-progress {
	position: absolute;
	z-index: 3;
	bottom: 115px;
	left: 14px;
	display: grid;
	width: calc(55% - 14px);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
	margin: 0;
}

.ts-arches-main__geology-progress span {
	height: 6px;
	border-radius: 3px;
	background: #9ab8c8;
}

.ts-arches-main__geology-progress span.is-active {
	background: var(--ts-calendar-orange);
}

.ts-arches-main__geology-silhouette {
	position: absolute;
	z-index: 1;
	right: 6%;
	bottom: -1px;
	width: 30%;
	height: 86%;
	background: #e3ecee;
	clip-path: polygon(0 100%, 2% 76%, 7% 56%, 14% 38%, 24% 23%, 37% 12%, 51% 8%, 64% 12%, 75% 24%, 82% 41%, 86% 58%, 90% 74%, 100% 100%);
}

.ts-arches-main__geology-silhouette::after {
	position: absolute;
	right: 22%;
	bottom: -1px;
	left: 26%;
	height: 68%;
	border-radius: 0;
	background: #0c465a;
	clip-path: polygon(0 100%, 2% 55%, 9% 38%, 20% 25%, 36% 15%, 53% 12%, 70% 20%, 83% 36%, 91% 56%, 100% 100%);
	content: '';
	transform: skewX(-3deg);
	transform-origin: bottom center;
}

.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps li {
	position: relative;
	padding: 0;
	border: 0;
	counter-increment: none;
}

.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps li::before {
	display: none;
}

.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps li:not(:last-child)::after {
	position: absolute;
	z-index: 2;
	top: 50%;
	right: -19px;
	color: #d6e6ee;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1;
	content: '\276F';
	transform: translateY(-50%);
}

.ts-arches-main__geology-step-button {
	position: relative;
	display: flex;
	width: 100%;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 11px 12px;
	border: 0;
	border-radius: 3px;
	color: #fff;
	background: #0b568d;
	font: inherit;
	font-size: .94rem;
	font-weight: 700;
	line-height: 1.25;
	cursor: pointer;
	transition: background-color var(--ts-arches-motion-fast, 180ms) ease, color var(--ts-arches-motion-fast, 180ms) ease, transform var(--ts-arches-motion-fast, 180ms) ease;
}

.ts-arches-main__geology-step-label {
	color: inherit;
}

.ts-arches-main__geology-step-button:hover {
	background: #0d659f;
}

.ts-arches-main__geology-step-button:active {
	transform: translateY(1px);
}

.ts-arches-main__geology-step-button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 2px;
}

.ts-arches-main__geology-steps li.is-active .ts-arches-main__geology-step-button {
	color: #fff;
	background: var(--ts-calendar-orange);
}

@keyframes ts-geology-detail {
	from { opacity: .45; transform: translateY(5px); }
	to { opacity: 1; transform: none; }
}

@keyframes ts-geology-art {
	from { opacity: .35; transform: translateY(5px) scale(.96); }
	to { opacity: 1; transform: none; }
}

.ts-arches-main__calendar-section {
	padding: clamp(34px, 4.5vw, 56px) 0 0;
	border-top: 1px solid var(--ts-calendar-line);
}

.ts-arches-main__calendar-heading {
	margin-bottom: 28px;
}

.ts-arches-main__calendar-heading > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(300px, .7fr);
	gap: 40px;
	align-items: end;
}

.ts-arches-main__calendar-heading p {
	margin: 0;
}

/* Běžný text článku má ve všech obsahových blocích jednotnou velikost. */
.ts-arches-main__lead,
.ts-arches-main__park-intro-copy p,
.ts-arches-main__section-heading p,
.ts-arches-main__windows-copy p,
.ts-arches-main__feature-copy p:not(.ts-arches-main__tag),
.ts-arches-main__card-copy p,
.ts-arches-january__map > .wp-block-group__inner-container > p:not(.ts-arches-january__section-label):not(.ts-arches-january__map-source),
.ts-arches-january__closing > .wp-block-group__inner-container > p:not(.ts-arches-january__section-label) {
	font-size: clamp(1rem, 1.1vw, 1.08rem);
}

/* Významové akcenty zrychlují orientaci v delších odstavcích. */
.ts-arches-calendar-page :is(.ts-type-key, .ts-type-place, .ts-type-fact),
.ts-arches-january--extras :is(.ts-type-key, .ts-type-place, .ts-type-fact) {
	color: inherit;
	font-style: normal;
	font-weight: 700;
}

.ts-arches-calendar-page .ts-type-fact,
.ts-arches-january--extras .ts-type-fact {
	font-variant-numeric: tabular-nums;
}

.ts-arches-calendar-page .ts-type-note,
.ts-arches-january--extras .ts-type-note {
	color: inherit;
	font-style: italic;
	text-decoration: none;
}

/* Jemný nástup sekcí; bez JS zůstává veškerý obsah viditelný. */
body.ts-arches-motion-ready [data-arches-reveal] {
	opacity: 0;
	transform: translate3d(0, 24px, 0) scale(.992);
	transition: opacity var(--ts-arches-motion-medium, 600ms) ease, transform var(--ts-arches-motion-reveal, 760ms) cubic-bezier(.2, .75, .25, 1);
}

body.ts-arches-motion-ready [data-arches-reveal].is-visible {
	opacity: 1;
	transform: none;
}

body.ts-arches-motion-ready .ts-motion-item {
	opacity: 0;
	transform: translate3d(0, 14px, 0);
	transition: opacity var(--ts-arches-motion-enter, 520ms) ease var(--ts-motion-delay, 0ms), transform var(--ts-arches-motion-landscape, 620ms) cubic-bezier(.2, .75, .25, 1) var(--ts-motion-delay, 0ms);
}

body.ts-arches-motion-ready .ts-motion-item.is-visible {
	opacity: 1;
	transform: none;
}

.ts-motion-heading {
	display: inline;
	background-image: linear-gradient(90deg, var(--ts-calendar-orange), var(--arches-terra, #a8492d));
	background-repeat: no-repeat;
	background-position: left calc(100% + 5px);
	background-size: 0 3px;
	transition: background-size var(--ts-arches-motion-underline, 720ms) cubic-bezier(.2, .75, .25, 1) var(--ts-arches-motion-fast, 180ms);
}

[data-arches-reveal].is-visible .ts-motion-heading {
	background-size: 72px 3px;
}

.ts-arches-calendar-page .ts-motion-media,
.ts-arches-calendar-page .ts-motion-media figure {
	overflow: hidden;
}

.ts-arches-calendar-page .ts-motion-media img {
	transition: transform var(--ts-arches-motion-photo, 850ms) cubic-bezier(.2, .75, .25, 1);
	will-change: transform;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.ts-arches-calendar-page .ts-motion-media:hover img {
		transform: scale(1.025);
	}

	.ts-arches-january__closing .wp-block-button__link:hover {
		transform: translateY(-2px) scale(1.01);
	}
}

.ts-arches-january__closing .wp-block-button__link,
.ts-arches-january__map-source a,
.ts-calendar-place__back-link {
	transition: color var(--ts-arches-motion-fast, 180ms) ease, background-color var(--ts-arches-motion-fast, 180ms) ease, border-color var(--ts-arches-motion-fast, 180ms) ease, transform var(--ts-arches-motion-fast, 180ms) ease;
}

.ts-arches-january__closing .wp-block-button__link:active {
	transform: translateY(1px) scale(.99);
}

.ts-arches-january__closing .wp-block-button__link:focus-visible,
.ts-arches-january__map-source a:focus-visible,
.ts-calendar-place__back-link:focus-visible {
	outline: 3px solid rgba(243, 160, 47, .5);
	outline-offset: 4px;
}

@media (min-width: 620px) {
	.ts-calendar__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 619px) {
	.ts-calendar {
		padding: 30px 0 58px;
	}

	.ts-calendar__grid {
		width: min(100%, 420px);
	}

	.ts-calendar__face--back {
		padding: clamp(22px, 7vw, 30px);
	}

	.ts-calendar__back-title {
		font-size: clamp(1.3rem, 6.2vw, 1.7rem);
	}

	.ts-calendar__back-location {
		font-size: clamp(.83rem, 3.55vw, .96rem);
	}
}

@media (max-width: 780px) {
	.ts-arches-calendar-page {
		padding: 22px 20px 58px;
	}

	.ts-arches-january--extras {
		padding: 0 20px;
	}

	.ts-arches-january__map {
		padding: 0;
	}

	.ts-arches-january__map-frame iframe {
		height: 430px;
	}

	.ts-arches-january__closing {
		padding: 42px 24px;
	}

	.ts-arches-main__hero > .wp-block-group__inner-container,
	.ts-arches-main__section-heading > .wp-block-group__inner-container,
	.ts-arches-main__diversity > .wp-block-group__inner-container,
	.ts-arches-main__park-intro > .wp-block-group__inner-container,
	.ts-arches-main__feature > .wp-block-group__inner-container,
	.ts-arches-main__feature--reverse > .wp-block-group__inner-container,
	.ts-arches-main__geology > .wp-block-group__inner-container,
	.ts-arches-main__calendar-heading > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.ts-caldera-calendar-page .ts-arches-main__diversity .ts-arches-main__section-heading > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.ts-caldera-calendar-page .ts-arches-main__diversity .ts-arches-main__section-heading :is(.ts-arches-main__eyebrow, h2) {
		grid-column: 1;
	}

	.ts-caldera-videos__grid > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.ts-caldera-map-pair > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.ts-caldera-map-pair .ts-caldera-route-map img {
		min-height: 0;
	}

	.ts-caldera-map-pair .ts-arches-january__map-frame iframe {
		height: 430px;
		min-height: 0;
	}

	.ts-arches-main__hero {
		gap: 18px;
		margin-bottom: 30px !important;
	}

	.ts-arches-main__park-intro {
		min-height: 0;
		padding: 24px 29px;
	}

	.ts-arches-main__park-intro h2 {
		font-size: clamp(2.6rem, 9vw, 3.5rem);
	}

	.ts-arches-main__park-intro > .wp-block-group__inner-container > .wp-block-group:first-child,
	.ts-arches-main__park-intro-copy {
		grid-row: auto;
		grid-column: auto;
		text-align: left;
	}

	.ts-arches-main__hero-copy {
		padding: 6px 0;
		transform: none;
	}

	.ts-arches-main__hero-media,
	.ts-arches-main__hero-media img {
		min-height: 360px;
	}

	.ts-arches-main__facts {
		margin: -48px 16px 44px !important;
	}

	.ts-arches-main__mosaic {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ts-arches-main__mosaic img {
		height: auto !important;
	}

	.ts-arches-main__feature--reverse figure {
		order: -1;
	}

	.ts-arches-main__formation-carousel .ts-arches-main__formation-slide > .wp-block-group__inner-container {
		display: grid !important;
		height: auto;
		min-height: 0;
		grid-template-columns: 1fr !important;
	}

	.ts-arches-main__formation-track,
	.ts-arches-main__formation-slide {
		height: auto;
	}

	.ts-arches-main__formation-slide figure {
		grid-row: 1;
		grid-column: 1;
	}

	.ts-arches-main__formation-slide .ts-arches-main__feature-copy,
	.ts-arches-main__formation-slide .ts-arches-main__card-copy {
		grid-row: 2;
		grid-column: 1;
		padding: 30px 28px 96px;
	}

	.ts-arches-main__formation-slide figure img,
	.ts-arches-main__formation-slide.ts-arches-main__card figure img {
		height: 340px !important;
		min-height: 340px;
	}

	.ts-arches-main__formation-controls {
		bottom: 26px;
		left: 28px;
	}

	.ts-arches-main__cards--three > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.ts-arches-main__cards--three .ts-arches-main__card > .wp-block-group__inner-container {
		display: grid;
		grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr);
	}

	.ts-arches-main__windows-feature {
		flex-direction: column;
	}

	.ts-arches-main__windows-feature > .wp-block-column {
		flex-basis: auto !important;
		width: 100%;
	}

	.ts-arches-main__windows-gallery,
	.ts-arches-main__windows-copy > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.ts-arches-main__cards--three .ts-arches-main__card figure img {
		height: 100%;
		min-height: 260px;
	}

	.ts-arches-main__geology-media img {
		height: 360px !important;
		min-height: 360px;
	}

	.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps {
		position: relative;
		bottom: auto;
		left: auto;
		width: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 4px 14px 14px;
	}

	.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps li:nth-child(even)::after {
		display: none;
	}

	.ts-arches-main__geology.is-interactive,
	.ts-arches-main__geology.is-interactive > .wp-block-group__inner-container {
		min-height: 0;
	}

	.ts-arches-main__geology.is-interactive {
		background: #fff;
	}

	.ts-arches-main__geology-stage {
		position: relative;
		bottom: auto;
		left: auto;
		width: auto;
		height: auto;
		grid-template-columns: 1fr;
		margin: 0 14px;
	}

	.ts-arches-main__geology-header {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		display: block;
		height: auto;
		min-height: 145px;
	}

	.ts-arches-main__geology-heading {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		height: auto;
		max-width: none;
		padding: 28px 22px 22px;
		clip-path: none;
		text-align: left;
		transform: none;
	}

	.ts-arches-main__geology-accent {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 42%;
		clip-path: polygon(48% 0, 100% 0, 100% 100%, 0 100%);
		background: var(--arches-ink);
	}

	.ts-arches-main__geology-progress {
		position: relative;
		bottom: auto;
		left: auto;
		width: auto;
		margin: 8px 14px 0;
	}

	.ts-arches-main__geology-silhouette {
		display: none;
	}

	.ts-arches-main__geology.is-interactive .ts-arches-main__geology-media img {
		height: 220px !important;
		min-height: 220px;
	}

	.ts-arches-main__geology.is-interactive .ts-arches-main__geology-detail {
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 16px;
		min-height: 170px;
		padding: 18px 20px;
	}

	.ts-arches-main__geology-diagram {
		width: 104px;
	}

	.ts-arches-main__calendar-heading {
		gap: 14px;
	}

	.ts-calendar-place--editorial {
		padding-right: 18px;
		padding-left: 18px;
	}

	.ts-arches-january__hero,
	.ts-arches-january__feature {
		flex-direction: column;
	}

	.ts-arches-january__hero-copy,
	.ts-arches-january__hero-media,
	.ts-arches-january__feature > .wp-block-column {
		flex-basis: auto !important;
		width: 100%;
	}

	.ts-arches-january__hero {
		min-height: 0;
	}

	.ts-arches-january__hero-media {
		padding-left: 36px;
	}

	.ts-arches-january__intro > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ts-arches-january__intro > .wp-block-group__inner-container > .ts-arches-january__section-label,
	.ts-arches-january__intro > .wp-block-group__inner-container > .wp-block-group {
		grid-column: 1;
	}

	.ts-arches-january__gallery {
		grid-template-columns: 1fr 1fr;
	}

	.ts-arches-january__gallery figure:first-child {
		grid-column: 1 / -1;
	}

	.ts-arches-january__facts .wp-block-columns,
	.ts-arches-january__visit .wp-block-columns {
		flex-direction: column;
	}

	.ts-arches-january__steps {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 1024px) {
	.ts-calendar {
		max-width: none;
	}

	.ts-calendar__grid {
		width: 100%;
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.ts-arches-main__title {
		font-size: clamp(2.35rem, 12vw, 3.3rem);
	}

	.ts-arches-main__hero-media,
	.ts-arches-main__hero-media img {
		min-height: 290px;
	}

	.ts-caldera-calendar-page .ts-arches-main__hero-media figure {
		filter: drop-shadow(8px 8px 0 rgba(168, 73, 45, .14));
	}

	.ts-caldera-hero-meta {
		margin-top: 20px;
		font-size: .64rem;
	}

	.ts-caldera-hero-meta span {
		padding-right: 7px;
	}

	.ts-caldera-hero-meta span + span {
		padding-left: 8px;
	}

	.ts-caldera-hero-meta strong {
		font-size: .76rem;
	}

	.ts-arches-main__facts > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.ts-arches-main__facts {
		margin: -34px 12px 40px !important;
	}

	.ts-arches-main__fact > .wp-block-group__inner-container > p {
		display: grid;
		grid-template-columns: 80px 1fr;
		align-items: center;
		gap: 10px;
		padding: 15px 18px;
	}

	.ts-arches-main__fact strong {
		margin: 0;
	}

	.ts-arches-main__mosaic,
	.ts-arches-main__cards > .wp-block-group__inner-container,
	.ts-arches-main__cards--three > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.ts-arches-main__mosaic figure:first-child {
		grid-column: auto;
	}

	.ts-arches-main__mosaic img {
		height: 230px !important;
	}

	.ts-arches-main__feature img {
		min-height: 290px;
	}

	.ts-arches-main__cards--three .ts-arches-main__card > .wp-block-group__inner-container {
		display: block;
	}

	.ts-arches-main__cards--single .ts-arches-main__card > .wp-block-group__inner-container {
		display: block;
	}

	.ts-arches-main__windows-gallery {
		grid-template-columns: 1fr;
	}

	.ts-arches-main__windows-gallery img {
		height: 260px !important;
	}

	.ts-arches-main__cards--three .ts-arches-main__card figure img,
	.ts-arches-main__card figure img {
		height: 240px;
		min-height: 0;
	}

	.ts-arches-main__geology-steps {
		grid-template-columns: 1fr;
	}

	.ts-arches-main__geology.is-interactive .ts-arches-main__geology-detail {
		grid-template-columns: 86px minmax(0, 1fr);
		gap: 13px;
		padding: 16px;
		font-size: 1rem;
	}

	.ts-arches-main__geology-diagram {
		width: 86px;
	}

	.entry-content .ts-calendar__heading {
		font-size: clamp(2.05rem, 10.5vw, 3rem);
		line-height: 1.08;
	}

	.ts-calendar__lead::before {
		width: 28px;
		margin-right: 9px;
	}

	.ts-calendar-place__content {
		grid-template-columns: 1fr;
	}
}

/* Mobilní kompozice lednového magazínu – bez přetékání a s bezpečnými okraji. */
@media (max-width: 768px) {
	html,
	body,
	.ts-calendar-place--editorial,
	.ts-calendar-place__inner,
	.ts-calendar-place__body {
		max-width: 100%;
		overflow-x: clip;
	}

	.ts-calendar-place--editorial {
		padding-right: 0;
		padding-left: 0;
	}

	.ts-calendar-place--editorial .ts-calendar-place__back {
		--ts-calendar-back-shift: 0px;
		--ts-calendar-back-shift-y: 0px;
		display: flex;
		margin: 18px 16px 0;
		transform: none;
	}

	.ts-arches-calendar-page.has-mobile-back-link .ts-arches-main__hero {
		margin-bottom: 30px !important;
	}

	.ts-arches-calendar-page.has-mobile-back-link .ts-arches-main__hero .ts-calendar-place__back {
		position: absolute;
		top: 6px;
		right: 0;
		margin: 0;
		font-size: .84rem;
		opacity: .66;
	}

	.ts-arches-calendar-page.has-mobile-back-link .ts-arches-main__hero-copy {
		position: relative;
	}

	.ts-arches-calendar-page.has-mobile-back-link .ts-arches-main__hero-copy .ts-arches-main__eyebrow {
		padding-right: 58px;
		font-size: .65rem;
		letter-spacing: .13em;
		white-space: nowrap;
	}

	.ts-arches-calendar-page.has-mobile-back-link .ts-calendar-place__back-label-long {
		display: none;
	}

	.ts-arches-calendar-page {
		width: 100%;
		max-width: 100%;
		padding: 22px 16px 58px;
		box-sizing: border-box;
		/* clip nevytvoří svislý scroll kontejner, který blokuje sticky galerii. */
		overflow-x: clip;
	}

	.ts-arches-main__windows-section + .ts-arches-main__facts,
	.ts-arches-main__facts {
		width: 100%;
		margin: 0 0 40px !important;
		padding: 0;
	}

	.ts-arches-main__facts > .wp-block-group__inner-container {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ts-arches-main__fact {
		display: block;
		width: 100%;
		min-width: 0;
		min-height: 0;
		padding: 22px 20px;
	}

	.ts-arches-main__fact > .wp-block-group__inner-container,
	.ts-arches-main__fact > .wp-block-group__inner-container > p {
		width: 100%;
		min-width: 0;
	}

	.ts-arches-main__fact > .wp-block-group__inner-container > p {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		margin: 0;
		padding: 0;
		gap: 8px;
	}

	.ts-arches-main__fact strong,
	.ts-arches-main__fact span {
		display: block;
		width: 100%;
		margin: 0;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.ts-arches-main__fact strong {
		font-size: clamp(1.8rem, 9vw, 2.35rem);
		line-height: 1.05;
	}

	.ts-arches-main__fact span {
		font-size: .94rem;
		line-height: 1.5;
	}

	.ts-arches-main__geology.is-interactive {
		width: 100%;
		max-width: 100%;
		margin-right: 0 !important;
		margin-left: 0 !important;
		box-sizing: border-box;
		overflow: hidden;
	}

	.ts-arches-main__geology.is-interactive::before {
		right: 0;
		left: 0;
		width: 100%;
		transform: none;
	}

	.ts-arches-main__geology-header {
		width: 100%;
		min-height: 0;
	}

	.ts-arches-main__geology-heading {
		left: 0;
		width: 100%;
		max-width: 100%;
		padding: 24px 20px;
		box-sizing: border-box;
		clip-path: none;
	}

	.ts-arches-main__geology-heading h2 {
		font-size: clamp(1.9rem, 9vw, 2.45rem);
		line-height: 1.08;
	}

	.ts-arches-main__geology-accent {
		display: none;
	}

	.ts-arches-main__geology-stage {
		width: calc(100% - 32px);
		max-width: calc(100% - 32px);
		margin: 10px 16px 0;
		box-sizing: border-box;
	}

	.ts-arches-main__geology-progress {
		display: none;
	}

	.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps {
		width: calc(100% - 32px);
		margin: 6px 16px 16px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 20px;
		row-gap: 8px;
	}

	.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps li::after {
		display: none;
	}

	.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps li:nth-child(odd):not(:last-child)::after {
		display: block;
		top: calc(50% + 5px);
		right: -15px;
		font-size: 1.05rem;
	}

	.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps li {
		padding-top: 10px;
	}

	.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps li::before {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		width: 100%;
		height: 5px;
		border-radius: 3px;
		background: #9ab8c8;
		content: '';
	}

	.ts-arches-main__geology.is-interactive .ts-arches-main__geology-steps li.is-active::before {
		background: var(--ts-calendar-orange);
		animation: ts-geology-progress var(--ts-arches-motion-cycle, 3200ms) ease-in-out infinite;
	}

	.ts-arches-main__geology-step-button {
		min-width: 0;
		min-height: 48px;
		padding: 10px 8px;
		font-size: .82rem;
	}

	.ts-arches-main__formation-carousel {
		width: 100%;
		max-width: 100%;
	}

	/* Všechny mobilní snímky určují společnou výšku, takže carousel při přepnutí neposkočí. */
	.ts-arches-main__formation-track {
		display: grid;
		height: auto;
	}

	.ts-arches-main__formation-slide,
	.ts-arches-main__formation-slide[hidden] {
		display: block !important;
		grid-row: 1;
		grid-column: 1;
		height: auto;
		visibility: hidden;
		pointer-events: none;
	}

	.ts-arches-main__formation-slide.is-active {
		visibility: visible;
		pointer-events: auto;
	}

	.ts-arches-main__formation-carousel .ts-arches-main__formation-slide > .wp-block-group__inner-container {
		height: 100%;
		grid-template-rows: 340px minmax(0, 1fr) !important;
	}

	.ts-arches-main__formation-slide figure {
		height: 100%;
		min-height: 0;
	}

	.ts-arches-main__formation-slide .ts-arches-main__feature-copy,
	.ts-arches-main__formation-slide .ts-arches-main__card-copy {
		min-width: 0;
		margin: 0 !important;
		padding: 24px 20px 138px;
	}

	/* Vlastní nástup textu odkrýval bílý pruh pod fotografií. */
	body.ts-arches-motion-ready .ts-arches-main__formation-slide .ts-motion-item {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.ts-arches-main__formation-slide :is(h3, p) {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.ts-arches-main__formation-slide h3 {
		font-size: clamp(1.45rem, 7.2vw, 2rem);
		line-height: 1.2;
	}

	.ts-arches-main__formation-slide p {
		font-size: .96rem;
		line-height: 1.55;
	}

	.ts-arches-main__formation-controls {
		right: auto;
		bottom: 58px;
		left: 50%;
		width: max-content;
		max-width: calc(100% - 32px);
		justify-content: center;
		transform: translateX(-50%);
	}
}

/* Únor používá filmový obrazový úvod a kontrastní kapitolu místo lednového děleného hero layoutu. */
.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero {
	position: relative;
	min-height: clamp(620px, 58vw, 760px);
	margin-bottom: clamp(58px, 7vw, 92px) !important;
	border-radius: 16px;
	background: var(--arches-ink);
	box-shadow: 0 24px 60px rgba(17, 39, 45, .18);
	overflow: hidden;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(9, 25, 30, .93) 0%, rgba(9, 25, 30, .76) 39%, rgba(9, 25, 30, .18) 72%, rgba(9, 25, 30, .08) 100%),
		linear-gradient(0deg, rgba(9, 25, 30, .54) 0%, transparent 44%);
	content: '';
	pointer-events: none;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero > .wp-block-group__inner-container {
	display: block !important;
	min-height: inherit;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-media,
.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-media > .wp-block-group__inner-container,
.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-media figure,
.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 0;
	margin: 0;
	border-radius: 0;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-media figure {
	filter: none;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-media img {
	object-fit: cover;
	object-position: center 48%;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-media figcaption {
	display: none;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-copy {
	position: relative;
	z-index: 2;
	display: flex;
	width: min(58%, 700px);
	min-height: inherit;
	align-items: flex-end;
	padding: clamp(42px, 6vw, 78px);
	color: #fff;
	transform: none;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-copy > .wp-block-group__inner-container {
	width: 100%;
	justify-content: flex-end;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero .ts-arches-main__eyebrow {
	color: #e4b24b !important;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero .ts-arches-main__title {
	color: #fff;
	font-size: clamp(3.2rem, 6vw, 6.4rem);
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero .ts-arches-main__title em {
	color: #71cfcc;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero .ts-arches-main__lead {
	color: rgba(255, 255, 255, .88);
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero .ts-caldera-hero-meta {
	border-top-color: rgba(255, 255, 255, .28);
	color: rgba(255, 255, 255, .68);
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero .ts-caldera-hero-meta span + span {
	border-left-color: rgba(255, 255, 255, .22);
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero .ts-caldera-hero-meta strong {
	color: #fff;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__park-intro {
	min-height: 360px;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: transparent;
	box-shadow: 0 18px 46px rgba(17, 39, 45, .1);
	overflow: hidden;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__park-intro > .wp-block-group__inner-container {
	grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
	gap: 0;
	align-items: stretch;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__park-intro > .wp-block-group__inner-container > .wp-block-group:first-child {
	display: flex;
	align-items: flex-end;
	padding: clamp(38px, 5vw, 64px);
	color: #fff;
	background: var(--arches-ink);
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__park-intro > .wp-block-group__inner-container > .wp-block-group:first-child > .wp-block-group__inner-container {
	width: 100%;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__park-intro h2 {
	color: #fff;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__park-intro .ts-arches-main__eyebrow {
	color: #e4b24b !important;
}

.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__park-intro-copy {
	display: flex;
	align-items: center;
	padding: clamp(38px, 5vw, 68px);
	background: #fff;
}

@media (max-width: 780px) {
	.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero {
		min-height: 650px;
		border-radius: 10px;
	}

	.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero::after {
		background: linear-gradient(0deg, rgba(9, 25, 30, .96) 0%, rgba(9, 25, 30, .76) 56%, rgba(9, 25, 30, .16) 100%);
	}

	.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-media,
	.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-media img {
		min-height: 0;
	}

	.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-media img {
		object-position: 58% center;
	}

	.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero-copy {
		width: 100%;
		min-height: inherit;
		padding: 28px 24px 34px;
	}

	.ts-calendar-place--unor .ts-caldera-calendar-page.has-mobile-back-link .ts-arches-main__hero .ts-calendar-place__back {
		top: 12px;
		right: 12px;
		padding: 6px 9px;
		border: 1px solid rgba(255, 255, 255, .2);
		border-radius: 999px;
		color: #fff;
		background: rgba(9, 25, 30, .42);
		backdrop-filter: blur(8px);
		opacity: 1;
	}

	.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__hero .ts-arches-main__title {
		font-size: clamp(2.55rem, 13.5vw, 4.4rem);
	}

	.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__park-intro > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__park-intro > .wp-block-group__inner-container > .wp-block-group:first-child,
	.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__park-intro-copy {
		grid-row: auto;
		grid-column: auto;
		padding: 30px 26px;
	}

	.ts-calendar-place--unor .ts-caldera-calendar-page .ts-arches-main__park-intro h2 {
		font-size: clamp(2.5rem, 13vw, 3.8rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ts-calendar__card-inner {
		transition-duration: 1ms;
	}

	.ts-arches-january *,
	.ts-arches-january *::before,
	.ts-arches-january *::after {
		scroll-behavior: auto !important;
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 1ms !important;
		transition-delay: 0ms !important;
	}

	.ts-arches-calendar-page *,
	.ts-arches-calendar-page *::before,
	.ts-arches-calendar-page *::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 1ms !important;
		transition-delay: 0ms !important;
	}
}
