/* ==========================================================================
   TheRoute v0.2.0
   Approved visual system: cream canvas, coral action, plum accent,
   charcoal text/footer, travel-journal editorial composition.
   ========================================================================== */

:root {
	--tr-coral: #D97A5B;
	--tr-cream: #F3EEDF;
	--tr-plum: #5B4C60;
	--tr-charcoal: #3B3A36;
	--tr-white: #fffdf8;
	--tr-border: rgba(59, 58, 54, .14);
	--tr-muted: rgba(59, 58, 54, .72);
	--tr-shadow: 0 14px 40px rgba(59, 58, 54, .08);
	--tr-radius-sm: 8px;
	--tr-radius: 14px;
	--tr-radius-lg: 22px;
	--tr-container: 1280px;
	--tr-serif: Georgia, "Times New Roman", serif;
	--tr-ui: "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
	--tr-hand: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
}

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

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--tr-cream);
	color: var(--tr-charcoal);
	font-family: var(--tr-ui);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

body.admin-bar .tr-header { top: 32px; }

img { max-width: 100%; height: auto; display: block; }

a { color: inherit; text-decoration: none; }

button,
input,
textarea,
select { font: inherit; }

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

.screen-reader-text:focus {
	background: var(--tr-charcoal);
	color: #fff;
	clip: auto !important;
	clip-path: none;
	display: block;
	height: auto;
	left: 12px;
	padding: 12px 18px;
	top: 12px;
	width: auto;
	z-index: 100000;
}

.tr-container {
	width: min(calc(100% - 48px), var(--tr-container));
	margin-inline: auto;
}

.tr-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(243,238,223,.94);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(59,58,54,.05);
}

.tr-header__inner {
	min-height: 86px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 28px;
}

.tr-header__brand { display: inline-flex; align-items: center; }

.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 44px; width: auto; }

.theroute-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--tr-coral);
}

.theroute-brand__mark { width: 38px; height: 38px; display: inline-flex; }
.theroute-brand__mark svg { width: 100%; height: 100%; }
.theroute-brand__wordmark {
	color: var(--tr-charcoal);
	font-size: 24px;
	line-height: 1;
	font-weight: 700;
	letter-spacing: -.03em;
	text-transform: lowercase;
}

.tr-nav { justify-self: center; }
.tr-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(20px, 3vw, 44px);
	list-style: none;
	margin: 0;
	padding: 0;
}
.tr-nav__list a {
	font-size: 14px;
	font-weight: 600;
	position: relative;
}
.tr-nav__list a:hover::after,
.tr-nav__list .current-menu-item > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -9px;
	height: 2px;
	background: var(--tr-coral);
}

.tr-header__actions { display: flex; align-items: center; gap: 18px; }

.tr-button,
button.tr-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	border: 1px solid var(--tr-coral);
	border-radius: 5px;
	background: var(--tr-coral);
	color: #fff;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .02em;
	transition: transform .18s ease, background .18s ease;
}
.tr-button:hover { transform: translateY(-1px); background: #c96849; }
.tr-button--small { min-height: 42px; padding-inline: 20px; }
.tr-button--outline { background: transparent; color: var(--tr-coral); }

.tr-menu-toggle {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 42px;
	height: 42px;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.tr-menu-toggle span:not(.screen-reader-text) { width: 24px; height: 2px; background: var(--tr-charcoal); }

.tr-mobile-menu {
	position: absolute;
	left: 0;
	right: 0;
	background: var(--tr-cream);
	border-top: 1px solid var(--tr-border);
	box-shadow: var(--tr-shadow);
}
.tr-mobile-menu .tr-container { display: grid; padding-block: 18px 28px; }
.tr-mobile-menu a { padding: 12px 0; font-weight: 700; border-bottom: 1px solid var(--tr-border); }

.tr-hero--home {
	position: relative;
	min-height: clamp(560px, 68vw, 760px);
	display: grid;
	align-items: center;
	overflow: hidden;
	background: var(--tr-cream);
}
.tr-hero__media {
	position: absolute;
	inset: 0;
}
.tr-hero__image,
.tr-hero__media .tr-image-placeholder { width: 100%; height: 100%; object-fit: cover; }
.tr-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(243,238,223,.98) 0%, rgba(243,238,223,.78) 34%, rgba(243,238,223,.12) 63%, rgba(243,238,223,.03) 100%);
}
.tr-hero__content {
	position: relative;
	z-index: 2;
	padding-block: 72px;
}
.tr-kicker { color: var(--tr-coral); text-transform: uppercase; font-weight: 700; font-size: 12px; letter-spacing: .12em; }
.tr-hero h1,
.tr-split-hero h1,
.tr-page-hero h1,
.tr-single-story h1 {
	font-family: var(--tr-serif);
	font-weight: 500;
	letter-spacing: -.045em;
	line-height: .96;
	margin: 0 0 24px;
	font-size: clamp(56px, 7.2vw, 108px);
}
.tr-hero h1 span,
.tr-split-hero h1 span,
.tr-brand-statement h2 span { color: var(--tr-coral); }
.tr-hero__lead { max-width: 390px; font-size: clamp(18px, 2vw, 24px); line-height: 1.45; margin-bottom: 28px; font-weight: 500; }

.tr-section { padding: clamp(72px, 8vw, 118px) 0; }
.tr-section--tight { padding-top: 44px; padding-bottom: 70px; }

.tr-eyebrow {
	color: var(--tr-coral);
	text-transform: uppercase;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .06em;
	margin: 0 0 14px;
}

.tr-featured-route {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.35fr);
	gap: clamp(48px, 7vw, 96px);
	align-items: center;
}
.tr-featured-route h2 {
	font-family: var(--tr-serif);
	font-size: clamp(48px, 6vw, 78px);
	line-height: .95;
	margin: 0 0 10px;
	text-transform: uppercase;
	letter-spacing: -.04em;
}
.tr-featured-route__dates { font-weight: 700; text-transform: uppercase; font-size: 13px; letter-spacing: .03em; }
.tr-featured-route__copy > p:not(.tr-eyebrow):not(.tr-featured-route__dates) { max-width: 480px; }
.tr-meta-row { display: flex; flex-wrap: wrap; gap: 14px 18px; list-style: none; padding: 16px 0; margin: 16px 0; border-block: 1px solid var(--tr-border); }
.tr-meta-row li { text-transform: uppercase; font-size: 11px; font-weight: 700; }
.tr-price { margin: 24px 0 18px; }
.tr-price strong { display: block; font-size: 24px; line-height: 1.1; }
.tr-price span { font-size: 12px; color: var(--tr-muted); }
.tr-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.tr-spots { color: var(--tr-coral); text-transform: uppercase; font-size: 12px; font-weight: 700; }
.tr-featured-route__media { position: relative; }
.tr-featured-route__media .tr-image-placeholder { aspect-ratio: 16/10; border-radius: 10px; }
.tr-badge {
	position: absolute;
	right: 18px;
	top: 18px;
	background: rgba(59,58,54,.86);
	color: #fff;
	padding: 9px 12px;
	border-radius: 7px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
}
.tr-badge--coral { background: var(--tr-coral); right: auto; left: 18px; }

.tr-image-placeholder {
	background:
		linear-gradient(135deg, rgba(91,76,96,.55), rgba(217,122,91,.45)),
		linear-gradient(35deg, #a4a9a5, #d8c9b5);
	min-height: 220px;
	position: relative;
	overflow: hidden;
}
.tr-image-placeholder::before {
	content: "";
	position: absolute;
	left: 10%;
	right: 10%;
	bottom: 12%;
	height: 34%;
	background: rgba(59,58,54,.14);
	clip-path: polygon(0 100%, 24% 24%, 43% 76%, 62% 14%, 100% 100%);
}
.tr-image-placeholder span {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: rgba(255,255,255,.85);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .12em;
	z-index: 2;
}
.tr-image-placeholder--hero { min-height: 100%; }
.tr-image-placeholder--feature { min-height: 0; }

.tr-section-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 18px;
}
.tr-section-heading > a { color: var(--tr-coral); text-transform: uppercase; font-size: 11px; font-weight: 700; }
.tr-section-heading--stories h2 { font-size: 18px; text-transform: uppercase; margin-top: 40px; }

.tr-card-grid { display: grid; gap: 18px; }
.tr-card-grid--3 { grid-template-columns: repeat(3, 1fr); }

.tr-route-card {
	position: relative;
	min-height: 310px;
	border-radius: 7px;
	overflow: hidden;
	background: var(--tr-charcoal);
	color: #fff;
}
.tr-route-card .tr-image-placeholder { position: absolute; inset: 0; min-height: 100%; }
.tr-route-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,20,18,.74), transparent 58%); }
.tr-route-card__overlay { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 16px; }
.tr-route-card h3,
.tr-route-card h2 { font-family: var(--tr-serif); margin: 0; font-size: 26px; text-transform: uppercase; }
.tr-route-card p,
.tr-route-card span { margin: 2px 0 0; font-size: 11px; text-transform: uppercase; }

.tr-past-strip { display: grid; grid-template-columns: repeat(5, 1fr); min-height: 170px; overflow: hidden; border-radius: 7px; }
.tr-past-strip article { position: relative; color: #fff; min-width: 0; }
.tr-past-strip .tr-image-placeholder { position: absolute; inset: 0; min-height: 100%; }
.tr-past-strip article::after { content: ""; position: absolute; inset: 0; background: rgba(30,30,27,.48); }
.tr-past-strip article > div:last-child { position: absolute; z-index: 2; bottom: 16px; left: 16px; }
.tr-past-strip h3 { margin: 0; font-size: 14px; text-transform: uppercase; }
.tr-past-strip span { font-size: 11px; }

.tr-brand-statement { position: relative; }
.tr-brand-statement__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; max-width: 980px; }
.tr-brand-statement h2 {
	font-family: var(--tr-serif);
	font-size: clamp(38px, 4.6vw, 62px);
	line-height: 1.05;
	font-weight: 500;
	margin: 0;
}
.tr-brand-statement__grid > div { border-left: 1px solid var(--tr-border); padding-left: 56px; }

.tr-newsletter { background: var(--tr-coral); color: #fff; padding: 36px 0; }
.tr-newsletter__inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; }
.tr-newsletter h2 { margin: 0; text-transform: uppercase; font-size: clamp(24px, 3vw, 38px); line-height: 1.05; }
.tr-newsletter p { margin: 5px 0 0; opacity: .9; }
.tr-newsletter__form { display: flex; }
.tr-newsletter__form input { flex: 1; min-width: 0; border: 0; padding: 14px 16px; border-radius: 5px 0 0 5px; }
.tr-newsletter__form button { border: 0; background: var(--tr-charcoal); color: #fff; padding: 0 22px; border-radius: 0 5px 5px 0; text-transform: uppercase; font-size: 11px; font-weight: 700; }

.tr-footer { background: #20211f; color: rgba(255,255,255,.82); padding: 54px 0 24px; }
.tr-footer .theroute-brand__wordmark { color: #fff; }
.tr-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 40px; }
.tr-footer h2 { color: #fff; text-transform: uppercase; font-size: 12px; margin: 2px 0 14px; }
.tr-footer p,
.tr-footer li,
.tr-footer a { font-size: 12px; }
.tr-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: 7px; }
.tr-footer__social { display: flex; gap: 12px; margin-top: 16px; }
.tr-footer__social a { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }
.tr-footer__bottom { text-align: center; margin-top: 36px; border-top: 1px solid rgba(255,255,255,.1); padding-top: 18px; }

.tr-split-hero { padding: 54px 0 34px; }
.tr-split-hero__grid { display: grid; grid-template-columns: .85fr 1.35fr; align-items: center; gap: 54px; }
.tr-split-hero__copy { max-width: 520px; padding-left: 50px; }
.tr-split-hero h1 { font-size: clamp(54px, 6.5vw, 88px); }
.tr-hand {
	font-family: var(--tr-hand);
	color: var(--tr-coral);
	font-size: clamp(24px, 2.3vw, 34px);
	line-height: 1.35;
	transform: rotate(-1deg);
}
.tr-brush-media {
	position: relative;
	min-height: 470px;
	overflow: hidden;
	clip-path: polygon(7% 7%, 100% 0, 100% 94%, 11% 100%, 0 89%, 5% 71%, 0 49%, 6% 32%, 0 16%);
}
.tr-brush-media .tr-image-placeholder,
.tr-brush-media img { width: 100%; height: 100%; min-height: 470px; object-fit: cover; }

.tr-centered-heading { text-align: center; margin-bottom: 24px; }
.tr-values-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--tr-border); border-bottom: 1px solid var(--tr-border); }
.tr-values-grid article { padding: 34px 30px; text-align: center; border-right: 1px solid var(--tr-border); }
.tr-values-grid article:last-child { border-right: 0; }
.tr-line-icon { color: var(--tr-coral); font-size: 34px; }
.tr-values-grid h2 { font-family: var(--tr-serif); font-size: 24px; margin: 8px 0 10px; }
.tr-values-grid p { font-size: 14px; }

.tr-story-split { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.tr-polaroid { background: #fff; padding: 12px 12px 28px; box-shadow: var(--tr-shadow); transform: rotate(-1deg); }
.tr-polaroid .tr-image-placeholder { aspect-ratio: 4/3; }

.tr-story-split h2,
.tr-host-card h2,
.tr-featured-story h2,
.tr-info-content h1,
.tr-info-content h2,
.tr-single-story__content h2 {
	font-family: var(--tr-serif);
	font-weight: 500;
	letter-spacing: -.03em;
	line-height: 1.05;
}
.tr-story-split h2,
.tr-host-card h2 { font-size: clamp(38px, 4vw, 56px); }

.tr-host-card {
	display: grid;
	grid-template-columns: .8fr 1.25fr .7fr;
	align-items: center;
	background: rgba(255,255,255,.28);
	border: 1px solid var(--tr-border);
	border-radius: var(--tr-radius);
	overflow: hidden;
}
.tr-host-card > * { min-width: 0; }
.tr-host-card > div:first-child,
.tr-host-card blockquote { padding: 42px; }
.tr-host-card .tr-image-placeholder { min-height: 360px; }
.tr-host-card blockquote { margin: 0; font-size: 27px; }

.tr-info-layout { display: grid; grid-template-columns: 230px 1fr; gap: 58px; }
.tr-info-nav {
	position: sticky;
	top: 120px;
	height: fit-content;
	display: grid;
	gap: 8px;
	border-right: 1px solid var(--tr-border);
	padding-right: 28px;
}
.tr-info-nav a { padding: 10px 0 10px 16px; border-left: 2px solid transparent; font-weight: 600; font-size: 14px; }
.tr-info-nav a:hover { border-color: var(--tr-coral); color: var(--tr-coral); }
.tr-info-content > section:first-child { padding-bottom: 70px; }
.tr-info-content h1 { font-size: clamp(50px, 6vw, 78px); margin: 0 0 14px; }
.tr-info-content h2 { font-size: clamp(38px, 4.6vw, 56px); margin: 0 0 12px; }
.tr-step-number { color: var(--tr-coral); font-weight: 800; letter-spacing: .18em; }
.tr-how-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 36px; }
.tr-how-grid article { padding: 30px; border: 1px solid var(--tr-border); border-radius: var(--tr-radius); background: rgba(255,255,255,.18); }
.tr-how-grid article > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--tr-coral); color: #fff; font-weight: 800; }
.tr-how-grid h2 { font-size: 22px; margin-top: 24px; }
.tr-info-section { padding: 72px 0; border-top: 1px solid var(--tr-border); }
.tr-accordion { display: grid; gap: 10px; margin-top: 26px; }
details { border: 1px solid var(--tr-border); border-radius: 7px; background: rgba(255,255,255,.22); }
summary { cursor: pointer; padding: 16px 18px; font-weight: 700; list-style: none; }
summary::-webkit-details-marker { display: none; }
details p { padding: 0 18px 18px; margin: 0; color: var(--tr-muted); }
.tr-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; margin-top: 24px; }
.tr-contact-section { display: grid; grid-template-columns: .55fr 1.45fr; gap: 48px; }
.tr-contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tr-contact-form input,
.tr-contact-form textarea {
	width: 100%;
	border: 1px solid var(--tr-border);
	background: rgba(255,255,255,.34);
	padding: 13px 14px;
	border-radius: 4px;
}
.tr-span-2 { grid-column: 1 / -1; }

.tr-featured-story {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	border: 1px solid var(--tr-border);
	border-radius: 10px;
	overflow: hidden;
	background: rgba(255,255,255,.22);
}
.tr-featured-story__media { position: relative; min-height: 360px; }
.tr-featured-story__media img,
.tr-featured-story__media .tr-image-placeholder { width: 100%; height: 100%; object-fit: cover; }
.tr-featured-story__copy { padding: clamp(30px, 5vw, 68px); align-self: center; }
.tr-featured-story__copy h2 { font-size: clamp(34px, 4vw, 52px); margin: 0 0 14px; }
.tr-featured-story__copy > a { color: var(--tr-coral); font-weight: 700; text-transform: uppercase; font-size: 12px; }
.tr-story-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.tr-story-card { border: 1px solid var(--tr-border); background: rgba(255,255,255,.2); border-radius: 6px; overflow: hidden; }
.tr-story-card__media { display: block; aspect-ratio: 4/3; overflow: hidden; }
.tr-story-card__media img,
.tr-story-card__media .tr-image-placeholder { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.tr-story-card__copy { padding: 18px; }
.tr-story-card h3 { font-family: var(--tr-serif); font-size: 22px; line-height: 1.15; margin: 2px 0 9px; }
.tr-story-card p { font-size: 14px; }
.tr-story-card__meta { border-top: 1px solid var(--tr-border); margin-top: 14px; padding-top: 10px; font-size: 11px; text-transform: uppercase; }

.tr-single-story__hero { padding: 36px 0 30px; }
.tr-single-story__hero-grid { display: grid; grid-template-columns: .8fr 1.3fr; gap: 48px; align-items: center; }
.tr-single-story h1 { font-size: clamp(52px, 6vw, 84px); }
.tr-back-link { display: inline-block; color: var(--tr-coral); text-transform: uppercase; font-size: 11px; font-weight: 700; margin-bottom: 32px; }
.tr-story-meta { font-size: 12px; text-transform: uppercase; color: var(--tr-muted); }
.tr-single-story__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 70px; align-items: start; padding-block: 70px; }
.tr-single-story__content { font-family: var(--tr-ui); max-width: 760px; font-size: 18px; }
.tr-single-story__content > p:first-child { font-size: 21px; font-weight: 500; }
.tr-single-story__content img { border-radius: 5px; margin: 36px 0; }
.tr-story-aside { position: sticky; top: 120px; border: 1px solid var(--tr-border); background: rgba(255,255,255,.25); padding: 28px; border-radius: 8px; }
.tr-story-aside h2 { font-family: var(--tr-serif); }

.tr-page-hero { padding: 94px 0 54px; }
.tr-page-hero h1 { font-size: clamp(54px, 6vw, 82px); max-width: 850px; }
.tr-default-content { padding-block: 80px; max-width: 900px; }
.tr-default-content h1 { font-family: var(--tr-serif); font-size: clamp(48px, 5vw, 72px); }

.tr-commerce { padding-block: 70px; }
.woocommerce .woocommerce-breadcrumb { color: var(--tr-muted); font-size: 12px; }
.woocommerce div.product .product_title,
.woocommerce h1.page-title { font-family: var(--tr-serif); font-weight: 500; }
.woocommerce span.onsale { background: var(--tr-coral); }
.woocommerce-message,
.woocommerce-info { border-top-color: var(--tr-coral); }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--tr-coral); }

@media (max-width: 1080px) {
	.tr-nav { display: none; }
	.tr-header__inner { grid-template-columns: auto 1fr auto; }
	.tr-values-grid { grid-template-columns: repeat(2, 1fr); }
	.tr-values-grid article:nth-child(2) { border-right: 0; }
	.tr-values-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--tr-border); }
	.tr-story-grid { grid-template-columns: repeat(2, 1fr); }
	.tr-footer__grid { grid-template-columns: 1.4fr repeat(2, 1fr); }
}

@media (max-width: 900px) {
	body.admin-bar .tr-header { top: 46px; }
	.tr-container { width: min(calc(100% - 32px), var(--tr-container)); }
	.tr-header__inner { min-height: 72px; }
	.tr-header__actions .tr-button { display: none; }

	.tr-hero--home { min-height: 680px; align-items: end; }
	.tr-hero__media::after { background: linear-gradient(0deg, rgba(243,238,223,.98) 0%, rgba(243,238,223,.82) 38%, rgba(243,238,223,.2) 72%); }
	.tr-hero__content { padding-bottom: 64px; }

	.tr-featured-route,
	.tr-split-hero__grid,
	.tr-story-split,
	.tr-featured-story,
	.tr-single-story__hero-grid,
	.tr-single-story__layout,
	.tr-info-layout,
	.tr-contact-section,
	.tr-newsletter__inner,
	.tr-brand-statement__grid { grid-template-columns: 1fr; }

	.tr-featured-route__copy { order: 2; }
	.tr-featured-route__media { order: 1; }
	.tr-card-grid--3 { grid-template-columns: 1fr 1fr; }
	.tr-past-strip { grid-template-columns: repeat(5, minmax(190px, 1fr)); overflow-x: auto; }
	.tr-brand-statement__grid { gap: 32px; }
	.tr-brand-statement__grid > div { border-left: 0; border-top: 1px solid var(--tr-border); padding: 28px 0 0; }
	.tr-newsletter__form { max-width: 600px; }

	.tr-split-hero__copy { padding-left: 0; }
	.tr-brush-media,
	.tr-brush-media .tr-image-placeholder,
	.tr-brush-media img { min-height: 380px; }
	.tr-host-card { grid-template-columns: 1fr 1fr; }
	.tr-host-card blockquote { grid-column: 1 / -1; }
	.tr-info-nav { display: none; }
	.tr-how-grid { grid-template-columns: 1fr; }
	.tr-story-aside { position: static; }
	.tr-single-story__layout { gap: 30px; }
	.tr-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.tr-container { width: min(calc(100% - 24px), var(--tr-container)); }
	.theroute-brand__wordmark { font-size: 21px; }
	.tr-hero--home { min-height: 620px; }
	.tr-hero h1,
	.tr-split-hero h1,
	.tr-single-story h1 { font-size: clamp(48px, 16vw, 68px); }

	.tr-section { padding: 62px 0; }
	.tr-section--tight { padding-top: 28px; padding-bottom: 48px; }
	.tr-card-grid--3,
	.tr-story-grid,
	.tr-values-grid,
	.tr-faq-grid,
	.tr-contact-form,
	.tr-host-card { grid-template-columns: 1fr; }

	.tr-values-grid article { border-right: 0; border-bottom: 1px solid var(--tr-border); }
	.tr-values-grid article:last-child { border-bottom: 0; }
	.tr-host-card blockquote { grid-column: auto; }
	.tr-host-card > div:first-child,
	.tr-host-card blockquote { padding: 30px; }

	.tr-featured-story__media { min-height: 250px; }
	.tr-featured-story__copy { padding: 28px; }
	.tr-featured-route h2 { font-size: 50px; }
	.tr-featured-route { gap: 30px; }
	.tr-route-card { min-height: 360px; }

	.tr-newsletter__form { flex-direction: column; gap: 8px; }
	.tr-newsletter__form input,
	.tr-newsletter__form button { border-radius: 5px; min-height: 48px; }

	.tr-footer__grid { grid-template-columns: 1fr; }
	.tr-footer__brand { margin-bottom: 10px; }
}

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}


