/* Editable TTBM post_content presentation inspired by the supplied tour format. */
.esp-tour-description {
	--description-surface: #fff;
	--description-soft: #f4f8f4;
	--description-line: #dde5de;
	display: grid;
	gap: 30px;
	margin-bottom: 58px;
}

.esp-tour-description__intro,
.esp-tour-description__section {
	position: relative;
	z-index: 0;
	padding: clamp(25px, 4vw, 42px);
	border: 1px solid var(--description-line);
	border-radius: 30px;
	background: var(--description-surface);
	box-shadow: 0 16px 42px rgba(32, 55, 42, .07);
}

.esp-tour-description__intro::before,
.esp-tour-description__section::before {
	position: absolute;
	z-index: -1;
	inset: 12px -10px -12px 10px;
	content: "";
	border-radius: inherit;
	background: #fce6d5;
}

.esp-tour-description__section:nth-of-type(3n)::before { background: #dfeee5; }
.esp-tour-description__section:nth-of-type(3n + 1)::before { background: #f6e7dc; }

.esp-tour-description .section-kicker {
	margin: 0 0 10px !important;
	color: var(--orange-dark) !important;
}

.esp-tour-description__intro > h2,
.esp-tour-description__section > h2 {
	margin: 0 0 20px !important;
	padding: 0 0 15px !important;
	border: 0 !important;
	border-bottom: 2px solid var(--orange) !important;
	background: transparent !important;
	color: var(--forest) !important;
	font-family: var(--sans) !important;
	font-size: clamp(1.9rem, 3.5vw, 2.8rem) !important;
	font-weight: 700 !important;
	line-height: 1.05 !important;
}

.esp-tour-description__intro > h2 { max-width: 600px; font-size: clamp(2.2rem, 4vw, 3.35rem) !important; }
.esp-tour-description__intro > p:not(.section-kicker):first-of-type { color: #3f4c44 !important; font-size: 1.08rem !important; line-height: 1.7 !important; }

.esp-tour-description h3,
.esp-tour-description h4 {
	margin: 24px 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--forest) !important;
	font-family: var(--sans) !important;
	font-size: 1.14rem !important;
	font-style: normal !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	text-align: left !important;
}

.esp-tour-description p,
.esp-tour-description li,
.esp-tour-description blockquote {
	color: #465249 !important;
	font-family: var(--sans) !important;
	font-size: .98rem !important;
	line-height: 1.72 !important;
}

.esp-tour-description ul,
.esp-tour-description ol { margin: 15px 0 5px !important; padding: 0 !important; list-style: none !important; }
.esp-tour-description li { position: relative; margin: 0 !important; padding: 7px 0 7px 28px !important; }
.esp-tour-description ul > li::before {
	position: absolute;
	top: 7px;
	left: 2px;
	content: "\2713";
	color: var(--orange-dark);
	font-weight: 900;
}
.esp-tour-description ol { counter-reset: esp-description-list; }
.esp-tour-description ol > li { counter-increment: esp-description-list; }
.esp-tour-description ol > li::before {
	position: absolute;
	left: 0;
	content: counter(esp-description-list) ".";
	color: var(--orange-dark);
	font-weight: 850;
}

.esp-tour-description a { color: var(--forest); text-decoration-color: var(--orange); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.esp-tour-description img { height: auto; border-radius: 22px; }
.esp-tour-description iframe,
.esp-tour-description video { width: 100%; min-height: 380px; border: 0; border-radius: 22px; background: #122d23; }

.esp-tour-description__nav {
	position: sticky;
	top: 10px;
	z-index: 20;
	display: flex;
	gap: 20px;
	overflow-x: auto;
	padding: 15px 20px;
	border: 1px solid var(--description-line);
	border-radius: 18px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 10px 30px rgba(32, 55, 42, .08);
	scrollbar-width: thin;
}

.esp-tour-description__nav a {
	flex: 0 0 auto;
	padding-bottom: 4px;
	border-bottom: 2px solid transparent;
	color: #435048;
	font-size: .76rem;
	font-weight: 800;
	text-decoration: none;
}
.esp-tour-description__nav a:hover,
.esp-tour-description__nav a:focus { border-bottom-color: var(--orange); color: var(--forest); }

.esp-tour-description__feature-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.esp-tour-description__feature-grid article,
.esp-tour-description__columns > div {
	padding: 22px;
	border: 1px solid var(--description-line);
	border-radius: 20px;
	background: var(--description-soft);
}
.esp-tour-description__feature-grid h3,
.esp-tour-description__columns h3 { margin-top: 0 !important; }

.esp-tour-description__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }

.esp-tour-description__timeline { display: grid; gap: 0; }
.esp-tour-description__timeline article {
	position: relative;
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 16px;
	padding-bottom: 22px;
}
.esp-tour-description__timeline article:not(:last-child)::after {
	position: absolute;
	top: 48px;
	bottom: 0;
	left: 25px;
	width: 2px;
	content: "";
	background: #d7e0d9;
}
.esp-tour-description__timeline article > span {
	position: relative;
	z-index: 1;
	display: grid;
	width: 52px;
	height: 52px;
	place-items: center;
	border-radius: 14px;
	background: var(--orange);
	color: #fff;
	font-weight: 900;
}
.esp-tour-description__timeline article > div { padding: 18px 20px; border: 1px solid var(--description-line); border-radius: 18px; background: #fff; }
.esp-tour-description__timeline article strong { color: var(--orange-dark); font-size: .76rem; letter-spacing: .03em; text-transform: uppercase; }
.esp-tour-description__timeline article h3 { margin: 5px 0 7px !important; }
.esp-tour-description__timeline article p:last-child { margin-bottom: 0; }

.esp-tour-description details {
	margin: 10px 0;
	overflow: hidden;
	border: 1px solid var(--description-line);
	border-radius: 17px;
	background: #fff;
}
.esp-tour-description summary { position: relative; padding: 17px 50px 17px 18px; color: var(--forest); cursor: pointer; font-weight: 800; list-style: none; }
.esp-tour-description summary::-webkit-details-marker { display: none; }
.esp-tour-description summary::after { position: absolute; top: 15px; right: 18px; content: "+"; color: var(--orange-dark); font-size: 1.3rem; font-weight: 500; }
.esp-tour-description details[open] summary::after { content: "\2212"; }
.esp-tour-description details > *:not(summary) { margin-right: 18px !important; margin-left: 18px !important; }

.esp-tour-description__section > div[style],
.esp-tour-description__intro > div[style] { background: transparent !important; color: inherit !important; }

@media (max-width: 760px) {
	.esp-tour-description { gap: 24px; margin-bottom: 42px; }
	.esp-tour-description__intro,
	.esp-tour-description__section { padding: 24px 20px; border-radius: 23px; }
	.esp-tour-description__intro::before,
	.esp-tour-description__section::before { inset: 8px -5px -8px 5px; }
	.esp-tour-description__nav { position: static; border-radius: 15px; }
	.esp-tour-description__feature-grid,
	.esp-tour-description__columns { grid-template-columns: 1fr; }
	.esp-tour-description iframe,
	.esp-tour-description video { min-height: 220px; }
}