/* v0.2 visual refinement */
.tr-icon{display:inline-flex;width:16px;height:16px;vertical-align:-.2em;flex:0 0 auto}.tr-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tr-header{background:rgba(247,243,230,.97)}.tr-header__inner{min-height:92px}.tr-nav__list a{font-size:13px}.tr-hero--home{min-height:clamp(520px,58vw,690px)}.tr-hero__media::after{background:linear-gradient(90deg,rgba(243,238,223,.98) 0%,rgba(243,238,223,.84) 31%,rgba(243,238,223,.2) 59%,rgba(243,238,223,.03) 100%),linear-gradient(0deg,rgba(59,58,54,.08),transparent 35%)}.tr-hero__content{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:76px}.tr-hero__copy{width:min(520px,54%)}.tr-hero h1{font-size:clamp(62px,6.7vw,94px);line-height:.93;margin-bottom:22px}.tr-hero__lead{font-size:clamp(17px,1.7vw,21px);line-height:1.43;margin-bottom:30px}.tr-route-stamp{width:112px;height:112px;border:1px solid rgba(243,238,223,.74);border-radius:50%;color:var(--tr-cream);display:grid;grid-template-rows:1fr auto 1fr;place-items:center;padding:12px;text-align:center;font-size:7px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;transform:rotate(-7deg);background:rgba(59,58,54,.08);box-shadow:inset 0 0 0 3px rgba(243,238,223,.1)}.tr-route-stamp__mark .theroute-brand__mark{width:34px;height:34px;color:var(--tr-cream)}.tr-hero__stamp{align-self:flex-end;margin:0 42px 36px 0}.tr-next-section{padding-top:clamp(66px,6.5vw,92px);padding-bottom:54px}.tr-featured-route{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(46px,7vw,92px)}.tr-featured-route h2{font-size:clamp(48px,5.2vw,70px)}.tr-featured-route__description{max-width:450px;line-height:1.55}.tr-meta-row{gap:12px 17px;padding:14px 0;margin:15px 0 18px}.tr-meta-row li{display:inline-flex;align-items:center;gap:6px;font-size:10px}.tr-meta-row .tr-icon{color:var(--tr-coral);width:15px;height:15px}.tr-featured-route__media .tr-image-placeholder{aspect-ratio:1.45/1;min-height:420px}.tr-route-card{min-height:320px}.tr-route-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:4px}.tr-round-arrow{width:30px;height:30px;border:1px solid rgba(255,255,255,.78);border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.tr-round-arrow .tr-icon{width:14px;height:14px}.tr-past-strip{min-height:155px}.tr-past-strip article>div:last-child{display:grid;gap:2px;bottom:14px}.tr-past-strip small{font-size:9px;text-transform:uppercase;opacity:.9}.tr-section-heading>a{display:inline-flex;align-items:center;gap:5px}.tr-section-heading>a .tr-icon{width:13px;height:13px}.tr-brand-statement{padding-top:78px;padding-bottom:82px}.tr-brand-statement__grid{grid-template-columns:1.1fr .9fr;max-width:880px;gap:64px}.tr-brand-statement__title{position:relative;display:grid;grid-template-columns:32px 1fr;gap:18px;align-items:start}.tr-location-mark{color:var(--tr-coral);padding-top:8px}.tr-location-mark .tr-icon{width:26px;height:26px}.tr-brand-statement h2{font-size:clamp(40px,4.2vw,56px)}.tr-newsletter{padding:30px 0}.tr-newsletter__inner{grid-template-columns:.95fr 1.05fr}.tr-footer{padding-top:48px}.tr-footer__grid{gap:34px}.tr-footer__brand p{max-width:190px;line-height:1.5}.tr-footer__bottom{margin-top:30px}.tr-route-preview-hero{padding:36px 0 48px}.tr-route-preview-hero__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:48px;align-items:center}.tr-route-preview-hero__copy h1{font-family:var(--tr-serif);font-size:clamp(54px,6.2vw,86px);line-height:.95;letter-spacing:-.04em;text-transform:uppercase;margin:0 0 16px}.tr-save-route{display:inline-flex;align-items:center;min-height:48px;font-size:12px;font-weight:700;text-transform:uppercase}.tr-itinerary-preview{max-width:1050px}.tr-itinerary-preview__stop{display:grid;grid-template-columns:52px 1fr 360px;gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--tr-border)}.tr-itinerary-preview__number{width:38px;height:38px;border-radius:50%;background:var(--tr-coral);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px}.tr-itinerary-preview__stop h2{font-family:var(--tr-serif);font-size:30px;margin:0;text-transform:uppercase}.tr-itinerary-preview__stop strong{color:var(--tr-coral);font-size:13px}.tr-itinerary-preview__stop .tr-polaroid{padding-bottom:18px}.tr-itinerary-preview__stop .tr-image-placeholder{min-height:180px}.tr-join-card{display:grid;grid-template-columns:.85fr 1fr .55fr;align-items:center;border:1px solid var(--tr-border);background:rgba(255,255,255,.25);border-radius:12px;overflow:hidden}.tr-join-card>.tr-image-placeholder{min-height:250px}.tr-join-card>div:not(.tr-image-placeholder){padding:32px}.tr-join-card h2{font-family:var(--tr-serif);font-size:40px;margin:0 0 12px}.tr-join-card__price{border-left:1px solid var(--tr-border);display:grid;align-content:center}.tr-join-card__price span,.tr-join-card__price small{font-size:11px;text-transform:uppercase;color:var(--tr-muted)}.tr-join-card__price strong{display:block;font-family:var(--tr-serif);font-size:34px;line-height:1;margin:6px 0}@media(max-width:900px){.tr-hero__content{min-height:620px;align-items:end}.tr-hero__copy{width:min(520px,100%)}.tr-hero__stamp{display:none}.tr-featured-route__media .tr-image-placeholder{min-height:320px}.tr-route-preview-hero__grid,.tr-join-card{grid-template-columns:1fr}.tr-itinerary-preview__stop{grid-template-columns:46px 1fr}.tr-itinerary-preview__stop .tr-polaroid{grid-column:2}.tr-join-card__price{border-left:0;border-top:1px solid var(--tr-border)}}@media(max-width:640px){.tr-header__inner{min-height:70px}.tr-hero--home{min-height:590px}.tr-hero__content{min-height:590px;padding-bottom:48px}.tr-hero h1{font-size:clamp(50px,15vw,64px)}.tr-featured-route__media .tr-image-placeholder{min-height:260px}.tr-brand-statement__title{grid-template-columns:24px 1fr}.tr-itinerary-preview__stop{grid-template-columns:38px 1fr;gap:18px}.tr-itinerary-preview__stop .tr-polaroid{grid-column:1/-1}}

/* v0.3 approved single-trip page. Existing v0.2 rules above are unchanged. */
.tr-approved-trip{background:var(--tr-cream)}.tr-approved-hero{padding:34px 0 26px;overflow:hidden}.tr-approved-hero__grid{display:grid;grid-template-columns:38% 62%;align-items:center}.tr-approved-hero__copy{position:relative;z-index:2;padding:18px 34px 24px 0}.tr-approved-hero__copy h1{font:400 clamp(50px,5.5vw,76px)/.92 var(--tr-serif);letter-spacing:-.035em;text-transform:uppercase;margin:18px 0 13px}.tr-approved-hero__copy .tr-hand{font-size:clamp(21px,2.4vw,29px);color:var(--tr-coral);margin:0 0 20px}.tr-approved-hero__intro{max-width:450px;font-size:15px}.tr-approved-facts{display:flex;flex-wrap:wrap;gap:13px 20px;list-style:none;margin:18px 0;padding:15px 0;border-block:1px solid var(--tr-border)}.tr-approved-facts li{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700;text-transform:uppercase}.tr-approved-facts .tr-icon{color:var(--tr-coral)}.tr-approved-hero__media{height:510px;position:relative;margin-right:calc((100vw - min(100vw - 48px,var(--tr-container)))/-2)}.tr-approved-hero__media>.tr-nz-photo{position:absolute;inset:0;clip-path:polygon(9% 2%,100% 0,100% 86%,87% 91%,71% 88%,55% 95%,37% 91%,20% 97%,4% 89%,8% 69%,2% 48%,8% 25%)}.tr-approved-hero__stamp{position:absolute;right:8%;bottom:4%;color:var(--tr-coral);border-color:var(--tr-coral);background:rgba(243,238,223,.45)}.tr-approved-hero__stamp .theroute-brand__mark{color:var(--tr-coral)}.tr-approved-note{position:absolute;right:10%;bottom:-3px;color:var(--tr-coral);font:20px var(--tr-hand);transform:rotate(-4deg)}
.tr-nz-photo{background-image:url('../images/new-zealand-contact-sheet.png');background-size:400% 300%;background-repeat:no-repeat;background-color:#879692}.tr-nz-photo--1{background-position:0 0}.tr-nz-photo--2{background-position:33.333% 0}.tr-nz-photo--3{background-position:66.666% 0}.tr-nz-photo--4{background-position:100% 0}.tr-nz-photo--5{background-position:0 50%}.tr-nz-photo--6{background-position:33.333% 50%}.tr-nz-photo--7{background-position:66.666% 50%}.tr-nz-photo--8{background-position:100% 50%}.tr-nz-photo--9{background-position:0 100%}.tr-nz-photo--10{background-position:33.333% 100%}.tr-nz-photo--11{background-position:66.666% 100%}.tr-nz-photo--12{background-position:100% 100%}
.tr-approved-route{padding:4px 0 38px}.tr-approved-days{max-width:1130px}.tr-approved-day{display:grid;grid-template-columns:74px 300px 360px 1fr;gap:28px;align-items:center;min-height:300px;border-bottom:1px solid var(--tr-border)}.tr-approved-day__line{height:100%;border-left:1px dashed rgba(59,58,54,.35);display:flex;justify-content:center;padding-top:44px}.tr-approved-day__line span{width:38px;height:38px;border-radius:50%;background:var(--tr-coral);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;box-shadow:0 0 0 7px var(--tr-cream)}.tr-approved-day__copy h2{font:400 27px/1 var(--tr-serif);text-transform:uppercase;margin:0 0 5px}.tr-approved-day__copy>strong{color:var(--tr-coral);font-size:12px}.tr-approved-day__copy ul{font-size:12px;margin:11px 0 0;padding-left:17px}.tr-approved-day__arabic{margin-top:14px;padding-top:12px;border-top:1px solid var(--tr-border);font-family:Tahoma,Arial,sans-serif;line-height:1.7;text-align:right}.tr-approved-day__arabic ul{direction:rtl;margin:0;padding:0 17px 0 0}.tr-approved-polaroid{margin:0;background:#fff;padding:9px 9px 25px;box-shadow:0 8px 20px rgba(59,58,54,.13);position:relative;transform:rotate(-1deg)}.tr-approved-day:nth-child(even) .tr-approved-polaroid{transform:rotate(1deg)}.tr-approved-polaroid .tr-nz-photo{height:190px}.tr-approved-tape{position:absolute;z-index:2;top:-10px;left:calc(50% - 35px);width:70px;height:23px;background:rgba(218,193,147,.66);transform:rotate(2deg)}.tr-approved-sketch svg{width:100%;max-width:220px;fill:none;stroke:rgba(91,76,96,.17);stroke-width:1.3}.tr-approved-day:nth-child(3n+2) .tr-approved-sketch svg{transform:scaleX(-1)}
.tr-approved-before{padding:36px 0 30px}.tr-approved-before .tr-eyebrow{padding-bottom:8px;border-bottom:2px solid var(--tr-coral)}.tr-approved-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:20px}.tr-approved-cards article{min-height:330px;padding:22px;border:1px solid var(--tr-border);background:rgba(255,253,248,.22)}.tr-approved-card-icon{font-size:29px;color:var(--tr-coral)}.tr-approved-cards h2{font:400 18px var(--tr-serif);text-transform:uppercase;margin:6px 0 1px}.tr-approved-cards h3{font-size:10px;color:var(--tr-coral);text-transform:uppercase;margin:16px 0 4px}.tr-approved-cards p,.tr-approved-cards li,.tr-approved-cards dt,.tr-approved-cards dd,.tr-approved-cards small{font-size:11px}.tr-approved-cards ul{padding-left:16px}.tr-approved-cards dl{margin:15px 0}.tr-approved-cards dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--tr-border);padding:6px 0}.tr-approved-cards dd{margin:0}.tr-approved-cards a{display:block;margin:20px 0 14px;border:1px solid var(--tr-coral);color:var(--tr-coral);padding:10px;text-align:center;font-size:9px;font-weight:800;text-transform:uppercase}.tr-approved-level{display:flex;gap:9px;margin:20px 0 8px}.tr-approved-level i{width:22px;height:22px;border:1px solid var(--tr-coral);border-radius:50%}.tr-approved-level i:nth-child(-n+3){background:var(--tr-coral)}.tr-approved-stays{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:20px;border:1px solid var(--tr-border);padding:18px}.tr-approved-stays h2{font:400 20px var(--tr-serif);margin:0 14px 0 0}.tr-approved-stays span{font-size:10px;padding:8px 10px;background:rgba(255,253,248,.42)}
.tr-approved-join-wrap{padding:30px 0 48px}.tr-approved-join{display:grid;grid-template-columns:.9fr 1fr .65fr;min-height:300px;border:1px solid var(--tr-border);border-radius:12px;background:rgba(255,253,248,.34);overflow:hidden;box-shadow:var(--tr-shadow)}.tr-approved-join__photo{padding:28px;position:relative}.tr-approved-join__photo .tr-nz-photo{height:100%;min-height:230px;border:9px solid #fff;box-shadow:var(--tr-shadow);transform:rotate(-2deg)}.tr-approved-join__photo>span{position:absolute;left:20px;bottom:25px;border:2px solid var(--tr-coral);color:var(--tr-coral);background:rgba(243,238,223,.86);padding:9px 13px;font-size:9px;font-weight:800;text-transform:uppercase;transform:rotate(-5deg)}.tr-approved-join__copy,.tr-approved-join__price{padding:34px;align-self:center}.tr-approved-join__copy h2{font:400 37px var(--tr-serif);margin:0 0 14px}.tr-approved-join__copy ul{padding-left:17px;font-size:12px}.tr-approved-join__copy>.tr-save-route{display:flex;margin-top:8px}.tr-approved-join__price{border-left:1px solid var(--tr-border);display:grid}.tr-approved-join__price>span{font-size:9px;text-transform:uppercase;color:var(--tr-muted);margin-top:11px}.tr-approved-join__price>strong{font:400 28px var(--tr-serif)}.tr-approved-join__price>small{font-size:9px}.tr-approved-join__price hr{width:100%;border:0;border-top:1px solid var(--tr-border);margin:13px 0}.tr-approved-join__price>a{margin-top:20px;color:var(--tr-coral);font-size:9px;font-weight:800;text-transform:uppercase}
@media(max-width:980px){.tr-approved-hero__grid{grid-template-columns:1fr}.tr-approved-hero__copy{max-width:650px}.tr-approved-hero__media{height:420px;margin-right:-24px}.tr-approved-day{grid-template-columns:58px 1fr 1fr}.tr-approved-sketch{display:none}.tr-approved-cards{grid-template-columns:1fr 1fr}.tr-approved-join{grid-template-columns:1fr 1fr}.tr-approved-join__price{grid-column:1/-1;border-left:0;border-top:1px solid var(--tr-border);grid-template-columns:repeat(3,auto);align-items:end;gap:8px 18px}}@media(max-width:680px){.tr-approved-hero__media{height:310px}.tr-approved-hero__copy h1{font-size:48px}.tr-approved-day{grid-template-columns:42px 1fr;padding:24px 0}.tr-approved-polaroid{grid-column:1/-1;margin-left:42px}.tr-approved-cards,.tr-approved-join{grid-template-columns:1fr}.tr-approved-join__price{grid-column:auto;grid-template-columns:1fr}.tr-approved-facts{display:grid}}


/* ==========================================================================
   v0.4 — polished single-route presentation
   - refined brush hero
   - cleaner taped-photo treatment
   - route-photo-derived sketch echoes
   - selectable transport/activity icons beside each day
   ========================================================================== */

.tr-approved-trip .tr-filter-defs{
	position:absolute;
	width:0;
	height:0;
	overflow:hidden;
	pointer-events:none
}

.tr-approved-trip .tr-approved-hero{
	padding-top:30px;
	padding-bottom:34px
}

.tr-approved-trip .tr-approved-hero__grid{
	grid-template-columns:38% 62%;
	align-items:center
}

.tr-approved-trip .tr-approved-hero__copy{
	padding-top:8px;
	padding-bottom:16px
}

.tr-approved-trip .tr-approved-hero__copy h1{
	font-size:clamp(52px,5.8vw,80px);
	line-height:.91;
	margin-top:15px
}

.tr-approved-trip .tr-approved-hero__media{
	height:520px;
	overflow:visible
}

.tr-approved-trip .tr-approved-hero__media>.tr-nz-photo{
	inset:0;
	clip-path:none;
	-webkit-mask-image:url('../images/route-hero-brush-mask.svg');
	mask-image:url('../images/route-hero-brush-mask.svg');
	-webkit-mask-size:100% 100%;
	mask-size:100% 100%;
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	filter:saturate(1.03) contrast(1.02);
	background-color:#879692
}

.tr-approved-trip .tr-approved-hero__stamp{
	right:7%;
	bottom:6%;
	width:102px;
	height:102px;
	background:rgba(243,238,223,.88);
	box-shadow:0 4px 16px rgba(59,58,54,.08),inset 0 0 0 3px rgba(217,122,91,.08)
}

.tr-approved-trip .tr-approved-note{
	right:8%;
	bottom:0;
	font-size:22px
}

.tr-approved-trip .tr-approved-days{
	max-width:1160px
}

.tr-approved-trip .tr-approved-day{
	grid-template-columns:92px 300px 380px minmax(180px,1fr);
	gap:26px;
	min-height:292px;
	position:relative
}

.tr-approved-trip .tr-approved-day__rail{
	position:relative;
	height:100%;
	min-height:292px
}

.tr-approved-trip .tr-approved-day__rail::before{
	content:"";
	position:absolute;
	left:64px;
	top:0;
	bottom:0;
	border-left:1px dashed rgba(59,58,54,.28)
}

.tr-approved-trip .tr-approved-day__transport{
	position:absolute;
	left:8px;
	top:46px;
	width:30px;
	height:30px;
	display:grid;
	place-items:center;
	color:var(--tr-charcoal)
}

.tr-approved-trip .tr-approved-day__transport:empty{
	display:none
}

.tr-approved-trip .tr-approved-day__transport .tr-icon{
	width:27px;
	height:27px
}

.tr-approved-trip .tr-approved-day__number{
	position:absolute;
	top:42px;
	left:45px;
	width:38px;
	height:38px;
	border-radius:50%;
	background:var(--tr-coral);
	color:#fff;
	display:grid;
	place-items:center;
	font-size:11px;
	font-weight:800;
	box-shadow:0 0 0 7px var(--tr-cream);
	z-index:2
}

.tr-approved-trip .tr-approved-day__copy h2{
	font-size:27px
}

.tr-approved-trip .tr-approved-polaroid{
	margin:0;
	padding:6px;
	background:rgba(255,253,248,.96);
	border:1px solid rgba(59,58,54,.08);
	border-radius:2px;
	box-shadow:0 9px 22px rgba(59,58,54,.12);
	transform:rotate(-.35deg);
	overflow:visible
}

.tr-approved-trip .tr-approved-day:nth-child(even) .tr-approved-polaroid{
	transform:rotate(.35deg)
}

.tr-approved-trip .tr-approved-polaroid .tr-nz-photo{
	height:206px;
	border-radius:1px;
	filter:saturate(1.04) contrast(1.01)
}

.tr-approved-trip .tr-approved-tape{
	top:-10px;
	left:calc(50% - 34px);
	width:68px;
	height:20px;
	background:
		linear-gradient(90deg,rgba(222,198,154,.54),rgba(238,216,175,.72),rgba(218,193,147,.55));
	box-shadow:0 1px 2px rgba(59,58,54,.04);
	transform:rotate(1deg);
	opacity:.88
}

.tr-approved-trip .tr-approved-photo-sketch{
	align-self:center;
	width:100%;
	max-width:235px;
	height:154px;
	overflow:hidden;
	opacity:.18;
	mix-blend-mode:multiply;
	-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 82%,transparent 100%),
		linear-gradient(0deg,transparent 0,#000 18%,#000 82%,transparent 100%);
	-webkit-mask-composite:source-in;
	mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 82%,transparent 100%)
}

.tr-approved-trip .tr-approved-photo-sketch>.tr-nz-photo{
	width:100%;
	height:100%;
	filter:url(#tr-route-sketch-filter) grayscale(1) contrast(1.35);
	background-color:transparent
}

.tr-approved-trip .tr-approved-card-icon{
	display:inline-flex;
	color:var(--tr-charcoal)
}

.tr-approved-trip .tr-approved-card-icon .tr-icon{
	width:27px;
	height:27px
}

.tr-approved-trip .tr-approved-cards article{
	background:rgba(255,253,248,.16);
	box-shadow:none
}

.tr-approved-trip .tr-approved-join{
	box-shadow:0 12px 34px rgba(59,58,54,.07)
}

.tr-approved-trip .tr-approved-join__photo .tr-nz-photo{
	border:6px solid rgba(255,253,248,.98);
	box-shadow:0 9px 22px rgba(59,58,54,.12);
	transform:rotate(-.6deg)
}

@media(max-width:980px){
	.tr-approved-trip .tr-approved-hero__grid{
		grid-template-columns:1fr
	}
	.tr-approved-trip .tr-approved-hero__media{
		height:430px
	}
	.tr-approved-trip .tr-approved-day{
		grid-template-columns:82px 1fr 1fr
	}
	.tr-approved-trip .tr-approved-photo-sketch{
		display:none
	}
	.tr-approved-trip .tr-approved-day__rail{
		min-height:260px
	}
	.tr-approved-trip .tr-approved-day__rail::before{
		left:58px
	}
	.tr-approved-trip .tr-approved-day__number{
		left:39px
	}
	.tr-approved-trip .tr-approved-day__transport{
		left:2px
	}
}

@media(max-width:680px){
	.tr-approved-trip .tr-approved-hero__media{
		height:315px;
		margin-right:-12px
	}
	.tr-approved-trip .tr-approved-hero__stamp{
		width:82px;
		height:82px
	}
	.tr-approved-trip .tr-approved-day{
		grid-template-columns:74px 1fr;
		gap:18px;
		padding:24px 0
	}
	.tr-approved-trip .tr-approved-day__rail{
		min-height:220px
	}
	.tr-approved-trip .tr-approved-day__rail::before{
		left:53px
	}
	.tr-approved-trip .tr-approved-day__number{
		left:34px
	}
	.tr-approved-trip .tr-approved-day__transport{
		left:0
	}
	.tr-approved-trip .tr-approved-polaroid{
		grid-column:1/-1;
		margin-left:74px
	}
	.tr-approved-trip .tr-approved-polaroid .tr-nz-photo{
		height:190px
	}
}


/* ==========================================================================
   v0.5 — final polish pass on route hero + Before You Go
   ========================================================================== */

.tr-approved-trip .tr-approved-hero{
	padding-top:26px;
	padding-bottom:32px;
	overflow:visible
}

.tr-approved-trip .tr-approved-hero__grid{
	grid-template-columns:37% 63%;
	align-items:center
}

.tr-approved-trip .tr-approved-hero__media{
	height:520px;
	margin-right:calc((100vw - min(100vw - 48px,var(--tr-container)))/-2);
	overflow:visible
}

.tr-approved-trip .tr-approved-hero__media>.tr-nz-photo{
	position:absolute;
	inset:-8px 0 -8px -14px;
	clip-path:none;
	-webkit-mask-image:url('../images/route-hero-brush-mask.svg');
	mask-image:url('../images/route-hero-brush-mask.svg');
	-webkit-mask-size:100% 100%;
	mask-size:100% 100%;
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-position:center;
	mask-position:center;
	filter:saturate(1.04) contrast(1.025);
	transform:translateZ(0)
}

.tr-approved-trip .tr-approved-hero__media::after{
	content:"";
	position:absolute;
	left:4%;
	right:0;
	bottom:0;
	height:15%;
	pointer-events:none;
	background:linear-gradient(0deg,var(--tr-cream) 0,rgba(243,238,223,.72) 18%,rgba(243,238,223,0) 72%);
	mix-blend-mode:normal;
	opacity:.28
}

.tr-approved-trip .tr-approved-hero__stamp{
	right:8.5%;
	bottom:7%;
	width:104px;
	height:104px;
	background:rgba(243,238,223,.91);
	border-color:rgba(217,122,91,.85);
	box-shadow:0 5px 16px rgba(59,58,54,.07),inset 0 0 0 3px rgba(217,122,91,.06)
}

.tr-approved-trip .tr-approved-note{
	right:8%;
	bottom:1%;
	font-size:22px
}

/* BEFORE YOU GO */
.tr-approved-trip .tr-approved-before{
	padding:42px 0 34px
}

.tr-approved-trip .tr-approved-before__title{
	border-bottom:1px solid rgba(217,122,91,.72);
	margin-bottom:18px
}

.tr-approved-trip .tr-approved-before__title .tr-eyebrow{
	display:inline-block;
	margin:0;
	padding:0 0 7px;
	border-bottom:2px solid var(--tr-coral)
}

.tr-approved-trip .tr-approved-cards{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:14px;
	margin-top:0
}

.tr-approved-trip .tr-approved-card{
	min-height:342px;
	padding:20px 20px 18px;
	border:1px solid rgba(59,58,54,.17);
	background:rgba(255,253,248,.18);
	box-shadow:none;
	display:flex;
	flex-direction:column
}

.tr-approved-trip .tr-approved-card__head{
	display:grid;
	grid-template-columns:34px 1fr;
	gap:12px;
	align-items:start;
	margin-bottom:16px
}

.tr-approved-trip .tr-approved-card-icon{
	display:grid;
	place-items:center;
	width:32px;
	height:32px;
	color:var(--tr-charcoal)
}

.tr-approved-trip .tr-approved-card-icon .tr-icon{
	width:29px;
	height:29px;
	stroke-width:1.45
}

.tr-approved-trip .tr-approved-card__head h2{
	margin:0 0 2px;
	font-family:var(--tr-ui);
	font-size:11px;
	line-height:1.2;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.02em
}

.tr-approved-trip .tr-approved-card__head p{
	margin:0;
	color:var(--tr-muted);
	font-size:10px;
	line-height:1.3
}

.tr-approved-trip .tr-approved-card>p,
.tr-approved-trip .tr-approved-card li,
.tr-approved-trip .tr-approved-card dt,
.tr-approved-trip .tr-approved-card dd{
	font-size:10px;
	line-height:1.48
}

.tr-approved-trip .tr-approved-weather{
	margin:5px 0 14px
}

.tr-approved-trip .tr-approved-weather>div{
	display:flex;
	justify-content:space-between;
	gap:12px;
	padding:6px 0;
	border-bottom:1px solid rgba(59,58,54,.12)
}

.tr-approved-trip .tr-approved-weather dd{
	margin:0;
	white-space:nowrap
}

.tr-approved-trip .tr-approved-card__note{
	margin-top:auto;
	padding:11px 12px;
	background:rgba(217,122,91,.055);
	border:1px solid rgba(217,122,91,.11);
	font-size:9px;
	line-height:1.45
}

.tr-approved-trip .tr-approved-card__button{
	display:block;
	margin:18px 0 13px;
	padding:10px 8px;
	border:1px solid rgba(217,122,91,.72);
	background:rgba(255,253,248,.14);
	color:var(--tr-coral);
	text-align:center;
	font-size:9px;
	line-height:1.3;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.015em
}

.tr-approved-trip .tr-approved-card__button:hover{
	background:var(--tr-coral);
	color:#fff
}

.tr-approved-trip .tr-approved-card__notice{
	margin-top:auto;
	padding-top:12px;
	border-top:1px solid rgba(59,58,54,.11);
	display:grid;
	grid-template-columns:20px 1fr;
	gap:8px;
	align-items:start;
	color:var(--tr-muted);
	font-size:9px;
	line-height:1.42
}

.tr-approved-trip .tr-approved-card__notice .tr-icon{
	width:18px;
	height:18px;
	color:var(--tr-coral)
}

.tr-approved-trip .tr-approved-pack-list{
	list-style:none;
	margin:2px 0 8px;
	padding:0
}

.tr-approved-trip .tr-approved-pack-list li{
	position:relative;
	padding:2px 0 2px 17px
}

.tr-approved-trip .tr-approved-pack-list li::before{
	content:"";
	position:absolute;
	left:2px;
	top:.7em;
	width:6px;
	height:6px;
	border:1px solid rgba(59,58,54,.6);
	border-radius:1px;
	transform:translateY(-50%) rotate(6deg)
}

.tr-approved-trip .tr-approved-card--pack .tr-approved-card__button{
	margin-top:auto
}

.tr-approved-trip .tr-approved-level{
	display:flex;
	gap:8px;
	margin:8px 0 7px
}

.tr-approved-trip .tr-approved-level i{
	width:17px;
	height:17px;
	border:1px solid rgba(217,122,91,.72);
	border-radius:50%;
	background:transparent
}

.tr-approved-trip .tr-approved-level i:nth-child(-n+3){
	background:var(--tr-coral)
}

.tr-approved-trip .tr-approved-activity-name{
	display:block;
	margin:0 0 6px;
	font-size:10px
}

.tr-approved-trip .tr-approved-not-included{
	margin-top:auto;
	padding-top:12px;
	border-top:1px solid rgba(59,58,54,.11)
}

.tr-approved-trip .tr-approved-not-included h3{
	margin:0 0 6px;
	color:var(--tr-coral);
	font-family:var(--tr-ui);
	font-size:9px;
	font-weight:800;
	text-transform:uppercase
}

.tr-approved-trip .tr-approved-not-included ul{
	margin:0;
	padding-left:15px
}

.tr-approved-trip .tr-approved-stays{
	margin-top:14px;
	padding:13px 16px;
	border:1px solid rgba(59,58,54,.14);
	background:rgba(255,253,248,.1)
}

.tr-approved-trip .tr-approved-stays h2{
	font-size:16px
}

.tr-approved-trip .tr-approved-stays span{
	padding:5px 7px;
	background:rgba(255,253,248,.25);
	font-size:8.5px
}

@media(max-width:980px){
	.tr-approved-trip .tr-approved-hero__grid{
		grid-template-columns:1fr
	}
	.tr-approved-trip .tr-approved-hero__media{
		height:430px;
		margin-right:-24px
	}
	.tr-approved-trip .tr-approved-cards{
		grid-template-columns:1fr 1fr
	}
}

@media(max-width:680px){
	.tr-approved-trip .tr-approved-hero__media{
		height:320px;
		margin-right:-12px
	}
	.tr-approved-trip .tr-approved-cards{
		grid-template-columns:1fr
	}
	.tr-approved-trip .tr-approved-card{
		min-height:auto
	}
}


/* ==========================================================================
   v0.6 — hero refinement to match approved route mockup
   ========================================================================== */

.tr-approved-trip--v06 .tr-approved-hero{
	padding-top:24px;
	padding-bottom:30px;
	overflow:visible
}

.tr-approved-trip--v06 .tr-approved-hero__grid{
	grid-template-columns:37% 63%;
	align-items:start
}

.tr-approved-trip--v06 .tr-approved-hero__copy{
	padding-top:14px
}

.tr-approved-trip--v06 .tr-approved-hero__media{
	height:505px;
	margin-right:calc((100vw - min(100vw - 48px,var(--tr-container)))/-2);
	overflow:visible;
	position:relative
}

.tr-approved-trip--v06 .tr-approved-hero__media>.tr-nz-photo{
	position:absolute;
	inset:0 0 0 -10px;
	-webkit-mask-image:url('../images/route-hero-brush-mask.svg');
	mask-image:url('../images/route-hero-brush-mask.svg');
	-webkit-mask-size:100% 100%;
	mask-size:100% 100%;
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-position:center;
	mask-position:center;
	filter:saturate(1.035) contrast(1.02);
	transform:translateZ(0)
}

.tr-approved-trip--v06 .tr-approved-hero__media::before{
	content:"";
	position:absolute;
	left:-2%;
	right:0;
	top:0;
	bottom:0;
	pointer-events:none;
	background:
		linear-gradient(180deg,rgba(243,238,223,0) 0 78%,rgba(243,238,223,.14) 88%,rgba(243,238,223,0) 100%),
		linear-gradient(90deg,rgba(243,238,223,.05) 0,rgba(243,238,223,0) 10%,rgba(243,238,223,0) 100%);
	opacity:.9
}

.tr-approved-trip--v06 .tr-approved-hero__media::after{
	content:"";
	position:absolute;
	left:5%;
	right:0;
	bottom:-1px;
	height:10%;
	pointer-events:none;
	background:linear-gradient(0deg,var(--tr-cream) 0,rgba(243,238,223,.42) 28%,rgba(243,238,223,0) 100%);
	opacity:.42
}

.tr-approved-trip--v06 .tr-approved-hero__stamp{
	right:7%;
	bottom:4.2%;
	width:106px;
	height:106px;
	background:rgba(243,238,223,.92);
	border-color:rgba(217,122,91,.8);
	box-shadow:0 4px 14px rgba(59,58,54,.05), inset 0 0 0 3px rgba(217,122,91,.05)
}

.tr-approved-trip--v06 .tr-approved-note{
	right:8%;
	bottom:-1.2%;
	font-size:22px
}

@media(max-width:980px){
	.tr-approved-trip--v06 .tr-approved-hero__grid{
		grid-template-columns:1fr
	}
	.tr-approved-trip--v06 .tr-approved-hero__media{
		height:420px;
		margin-right:-24px
	}
}

@media(max-width:680px){
	.tr-approved-trip--v06 .tr-approved-hero__media{
		height:310px;
		margin-right:-12px
	}
	.tr-approved-trip--v06 .tr-approved-hero__stamp{
		width:82px;
		height:82px
	}
}


/* ==========================================================================
   v0.7 — restore cumulative route styling + sketch visibility
   ========================================================================== */

.tr-approved-trip--v07 .tr-approved-photo-sketch{
	display:block;
	opacity:.20;
	max-width:245px;
	height:160px;
	align-self:center;
	pointer-events:none
}

.tr-approved-trip--v07 .tr-approved-photo-sketch>.tr-nz-photo{
	width:100%;
	height:100%;
	filter:url(#tr-route-sketch-filter) grayscale(1) contrast(1.38);
	background-color:transparent
}

/* Keep the derived drawings intentionally faint like the approved concept. */
.tr-approved-trip--v07 .tr-approved-day:nth-child(3n+2) .tr-approved-photo-sketch{
	opacity:.17
}

@media(max-width:980px){
	.tr-approved-trip--v07 .tr-approved-photo-sketch{
		display:none
	}
}


/* ==========================================================================
   v0.8 — final approved-route polish
   ========================================================================== */

.tr-approved-trip--v08 .tr-approved-hero{
	padding-top:24px;
	padding-bottom:32px;
	overflow:visible
}

.tr-approved-trip--v08 .tr-approved-hero__grid{
	grid-template-columns:36.5% 63.5%;
	align-items:start
}

.tr-approved-trip--v08 .tr-approved-hero__copy{
	padding-top:12px
}

.tr-approved-trip--v08 .tr-approved-hero__media{
	height:506px;
	margin-right:calc((100vw - min(100vw - 48px,var(--tr-container)))/-2);
	position:relative;
	overflow:visible
}

.tr-approved-trip--v08 .tr-approved-hero__media > .tr-nz-photo{
	position:absolute;
	inset:0 -2px 0 10px;
	-webkit-mask-image:url('../images/route-hero-brush-mask.svg');
	mask-image:url('../images/route-hero-brush-mask.svg');
	-webkit-mask-size:100% 100%;
	mask-size:100% 100%;
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-position:center;
	mask-position:center;
	filter:saturate(1.04) contrast(1.02);
	transform:translateZ(0)
}

.tr-approved-trip--v08 .tr-approved-hero__media::before{
	content:"";
	position:absolute;
	inset:0 0 0 0;
	pointer-events:none;
	background:
		linear-gradient(90deg,rgba(243,238,223,.08) 0,rgba(243,238,223,.03) 6%,rgba(243,238,223,0) 13%),
		linear-gradient(180deg,rgba(255,255,255,.03) 0,rgba(255,255,255,0) 14%);
	opacity:.95
}

.tr-approved-trip--v08 .tr-approved-hero__media::after{
	content:"";
	position:absolute;
	left:11%;
	right:0;
	bottom:-1px;
	height:8%;
	pointer-events:none;
	background:linear-gradient(0deg,var(--tr-cream) 0,rgba(243,238,223,.34) 34%,rgba(243,238,223,0) 100%);
	opacity:.46
}

.tr-approved-trip--v08 .tr-approved-hero__stamp{
	right:6.7%;
	bottom:4.6%;
	width:104px;
	height:104px;
	background:rgba(243,238,223,.88);
	border-color:rgba(217,122,91,.78);
	box-shadow:0 4px 12px rgba(59,58,54,.04), inset 0 0 0 3px rgba(217,122,91,.04)
}

.tr-approved-trip--v08 .tr-approved-note{
	right:7.8%;
	bottom:-1.2%;
	font-size:22px
}

/* Tiny breathing-room polish for the approved cards without changing the layout. */
.tr-approved-trip--v08 .tr-approved-card{
	min-height:350px;
	padding:22px 20px 19px
}

.tr-approved-trip--v08 .tr-approved-card__head{
	margin-bottom:17px
}

.tr-approved-trip--v08 .tr-approved-stays{
	margin-top:16px
}

@media(max-width:980px){
	.tr-approved-trip--v08 .tr-approved-hero__grid{
		grid-template-columns:1fr
	}
	.tr-approved-trip--v08 .tr-approved-hero__media{
		height:424px;
		margin-right:-24px
	}
}

@media(max-width:680px){
	.tr-approved-trip--v08 .tr-approved-hero__media{
		height:312px;
		margin-right:-12px
	}
	.tr-approved-trip--v08 .tr-approved-hero__stamp{
		width:82px;
		height:82px
	}
	.tr-approved-trip--v08 .tr-approved-card{
		min-height:auto
	}
}


/* ==========================================================================
   v0.9 — stronger itinerary drawings + better overlap with photos
   ========================================================================== */

.tr-approved-trip--v09 .tr-approved-day{
	position:relative
}

.tr-approved-trip--v09 .tr-approved-polaroid{
	position:relative;
	z-index:3
}

.tr-approved-trip--v09 .tr-approved-photo-sketch{
	display:block;
	position:relative;
	z-index:1;
	align-self:center;
	max-width:255px;
	height:168px;
	margin-left:-72px;
	opacity:.28;
	pointer-events:none
}

.tr-approved-trip--v09 .tr-approved-photo-sketch > .tr-nz-photo{
	width:100%;
	height:100%;
	filter:url(#tr-route-sketch-filter) grayscale(1) contrast(1.42);
	background-color:transparent
}

/* slight variety so they feel organic, but keep them visible */
.tr-approved-trip--v09 .tr-approved-day:nth-child(even) .tr-approved-photo-sketch{
	margin-left:-82px;
	opacity:.25
}

.tr-approved-trip--v09 .tr-approved-day:nth-child(3n) .tr-approved-photo-sketch{
	margin-left:-64px;
	opacity:.27
}

/* keep mobile/tablet clean */
@media(max-width:980px){
	.tr-approved-trip--v09 .tr-approved-photo-sketch{
		display:none
	}
}


/* ==========================================================================
   v0.10 — fixed-vector approved-style hero
   ========================================================================== */

.tr-approved-trip--v10 .tr-approved-hero{
	padding-top:24px;
	padding-bottom:32px;
	overflow:visible
}

.tr-approved-trip--v10 .tr-approved-hero__grid{
	grid-template-columns:36.5% 63.5%;
	align-items:start
}

.tr-approved-trip--v10 .tr-approved-hero__copy{
	padding-top:12px
}

.tr-approved-trip--v10 .tr-approved-hero__media{
	height:506px;
	margin-right:calc((100vw - min(100vw - 48px,var(--tr-container)))/-2);
	position:relative;
	overflow:visible
}

.tr-approved-trip--v10 .tr-approved-hero__media > .tr-nz-photo{
	position:absolute;
	inset:0 -2px 0 4px;
	-webkit-mask-image:url('../images/route-hero-brush-mask.svg');
	mask-image:url('../images/route-hero-brush-mask.svg');
	-webkit-mask-size:100% 100%;
	mask-size:100% 100%;
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-position:center;
	mask-position:center;
	filter:saturate(1.04) contrast(1.02);
	transform:translateZ(0)
}

.tr-approved-trip--v10 .tr-approved-hero__media::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(90deg,rgba(243,238,223,.045) 0,rgba(243,238,223,.02) 8%,rgba(243,238,223,0) 16%),
		linear-gradient(180deg,rgba(255,255,255,.02) 0,rgba(255,255,255,0) 18%);
	opacity:.95
}

.tr-approved-trip--v10 .tr-approved-hero__media::after{
	content:"";
	position:absolute;
	left:10%;
	right:0;
	bottom:-1px;
	height:7%;
	pointer-events:none;
	background:linear-gradient(0deg,var(--tr-cream) 0,rgba(243,238,223,.26) 42%,rgba(243,238,223,0) 100%);
	opacity:.45
}

.tr-approved-trip--v10 .tr-approved-hero__stamp{
	right:6.8%;
	bottom:4.8%;
	width:104px;
	height:104px;
	background:rgba(243,238,223,.88);
	border-color:rgba(217,122,91,.78);
	box-shadow:0 4px 12px rgba(59,58,54,.04), inset 0 0 0 3px rgba(217,122,91,.04)
}

.tr-approved-trip--v10 .tr-approved-note{
	right:7.8%;
	bottom:-1.2%;
	font-size:22px
}

@media(max-width:980px){
	.tr-approved-trip--v10 .tr-approved-hero__grid{
		grid-template-columns:1fr
	}
	.tr-approved-trip--v10 .tr-approved-hero__media{
		height:424px;
		margin-right:-24px
	}
}

@media(max-width:680px){
	.tr-approved-trip--v10 .tr-approved-hero__media{
		height:312px;
		margin-right:-12px
	}
	.tr-approved-trip--v10 .tr-approved-hero__stamp{
		width:82px;
		height:82px
	}
}


/* ==========================================================================
   v0.11 — approved hero via designed overlay frame
   ========================================================================== */

.tr-approved-trip--v11 .tr-approved-hero{
	padding-top:24px;
	padding-bottom:32px;
	overflow:visible
}

.tr-approved-trip--v11 .tr-approved-hero__grid{
	grid-template-columns:36.5% 63.5%;
	align-items:start
}

.tr-approved-trip--v11 .tr-approved-hero__copy{
	padding-top:12px
}

.tr-approved-trip--v11 .tr-approved-hero__media{
	height:506px;
	margin-right:calc((100vw - min(100vw - 48px,var(--tr-container)))/-2);
	position:relative;
	overflow:visible
}

/* Important: v0.11 stops carving the image. The photo is rectangular and clean. */
.tr-approved-trip--v11 .tr-approved-hero__media > .tr-nz-photo{
	position:absolute;
	inset:0;
	clip-path:none !important;
	-webkit-mask-image:none !important;
	mask-image:none !important;
	border-radius:0;
	z-index:1;
	filter:saturate(1.04) contrast(1.02);
	transform:none
}

/* Neutralise the older simulated-mask fade layers. */
.tr-approved-trip--v11 .tr-approved-hero__media::before,
.tr-approved-trip--v11 .tr-approved-hero__media::after{
	content:none !important
}

/*
 * The designed cream overlay is now the brush edge.
 * This is deliberately an art layer, not an algorithm.
 */
.tr-approved-trip--v11 .tr-approved-hero__brush-overlay{
	position:absolute;
	inset:-1px;
	z-index:2;
	display:block;
	pointer-events:none;
	background:url('../images/route-hero-brush-overlay.svg') center / 100% 100% no-repeat
}

.tr-approved-trip--v11 .tr-approved-hero__stamp{
	z-index:4;
	right:6.7%;
	bottom:5%;
	width:104px;
	height:104px;
	background:rgba(243,238,223,.90);
	border-color:rgba(217,122,91,.78);
	box-shadow:0 4px 12px rgba(59,58,54,.04), inset 0 0 0 3px rgba(217,122,91,.04)
}

.tr-approved-trip--v11 .tr-approved-note{
	z-index:4;
	right:7.8%;
	bottom:-1.4%;
	font-size:22px
}

/* preserve the v0.9 drawing treatment exactly */
.tr-approved-trip--v11 .tr-approved-photo-sketch{
	opacity:.28
}

.tr-approved-trip--v11 .tr-approved-day:nth-child(even) .tr-approved-photo-sketch{
	opacity:.25
}

.tr-approved-trip--v11 .tr-approved-day:nth-child(3n) .tr-approved-photo-sketch{
	opacity:.27
}

@media(max-width:980px){
	.tr-approved-trip--v11 .tr-approved-hero__grid{
		grid-template-columns:1fr
	}

	.tr-approved-trip--v11 .tr-approved-hero__media{
		height:424px;
		margin-right:-24px
	}
}

@media(max-width:680px){
	.tr-approved-trip--v11 .tr-approved-hero__media{
		height:312px;
		margin-right:-12px
	}

	.tr-approved-trip--v11 .tr-approved-hero__stamp{
		width:82px;
		height:82px
	}
}


/* ==========================================================================
   v0.12 — approved hero artwork + refined travel seal
   ========================================================================== */

.tr-approved-trip--v12 .tr-approved-hero__brush-overlay{
	position:absolute;
	inset:-1px;
	z-index:2;
	display:block;
	pointer-events:none;
	background:url('../images/route-hero-brush-overlay.svg') center / 100% 100% no-repeat
}

.tr-approved-trip--v12 .tr-route-stamp{
	padding:0;
	display:block;
	width:108px;
	height:108px;
	color:var(--tr-coral);
	background:transparent;
	border:0;
	border-radius:50%;
	box-shadow:none;
	transform:rotate(-7deg)
}

.tr-approved-trip--v12 .tr-route-stamp__svg{
	display:block;
	width:100%;
	height:100%;
	overflow:visible
}

.tr-approved-trip--v12 .tr-route-stamp__outer,
.tr-approved-trip--v12 .tr-route-stamp__inner{
	fill:rgba(243,238,223,.72);
	stroke:currentColor
}

.tr-approved-trip--v12 .tr-route-stamp__outer{
	stroke-width:1.25
}

.tr-approved-trip--v12 .tr-route-stamp__inner{
	fill:none;
	stroke-width:.85;
	stroke-dasharray:1.6 1.35;
	opacity:.88
}

.tr-approved-trip--v12 .tr-route-stamp__ring-text{
	fill:currentColor;
	font-family:var(--tr-ui);
	font-size:6.2px;
	font-weight:750;
	letter-spacing:1.55px
}

.tr-approved-trip--v12 .tr-route-stamp__dot{
	fill:currentColor;
	opacity:.82
}

.tr-approved-trip--v12 .tr-route-stamp__core{
	fill:var(--tr-coral);
	stroke:rgba(243,238,223,.86);
	stroke-width:1
}

.tr-approved-trip--v12 .tr-route-stamp__route-mark{
	fill:var(--tr-cream)
}

.tr-approved-trip--v12 .tr-approved-hero__stamp{
	z-index:4;
	right:6.9%;
	bottom:4.8%;
	width:108px;
	height:108px;
	background:transparent;
	border:0;
	box-shadow:none
}

.tr-approved-trip--v12 .tr-approved-note{
	right:7.8%;
	bottom:-1.4%
}

@media(max-width:680px){
	.tr-approved-trip--v12 .tr-approved-hero__stamp{
		width:84px;
		height:84px
	}
}


/* ==========================================================================
   v0.13 — real extracted brush sample for route hero
   ========================================================================== */

.tr-approved-trip--v13 .tr-approved-hero__media{
	height:506px;
	margin-right:calc((100vw - min(100vw - 48px,var(--tr-container)))/-2);
	position:relative;
	overflow:visible
}

/* Use the real sampled brush as the image silhouette. */
.tr-approved-trip--v13 .tr-approved-hero__media > .tr-nz-photo{
	position:absolute;
	inset:0;
	clip-path:none !important;
	border-radius:0 !important;
	background-size:cover;
	background-position:center;
	-webkit-mask-image:url('../images/route-hero-brush-mask.png');
	mask-image:url('../images/route-hero-brush-mask.png');
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-size:100% 100%;
	mask-size:100% 100%;
	-webkit-mask-position:center;
	mask-position:center;
	z-index:2;
	filter:saturate(1.03) contrast(1.02)
}

/* The v0.12 synthetic overlay is not used in this build. */
.tr-approved-trip--v13 .tr-approved-hero__brush-overlay{
	display:none !important
}

.tr-approved-trip--v13 .tr-approved-hero__stamp{
	z-index:4;
	right:6.8%;
	bottom:5.5%;
	width:100px;
	height:100px;
	background:transparent;
	border:0;
	box-shadow:none
}

.tr-approved-trip--v13 .tr-route-stamp{
	width:100px;
	height:100px;
	transform:rotate(-7deg);
	opacity:.92
}

.tr-approved-trip--v13 .tr-route-stamp__outer,
.tr-approved-trip--v13 .tr-route-stamp__inner{
	fill:rgba(243,238,223,.62);
	stroke:currentColor
}

.tr-approved-trip--v13 .tr-route-stamp__outer{
	stroke-width:1.12
}

.tr-approved-trip--v13 .tr-route-stamp__inner{
	fill:none;
	stroke-width:.78;
	stroke-dasharray:1.4 1.25;
	opacity:.82
}

.tr-approved-trip--v13 .tr-route-stamp__ring-text{
	font-size:5.95px;
	letter-spacing:1.48px
}

.tr-approved-trip--v13 .tr-route-stamp__core{
	fill:rgba(217,122,91,.92);
	stroke:rgba(243,238,223,.86);
	stroke-width:1
}

.tr-approved-trip--v13 .tr-approved-note{
	right:7.6%;
	bottom:-1.1%;
	font-size:22px
}

@media(max-width:980px){
	.tr-approved-trip--v13 .tr-approved-hero__media{
		height:424px;
		margin-right:-24px
	}
}

@media(max-width:680px){
	.tr-approved-trip--v13 .tr-approved-hero__media{
		height:312px;
		margin-right:-12px
	}
	.tr-approved-trip--v13 .tr-approved-hero__stamp,
	.tr-approved-trip--v13 .tr-route-stamp{
		width:80px;
		height:80px
	}
}


/* ==========================================================================
   v0.15 — isolated hero + safe itinerary spacing
   ========================================================================== */

/*
 * HERO
 * The route hero is now a dedicated element, not .tr-nz-photo.
 * This prevents old sprite/contact-sheet and version-specific mask rules
 * from ever touching it again.
 */
.tr-approved-trip--v15 .tr-approved-hero__media{
	height:506px;
	margin-right:calc((100vw - min(100vw - 48px,var(--tr-container)))/-2);
	position:relative;
	overflow:visible
}

.tr-approved-trip--v15 .tr-approved-hero__photo{
	position:absolute;
	inset:0;
	z-index:2;
	background-image:url('../images/new-zealand-hero.png');
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	background-color:#879692;

	-webkit-mask-image:url('../images/route-hero-brush-mask-v15.png') !important;
	mask-image:url('../images/route-hero-brush-mask-v15.png') !important;
	-webkit-mask-repeat:no-repeat !important;
	mask-repeat:no-repeat !important;
	-webkit-mask-size:100% 100% !important;
	mask-size:100% 100% !important;
	-webkit-mask-position:center !important;
	mask-position:center !important;

	filter:saturate(1.035) contrast(1.02)
}

/* Old synthetic overlay is not part of the v0.15 hero. */
.tr-approved-trip--v15 .tr-approved-hero__brush-overlay{
	display:none !important
}

.tr-approved-trip--v15 .tr-approved-hero__stamp{
	z-index:4;
	right:6.9%;
	bottom:5.3%;
	width:100px;
	height:100px;
	background:transparent;
	border:0;
	box-shadow:none
}

.tr-approved-trip--v15 .tr-route-stamp{
	width:100px;
	height:100px;
	transform:rotate(-7deg);
	opacity:.92
}

.tr-approved-trip--v15 .tr-approved-note{
	z-index:4;
	right:7.7%;
	bottom:-1%;
	font-size:22px
}

/*
 * ITINERARY
 * Keep the known-good v0.13 grid columns exactly as they are.
 * We only add breathing room and nudge the visual pair rightward.
 */
.tr-approved-trip--v15 .tr-approved-day__copy{
	padding-right:18px
}

.tr-approved-trip--v15 .tr-approved-day__copy > ul{
	margin-top:13px
}

.tr-approved-trip--v15 .tr-approved-day__arabic{
	margin-top:18px;
	padding-top:15px
}

/* Move the photo slightly away from the bilingual copy without changing width. */
.tr-approved-trip--v15 .tr-approved-polaroid{
	margin-left:12px
}

/* Preserve v0.9 overlap, just shift the drawing/photo pair right by ~14px. */
.tr-approved-trip--v15 .tr-approved-photo-sketch{
	margin-left:-58px
}

.tr-approved-trip--v15 .tr-approved-day:nth-child(even) .tr-approved-photo-sketch{
	margin-left:-68px
}

.tr-approved-trip--v15 .tr-approved-day:nth-child(3n) .tr-approved-photo-sketch{
	margin-left:-50px
}

@media(max-width:980px){
	.tr-approved-trip--v15 .tr-approved-hero__media{
		height:424px;
		margin-right:-24px
	}

	.tr-approved-trip--v15 .tr-approved-day__copy{
		padding-right:0
	}

	.tr-approved-trip--v15 .tr-approved-polaroid{
		margin-left:0
	}

	.tr-approved-trip--v15 .tr-approved-photo-sketch{
		display:none
	}
}

@media(max-width:680px){
	.tr-approved-trip--v15 .tr-approved-hero__media{
		height:312px;
		margin-right:-12px
	}

	.tr-approved-trip--v15 .tr-approved-hero__stamp,
	.tr-approved-trip--v15 .tr-route-stamp{
		width:80px;
		height:80px
	}

	.tr-approved-trip--v15 .tr-approved-note{
		font-size:18px
	}
}


/* ==========================================================================
   v0.16 — corrected real-brush alpha mask
   ========================================================================== */

.tr-approved-trip--v16 .tr-approved-hero__photo{
	-webkit-mask-image:url('../images/route-hero-brush-mask-v15.png') !important;
	mask-image:url('../images/route-hero-brush-mask-v15.png') !important;
	-webkit-mask-mode:alpha;
	mask-mode:alpha;
}


/* ==========================================================================
   v0.17 — baked brush hero (no browser mask)
   ========================================================================== */

/*
 * v0.17 intentionally does NOT use CSS masking.
 * The real brush alpha is already baked into the transparent PNG.
 */
.tr-approved-trip--v17 .tr-approved-hero__photo{
	position:absolute;
	inset:0;
	z-index:2;

	background-image:url('../images/new-zealand-hero-brushed.png') !important;
	background-size:100% 100% !important;
	background-position:center !important;
	background-repeat:no-repeat !important;
	background-color:transparent !important;

	-webkit-mask-image:none !important;
	mask-image:none !important;
	-webkit-mask:none !important;
	mask:none !important;

	filter:none !important;
	opacity:1 !important;
}

/* v0.17 uses no synthetic overlay either. */
.tr-approved-trip--v17 .tr-approved-hero__brush-overlay{
	display:none !important
}


/* ==========================================================================
   TheRoute v0.18 — approved public page system
   Theme owns presentation; Dune Travel owns content + routing.
   ========================================================================== */

.tr-v18-hand-line{display:block;width:64px;height:3px;background:var(--tr-coral);margin:18px 0 28px;transform:rotate(-2deg);border-radius:999px}
.tr-v18-faded-stamp{position:absolute;color:rgba(217,122,91,.25);border:1px solid rgba(217,122,91,.22);border-radius:50%;width:105px;height:105px;display:grid;place-items:center;text-align:center;font-size:9px;letter-spacing:.12em;transform:rotate(-12deg);top:-28px;left:-72px}

/* About */
.tr-v18-about-hero{padding:34px 0 0;overflow:hidden}.tr-v18-about-hero__grid{display:grid;grid-template-columns:38% 62%;align-items:center;min-height:545px}.tr-v18-about-hero__copy{position:relative;padding:50px 50px 60px 42px;z-index:3}.tr-v18-about-hero__copy h1{font:400 clamp(48px,5.4vw,76px)/.96 var(--tr-serif);margin:10px 0 20px}.tr-v18-about-hero__copy h1 span{color:var(--tr-coral)}.tr-v18-about-hero__copy>.tr-hand{font-size:27px;line-height:1.25;margin:18px 0}.tr-v18-about-hero__copy>p:last-child{max-width:500px}.tr-v18-brush-photo{height:520px;position:relative;background-image:var(--tr-photo);background-position:center;background-size:cover;-webkit-mask:url('../images/route-hero-brush-mask-v15.png') center/100% 100% no-repeat;mask:url('../images/route-hero-brush-mask-v15.png') center/100% 100% no-repeat}.tr-v18-note-card{position:absolute;right:7%;bottom:3%;background:#f7f0df;padding:24px 30px;box-shadow:0 10px 24px rgba(59,58,54,.12);transform:rotate(5deg);font-size:18px;line-height:1.45}.tr-v18-note-card::before{content:"";position:absolute;width:70px;height:20px;background:#ead7aa;top:-11px;left:50%;transform:translateX(-50%) rotate(-4deg);opacity:.8}.tr-v18-beliefs{padding:55px 0 60px;position:relative}.tr-v18-belief-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px}.tr-v18-belief-grid article{text-align:center;padding:20px 34px;border-right:1px solid var(--tr-border)}.tr-v18-belief-grid article:last-child{border-right:0}.tr-v18-belief-icon{display:block;color:var(--tr-coral);font-size:38px;line-height:1}.tr-v18-belief-grid h2{font:400 24px var(--tr-serif);margin:14px 0 10px}.tr-v18-about-story{padding:38px 0 70px}.tr-v18-about-story__grid{display:grid;grid-template-columns:46% 54%;gap:70px;align-items:center}.tr-v18-about-story__grid h2{font:400 clamp(34px,4vw,52px)/1.05 var(--tr-serif);margin:8px 0 18px}.tr-v18-about-story__grid .tr-hand{font-size:24px;color:var(--tr-coral)}.tr-v18-polaroid{position:relative;background:#fffdf8;padding:12px;box-shadow:0 8px 24px rgba(59,58,54,.13);transform:rotate(-1.5deg);margin:0}.tr-v18-polaroid img{width:100%;height:390px;object-fit:cover}.tr-v18-tape{position:absolute;width:90px;height:24px;background:#ead7aa;top:-12px;left:50%;transform:translateX(-50%) rotate(2deg);opacity:.78;z-index:2}.tr-v18-host-wrap{padding:0 0 42px}.tr-v18-host-card{display:grid;grid-template-columns:31% 44% 25%;align-items:stretch;background:rgba(255,253,248,.48);border:1px solid var(--tr-border);border-radius:10px;overflow:hidden}.tr-v18-host-card>div{padding:42px}.tr-v18-host-card h2{font:400 38px/1.05 var(--tr-serif);margin:8px 0 18px}.tr-v18-host-card>img{width:100%;height:100%;min-height:330px;object-fit:cover}.tr-v18-host-card blockquote{margin:0;padding:56px 34px;color:var(--tr-coral);font-size:24px;line-height:1.55}.tr-v18-host-card blockquote small{color:var(--tr-coral)}.tr-v18-journey-cta{padding-bottom:18px}.tr-v18-journey-cta .tr-container{display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--tr-border);background:rgba(255,253,248,.5);padding:28px 70px;border-radius:8px}.tr-v18-journey-cta h2{font:400 34px var(--tr-serif);margin:0}.tr-v18-journey-cta p{margin:5px 0 0}

/* Routes */
.tr-v18-archive-intro{padding:70px 0 38px}.tr-v18-archive-intro h1{font:400 clamp(54px,7vw,90px)/.92 var(--tr-serif);margin:8px 0 20px}.tr-v18-archive-intro h1 span{color:var(--tr-coral)}.tr-v18-archive-intro .tr-hand{font-size:25px;line-height:1.4}.tr-v18-feature-route{padding:20px 0 70px}.tr-v18-feature-route__grid{display:grid;grid-template-columns:40% 60%;align-items:center;gap:55px}.tr-v18-feature-route__copy h2{font:400 clamp(52px,6vw,78px)/.96 var(--tr-serif);text-transform:uppercase;margin:6px 0 8px}.tr-v18-route-date{text-transform:uppercase;font-weight:700;font-size:13px}.tr-v18-route-meta{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid var(--tr-border);border-bottom:1px solid var(--tr-border);padding:14px 0;margin:20px 0;font-size:11px;text-transform:uppercase}.tr-v18-feature-route__bottom{display:flex;align-items:end;gap:28px;margin-top:25px}.tr-v18-feature-route__bottom strong{display:block;font:400 28px var(--tr-serif)}.tr-v18-feature-route__bottom small{font-size:11px}.tr-v18-feature-route__media{height:440px;background:center/cover no-repeat;border-radius:8px;position:relative;box-shadow:var(--tr-shadow)}.tr-v18-feature-route__media>span{position:absolute;top:18px;right:18px;background:rgba(59,58,54,.82);color:#fff;padding:8px 12px;border-radius:5px;font-size:10px;text-transform:uppercase}.tr-v18-route-list{padding:15px 0 75px}.tr-v18-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.tr-v18-route-card{display:grid;background:rgba(255,253,248,.55);border:1px solid var(--tr-border);border-radius:8px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.tr-v18-route-card:hover{transform:translateY(-3px);box-shadow:var(--tr-shadow)}.tr-v18-route-card__image{aspect-ratio:4/3;background:center/cover no-repeat}.tr-v18-route-card__copy{padding:20px}.tr-v18-route-card__copy small{color:var(--tr-coral);font-size:10px;text-transform:uppercase;font-weight:700}.tr-v18-route-card__copy h2{font:400 30px var(--tr-serif);margin:6px 0 10px}.tr-v18-route-card__copy p{color:var(--tr-muted);min-height:76px}.tr-v18-route-card__copy>div{display:flex;gap:14px;border-top:1px solid var(--tr-border);padding-top:12px;font-size:10px;text-transform:uppercase}.tr-v18-empty{text-align:center;padding:80px 20px;border:1px dashed rgba(59,58,54,.2);border-radius:10px}.tr-v18-empty span{font-size:32px;color:var(--tr-coral)}.tr-v18-empty h2{font:400 34px var(--tr-serif)}

/* Past Routes */
.tr-v18-archive-intro--past{padding-bottom:55px}.tr-v18-past-grid-wrap{padding-bottom:95px}.tr-v18-past-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.tr-v18-past-card{background:rgba(255,253,248,.48);border:1px solid var(--tr-border);border-radius:8px;overflow:hidden}.tr-v18-past-card__image{display:block;aspect-ratio:16/10;background:center/cover no-repeat;position:relative;filter:saturate(.86)}.tr-v18-completed-stamp{position:absolute;right:14px;bottom:14px;border:1px solid rgba(255,255,255,.75);color:#fff;background:rgba(59,58,54,.52);padding:7px 10px;border-radius:999px;font-size:10px;text-transform:uppercase}.tr-v18-past-card__copy{padding:22px}.tr-v18-past-card__copy>small{color:var(--tr-coral);text-transform:uppercase;font-size:10px}.tr-v18-past-card h2{font:400 31px var(--tr-serif);margin:4px 0 10px}.tr-v18-past-card__meta{display:flex;gap:16px;padding-top:12px;border-top:1px solid var(--tr-border);font-size:10px;text-transform:uppercase}.tr-v18-story-links{margin-top:18px;background:rgba(217,122,91,.07);padding:13px 15px}.tr-v18-story-links p{font-size:10px;text-transform:uppercase;color:var(--tr-coral);font-weight:700;margin:0 0 6px}.tr-v18-story-links a{display:block;font-size:12px;margin-top:4px}

/* Stories archive */
.tr-v18-stories-hero{padding:30px 0 15px;overflow:hidden}.tr-v18-stories-hero__grid{display:grid;grid-template-columns:43% 57%;align-items:center;min-height:430px}.tr-v18-stories-hero__grid>div:first-child{position:relative;padding:35px 45px}.tr-v18-stories-hero h1{font:400 clamp(55px,6vw,82px)/.92 var(--tr-serif);margin:6px 0 18px}.tr-v18-stories-hero h1 span{color:var(--tr-coral)}.tr-v18-stories-hero .tr-hand{font-size:26px;line-height:1.35}.tr-v18-story-hero-photo{height:400px;background-image:var(--tr-photo);background:center/cover no-repeat;-webkit-mask:url('../images/route-hero-brush-mask-v15.png') center/100% 100% no-repeat;mask:url('../images/route-hero-brush-mask-v15.png') center/100% 100% no-repeat}.tr-v18-feature-story-wrap{padding:16px 0 42px}.tr-v18-feature-story{display:grid;grid-template-columns:52% 48%;border:1px solid var(--tr-border);border-radius:9px;overflow:hidden;background:rgba(255,253,248,.52)}.tr-v18-feature-story__image{min-height:345px;background:center/cover no-repeat;position:relative}.tr-v18-feature-story__image>span{position:absolute;top:18px;left:18px;background:var(--tr-coral);color:white;padding:8px 12px;border-radius:4px;font-size:10px;text-transform:uppercase;font-weight:700}.tr-v18-feature-story__copy{padding:42px 48px;display:flex;flex-direction:column;justify-content:center}.tr-v18-feature-story__copy>small,.tr-v18-story-card small{color:var(--tr-coral);font-size:10px;text-transform:uppercase;font-weight:700}.tr-v18-feature-story h2{font:400 38px var(--tr-serif);margin:8px 0 16px}.tr-v18-feature-story__copy>a{color:var(--tr-coral);text-transform:uppercase;font-size:10px;font-weight:700;margin-top:18px}.tr-v18-story-meta{display:flex;gap:18px;font-size:10px;text-transform:uppercase;margin-top:10px}.tr-v18-all-stories{padding:15px 0 65px}.tr-v18-story-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.tr-v18-story-list-head h2{font-size:18px;text-transform:uppercase;margin:0}.tr-v18-story-list-head select{background:transparent;border:1px solid var(--tr-border);padding:10px 36px 10px 12px}.tr-v18-story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tr-v18-story-card{background:rgba(255,253,248,.46);border:1px solid var(--tr-border);border-radius:6px;overflow:hidden}.tr-v18-story-card__image{display:block;aspect-ratio:1/1.05;background:center/cover no-repeat}.tr-v18-story-card>div{padding:14px}.tr-v18-story-card h3{font:400 21px var(--tr-serif);margin:5px 0 8px}.tr-v18-story-card p{font-size:13px;line-height:1.5;min-height:78px}.tr-v18-story-card span{font-size:9px;text-transform:uppercase}.tr-v18-story-cta{padding:0 0 35px}.tr-v18-story-cta>.tr-container{display:grid;grid-template-columns:50% 50%;align-items:center;border:1px solid var(--tr-border);border-radius:8px;background:rgba(255,253,248,.46);padding:25px 45px}.tr-v18-story-polaroids{position:relative;min-height:210px}.tr-v18-story-polaroids figure{position:absolute;width:48%;background:#fff;padding:8px;box-shadow:0 8px 18px rgba(59,58,54,.13);margin:0}.tr-v18-story-polaroids figure:first-child{left:5%;top:8px;transform:rotate(-6deg)}.tr-v18-story-polaroids figure:last-child{left:39%;top:35px;transform:rotate(5deg)}.tr-v18-story-polaroids img{height:160px;width:100%;object-fit:cover}.tr-v18-story-cta h2{font:400 35px/1.08 var(--tr-serif);margin:6px 0 12px}

/* Single Story */
.tr-v18-single-story-hero{padding:24px 0 18px;overflow:hidden}.tr-v18-single-story-hero__grid{display:grid;grid-template-columns:40% 60%;align-items:center;min-height:480px}.tr-v18-single-story-hero__grid>div:first-child{padding:30px 45px}.tr-v18-single-story-hero h1{font:400 clamp(49px,5.3vw,74px)/.96 var(--tr-serif);margin:12px 0}.tr-v18-single-story-hero .tr-hand{font-size:21px;color:var(--tr-coral);line-height:1.45}.tr-v18-single-story-hero__photo{height:455px;background-image:var(--tr-photo);background:center/cover no-repeat;position:relative;-webkit-mask:url('../images/route-hero-brush-mask-v15.png') center/100% 100% no-repeat;mask:url('../images/route-hero-brush-mask-v15.png') center/100% 100% no-repeat}.tr-v18-story-stamp{position:absolute!important;left:28%;bottom:0;z-index:5;color:var(--tr-coral);width:95px;height:95px}.tr-v18-story-body{padding:30px 0 70px}.tr-v18-story-body__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:70px;align-items:start}.tr-v18-prose{font-size:16px;line-height:1.9;padding-left:25px}.tr-v18-prose p{margin:0 0 1.45em}.tr-v18-prose p:first-child{font-weight:600}.tr-v18-prose img{width:100%;height:auto;margin:32px 0;background:white;padding:10px;box-shadow:0 8px 25px rgba(59,58,54,.1)}.tr-v18-prose blockquote{font-family:var(--tr-hand);font-size:21px;color:var(--tr-charcoal);border-left:3px solid var(--tr-coral);padding-left:20px;margin:32px 0}.tr-v18-story-sidebar{position:sticky;top:110px;background:rgba(255,253,248,.48);border:1px solid var(--tr-border);padding:28px}.tr-v18-story-sidebar h2{font:400 32px var(--tr-serif);margin:5px 0}.tr-v18-story-sidebar>p:not(.tr-eyebrow){font-size:13px}.tr-v18-mini-itinerary{margin:25px 0;border-left:1px dashed rgba(59,58,54,.35)}.tr-v18-mini-itinerary>div{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:0 0 18px 12px}.tr-v18-mini-itinerary span{width:28px;height:28px;border-radius:50%;background:var(--tr-coral);color:#fff;display:grid;place-items:center;font-size:10px}.tr-v18-mini-itinerary strong{display:block;font-size:12px;text-transform:uppercase}.tr-v18-mini-itinerary small{font-size:10px;color:var(--tr-muted)}.tr-v18-sidebar-route-link,.tr-v18-sidebar-stories a{color:var(--tr-coral);text-transform:uppercase;font-size:10px;font-weight:700}.tr-v18-sidebar-stories{border-top:1px solid var(--tr-border);padding-top:20px;margin-top:20px}.tr-v18-sidebar-stories img{width:100%;height:120px;object-fit:cover;margin-bottom:10px}.tr-v18-sidebar-stories strong{display:block;font:400 18px var(--tr-serif)}.tr-v18-story-sidebar blockquote{border-top:1px solid var(--tr-border);padding-top:22px;margin:24px 0 0;font:400 20px/1.45 var(--tr-serif)}.tr-v18-story-sidebar blockquote em{font-family:var(--tr-hand);color:var(--tr-coral)}.tr-v18-story-route-banner{padding:0 0 45px}.tr-v18-story-route-banner>.tr-container{display:flex;justify-content:space-between;align-items:center;background:rgba(255,253,248,.5);border:1px solid var(--tr-border);border-radius:8px;padding:28px 42px}.tr-v18-story-route-banner h2{font:400 30px var(--tr-serif);margin:4px 0}

/* Travel Info */
.tr-v18-info{padding:35px 0 50px}.tr-v18-info-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:50px}.tr-v18-info-nav{position:sticky;top:110px;align-self:start;border-right:1px solid var(--tr-border);padding:28px 24px 45px 0}.tr-v18-info-nav>a{display:flex;gap:12px;padding:13px 0;font-size:12px;font-weight:700}.tr-v18-info-nav>a:first-of-type{color:var(--tr-coral)}.tr-v18-info-stamp{margin-top:65px;border:1px solid rgba(217,122,91,.42);color:rgba(217,122,91,.55);width:125px;height:125px;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:9px;letter-spacing:.1em;transform:rotate(-8deg)}.tr-v18-info-content>section{padding:35px 0 58px;border-bottom:1px solid rgba(59,58,54,.08)}.tr-v18-info-content>section:last-child{border-bottom:0}.tr-v18-info-how__top{display:grid;grid-template-columns:55% 45%;align-items:center}.tr-v18-info-how__top h1,.tr-v18-info-content h2{font:400 clamp(38px,4.4vw,57px)/1 var(--tr-serif);margin:6px 0 14px}.tr-v18-info-how__top .tr-hand{font-size:20px;color:rgba(59,58,54,.65)}.tr-v18-step{color:var(--tr-coral);font-weight:700;font-size:17px}.tr-v18-info-polaroid{background:white;padding:10px;box-shadow:0 8px 20px rgba(59,58,54,.12);transform:rotate(-5deg);position:relative;margin:0 20px}.tr-v18-info-polaroid img{height:220px;width:100%;object-fit:cover}.tr-v18-how-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:42px}.tr-v18-how-cards article{position:relative;border:1px solid var(--tr-border);padding:28px;background:rgba(255,253,248,.4)}.tr-v18-how-cards article>span{position:absolute;top:15px;left:15px;width:28px;height:28px;border-radius:50%;background:var(--tr-coral);color:#fff;display:grid;place-items:center;font-size:11px}.tr-v18-how-icon{text-align:center;font-size:42px;margin:16px 0 20px}.tr-v18-how-cards h2{font-size:22px}.tr-v18-info-before{display:grid;grid-template-columns:42% 58%;gap:50px;align-items:center}.tr-v18-info-before__image{height:430px;background:center/cover no-repeat;position:relative;-webkit-mask:url('../images/route-hero-brush-mask-v15.png') center/100% 100% no-repeat;mask:url('../images/route-hero-brush-mask-v15.png') center/100% 100% no-repeat}.tr-v18-info-before__image span{position:absolute;left:8%;bottom:12%;background:rgba(59,58,54,.74);color:white;padding:15px 20px;font-family:var(--tr-serif);font-size:22px;line-height:1.35}.tr-v18-info-accordion{display:grid;gap:8px;margin-top:25px}.tr-v18-info-accordion details,.tr-v18-faq-grid details{border:1px solid var(--tr-border);background:rgba(255,253,248,.4);border-radius:5px;padding:0 16px}.tr-v18-info-accordion summary,.tr-v18-faq-grid summary{display:flex;justify-content:space-between;gap:20px;padding:13px 0;font-size:12px;font-weight:700;cursor:pointer}.tr-v18-info-accordion details>div,.tr-v18-faq-grid details>div{padding:0 0 15px;font-size:13px;color:var(--tr-muted)}.tr-v18-info-faq{display:grid;grid-template-columns:30% 70%;gap:55px}.tr-v18-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tr-v18-info-contact{display:grid!important;grid-template-columns:25% 60% 15%;gap:30px;align-items:start}.tr-v18-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tr-v18-contact-form input,.tr-v18-contact-form textarea{width:100%;background:rgba(255,253,248,.5);border:1px solid var(--tr-border);padding:12px}.tr-v18-contact-form .span-2{grid-column:1/-1}.tr-v18-contact-form button{justify-self:start}.tr-v18-contact-note{font-size:18px;color:var(--tr-charcoal);transform:rotate(-5deg);padding-top:35px}

/* Past route ending on single-trip override */
.dt-past-stories-wrap{padding:15px 0 55px}.dt-past-stories{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:rgba(255,253,248,.48);border:1px solid var(--tr-border);border-radius:8px;padding:34px 42px}.dt-past-stories h2{font:400 34px var(--tr-serif);margin:5px 0}.dt-past-story-links{display:grid;align-content:center;gap:8px}.dt-past-story-links a{color:var(--tr-coral);font-weight:700;font-size:12px}.tr-dynamic-trip .tr-approved-hero__stamp{z-index:12!important}.tr-dynamic-trip .tr-approved-note{z-index:13!important}

@media(max-width:1000px){
 .tr-v18-about-hero__grid,.tr-v18-stories-hero__grid,.tr-v18-single-story-hero__grid,.tr-v18-feature-route__grid{grid-template-columns:1fr}.tr-v18-brush-photo,.tr-v18-story-hero-photo,.tr-v18-single-story-hero__photo{height:410px}.tr-v18-about-hero__copy,.tr-v18-stories-hero__grid>div:first-child,.tr-v18-single-story-hero__grid>div:first-child{padding-left:0;padding-right:0}.tr-v18-belief-grid{grid-template-columns:1fr 1fr}.tr-v18-belief-grid article:nth-child(2){border-right:0}.tr-v18-about-story__grid{grid-template-columns:1fr;gap:35px}.tr-v18-host-card{grid-template-columns:1fr 1fr}.tr-v18-host-card blockquote{grid-column:1/-1}.tr-v18-route-grid,.tr-v18-past-grid{grid-template-columns:1fr 1fr}.tr-v18-story-grid{grid-template-columns:1fr 1fr}.tr-v18-info-layout{grid-template-columns:1fr}.tr-v18-info-nav{position:relative;top:auto;border-right:0;border-bottom:1px solid var(--tr-border);display:flex;gap:20px;flex-wrap:wrap}.tr-v18-info-stamp{display:none}.tr-v18-info-how__top,.tr-v18-info-before,.tr-v18-info-faq,.tr-v18-info-contact{grid-template-columns:1fr}.tr-v18-story-body__grid{grid-template-columns:1fr}.tr-v18-story-sidebar{position:relative;top:auto}.tr-v18-info-contact{display:grid!important}.tr-v18-contact-note{padding-top:0}
}
@media(max-width:680px){
 .tr-v18-belief-grid,.tr-v18-route-grid,.tr-v18-past-grid,.tr-v18-story-grid,.tr-v18-how-cards,.tr-v18-faq-grid{grid-template-columns:1fr}.tr-v18-feature-story,.tr-v18-story-cta>.tr-container{grid-template-columns:1fr}.tr-v18-feature-story__copy{padding:28px}.tr-v18-story-polaroids{min-height:190px}.tr-v18-host-card{grid-template-columns:1fr}.tr-v18-journey-cta .tr-container,.tr-v18-story-route-banner>.tr-container{flex-direction:column;align-items:flex-start;padding:25px}.tr-v18-info-nav{display:grid;grid-template-columns:1fr 1fr}.tr-v18-contact-form{grid-template-columns:1fr}.tr-v18-contact-form .span-2{grid-column:auto}.dt-past-stories{grid-template-columns:1fr;padding:25px}.tr-v18-feature-route__bottom{align-items:flex-start;flex-direction:column}
}


/* ==========================================================================
   v0.19 — reliable artwork + editable site content
   ========================================================================== */

.tr-route-stamp{position:relative;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:var(--tr-coral)!important}
.tr-route-stamp__svg{display:block;width:100%;height:100%;overflow:visible}
.tr-route-stamp__outer,.tr-route-stamp__inner{fill:none;stroke:currentColor}
.tr-route-stamp__outer{stroke-width:1.15}
.tr-route-stamp__inner{stroke-width:.65;stroke-dasharray:2 2}
.tr-route-stamp__ring-text{fill:currentColor;font-family:Arial,sans-serif;font-size:5px;font-weight:700;letter-spacing:1px}
.tr-route-stamp__dot,.tr-route-stamp__core,.tr-route-stamp__route-mark rect{fill:currentColor}
.tr-route-stamp__core{opacity:.13}
.tr-custom-stamp{display:block;position:relative}
.tr-custom-stamp img{display:block;width:100%;height:100%;object-fit:contain}

.tr-v19-brushed-art{position:relative;min-height:430px;display:grid;align-items:center}
.tr-v19-brushed-art>img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}
.tr-v19-about .tr-v18-about-hero__grid{align-items:center}
.tr-v19-about .tr-v18-about-story__grid img,.tr-v19-about .tr-v18-host-card>img{display:block;width:100%;height:100%;object-fit:cover}

.tr-route-card{position:relative;overflow:hidden;text-decoration:none}
.tr-route-card__image{position:absolute;inset:0;background:center/cover no-repeat}
.tr-route-card__image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(34,31,28,.72),rgba(34,31,28,.03) 72%)}
.tr-past-strip article>a{display:block;position:relative;height:100%;color:#fff;text-decoration:none}
.tr-past-strip .tr-route-card__image{position:absolute;inset:0}
.tr-v19-compact-empty{border:1px dashed var(--tr-border);padding:24px;color:var(--tr-muted);text-align:center}

.tr-v19-archive-hero{min-height:clamp(500px,56vw,675px)}
.tr-v19-archive-hero .tr-hero__copy{max-width:590px}
.tr-v19-archive-hand{font-size:clamp(20px,2.1vw,28px);color:var(--tr-coral);line-height:1.35}

.tr-v19-past-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tr-v19-past-card{background:rgba(255,253,248,.48);border:1px solid var(--tr-border);border-radius:8px;overflow:hidden}
.tr-v19-past-card__image{display:block;aspect-ratio:16/10;background:center/cover no-repeat;position:relative;filter:saturate(.86)}
.tr-v19-past-card__image>span{position:absolute;right:14px;bottom:14px;border:1px solid rgba(255,255,255,.75);color:#fff;background:rgba(59,58,54,.52);padding:7px 10px;border-radius:999px;font-size:10px;text-transform:uppercase}
.tr-v19-past-card__copy{padding:22px}
.tr-v19-past-card__copy>small{color:var(--tr-coral);text-transform:uppercase;font-size:10px}
.tr-v19-past-card h2{font:400 31px var(--tr-serif);margin:4px 0 10px}
.tr-v19-past-card__meta{display:flex;gap:16px;padding-top:12px;border-top:1px solid var(--tr-border);font-size:10px;text-transform:uppercase}
.tr-v19-past-story-list{margin-top:18px;background:rgba(217,122,91,.07);padding:13px 15px}
.tr-v19-past-story-list small{display:block;color:var(--tr-coral);text-transform:uppercase;font-size:9px;font-weight:700}
.tr-v19-past-story-list a{display:block;font-size:12px;margin-top:4px;color:var(--tr-charcoal)}

.tr-v19-stories-hero-art{min-height:380px}
.tr-v19-stories .tr-v18-all-stories{padding-top:38px}

.tr-v19-single-story-hero{padding:24px 0 12px;overflow:hidden}
.tr-v19-single-story-hero__grid{display:grid;grid-template-columns:40% 60%;align-items:center;min-height:480px}
.tr-v19-single-story-hero__grid>div:first-child{padding:30px 45px}
.tr-v19-single-story-hero h1{font:400 clamp(49px,5.3vw,74px)/.96 var(--tr-serif);margin:12px 0}
.tr-v19-single-story-hero .tr-hand{font-size:21px;color:var(--tr-coral);line-height:1.45}
.tr-v19-single-story-art{position:relative;min-height:455px;display:grid;align-items:center}
.tr-v19-single-story-art>img{display:block;width:100%;height:auto;max-height:455px;object-fit:contain}
.tr-v19-story-stamp{position:absolute!important;left:25%;bottom:3%;z-index:8;width:98px;height:98px;color:var(--tr-coral)}
.tr-v19-story-stamp.tr-custom-stamp{width:110px;height:110px}

.tr-v19-info{padding:35px 0 50px}
.tr-v19-info-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:50px}
.tr-v19-info-nav{position:sticky;top:110px;align-self:start;border-right:1px solid var(--tr-border);padding:28px 24px 45px 0}
.tr-v19-info-nav>a{display:flex;gap:12px;padding:13px 0;font-size:12px;font-weight:700;color:var(--tr-charcoal);transition:color .2s ease}
.tr-v19-info-nav>a.is-active{color:var(--tr-coral);border-left:2px solid var(--tr-coral);padding-left:10px;margin-left:-12px}
.tr-v19-info-before{display:grid;grid-template-columns:42% 58%;gap:50px;align-items:center}
.tr-v19-info-before__art{position:relative;min-height:430px;display:grid;align-items:center}
.tr-v19-info-before__art>img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain}
.tr-v19-sign-stack{position:absolute;left:8%;bottom:10%;display:grid;gap:4px;transform:rotate(-2deg)}
.tr-v19-sign-stack span{display:block;background:rgba(59,58,54,.84);color:#fff;padding:7px 15px;font:700 14px/1.1 var(--tr-sans);letter-spacing:.04em;box-shadow:0 2px 5px rgba(0,0,0,.12);width:max-content}

.tr-approved-trip .tr-approved-hero__media{isolation:isolate}
.tr-approved-trip .dt-hero-photo{z-index:1!important}
.tr-approved-trip .tr-approved-hero__stamp{z-index:12!important;position:absolute!important}
.tr-approved-trip .tr-approved-note{z-index:13!important}
.tr-approved-trip .tr-approved-hero__stamp.tr-custom-stamp{width:110px;height:110px}

@media(max-width:980px){
	.tr-v19-single-story-hero__grid{grid-template-columns:1fr}
	.tr-v19-single-story-hero__grid>div:first-child{padding-left:0;padding-right:0}
	.tr-v19-info-layout{grid-template-columns:1fr}
	.tr-v19-info-nav{position:relative;top:auto;border-right:0;border-bottom:1px solid var(--tr-border);display:flex;gap:18px;flex-wrap:wrap}
	.tr-v19-info-nav>a.is-active{border-left:0;border-bottom:2px solid var(--tr-coral);padding-left:0;margin-left:0}
	.tr-v19-info-before{grid-template-columns:1fr}
	.tr-v19-past-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
	.tr-v19-past-grid{grid-template-columns:1fr}
	.tr-v19-info-nav{display:grid;grid-template-columns:1fr 1fr}
}


/* ==========================================================================
   v0.19.1 — Homepage Past Routes strip
   The v0.19 markup wraps each card in an anchor, while an older selector still
   targeted direct article children. Keep the approved five-card journal strip,
   but correctly layer the image, overlay and route copy.
   ========================================================================== */

.tr-past-strip{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	min-height:155px;
	overflow:hidden;
	border-radius:7px;
	background:rgba(59,58,54,.06);
}

.tr-past-strip article{
	position:relative;
	min-width:0;
	min-height:155px;
	overflow:hidden;
}

.tr-past-strip article>a{
	position:relative;
	display:block;
	width:100%;
	height:100%;
	min-height:155px;
	overflow:hidden;
	color:#fff;
	text-decoration:none;
}

.tr-past-strip article>a>.tr-route-card__image{
	position:absolute;
	inset:0;
	background-position:center;
	background-size:cover;
	transform:scale(1.01);
	transition:transform .35s ease;
}

.tr-past-strip article>a>.tr-route-card__image::after{
	content:"";
	position:absolute;
	inset:0;
	background:
		linear-gradient(180deg,rgba(34,31,28,.04) 18%,rgba(34,31,28,.70) 100%),
		rgba(30,30,27,.13);
}

.tr-past-strip article>a>div:last-child{
	position:absolute;
	z-index:3;
	left:14px;
	right:12px;
	bottom:13px;
	display:grid;
	gap:2px;
	color:#fff;
}

.tr-past-strip article>a>div:last-child h3{
	margin:0;
	color:#fff;
	font-size:13px;
	line-height:1.1;
	text-transform:uppercase;
	letter-spacing:.015em;
}

.tr-past-strip article>a>div:last-child small{
	color:rgba(255,255,255,.84);
	font-size:9px;
	line-height:1.2;
	text-transform:uppercase;
}

.tr-past-strip article>a>div:last-child span{
	color:#fff;
	font-size:10px;
	line-height:1.2;
}

.tr-past-strip article+article{
	border-left:1px solid rgba(255,255,255,.16);
}

.tr-past-strip article>a:hover .tr-route-card__image{
	transform:scale(1.045);
}

@media(max-width:900px){
	.tr-past-strip{
		grid-template-columns:repeat(5,minmax(190px,1fr));
		overflow-x:auto;
		scroll-snap-type:x proximity;
	}
	.tr-past-strip article{
		scroll-snap-align:start;
	}
}


/* ==========================================================================
   v0.19.2 — account access + responsive burger behavior
   ========================================================================== */

.tr-header__account{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color:var(--tr-charcoal);
	font-size:11px;
	font-weight:700;
	text-decoration:none;
	white-space:nowrap;
	padding:8px 4px;
	border-bottom:1px solid transparent;
	transition:color .2s ease,border-color .2s ease;
}

.tr-header__account:hover,
.tr-header__account:focus-visible{
	color:var(--tr-coral);
	border-bottom-color:var(--tr-coral);
}

/* Desktop: the full navigation is already visible, so the burger is unnecessary. */
[data-tr-menu-toggle]{
	display:none!important;
}

.tr-mobile-menu__account{
	display:block;
	margin-top:8px;
	padding-top:14px;
	border-top:1px solid var(--tr-border);
	color:var(--tr-coral)!important;
	font-weight:700!important;
}

@media(max-width:900px){
	/* Mobile/tablet: show the burger and hide the separate desktop account link.
	   Account access is available inside the expanded mobile menu. */
	[data-tr-menu-toggle]{
		display:inline-flex!important;
	}
	.tr-header__account{
		display:none!important;
	}
}


/* ==========================================================================
   v0.20 — The Route commerce experience
   WooCommerce keeps the engine; the theme owns the presentation.
   ========================================================================== */

.tr-header__cart{
	display:inline-flex;
	align-items:center;
	gap:5px;
	color:var(--tr-charcoal);
	font-size:11px;
	font-weight:700;
	text-decoration:none;
	white-space:nowrap;
	padding:8px 3px;
}
.tr-header__cart:hover{color:var(--tr-coral)}
.tr-header__cart-icon{font-size:17px;transform:rotate(180deg)}
.tr-header__cart-count{
	display:inline-grid;
	place-items:center;
	min-width:19px;
	height:19px;
	padding:0 5px;
	border-radius:999px;
	background:var(--tr-coral);
	color:#fff;
	font-size:9px;
	line-height:1;
}
.tr-mobile-menu__cart{color:var(--tr-coral)!important}

/* Shared commerce page shell. */
.tr-commerce-page{
	background:
		radial-gradient(circle at 13% 13%,rgba(217,122,91,.055),transparent 25%),
		var(--tr-cream);
	min-height:70vh;
}
.tr-commerce-hero{
	position:relative;
	overflow:hidden;
	border-bottom:1px solid var(--tr-border);
	padding:clamp(55px,7vw,95px) 0 clamp(45px,6vw,78px);
}
.tr-commerce-hero::after{
	content:"";
	position:absolute;
	right:-90px;
	top:-80px;
	width:330px;
	height:330px;
	border:1px solid rgba(217,122,91,.14);
	border-radius:50%;
	box-shadow:0 0 0 28px rgba(217,122,91,.025),0 0 0 56px rgba(217,122,91,.018);
	pointer-events:none;
}
.tr-commerce-hero__grid{
	display:grid;
	grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);
	gap:70px;
	align-items:center;
}
.tr-commerce-hero h1{
	margin:8px 0 18px;
	font:400 clamp(52px,6vw,82px)/.94 var(--tr-serif);
	letter-spacing:-.035em;
}
.tr-commerce-hero h1 span{color:var(--tr-coral)}
.tr-commerce-hero .tr-hand{
	max-width:600px;
	color:var(--tr-coral);
	font-size:clamp(18px,2vw,25px);
	line-height:1.35;
}
.tr-commerce-body{padding:55px 0 95px}
.tr-commerce-shell{max-width:1180px}
.tr-commerce-shell>.woocommerce,
.tr-commerce-shell>.wp-block-woocommerce-cart,
.tr-commerce-shell>.wp-block-woocommerce-checkout{
	width:100%;
}

/* Journey progress card on Cart. */
.tr-commerce-journey-card{
	justify-self:end;
	display:grid;
	grid-template-columns:34px 1fr;
	align-items:center;
	gap:7px 13px;
	min-width:270px;
	padding:24px 26px;
	border:1px solid var(--tr-border);
	background:rgba(255,253,248,.54);
	transform:rotate(1.2deg);
	box-shadow:0 12px 35px rgba(59,58,54,.055);
}
.tr-commerce-journey-card span,
.tr-commerce-note__number{
	display:grid;
	place-items:center;
	width:30px;
	height:30px;
	border-radius:50%;
	background:var(--tr-coral);
	color:#fff;
	font-size:10px;
	font-weight:700;
}
.tr-commerce-journey-card strong{
	font:600 11px/1.2 var(--tr-sans);
	text-transform:uppercase;
	letter-spacing:.04em;
}
.tr-commerce-journey-card i{
	grid-column:1;
	justify-self:center;
	width:1px;
	height:16px;
	background:var(--tr-border);
}
.tr-commerce-note{
	justify-self:end;
	max-width:350px;
	border:1px solid var(--tr-border);
	background:rgba(255,253,248,.62);
	padding:24px;
	transform:rotate(-1deg);
}
.tr-commerce-note p{font:400 20px/1.4 var(--tr-serif);margin:13px 0}
.tr-commerce-note small{color:var(--tr-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}

/* --------------------------------------------------------------------------
   Cart — classic WooCommerce.
   -------------------------------------------------------------------------- */
.woocommerce-cart .woocommerce,
.tr-commerce-cart .woocommerce{font-family:var(--tr-sans)}
.woocommerce-cart table.shop_table,
.tr-commerce-cart table.shop_table{
	border:1px solid var(--tr-border);
	border-radius:8px;
	background:rgba(255,253,248,.62);
	overflow:hidden;
	border-collapse:separate;
}
.woocommerce-cart table.shop_table th,
.tr-commerce-cart table.shop_table th{
	padding:14px 16px;
	border-bottom:1px solid var(--tr-border);
	color:var(--tr-muted);
	font-size:10px;
	text-transform:uppercase;
	letter-spacing:.05em;
}
.woocommerce-cart table.shop_table td,
.tr-commerce-cart table.shop_table td{
	padding:18px 16px;
	border-top:0;
	border-bottom:1px solid var(--tr-border);
}
.woocommerce-cart td.product-thumbnail img,
.tr-commerce-cart td.product-thumbnail img{
	width:105px;
	height:78px;
	object-fit:cover;
	border-radius:3px;
}
.woocommerce-cart td.product-name a,
.tr-commerce-cart td.product-name a{
	font:400 23px/1.15 var(--tr-serif);
	color:var(--tr-charcoal);
}
.woocommerce-cart td.product-remove a,
.tr-commerce-cart td.product-remove a{
	color:var(--tr-coral)!important;
	background:transparent!important;
	font-size:22px;
}
.woocommerce-cart .quantity .qty,
.tr-commerce-cart .quantity .qty{
	width:72px;
	min-height:42px;
	border:1px solid var(--tr-border);
	background:#fffdf8;
	border-radius:4px;
}
.woocommerce-cart .coupon,
.tr-commerce-cart .coupon{display:flex;gap:8px}
.woocommerce-cart .coupon input.input-text,
.tr-commerce-cart .coupon input.input-text{
	min-width:190px;
	min-height:46px;
	border:1px solid var(--tr-border);
	border-radius:4px;
	background:#fffdf8;
	padding:0 12px;
}
.woocommerce-cart .cart-collaterals,
.tr-commerce-cart .cart-collaterals{margin-top:34px}
.woocommerce-cart .cart_totals,
.tr-commerce-cart .cart_totals{
	float:none;
	width:min(100%,470px);
	margin-left:auto;
	padding:26px;
	border:1px solid var(--tr-border);
	border-radius:8px;
	background:rgba(255,253,248,.72);
}
.woocommerce-cart .cart_totals h2,
.tr-commerce-cart .cart_totals h2{
	font:400 34px var(--tr-serif);
	margin:0 0 18px;
}
.woocommerce-cart .cart_totals table,
.tr-commerce-cart .cart_totals table{border:0}
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td,
.tr-commerce-cart .cart_totals th,
.tr-commerce-cart .cart_totals td{
	padding:12px 0;
	border-bottom:1px solid var(--tr-border);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.tr-commerce-cart .wc-proceed-to-checkout a.checkout-button{
	width:100%;
	margin:14px 0 0;
	font-size:12px;
}

/* Empty cart. */
.woocommerce-cart .cart-empty,
.tr-commerce-cart .cart-empty{
	border:1px solid var(--tr-border);
	background:rgba(255,253,248,.66);
	padding:28px;
	text-align:center;
}
.woocommerce-cart .return-to-shop,
.tr-commerce-cart .return-to-shop{text-align:center}

/* --------------------------------------------------------------------------
   Cart — WooCommerce Blocks.
   -------------------------------------------------------------------------- */
.tr-commerce-cart .wc-block-cart,
.tr-commerce-cart .wp-block-woocommerce-cart{
	font-family:var(--tr-sans);
}
.tr-commerce-cart .wc-block-cart-items,
.tr-commerce-cart .wc-block-cart__totals-title,
.tr-commerce-cart .wc-block-components-sidebar{
	border-color:var(--tr-border)!important;
}
.tr-commerce-cart .wc-block-cart-items{
	background:rgba(255,253,248,.52);
	border:1px solid var(--tr-border)!important;
	border-radius:8px;
	overflow:hidden;
}
.tr-commerce-cart .wc-block-cart-item__image img{
	border-radius:3px;
	aspect-ratio:4/3;
	object-fit:cover;
}
.tr-commerce-cart .wc-block-components-product-name{
	font:400 22px/1.15 var(--tr-serif)!important;
	color:var(--tr-charcoal)!important;
	text-decoration:none!important;
}
.tr-commerce-cart .wc-block-cart__sidebar{
	background:rgba(255,253,248,.62);
	padding:22px;
	border:1px solid var(--tr-border);
	border-radius:8px;
}
.tr-commerce-cart .wc-block-components-button{
	border-radius:5px!important;
	background:var(--tr-coral)!important;
	color:#fff!important;
	text-transform:uppercase;
	font-size:11px!important;
	font-weight:700!important;
}

/* --------------------------------------------------------------------------
   Checkout — classic WooCommerce.
   -------------------------------------------------------------------------- */
.tr-commerce-checkout .woocommerce-form-coupon-toggle,
.tr-commerce-checkout .woocommerce-form-login-toggle{margin-bottom:18px}
.tr-commerce-checkout .woocommerce-info{
	background:rgba(255,253,248,.7);
	border:1px solid var(--tr-border);
	border-top:2px solid var(--tr-coral);
}
.tr-commerce-checkout form.checkout{
	display:grid;
	grid-template-columns:minmax(0,1.15fr) minmax(360px,.75fr);
	gap:38px 46px;
	align-items:start;
}
.tr-commerce-checkout #customer_details{grid-column:1}
.tr-commerce-checkout #order_review_heading{
	grid-column:2;
	grid-row:1;
	margin:0;
	padding:24px 26px 0;
	background:rgba(255,253,248,.72);
	border:1px solid var(--tr-border);
	border-bottom:0;
	border-radius:8px 8px 0 0;
	font:400 30px var(--tr-serif);
}
.tr-commerce-checkout #order_review{
	grid-column:2;
	grid-row:1;
	margin-top:65px;
	position:sticky;
	top:110px;
	padding:0 26px 26px;
	background:rgba(255,253,248,.72);
	border:1px solid var(--tr-border);
	border-top:0;
	border-radius:0 0 8px 8px;
}
.tr-commerce-checkout .col2-set{
	display:grid;
	grid-template-columns:1fr;
	gap:22px;
	width:100%;
}
.tr-commerce-checkout .col2-set .col-1,
.tr-commerce-checkout .col2-set .col-2{
	float:none;
	width:100%;
	padding:28px;
	border:1px solid var(--tr-border);
	border-radius:8px;
	background:rgba(255,253,248,.55);
}
.tr-commerce-checkout h3{
	font:400 30px var(--tr-serif);
	margin-top:0;
}
.tr-commerce-checkout .form-row label{
	margin-bottom:6px;
	color:var(--tr-muted);
	font-size:10px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.tr-commerce-checkout input.input-text,
.tr-commerce-checkout textarea,
.tr-commerce-checkout select,
.tr-commerce-checkout .select2-selection{
	min-height:47px;
	border:1px solid var(--tr-border)!important;
	border-radius:4px!important;
	background:#fffdf8!important;
	box-shadow:none!important;
	padding:10px 12px;
}
.tr-commerce-checkout textarea{min-height:120px}
.tr-commerce-checkout table.shop_table{
	border:0;
	border-collapse:collapse;
}
.tr-commerce-checkout table.shop_table th,
.tr-commerce-checkout table.shop_table td{
	padding:12px 0;
	border-bottom:1px solid var(--tr-border);
}
.tr-commerce-checkout #payment{
	background:transparent;
	border-radius:0;
}
.tr-commerce-checkout #payment ul.payment_methods{
	padding:15px 0;
	border-bottom:1px solid var(--tr-border);
}
.tr-commerce-checkout #payment div.payment_box{
	background:rgba(217,122,91,.07);
	color:var(--tr-charcoal);
}
.tr-commerce-checkout #payment div.payment_box::before{
	border-bottom-color:rgba(217,122,91,.07);
}
.tr-commerce-checkout #place_order{
	width:100%;
	margin-top:12px;
}

/* --------------------------------------------------------------------------
   Checkout — WooCommerce Blocks.
   -------------------------------------------------------------------------- */
.tr-commerce-checkout .wc-block-checkout,
.tr-commerce-checkout .wp-block-woocommerce-checkout{
	font-family:var(--tr-sans);
}
.tr-commerce-checkout .wc-block-checkout__main{
	padding-right:34px!important;
}
.tr-commerce-checkout .wc-block-checkout__sidebar{
	border:1px solid var(--tr-border);
	border-radius:8px;
	background:rgba(255,253,248,.68);
	padding:24px!important;
}
.tr-commerce-checkout .wc-block-components-title{
	font-family:var(--tr-serif)!important;
	font-weight:400!important;
}
.tr-commerce-checkout .wc-block-components-text-input input,
.tr-commerce-checkout .wc-block-components-combobox .components-combobox-control__input{
	border-color:var(--tr-border)!important;
	background:#fffdf8!important;
}
.tr-commerce-checkout .wc-block-components-checkout-place-order-button{
	background:var(--tr-coral)!important;
	color:#fff!important;
	border-radius:5px!important;
	text-transform:uppercase;
	font-size:11px!important;
	font-weight:700!important;
}

/* --------------------------------------------------------------------------
   My Account.
   -------------------------------------------------------------------------- */
.tr-account-passport{
	justify-self:end;
	width:285px;
	min-height:190px;
	padding:24px 28px;
	border:1px solid rgba(217,122,91,.5);
	border-radius:10px;
	background:
		linear-gradient(145deg,rgba(217,122,91,.08),rgba(255,253,248,.75));
	box-shadow:0 16px 38px rgba(59,58,54,.06);
	transform:rotate(1deg);
	display:grid;
	align-content:center;
	gap:6px;
}
.tr-account-passport__mark{margin-bottom:8px;color:var(--tr-coral)}
.tr-account-passport__mark .theroute-brand{transform:none}
.tr-account-passport small{
	color:var(--tr-muted);
	font-size:9px;
	font-weight:700;
	letter-spacing:.16em;
}
.tr-account-passport strong{
	font:400 30px var(--tr-serif);
	color:var(--tr-charcoal);
}
.tr-account-passport>span{
	color:var(--tr-coral);
	font-size:8px;
	font-weight:700;
	letter-spacing:.1em;
}

.tr-account-shell .woocommerce{
	display:grid;
	grid-template-columns:240px minmax(0,1fr);
	gap:34px;
	align-items:start;
}
.tr-account-shell .woocommerce::before,
.tr-account-shell .woocommerce::after{display:none!important}
.tr-account-shell .woocommerce-MyAccount-navigation{
	float:none;
	width:100%;
	position:sticky;
	top:105px;
	padding:12px;
	border:1px solid var(--tr-border);
	border-radius:8px;
	background:rgba(255,253,248,.62);
}
.tr-account-shell .woocommerce-MyAccount-navigation ul{
	list-style:none;
	padding:0;
	margin:0;
}
.tr-account-shell .woocommerce-MyAccount-navigation li{margin:0}
.tr-account-shell .woocommerce-MyAccount-navigation a{
	display:block;
	padding:12px 13px;
	border-radius:5px;
	color:var(--tr-charcoal);
	font-size:11px;
	font-weight:700;
	text-decoration:none;
}
.tr-account-shell .woocommerce-MyAccount-navigation li.is-active a{
	background:var(--tr-coral);
	color:#fff;
}
.tr-account-shell .woocommerce-MyAccount-navigation a:hover{
	color:var(--tr-coral);
	background:rgba(217,122,91,.07);
}
.tr-account-shell .woocommerce-MyAccount-navigation li.is-active a:hover{color:#fff}
.tr-account-shell .woocommerce-MyAccount-content{
	float:none;
	width:100%;
	min-width:0;
	padding:30px;
	border:1px solid var(--tr-border);
	border-radius:8px;
	background:rgba(255,253,248,.58);
}
.tr-account-shell .woocommerce-MyAccount-content>p:first-child{
	font:400 23px/1.5 var(--tr-serif);
}
.tr-account-shell .woocommerce-MyAccount-content a{color:var(--tr-coral)}
.tr-account-shell .woocommerce-MyAccount-content table{
	border-color:var(--tr-border);
	border-radius:6px;
}
.tr-account-shell .woocommerce-MyAccount-content table th,
.tr-account-shell .woocommerce-MyAccount-content table td{
	padding:13px;
	border-color:var(--tr-border);
}
.tr-account-shell .woocommerce-Address{
	border:1px solid var(--tr-border);
	padding:20px;
	border-radius:6px;
	background:#fffdf8;
}
.tr-account-shell .woocommerce-Address-title h2{
	font:400 25px var(--tr-serif);
}
.tr-account-shell fieldset{
	border:1px solid var(--tr-border);
	border-radius:6px;
	padding:20px;
}
.tr-account-shell legend{
	padding:0 8px;
	font:400 22px var(--tr-serif);
}
.tr-account-shell .form-row label{
	font-size:10px;
	font-weight:700;
	color:var(--tr-muted);
	text-transform:uppercase;
}
.tr-account-shell input.input-text,
.tr-account-shell input[type=password],
.tr-account-shell input[type=email]{
	min-height:46px;
	border:1px solid var(--tr-border);
	border-radius:4px;
	background:#fffdf8;
	padding:10px 12px;
}

/* Logged-out My Account login/register. */
.tr-account-shell .woocommerce:not(:has(.woocommerce-MyAccount-navigation)){
	display:block;
}
.tr-account-shell #customer_login{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:28px;
}
.tr-account-shell #customer_login>.u-column1,
.tr-account-shell #customer_login>.u-column2{
	float:none;
	width:100%;
	padding:28px;
	border:1px solid var(--tr-border);
	border-radius:8px;
	background:rgba(255,253,248,.62);
}
.tr-account-shell #customer_login h2{
	font:400 34px var(--tr-serif);
	margin-top:0;
}
.tr-account-shell .woocommerce-form-login,
.tr-account-shell .woocommerce-form-register{
	border:0!important;
	padding:0!important;
	margin:0!important;
}
.tr-account-shell .woocommerce-LostPassword{font-size:11px}

/* Woo notices everywhere. */
.tr-commerce-page .woocommerce-message,
.tr-commerce-page .woocommerce-info,
.tr-commerce-page .woocommerce-error{
	border:1px solid var(--tr-border);
	border-top:2px solid var(--tr-coral);
	background:rgba(255,253,248,.8);
	color:var(--tr-charcoal);
}
.tr-commerce-page .woocommerce-error::before,
.tr-commerce-page .woocommerce-info::before,
.tr-commerce-page .woocommerce-message::before{color:var(--tr-coral)}

/* Responsive commerce. */
@media(max-width:1080px){
	.tr-commerce-checkout form.checkout{
		grid-template-columns:1fr;
	}
	.tr-commerce-checkout #customer_details,
	.tr-commerce-checkout #order_review_heading,
	.tr-commerce-checkout #order_review{
		grid-column:1;
		grid-row:auto;
	}
	.tr-commerce-checkout #order_review_heading{
		margin-top:8px;
	}
	.tr-commerce-checkout #order_review{
		margin-top:0;
		position:relative;
		top:auto;
	}
	.tr-account-shell .woocommerce{
		grid-template-columns:210px minmax(0,1fr);
	}
}

@media(max-width:900px){
	.tr-header__cart-label{display:none}
	.tr-commerce-hero__grid{
		grid-template-columns:1fr;
		gap:28px;
	}
	.tr-commerce-journey-card,
	.tr-commerce-note,
	.tr-account-passport{
		justify-self:start;
	}
	.tr-account-shell .woocommerce{
		grid-template-columns:1fr;
	}
	.tr-account-shell .woocommerce-MyAccount-navigation{
		position:relative;
		top:auto;
	}
	.tr-account-shell .woocommerce-MyAccount-navigation ul{
		display:flex;
		gap:5px;
		overflow-x:auto;
		padding-bottom:4px;
	}
	.tr-account-shell .woocommerce-MyAccount-navigation li{
		flex:0 0 auto;
	}
	.tr-account-shell #customer_login{
		grid-template-columns:1fr;
	}
	.tr-commerce-checkout .wc-block-checkout__main{
		padding-right:0!important;
	}
}

@media(max-width:640px){
	.tr-commerce-body{padding-top:32px}
	.tr-commerce-hero{padding:42px 0 38px}
	.tr-commerce-journey-card,
	.tr-commerce-note,
	.tr-account-passport{width:100%;min-width:0}
	.tr-account-shell .woocommerce-MyAccount-content{padding:20px 16px}
	.woocommerce-cart table.shop_table td,
	.tr-commerce-cart table.shop_table td{padding:12px 9px}
}


/* ==========================================================================
   v0.20.1 — Cart empty state + account dashboard polish
   ========================================================================== */

/* Header cart is intentionally quiet beside My Account. */
.tr-header__cart{
	display:inline-flex;
	align-items:center;
	gap:6px;
	color:var(--tr-charcoal);
	font-size:11px;
	font-weight:700;
	text-decoration:none;
	white-space:nowrap;
}
.tr-header__cart:hover{color:var(--tr-coral)}
.tr-header__cart-count{
	display:inline-grid;
	place-items:center;
	min-width:18px;
	height:18px;
	padding:0 5px;
	border-radius:999px;
	background:var(--tr-coral);
	color:#fff;
	font-size:9px;
	line-height:1;
}

/* The journey slip now has explicit rows, so Woo-sized viewports cannot
   scramble the numbered steps into different grid columns. */
.tr-commerce-journey-card{
	display:grid;
	grid-template-columns:1fr;
	gap:0;
	min-width:300px;
	padding:21px 24px;
}
.tr-commerce-journey-step{
	display:grid;
	grid-template-columns:32px 1fr;
	gap:12px;
	align-items:center;
	min-height:35px;
}
.tr-commerce-journey-step span{
	display:grid;
	place-items:center;
	width:28px;
	height:28px;
	border-radius:50%;
	border:1px solid rgba(217,122,91,.52);
	background:transparent;
	color:var(--tr-coral);
	font-size:9px;
	font-weight:700;
}
.tr-commerce-journey-step.is-current span{
	background:var(--tr-coral);
	color:#fff;
}
.tr-commerce-journey-step strong{
	font:700 11px/1.2 var(--tr-sans);
	text-transform:uppercase;
	letter-spacing:.05em;
	white-space:nowrap;
}
.tr-commerce-journey-card>i{
	width:1px;
	height:13px;
	margin:2px 0 2px 14px;
	background:var(--tr-border);
}

/* Replace WooCommerce Blocks' sad-face / New in store empty state entirely. */
.tr-empty-route{
	max-width:620px;
	margin:0 auto;
	padding:70px 35px 85px;
	text-align:center;
}
.tr-empty-route__seal{
	position:relative;
	width:78px;
	height:78px;
	margin:0 auto 24px;
	border:1px solid rgba(217,122,91,.52);
	border-radius:50%;
	transform:rotate(-7deg);
}
.tr-empty-route__seal::before,
.tr-empty-route__seal::after{
	content:"";
	position:absolute;
	inset:7px;
	border:1px dashed rgba(217,122,91,.34);
	border-radius:50%;
}
.tr-empty-route__seal::after{
	inset:17px;
	border-style:solid;
	opacity:.42;
}
.tr-empty-route__seal span{
	position:absolute;
	z-index:2;
	left:27px;
	width:24px;
	height:5px;
	border-radius:999px;
	background:var(--tr-coral);
	transform:rotate(-32deg);
}
.tr-empty-route__seal span:nth-child(1){top:25px}
.tr-empty-route__seal span:nth-child(2){top:35px}
.tr-empty-route__seal span:nth-child(3){top:45px}
.tr-empty-route h2{
	margin:6px 0 10px;
	font:400 clamp(34px,4vw,48px)/1.05 var(--tr-serif);
}
.tr-empty-route>p:not(.tr-eyebrow){
	max-width:440px;
	margin:0 auto 24px;
	color:var(--tr-muted);
	line-height:1.7;
}

/* Account dashboard gets useful Route-specific choices instead of Woo's stock
   "Hello X (not X?)" paragraph. */
.tr-account-overview__intro h2{
	margin:5px 0 12px;
	font:400 36px/1.08 var(--tr-serif);
}
.tr-account-overview__intro>p:last-child{
	max-width:760px;
	color:var(--tr-muted);
	line-height:1.7;
}
.tr-account-overview__cards{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:14px;
	margin-top:28px;
}
.tr-account-overview__cards>a{
	position:relative;
	min-height:165px;
	padding:20px;
	border:1px solid var(--tr-border);
	border-radius:6px;
	background:#fffdf8;
	color:var(--tr-charcoal)!important;
	text-decoration:none!important;
	transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.tr-account-overview__cards>a:hover{
	transform:translateY(-2px);
	border-color:rgba(217,122,91,.48);
	box-shadow:0 10px 28px rgba(59,58,54,.055);
}
.tr-account-overview__cards span{
	display:grid;
	place-items:center;
	width:26px;
	height:26px;
	border-radius:50%;
	background:rgba(217,122,91,.12);
	color:var(--tr-coral);
	font-size:9px;
	font-weight:700;
}
.tr-account-overview__cards strong{
	display:block;
	margin:16px 0 7px;
	font:400 21px/1.15 var(--tr-serif);
}
.tr-account-overview__cards small{
	display:block;
	padding-right:18px;
	color:var(--tr-muted);
	font-size:11px;
	line-height:1.5;
}
.tr-account-overview__cards b{
	position:absolute;
	right:16px;
	bottom:14px;
	color:var(--tr-coral);
	font-size:16px;
	font-weight:400;
}
.tr-account-overview__future{
	margin:22px 0 0!important;
	padding:13px 15px;
	border-left:2px solid var(--tr-coral);
	background:rgba(217,122,91,.055);
	color:var(--tr-muted);
	font-size:10px!important;
	line-height:1.5!important;
}

/* Hide any legacy Woo empty-block recommendations if a cache briefly serves
   block markup before the PHP empty-state branch is visible. */
.tr-commerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading,
.tr-commerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new,
.tr-commerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid{
	display:none!important;
}

@media(max-width:900px){
	.tr-header__cart{display:none}
	.tr-account-overview__cards{grid-template-columns:1fr}
	.tr-commerce-journey-card{min-width:0;width:min(100%,350px)}
}


/* ==========================================================================
   v0.20.3 — Homepage route cards + corrected mobile menu + transparent home header
   - Upcoming routes remain date-sorted; the earliest route is the featured focus.
   - Past Routes are true responsive cards on small screens (no horizontal strip).
   - Mobile navigation is a fixed opaque panel below the sticky header, preventing
     page content from peeking through while the menu is open.
   ========================================================================== */

body.tr-menu-open{overflow:hidden}

@media(max-width:900px){
    .tr-mobile-menu{
        position:fixed;
        top:72px;
        left:0;
        right:0;
        bottom:0;
        z-index:999;
        overflow-y:auto;
        overscroll-behavior:contain;
        background:var(--tr-cream);
        border-top:1px solid var(--tr-border);
        box-shadow:none;
    }
    body.admin-bar .tr-mobile-menu{top:118px}
    .tr-mobile-menu:not([hidden]){display:block}
    .tr-mobile-menu .tr-container{
        width:min(calc(100% - 32px),var(--tr-container));
        padding-block:14px 34px;
    }

    /* The nearest upcoming trip is the visual focus on mobile: a complete card,
       with the hero media first and the key booking information grouped below. */
    .tr-next-section{padding-top:34px;padding-bottom:34px}
    .tr-featured-route{
        display:grid;
        grid-template-columns:1fr;
        gap:0;
        overflow:hidden;
        border:1px solid var(--tr-border);
        border-radius:10px;
        background:rgba(255,255,255,.28);
        box-shadow:0 12px 30px rgba(59,58,54,.06);
    }
    .tr-featured-route__media{
        order:1;
        min-height:310px;
        border-radius:0;
        background-position:center;
        background-size:cover;
    }
    .tr-featured-route__copy{
        order:2;
        padding:24px 22px 26px;
    }
    .tr-featured-route h2{font-size:clamp(42px,10vw,58px)}

    /* Past routes stop behaving like a sideways strip. */
    .tr-past-strip{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:12px;
        min-height:0;
        overflow:visible;
        border-radius:0;
        background:transparent;
    }
    .tr-past-strip article,
    .tr-past-strip article>a{
        min-height:190px;
        border-radius:8px;
        overflow:hidden;
    }
    .tr-past-strip article+article{border-left:0}
}

@media(max-width:640px){
    body.admin-bar .tr-header{top:0}
    .tr-mobile-menu,
    body.admin-bar .tr-mobile-menu{top:70px}

    .tr-featured-route__media{min-height:245px}
    .tr-featured-route__copy{padding:22px 18px 24px}
    .tr-featured-route .tr-meta-row{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}

    .tr-card-grid--3{grid-template-columns:1fr}
    .tr-route-card{min-height:280px;border-radius:9px}

    .tr-past-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .tr-past-strip article,
    .tr-past-strip article>a{min-height:170px}
    .tr-past-strip article>a>div:last-child{left:11px;right:9px;bottom:11px}
    .tr-past-strip article>a>div:last-child h3{font-size:12px}
}

@media(max-width:380px){
    .tr-past-strip{grid-template-columns:1fr}
    .tr-past-strip article,
    .tr-past-strip article>a{min-height:210px}
}


/* v0.20.3 — Home header + mobile navigation correction */
@media(min-width:901px){
    body.home .tr-header,
    body.front-page .tr-header{
        position:absolute;
        top:0;
        left:0;
        right:0;
        width:100%;
        background:transparent;
        border-bottom:0;
        box-shadow:none;
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
    }
    body.admin-bar.home .tr-header,
    body.admin-bar.front-page .tr-header{top:32px}
}

@media(max-width:900px){
    body.tr-menu-open .tr-header{z-index:1000}
    body.tr-menu-open .tr-mobile-menu{z-index:999}
}

/* ========================================================================== 
   v0.20.4 — Tablet menu coverage + desktop Past Route cards
   - On tablet widths, the open menu now paints from the very top of the
     viewport so no page imagery/text can show in the area above the panel.
   - Desktop Past Routes are individual journal cards rather than one joined box.
   ========================================================================== */

/* Past Routes: individual cards at desktop sizes too. */
@media(min-width:901px){
    .tr-past-strip{
        grid-template-columns:repeat(5,minmax(0,1fr));
        gap:14px;
        min-height:0;
        overflow:visible;
        border-radius:0;
        background:transparent;
    }
    .tr-past-strip article,
    .tr-past-strip article>a{
        min-height:170px;
        border-radius:9px;
        overflow:hidden;
    }
    .tr-past-strip article+article{border-left:0}
    .tr-past-strip article{
        box-shadow:0 8px 22px rgba(59,58,54,.06);
    }
}

/* iPad / tablet menu: opaque panel covers the entire viewport behind header. */
@media(min-width:641px) and (max-width:900px){
    .tr-mobile-menu,
    body.admin-bar .tr-mobile-menu{
        top:0;
        min-height:100dvh;
        background:var(--tr-cream);
    }
    .tr-mobile-menu .tr-container{
        padding-top:94px;
    }
    body.admin-bar .tr-mobile-menu .tr-container{
        padding-top:140px;
    }
    body.tr-menu-open .tr-header{
        z-index:1001;
        background:var(--tr-cream);
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
    }
    body.tr-menu-open .tr-mobile-menu{z-index:1000}
}


/* v0.20.5 — Route artwork + pricing corrections */
.tr-featured-route__media{
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
	min-height:420px;
	border-radius:10px;
	overflow:hidden;
	background-color:#e8e1d5;
}
.tr-route-card__image,
.tr-v19-past-card__image{
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
	background-color:#ded8cc;
}
.tr-route-card__price{
	display:block;
	margin:8px 0 7px;
	font-size:15px;
	line-height:1;
	font-weight:800;
	color:#fff;
	text-shadow:0 1px 5px rgba(0,0,0,.3);
}
.tr-approved-hero__pricing{
	display:flex;
	flex-wrap:wrap;
	gap:12px 26px;
	margin:18px 0 8px;
	padding-top:16px;
	border-top:1px solid var(--tr-border);
}
.tr-approved-hero__pricing span{
	display:grid;
	gap:2px;
}
.tr-approved-hero__pricing small{
	color:var(--tr-muted);
	font-size:9px;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.tr-approved-hero__pricing strong{
	font-family:var(--tr-serif);
	font-size:23px;
	line-height:1.05;
	color:var(--tr-charcoal);
}

/* Keep Routes / Past Routes archive hero photography inside a deliberate
   editorial frame. This prevents ultra-wide artwork from feeling stretched
   to the browser edge while retaining object-fit:cover. */
.tr-v19-archive-hero .tr-hero__media{
	right:clamp(22px,4vw,72px);
	top:18px;
	bottom:18px;
	border-radius:0 10px 10px 0;
	overflow:hidden;
}
.tr-v19-archive-hero .tr-hero__image{
	object-fit:cover;
	object-position:center;
}

@media(max-width:900px){
	.tr-v19-archive-hero .tr-hero__media{
		right:16px;
		top:12px;
		bottom:12px;
	}
	.tr-featured-route__media{min-height:320px}
}

@media(max-width:640px){
	.tr-v19-archive-hero .tr-hero__media{
		right:10px;
		top:8px;
		bottom:8px;
	}
	.tr-featured-route__media{min-height:245px}
	.tr-approved-hero__pricing strong{font-size:20px}
}


/* ==========================================================================
   v0.20.6 — ultra-wide route media correction
   ========================================================================== */

/* Next Route on Home + /routes:
   use a normal image element so artwork cannot silently disappear as a
   background-image and so object-fit is consistent on every display size. */
.tr-featured-route__media{
	position:relative;
	width:100%;
	aspect-ratio:16/10;
	min-height:0!important;
	max-height:520px;
	overflow:hidden;
	border-radius:10px;
	background:#e7dfd2;
}
.tr-featured-route__image{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}

/* Keep the overall featured block at a comfortable editorial width even on
   32–40 inch displays rather than letting the visual half feel endless. */
@media(min-width:1200px){
	.tr-next-section .tr-container.tr-featured-route{
		width:min(calc(100% - 64px),1180px);
		grid-template-columns:minmax(320px,390px) minmax(0,690px);
		gap:56px;
	}
}

/* Routes / Past Routes landing hero:
   cap the photograph to the site canvas. It still occupies the right side,
   but no longer stretches from the left viewport edge to the far-right edge. */
@media(min-width:981px){
	.tr-v19-archive-hero{
		min-height:560px;
	}
	.tr-v19-archive-hero .tr-hero__media{
		left:calc(50% - 70px);
		right:max(32px,calc((100vw - 1180px)/2));
		top:28px;
		bottom:28px;
		border-radius:10px;
		overflow:hidden;
	}
	.tr-v19-archive-hero .tr-hero__image{
		width:100%;
		height:100%;
		object-fit:cover;
		object-position:center;
	}
}

/* Single Route:
   the old negative margin intentionally bled the brush image to the viewport.
   On a 37" display that becomes absurdly wide. Keep the approved two-column
   look, but constrain the media to the same site canvas as the itinerary. */
@media(min-width:981px){
	.tr-approved-trip--v08 .tr-approved-hero{
		overflow:hidden;
	}
	.tr-approved-trip--v08 .tr-approved-hero__grid{
		grid-template-columns:minmax(330px,410px) minmax(0,730px);
		gap:40px;
		max-width:1180px;
		margin-inline:auto;
	}
	.tr-approved-trip--v08 .tr-approved-hero__media{
		width:100%;
		height:480px;
		margin-right:24px!important;
		overflow:hidden;
	}
	.tr-approved-trip--v08 .tr-approved-hero__media > .tr-nz-photo{
		inset:0!important;
		background-size:cover!important;
		background-position:center!important;
	}
	.tr-approved-trip--v08 .tr-approved-hero__stamp{
		right:7%;
	}
	.tr-approved-trip--v08 .tr-approved-note{
		right:8%;
	}
}

@media(max-width:980px){
	.tr-featured-route__media{
		aspect-ratio:16/10;
		max-height:none;
	}
}


/* ==========================================================================
   v0.20.7 — consistent rounded route photography
   ========================================================================== */

/* Main featured Route artwork on Home + /routes. */
.tr-featured-route__media,
.tr-featured-route__image{
	border-radius:12px;
}

/* Routes + Past Routes archive hero artwork. */
.tr-v19-archive-hero .tr-hero__media,
.tr-v19-archive-hero .tr-hero__image{
	border-radius:12px;
}

/* Single Route brushed hero: round the visible hero canvas while retaining
   the brush artwork inside the frame. */
.tr-approved-trip--v08 .tr-approved-hero__media,
.tr-approved-trip--v08 .tr-approved-hero__media > .tr-nz-photo{
	border-radius:12px;
}

/* Itinerary photographs already use framed/card treatment; keep the same
   restrained radius anywhere a route/day image is rendered. */
.tr-approved-trip--v08 .tr-approved-day__photo,
.tr-approved-trip--v08 .tr-approved-day__photo img{
	border-radius:12px;
}


/* v0.20.8 — itinerary download visibility */
.tr-featured-route__actions{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
	margin-top:18px;
}
.tr-featured-route__actions .tr-button--outline{
	background:transparent;
	color:var(--tr-coral);
	border:1px solid var(--tr-coral);
}
.dt-route-pdf-link{
	white-space:nowrap;
}
.tr-route-card-pdf,
.tr-past-route-pdf{
	display:inline-flex;
	align-items:center;
	margin-top:8px;
	color:var(--tr-coral);
	font-size:10px;
	font-weight:800;
	letter-spacing:.04em;
	text-transform:uppercase;
	text-decoration:none;
}
.tr-route-card-pdf:hover,
.tr-past-route-pdf:hover{
	text-decoration:underline;
}
@media(max-width:640px){
	.tr-featured-route__actions{
		align-items:stretch;
		flex-direction:column;
	}
	.tr-featured-route__actions .tr-button{
		justify-content:center;
		width:100%;
	}
}


/* ==========================================================================
   v0.20.9 — route media framing + ultra-wide composition
   ========================================================================== */

/* Homepage + /routes featured route image:
   visible rounded frame, no edge bleed, and a fixed editorial proportion. */
.tr-featured-route__media{
	position:relative;
	overflow:hidden!important;
	border-radius:14px!important;
	aspect-ratio:16/10!important;
	min-height:0!important;
	max-height:500px!important;
	background:#e7dfd2;
	box-shadow:0 10px 28px rgba(59,58,54,.08);
}
.tr-featured-route__image{
	display:block!important;
	width:100%!important;
	height:100%!important;
	border-radius:14px!important;
	object-fit:cover!important;
	object-position:center!important;
}

/* Give the featured block a firm maximum canvas on wide monitors.
   This preserves the beautiful split-screen proportion instead of allowing
   the media column to grow with the browser width. */
@media(min-width:1180px){
	.tr-next-section .tr-container.tr-featured-route,
	.tr-section .tr-container.tr-featured-route{
		width:min(calc(100% - 72px),1120px)!important;
		max-width:1120px!important;
		grid-template-columns:360px 680px!important;
		gap:52px!important;
		margin-left:auto!important;
		margin-right:auto!important;
	}
	.tr-featured-route__media{
		width:680px!important;
		height:425px!important;
		max-width:680px!important;
		max-height:425px!important;
	}
}

/* Routes + Past Routes landing hero:
   keep the large photo within an editorial right-hand frame instead of
   spanning toward the far edge of a 32–40" display. */
@media(min-width:1180px){
	.tr-v19-archive-hero{
		min-height:520px!important;
	}
	.tr-v19-archive-hero .tr-hero__inner{
		max-width:1120px!important;
		margin-inline:auto!important;
	}
	.tr-v19-archive-hero .tr-hero__media{
		left:calc(50% + 20px)!important;
		right:calc((100vw - 1120px)/2)!important;
		top:28px!important;
		bottom:28px!important;
		border-radius:14px!important;
		overflow:hidden!important;
	}
	.tr-v19-archive-hero .tr-hero__image{
		width:100%!important;
		height:100%!important;
		border-radius:14px!important;
		object-fit:cover!important;
		object-position:center!important;
	}
}

/* Single Route hero:
   reproduce the side-by-side-window composition even when the browser is
   maximized. The brushed image remains large, but is capped rather than
   stretching with the viewport. */
@media(min-width:1180px){
	.tr-approved-trip--v08 .tr-approved-hero{
		overflow:hidden!important;
		padding-left:32px!important;
		padding-right:32px!important;
	}
	.tr-approved-trip--v08 .tr-approved-hero__grid{
		width:1120px!important;
		max-width:1120px!important;
		grid-template-columns:360px 720px!important;
		gap:40px!important;
		margin-left:auto!important;
		margin-right:auto!important;
	}
	.tr-approved-trip--v08 .tr-approved-hero__copy{
		min-width:0!important;
	}
	.tr-approved-trip--v08 .tr-approved-hero__media{
		position:relative!important;
		width:720px!important;
		height:430px!important;
		max-width:720px!important;
		max-height:430px!important;
		margin:0!important;
		overflow:hidden!important;
		border-radius:14px!important;
	}
	.tr-approved-trip--v08 .tr-approved-hero__media > .tr-nz-photo{
		position:absolute!important;
		inset:0!important;
		width:100%!important;
		height:100%!important;
		border-radius:14px!important;
		background-size:cover!important;
		background-position:center!important;
		background-repeat:no-repeat!important;
		transform:none!important;
	}
	.tr-approved-trip--v08 .tr-approved-hero__stamp{
		right:18px!important;
		bottom:18px!important;
	}
	.tr-approved-trip--v08 .tr-approved-note{
		right:18px!important;
		bottom:8px!important;
	}
}

/* Keep the same rounded visual language on medium desktop/tablet. */
@media(min-width:641px) and (max-width:1179px){
	.tr-featured-route__media,
	.tr-featured-route__image,
	.tr-v19-archive-hero .tr-hero__media,
	.tr-v19-archive-hero .tr-hero__image,
	.tr-approved-trip--v08 .tr-approved-hero__media,
	.tr-approved-trip--v08 .tr-approved-hero__media > .tr-nz-photo{
		border-radius:14px!important;
	}
}

/* Mobile gets a slightly tighter radius. */
@media(max-width:640px){
	.tr-featured-route__media,
	.tr-featured-route__image,
	.tr-v19-archive-hero .tr-hero__media,
	.tr-v19-archive-hero .tr-hero__image,
	.tr-approved-trip--v08 .tr-approved-hero__media,
	.tr-approved-trip--v08 .tr-approved-hero__media > .tr-nz-photo{
		border-radius:10px!important;
	}
}


/* ==========================================================================
   v0.21.0 — restore full-height Routes / Past Routes hero composition
   ========================================================================== */

/* The archive hero is intentionally a split editorial hero:
   copy on the left, image filling the entire right side of the section.
   v0.20.9 over-constrained it into a floating card; restore the approved
   full-height treatment while keeping the image cropped cleanly. */
@media(min-width:981px){
	.tr-v19-archive-hero{
		position:relative!important;
		min-height:520px!important;
		overflow:hidden!important;
	}

	.tr-v19-archive-hero .tr-hero__inner{
		position:relative!important;
		z-index:2!important;
		max-width:1180px!important;
		margin-inline:auto!important;
	}

	.tr-v19-archive-hero .tr-hero__media{
		position:absolute!important;
		left:42%!important;
		right:0!important;
		top:0!important;
		bottom:0!important;
		width:auto!important;
		height:auto!important;
		max-width:none!important;
		max-height:none!important;
		margin:0!important;
		border-radius:0 0 0 14px!important;
		overflow:hidden!important;
	}

	.tr-v19-archive-hero .tr-hero__image{
		display:block!important;
		width:100%!important;
		height:100%!important;
		object-fit:cover!important;
		object-position:center!important;
		border-radius:0 0 0 14px!important;
	}

	/* Preserve the soft paper fade where copy meets photography. */
	.tr-v19-archive-hero .tr-hero__media::before{
		content:"";
		position:absolute;
		z-index:2;
		inset:0 auto 0 0;
		width:24%;
		pointer-events:none;
		background:linear-gradient(90deg,var(--tr-cream) 0%,rgba(243,238,223,.82) 25%,rgba(243,238,223,0) 100%);
	}
}

/* Tablet keeps the same composition but gives the text a little more room. */
@media(min-width:641px) and (max-width:980px){
	.tr-v19-archive-hero{
		position:relative!important;
		overflow:hidden!important;
	}
	.tr-v19-archive-hero .tr-hero__media{
		position:absolute!important;
		left:46%!important;
		right:0!important;
		top:0!important;
		bottom:0!important;
		border-radius:0 0 0 12px!important;
		overflow:hidden!important;
	}
	.tr-v19-archive-hero .tr-hero__image{
		width:100%!important;
		height:100%!important;
		object-fit:cover!important;
		border-radius:0 0 0 12px!important;
	}
}

/* Mobile returns to a normal stacked image card. */
@media(max-width:640px){
	.tr-v19-archive-hero .tr-hero__media{
		position:relative!important;
		left:auto!important;
		right:auto!important;
		top:auto!important;
		bottom:auto!important;
		width:calc(100% - 20px)!important;
		height:250px!important;
		margin:10px auto 0!important;
		border-radius:10px!important;
	}
	.tr-v19-archive-hero .tr-hero__image{
		border-radius:10px!important;
	}
	.tr-v19-archive-hero .tr-hero__media::before{
		display:none!important;
	}
}


/* ==========================================================================
   v0.21.1 — keep rounded/card framing ONLY where it belongs
   ========================================================================== */

/*
 * The homepage featured Route image is the one place where the rounded,
 * contained editorial card treatment is intentional.
 *
 * Inner-page hero artwork (/routes, /past-routes and single Route) should
 * return to the approved "image fills the right side of the section" look.
 */

/* Homepage featured Route stays as the rounded card. */
.home .tr-featured-route__media,
.home .tr-featured-route__image{
	border-radius:14px!important;
	overflow:hidden!important;
}

/* /routes + /past-routes: full-height, full-right-side hero again. */
@media(min-width:981px){
	.tr-v19-archive-hero{
		position:relative!important;
		overflow:hidden!important;
		min-height:560px!important;
	}

	.tr-v19-archive-hero .tr-hero__inner{
		position:relative!important;
		max-width:1180px!important;
		margin-inline:auto!important;
		min-height:560px!important;
	}

	.tr-v19-archive-hero .tr-hero__media{
		position:absolute!important;
		left:44%!important;
		right:calc(50% - 50vw)!important;
		top:0!important;
		bottom:0!important;
		width:auto!important;
		height:auto!important;
		max-width:none!important;
		max-height:none!important;
		margin:0!important;
		border-radius:0!important;
		overflow:hidden!important;
		box-shadow:none!important;
	}

	.tr-v19-archive-hero .tr-hero__image{
		display:block!important;
		width:100%!important;
		height:100%!important;
		max-width:none!important;
		max-height:none!important;
		object-fit:cover!important;
		object-position:center!important;
		border-radius:0!important;
	}

	.tr-v19-archive-hero .tr-hero__media::before{
		content:""!important;
		position:absolute!important;
		z-index:2!important;
		inset:0 auto 0 0!important;
		width:28%!important;
		background:linear-gradient(
			90deg,
			var(--tr-cream) 0%,
			rgba(243,238,223,.88) 28%,
			rgba(243,238,223,0) 100%
		)!important;
		pointer-events:none!important;
	}
}

/* Single Route: restore the brushed hero as a section-filling right panel.
   Do not make it a small rounded card on large screens. */
@media(min-width:981px){
	.tr-approved-trip--v08 .tr-approved-hero{
		position:relative!important;
		overflow:hidden!important;
	}

	.tr-approved-trip--v08 .tr-approved-hero__grid{
		position:relative!important;
		max-width:1180px!important;
		width:min(calc(100% - 64px),1180px)!important;
		grid-template-columns:360px minmax(0,1fr)!important;
		gap:40px!important;
		margin-inline:auto!important;
	}

	.tr-approved-trip--v08 .tr-approved-hero__media{
		position:absolute!important;
		left:44%!important;
		right:calc(50% - 50vw)!important;
		top:0!important;
		bottom:0!important;
		width:auto!important;
		height:auto!important;
		max-width:none!important;
		max-height:none!important;
		margin:0!important;
		border-radius:0!important;
		overflow:hidden!important;
		box-shadow:none!important;
	}

	.tr-approved-trip--v08 .tr-approved-hero__media > .tr-nz-photo{
		position:absolute!important;
		inset:0!important;
		width:100%!important;
		height:100%!important;
		border-radius:0!important;
		background-size:cover!important;
		background-position:center!important;
		background-repeat:no-repeat!important;
		transform:none!important;
	}
}

/* Tablet/mobile keep a contained stacked image for usability. */
@media(max-width:980px){
	.tr-v19-archive-hero .tr-hero__media,
	.tr-approved-trip--v08 .tr-approved-hero__media{
		border-radius:12px!important;
		overflow:hidden!important;
	}
	.tr-v19-archive-hero .tr-hero__image,
	.tr-approved-trip--v08 .tr-approved-hero__media > .tr-nz-photo{
		border-radius:12px!important;
	}
}


/* ==========================================================================
   v0.21.2 — official horizontal The Route logo
   ========================================================================== */
.tr-header__brand,
.theroute-brand--image{
	display:inline-flex;
	align-items:center;
	line-height:0;
}
.tr-site-logo-img{
	display:block;
	width:auto;
	height:38px;
	max-width:190px;
	object-fit:contain;
	background:transparent;
}
.tr-header .tr-site-logo-img{
	height:36px;
	max-width:180px;
}
.tr-footer .tr-site-logo-img{
	height:40px;
	max-width:200px;
}
@media(max-width:640px){
	.tr-header .tr-site-logo-img{
		height:31px;
		max-width:150px;
	}
	.tr-footer .tr-site-logo-img{
		height:34px;
		max-width:170px;
	}
}

/* ==========================================================================
   v0.21.4 — compact logo + shared archive hero correction
   ========================================================================== */

/* Header logo: match the scale of the original The Route header branding. */
.tr-header__brand{
	display:inline-flex!important;
	align-items:center!important;
	width:auto!important;
	max-width:132px!important;
	flex:0 0 auto!important;
}
.tr-header__brand .tr-site-logo-img{
	display:block!important;
	width:126px!important;
	max-width:126px!important;
	height:auto!important;
	max-height:42px!important;
	object-fit:contain!important;
}

/* Footer keeps the same compact proportion, with the light-wordmark asset. */
.tr-footer .theroute-brand--image{
	display:inline-flex!important;
	width:auto!important;
	max-width:142px!important;
}
.tr-footer .tr-site-logo-img,
.tr-footer .tr-site-logo-img--footer{
	display:block!important;
	width:136px!important;
	max-width:136px!important;
	height:auto!important;
	max-height:44px!important;
	object-fit:contain!important;
}

/* On small screens keep the header brand genuinely small. */
@media(max-width:640px){
	.tr-header__brand{
		max-width:116px!important;
	}
	.tr-header__brand .tr-site-logo-img{
		width:110px!important;
		max-width:110px!important;
		max-height:36px!important;
	}
	.tr-footer .tr-site-logo-img,
	.tr-footer .tr-site-logo-img--footer{
		width:124px!important;
		max-width:124px!important;
	}
}

/*
 * IMPORTANT:
 * /routes intentionally has NO page-specific archive-hero override anymore.
 * It now follows .tr-v19-archive-hero exactly like /past-routes, so the two
 * pages cannot drift into different image layouts again.
 */


/* ==========================================================================
   v0.21.5.1 — archive hero sits behind header, text lowered slightly
   Surgical patch on top of the stable v0.21.5 branch.
   ========================================================================== */

/* Desktop: make /routes and /past-routes use the same header/hero relationship
   as the homepage — hero begins at the top and the navigation floats above it. */
@media(min-width:901px){
	body.tr-archive-hero-page .tr-header{
		position:absolute!important;
		top:0!important;
		left:0!important;
		right:0!important;
		width:100%!important;
		z-index:50!important;
		background:transparent!important;
		border-bottom:0!important;
		box-shadow:none!important;
		backdrop-filter:none!important;
		-webkit-backdrop-filter:none!important;
	}

	body.admin-bar.tr-archive-hero-page .tr-header{
		top:32px!important;
	}

	/* Do not change the working image geometry from v0.21.5.
	   Just let the archive hero occupy the top of the page behind the header. */
	body.tr-archive-hero-page .tr-v19-archive-hero{
		margin-top:0!important;
	}

	/* Give the title a little more breathing room below the overlaid navigation. */
	body.tr-archive-hero-page .tr-v19-archive-hero .tr-hero__copy{
		transform:translateY(28px);
	}
}

/* Tablet/mobile keep the existing non-overlay menu behavior. */
@media(max-width:900px){
	body.tr-archive-hero-page .tr-v19-archive-hero .tr-hero__copy{
		transform:none;
	}
}


/* ==========================================================================
   v0.21.5.2 — minor page-header polish
   ========================================================================== */

/* Travel Info: lower the opening copy + polaroid together for more breathing
   room beneath the site navigation. Desktop only; existing mobile flow stays. */
@media(min-width:901px){
	body.page-template-page-travel-info main,
	body.page-template-page-info main,
	body.page-id-0 .tr-info-page{
		/* fallback selectors below carry the actual visual adjustment */
	}

	.tr-info-page,
	.tr-travel-info,
	.tr-info-shell{
		padding-top:28px;
	}
}

/* About, Stories, My Account and Cart: remove the visible header strip so the
   navigation visually belongs to the page beneath it. */
body.page-template-page-about .tr-header,
body.page-template-page-stories .tr-header,
body.woocommerce-account .tr-header,
body.woocommerce-cart .tr-header,
body.page-template-page-my-account .tr-header,
body.page-template-page-cart .tr-header{
	background:transparent!important;
	border-bottom-color:transparent!important;
	box-shadow:none!important;
}

/* Standard WP page slugs/classes used by this theme. */
body.page-about .tr-header,
body.page-stories .tr-header,
body.page-my-account .tr-header,
body.page-cart .tr-header{
	background:transparent!important;
	border-bottom-color:transparent!important;
	box-shadow:none!important;
}

@media(min-width:901px){
.tr-info-content,
.tr-info-layout,
.tr-info-nav,
.tr-info-section,
.tr-info-top,
.tr-v18-info-accordion,
.tr-v18-info-contact,
.tr-v18-info-content,
.tr-v18-info-faq,
.tr-v18-info-how,
.tr-v18-info-how__top,
.tr-v18-info-polaroid,
.tr-v18-info-stamp,
.tr-v19-info,
.tr-v19-info-before,
.tr-v19-info-before__art,
.tr-v19-info-layout,
.tr-v19-info-nav{padding-top:28px;}
}


/* ==========================================================================
   v0.21.5.3 — explicit transparent header on About + Stories
   ========================================================================== */

/* These pages now receive explicit body classes from their templates, so the
   transparent treatment no longer depends on WordPress template-class naming. */
body.tr-about-page .tr-header,
body.tr-stories-page .tr-header{
	background:transparent!important;
	border-bottom:0!important;
	border-bottom-color:transparent!important;
	box-shadow:none!important;
	backdrop-filter:none!important;
	-webkit-backdrop-filter:none!important;
}

/* Preserve the existing header spacing/flow; only the bar itself disappears. */
body.tr-about-page .tr-header__inner,
body.tr-stories-page .tr-header__inner{
	background:transparent!important;
}


/* ==========================================================================
   v0.21.5.4 — Stories header finally blends with the hero
   ========================================================================== */

/* Stories needs the same overlay relationship as the homepage/archive hero.
   Making only the background transparent still left the header occupying its
   own strip above the hero. */
@media(min-width:901px){
	body.tr-stories-page .tr-header{
		position:absolute!important;
		top:0!important;
		left:0!important;
		right:0!important;
		width:100%!important;
		z-index:50!important;
		background:transparent!important;
		border-bottom:0!important;
		box-shadow:none!important;
		backdrop-filter:none!important;
		-webkit-backdrop-filter:none!important;
	}

	body.admin-bar.tr-stories-page .tr-header{
		top:32px!important;
	}

	body.tr-stories-page .tr-header__inner{
		background:transparent!important;
	}

	/* Let the Stories hero begin underneath the floating menu while keeping
	   the actual title/image comfortably below the navigation. */
	body.tr-stories-page .tr-split-hero--stories{
		padding-top:122px!important;
	}
}

/* Preserve the current mobile/tablet menu flow. */
@media(max-width:900px){
	body.tr-stories-page .tr-header{
		position:relative!important;
		top:auto!important;
	}
}


/* ==========================================================================
   v0.21.5.5 — fix the ACTUAL live /stories archive header
   ========================================================================== */

@media(min-width:901px){
	body.tr-stories-archive-page .tr-header{
		position:absolute!important;
		top:0!important;
		left:0!important;
		right:0!important;
		width:100%!important;
		z-index:50!important;
		background:transparent!important;
		border-bottom:0!important;
		box-shadow:none!important;
		backdrop-filter:none!important;
		-webkit-backdrop-filter:none!important;
	}

	body.admin-bar.tr-stories-archive-page .tr-header{
		top:32px!important;
	}

	body.tr-stories-archive-page .tr-header__inner{
		background:transparent!important;
	}

	/* The live Dune Travel Stories page uses .tr-v18-stories-hero,
	   not .tr-split-hero--stories. Let it start beneath the floating menu. */
	body.tr-stories-archive-page .tr-v18-stories-hero{
		padding-top:118px!important;
	}
}

/* Preserve current mobile/tablet navigation behavior. */
@media(max-width:900px){
	body.tr-stories-archive-page .tr-header{
		position:relative!important;
		top:auto!important;
	}
}

/* ========================================================================== 
   v0.21.6 — Route-card cleanup, pricing hierarchy + mobile navigation QA
   ========================================================================== */

/* Route names: keep the editorial impact but stop long destination names from
   overpowering the layout on Home, Routes, Past Routes and single Route pages. */
.tr-featured-route h2{
	font-size:clamp(42px,4.65vw,64px);
}
.tr-route-card h3,
.tr-route-card h2{
	font-size:22px;
	line-height:1.02;
}
.tr-v19-past-card h2{
	font-size:26px;
	line-height:1.04;
	margin:5px 0 12px;
}
.tr-approved-trip .tr-approved-hero__copy h1{
	font-size:clamp(46px,5vw,68px);
	line-height:.93;
}

/* A single price is the shared-room entry price, so make the qualifier quiet
   and the actual AED figure the visual focus. */
.tr-price__from{
	display:block;
	margin:0 0 4px;
	color:var(--tr-coral);
	font-size:9px!important;
	font-weight:800;
	line-height:1;
	letter-spacing:.09em;
	text-transform:uppercase;
}
.tr-route-card__from{
	display:block!important;
	margin:8px 0 2px!important;
	color:rgba(255,255,255,.78)!important;
	font-size:8px!important;
	font-weight:800!important;
	line-height:1!important;
	letter-spacing:.1em;
	text-transform:uppercase;
}
.tr-route-card__price{
	margin:0 0 7px!important;
	font-size:15px;
}

/* Past Routes are archive summaries only: hero, completion state, date,
   destination, duration and region. Single-route modules never belong here. */
.tr-v19-past-card__copy{
	padding:18px 20px 20px;
}
.tr-v19-past-card__copy h2 a{
	color:inherit;
	text-decoration:none;
}
.tr-v19-past-card__copy h2 a:hover,
.tr-v19-past-card__copy h2 a:focus-visible{
	color:var(--tr-coral);
}

/* The primary nav collapses at 1080px, so the burger must use that SAME
   breakpoint. This also guarantees Routes remains the first visible menu item. */
@media(max-width:1080px){
	[data-tr-menu-toggle]{
		display:inline-flex!important;
	}
	.tr-header__account{
		display:none!important;
	}
	.tr-mobile-menu .tr-container>a:first-child{
		display:block!important;
		visibility:visible!important;
		opacity:1!important;
	}
}

/* 901–1080px previously hid the desktop nav while also hiding the burger.
   Give that tablet band the same proper fixed menu behaviour as mobile. */
@media(min-width:901px) and (max-width:1080px){
	.tr-mobile-menu,
	body.admin-bar .tr-mobile-menu{
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		z-index:999;
		overflow-y:auto;
		background:var(--tr-cream);
		box-shadow:none;
	}
	.tr-mobile-menu{top:92px;}
	body.admin-bar .tr-mobile-menu{top:124px;}
	.tr-mobile-menu:not([hidden]){display:block;}
	.tr-mobile-menu .tr-container{
		width:min(calc(100% - 48px),var(--tr-container));
		padding-block:18px 34px;
	}
	body.tr-menu-open .tr-header{z-index:1000;}
	body.tr-menu-open .tr-mobile-menu{z-index:999;}
}

@media(max-width:640px){
	.tr-featured-route h2{font-size:clamp(36px,9vw,50px);}
	.tr-route-card h3,.tr-route-card h2{font-size:20px;}
	.tr-v19-past-card h2{font-size:24px;}
	.tr-approved-trip .tr-approved-hero__copy h1{font-size:42px;}
}



/* ==========================================================================
   v0.21.6.1 — mobile Routes link visibility
   The first mobile-menu row was being painted underneath the sticky site
   header on phone widths. Give the Routes row its own safe top clearance.
   ========================================================================== */
@media(max-width:640px){
	.tr-mobile-menu .tr-container > .tr-mobile-menu__routes{
		display:block!important;
		visibility:visible!important;
		opacity:1!important;
		margin-top:18px!important;
	}
}


/* ========================================================================== 
   v0.21.6.2 — mobile Routes item: actual menu anchor + safe clearance
   v0.21.6.1 styled a class that existed only in the desktop fallback nav.
   The real mobile Routes anchor now has the class, and gets explicit clearance.
   ========================================================================== */
@media(max-width:640px){
    .tr-mobile-menu .tr-container > a.tr-mobile-menu__routes{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        position:relative!important;
        z-index:2!important;
        margin-top:18px!important;
    }
}
