/* Homepage sections — complements Phase 4 design tokens */



.tm-home-main {

	overflow-x: hidden;

}



.tm-section {

	padding-block: var(--tm-section-y);

}



.tm-section--lg {

	padding-block: var(--tm-section-y-lg);

}



.tm-section--white {

	background: var(--tm-white);

}



.tm-section--muted {

	background: var(--tm-section);

}



.tm-section-glow {

	position: relative;

	isolation: isolate;

}



.tm-section-glow::before {

	content: "";

	position: absolute;

	inset: 0;

	z-index: -1;

	pointer-events: none;

	opacity: 0.55;

	background:

		radial-gradient(circle at 12% 20%, rgba(238, 86, 11, 0.08), transparent 36%),

		radial-gradient(circle at 88% 70%, rgba(66, 83, 101, 0.08), transparent 40%);

}



.tm-section-head {

	display: flex;

	flex-direction: column;

	align-items: center;

	gap: var(--tm-space-4);

	max-width: 48rem;

	margin: 0 auto var(--tm-space-12);

	text-align: center;

}



.tm-section-head .tm-section-title,

.tm-section-head .tm-section-desc {

	margin: 0;

}



.tm-section-title {

	margin: 0;

	font-family: var(--tm-font-heading);

	font-size: clamp(1.75rem, 3vw, var(--tm-text-section));

	font-weight: 700;

	line-height: var(--tm-leading-heading);

	letter-spacing: -0.01em;

	color: var(--tm-heading);

	background: none;

}



.tm-section-desc {

	margin: 0;

	max-width: 42rem;

	font-family: var(--tm-font-body);

	font-size: var(--tm-text-body);

	font-weight: 400;

	line-height: var(--tm-leading-relaxed);

	color: var(--tm-paragraph);

}



@media (min-width: 768px) {

	.tm-section-desc {

		font-size: var(--tm-text-lg);

	}

}



.tm-eyebrow {

	display: inline-flex;

	align-items: center;

	gap: 0.5rem;

	margin: 0;

	padding: 0.375rem 0.875rem;

	border-radius: 999px;

	border: 0;

	background: color-mix(in srgb, var(--tm-primary) 10%, transparent);

	color: var(--tm-primary);

	font-family: var(--tm-font-body);

	font-size: var(--tm-text-caption);

	font-weight: 600;

	letter-spacing: 0.14em;

	text-transform: uppercase;

}



.tm-eyebrow__icon {

	display: inline-flex;

	width: 0.875rem;

	height: 0.875rem;

}



.tm-eyebrow__icon svg {

	width: 100%;

	height: 100%;

	stroke: currentColor;

	fill: none;

	stroke-width: 2;

	stroke-linecap: round;

	stroke-linejoin: round;

}



.tm-eyebrow--light {

	border-color: rgba(255, 255, 255, 0.15);

	background: rgba(255, 255, 255, 0.1);

	color: var(--tm-primary-soft);

	backdrop-filter: blur(12px);

}



.tm-section-cta {

	margin-top: var(--tm-space-10);

	text-align: center;

}



.tm-fade {

	opacity: 0;

	transform: translateY(20px);

	transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),

		transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);

}



.tm-fade.is-visible {

	opacity: 1;

	transform: none;

}



/* Hero */

.tm-hero {

	position: relative;

	overflow: hidden;

	min-height: 78vh;

	background: #0b1220;

	color: var(--tm-white);

}



@media (min-width: 768px) {

	.tm-hero {

		min-height: 88vh;

	}

}



@media (min-width: 1024px) {

	.tm-hero {

		min-height: 100vh;

	}

}



.tm-hero__base {

	position: absolute;

	inset: 0;

	background: #0b1220;

	z-index: 0;

}



.tm-hero__bg {

	position: absolute;

	inset: 0;

	z-index: 1;

	background:

		radial-gradient(circle at 12% 18%, rgba(238, 86, 11, 0.55), transparent 34%),

		radial-gradient(circle at 78% 30%, rgba(255, 122, 47, 0.28), transparent 30%),

		radial-gradient(circle at 70% 80%, rgba(66, 83, 101, 0.55), transparent 40%),

		linear-gradient(180deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.55));

}



.tm-hero__orb {

	display: none;

	position: absolute;

	z-index: 3;

	border-radius: 999px;

	pointer-events: none;

	animation: tm-float 5s ease-in-out infinite;

}



.tm-hero__orb--one {

	top: 7rem;

	right: 12%;

	width: 7rem;

	height: 7rem;

	border: 1px solid rgba(255, 255, 255, 0.1);

	background: transparent;

	opacity: 1;

	filter: none;

}



.tm-hero__orb--two {

	bottom: 8rem;

	left: 8%;

	width: 4rem;

	height: 4rem;

	background: rgba(238, 86, 11, 0.2);

	filter: blur(24px);

	opacity: 1;

	animation-duration: 4s;

	animation-direction: reverse;

}



@media (min-width: 768px) {

	.tm-hero__orb {

		display: block;

	}

}



@keyframes tm-float {

	0%, 100% { transform: translateY(0); }

	50% { transform: translateY(-12px); }

}



.tm-hero__grid {

	position: relative;

	z-index: 10;

	display: grid;

	gap: 2.5rem;

	align-items: center;

	min-height: 78vh;

	padding-block: 7rem;

}



@media (min-width: 768px) {

	.tm-hero__grid {

		min-height: 88vh;

	}

}



@media (min-width: 1024px) {

	.tm-hero__grid {

		grid-template-columns: 1fr 1fr;

		min-height: 100vh;

	}

}



.tm-hero__copy {

	max-width: 36rem;

}



.tm-hero__slide {

	display: none;

	animation: tm-hero-in 0.4s ease;

}



.tm-hero__slide.is-active {

	display: block;

}



@keyframes tm-hero-in {

	from { opacity: 0; transform: translateY(20px); }

	to { opacity: 1; transform: none; }

}



.tm-hero__title {

	margin: 0 0 1.25rem;

	font-family: var(--tm-font-heading);

	font-size: clamp(2.25rem, 5vw, var(--tm-text-hero));

	font-weight: 700;

	line-height: var(--tm-leading-heading);

	letter-spacing: -0.02em;

	color: var(--tm-white);

	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);

}



.tm-hero__desc {

	margin: 0 0 2rem;

	font-family: var(--tm-font-body);

	font-size: var(--tm-text-lg);

	font-weight: 400;

	line-height: var(--tm-leading-body);

	color: rgba(255, 255, 255, 0.82);

}



@media (min-width: 768px) {

	.tm-hero__desc {

		font-size: var(--tm-text-xl);

	}

}



.tm-hero__actions {

	display: flex;

	flex-direction: column;

	gap: 0.75rem;

	margin-bottom: 2rem;

}



@media (min-width: 640px) {

	.tm-hero__actions {

		flex-direction: row;

		flex-wrap: wrap;

		align-items: center;

	}

}



.tm-btn--on-dark.tm-btn--secondary {

	border-color: rgba(255, 255, 255, 1);

	color: var(--tm-white);

	background: transparent;

}



.tm-btn--on-dark.tm-btn--secondary:hover {

	background: var(--tm-white);

	color: var(--tm-heading);

	border-color: var(--tm-white);

}



.tm-hero__trust {

	display: flex;

	flex-wrap: wrap;

	gap: 0.75rem;

	margin: 0;

	padding: 0;

	list-style: none;

}



.tm-hero__trust li {

	padding: 0.375rem 0.75rem;

	border-radius: 999px;

	border: 1px solid rgba(255, 255, 255, 0.2);

	background: rgba(255, 255, 255, 0.1);

	backdrop-filter: blur(12px);

	font-family: var(--tm-font-body);

	font-size: var(--tm-text-caption);

	font-weight: 500;

	color: var(--tm-white);

}



@media (min-width: 768px) {

	.tm-hero__trust li {

		font-size: var(--tm-text-small);

	}

}



/* Hero slider controls — Next.js: dots centered bottom, arrows bottom-right */

.tm-hero__nav {

	position: absolute;

	right: 1.5rem;

	bottom: 2rem;

	z-index: 10;

	display: flex;

	gap: 0.5rem;

}



@media (min-width: 768px) {

	.tm-hero__nav {

		right: 2.5rem;

	}

}



.tm-hero__nav-btn {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	width: 2.75rem; /* size-11 */

	height: 2.75rem;

	padding: 0 !important; /* defeat Kit button padding that collapses SVG */

	border: 1px solid rgba(255, 255, 255, 0.3);

	border-radius: var(--tm-radius-button);

	background: rgba(255, 255, 255, 0.1);

	background-color: rgba(255, 255, 255, 0.1) !important;

	color: #fff !important; /* SVG inherits via currentColor */

	box-shadow: none !important;

	cursor: pointer;

	overflow: visible;

	visibility: visible;

	opacity: 1;

	z-index: 1;

	pointer-events: auto;

	transition: background var(--tm-duration) var(--tm-ease),

		border-color var(--tm-duration) var(--tm-ease),

		color var(--tm-duration) var(--tm-ease);

	transform: none !important;

}



.tm-hero__nav-btn:hover,

.tm-hero__nav-btn:focus {

	background: rgba(255, 255, 255, 0.2) !important;

	background-color: rgba(255, 255, 255, 0.2) !important;

	border-color: var(--tm-primary) !important;

	color: var(--tm-primary) !important;

	box-shadow: none !important;

	transform: none !important;

}



/* Arrow visibility — stroke must reach path; keep SVG markup unchanged */

.tm-hero__nav-btn svg {

	display: block !important;

	visibility: visible !important;

	opacity: 1 !important;

	overflow: visible !important;

	width: 1.25rem !important; /* size-5 */

	height: 1.25rem !important;

	max-width: none !important;

	max-height: none !important;

	flex-shrink: 0;

	pointer-events: none;

	z-index: 1;

	fill: none !important;

	stroke: currentColor !important;

	stroke-width: 2 !important;

	stroke-linecap: round !important;

	stroke-linejoin: round !important;

	color: inherit;

}



.tm-hero__nav-btn svg path {

	display: block !important;

	visibility: visible !important;

	opacity: 1 !important;

	fill: none !important;

	stroke: currentColor !important;

	stroke-width: 2 !important;

	stroke-linecap: round !important;

	stroke-linejoin: round !important;

}



.tm-hero__dots {

	position: absolute;

	left: 50%;

	bottom: 2rem;

	z-index: 10;

	display: flex;

	gap: 0.5rem;

	transform: translateX(-50%);

}



.tm-hero__dots button,

.tm-testimonial__dots button {

	width: 0.625rem;

	height: 0.625rem;

	padding: 0;

	border: 0;

	border-radius: 999px;

	background: rgba(255, 255, 255, 0.5);

	cursor: pointer;

	transition: width 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;

}



.tm-testimonial__dots {

	display: flex;

	justify-content: center;

	gap: 0.5rem;

	margin-top: 1.5rem;

}



.tm-testimonial__dots button {

	background: color-mix(in srgb, var(--tm-heading) 25%, white);

}



.tm-hero__dots button.is-active,

.tm-testimonial__dots button.is-active {

	width: 2rem;

	background: var(--tm-primary);

	box-shadow: var(--tm-shadow-glow);

}



.tm-booking-card {

	border-radius: var(--tm-radius-hero-card);

	border: 1px solid var(--tm-glass-border);

	background: var(--tm-glass-bg);

	backdrop-filter: blur(var(--tm-glass-blur));

	-webkit-backdrop-filter: blur(var(--tm-glass-blur));

	box-shadow: var(--tm-shadow-glass);

	padding: 1.25rem;

}



@media (min-width: 640px) {

	.tm-booking-card {

		padding: 1.75rem;

	}

}



.tm-booking-card__title {

	margin: 0;

	font-family: var(--tm-font-heading);

	font-size: var(--tm-text-2xl);

	font-weight: 700;

	line-height: var(--tm-leading-heading);

	color: var(--tm-white);

}



.tm-booking-card__sub {

	margin: 0.375rem 0 1.25rem;

	font-family: var(--tm-font-body);

	font-size: var(--tm-text-small);

	font-weight: 400;

	line-height: var(--tm-leading-body);

	color: rgba(255, 255, 255, 0.7);

}



.tm-booking-card__form {

	display: grid;

	gap: 0.75rem;

}



@media (min-width: 640px) {

	.tm-booking-card__form {

		grid-template-columns: 1fr 1fr;

	}

}



/* Booking field layout — shared by Home hero + Book Now */

.tm-booking-field {

	display: flex;

	flex-direction: column;

	min-width: 0;

}



.tm-booking-field__control {

	position: relative;

	display: block;

}



/*

 * Home hero booking card ONLY.

 * Must stay scoped to .tm-booking-card so glass/white styles do not leak onto /book-now/.

 */

.tm-booking-card .tm-booking-field__label {

	display: block;

	margin-bottom: 0.375rem;

	font-family: "Roboto", sans-serif;

	font-size: var(--tm-text-caption);

	font-weight: 600;

	letter-spacing: 0.04em;

	color: rgba(255, 255, 255, 0.8);

}



.tm-booking-card .tm-booking-field__icon,

.elementor-widget-tm_home_hero .tm-booking-field__icon {

	pointer-events: none;

	position: absolute;

	top: 50%;

	left: 0.875rem;

	z-index: 2;

	display: inline-flex !important;

	align-items: center;

	justify-content: center;

	width: 1rem !important;

	height: 1rem !important;

	transform: translateY(-50%);

	margin: 0 !important;

	padding: 0 !important;

	border: 0 !important;

	border-radius: 0 !important;

	background: none !important;

	background-color: transparent !important;

	background-image: none !important;

	box-shadow: none !important;

	color: var(--tm-primary) !important;

	opacity: 0.9;

}



.tm-booking-card .tm-booking-field__icon svg {

	width: 1rem;

	height: 1rem;

	stroke: currentColor;

	fill: none;

	stroke-width: 2;

	stroke-linecap: round;

	stroke-linejoin: round;

}



.tm-booking-card .tm-booking-field__control input,

.tm-booking-card .tm-booking-field__control select,

.elementor-widget-tm_home_hero .tm-booking-card .tm-booking-field__control input,

.elementor-widget-tm_home_hero .tm-booking-card .tm-booking-field__control select {

	width: 100%;

	height: 2.75rem;

	min-height: 2.75rem;

	box-sizing: border-box;

	padding-top: 0 !important;

	padding-right: 0.875rem !important;

	padding-bottom: 0 !important;

	padding-left: 3.25rem !important; /* icon + placeholder clearance */

	border: 1px solid rgba(255, 255, 255, 0.15);

	border-radius: var(--tm-radius-input);

	/* Same glass transparent style on EVERY field */

	background: rgba(255, 255, 255, 0.1) !important;

	background-color: rgba(255, 255, 255, 0.1) !important;

	background-image: none !important;

	color: var(--tm-white) !important;

	font-family: var(--tm-font-body);

	font-size: var(--tm-text-small);

	font-weight: 400;

	outline: none;

	appearance: none;

	-webkit-appearance: none;

	-moz-appearance: none;

	color-scheme: dark;

	transition: border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;

}



.tm-booking-card .tm-booking-field__control input::placeholder {

	color: rgba(255, 255, 255, 0.45);

}



.tm-booking-card .tm-booking-field__control input:focus,

.tm-booking-card .tm-booking-field__control select:focus,

.elementor-widget-tm_home_hero .tm-booking-card .tm-booking-field__control input:focus,

.elementor-widget-tm_home_hero .tm-booking-card .tm-booking-field__control select:focus {

	border-color: var(--tm-primary);

	background: rgba(255, 255, 255, 0.1) !important;

	background-color: rgba(255, 255, 255, 0.1) !important;

	background-image: none !important;

	box-shadow: var(--tm-shadow-glow);

}



/* Kill native filled chrome on date/time/number/select (Windows/WebKit) — Home hero only */

.tm-booking-card .tm-booking-field__control input[type="date"],

.tm-booking-card .tm-booking-field__control input[type="time"],

.tm-booking-card .tm-booking-field__control input[type="number"],

.tm-booking-card .tm-booking-field__control input[type="text"],

.tm-booking-card .tm-booking-field__control select {

	background: rgba(255, 255, 255, 0.1) !important;

	background-color: rgba(255, 255, 255, 0.1) !important;

	background-image: none !important;

}



.tm-booking-card .tm-booking-field__control input[type="date"]::-webkit-datetime-edit,

.tm-booking-card .tm-booking-field__control input[type="date"]::-webkit-datetime-edit-fields-wrapper,

.tm-booking-card .tm-booking-field__control input[type="date"]::-webkit-datetime-edit-text,

.tm-booking-card .tm-booking-field__control input[type="date"]::-webkit-datetime-edit-month-field,

.tm-booking-card .tm-booking-field__control input[type="date"]::-webkit-datetime-edit-day-field,

.tm-booking-card .tm-booking-field__control input[type="date"]::-webkit-datetime-edit-year-field,

.tm-booking-card .tm-booking-field__control input[type="time"]::-webkit-datetime-edit,

.tm-booking-card .tm-booking-field__control input[type="time"]::-webkit-datetime-edit-fields-wrapper,

.tm-booking-card .tm-booking-field__control input[type="time"]::-webkit-datetime-edit-hour-field,

.tm-booking-card .tm-booking-field__control input[type="time"]::-webkit-datetime-edit-minute-field,

.tm-booking-card .tm-booking-field__control input[type="time"]::-webkit-datetime-edit-ampm-field,

.tm-booking-card .tm-booking-field__control input[type="time"]::-webkit-datetime-edit-text {

	background: transparent !important;

	color: var(--tm-white);

}



.tm-booking-card .tm-booking-field__control input:-webkit-autofill,

.tm-booking-card .tm-booking-field__control input:-webkit-autofill:hover,

.tm-booking-card .tm-booking-field__control input:-webkit-autofill:focus {

	-webkit-text-fill-color: #fff;

	caret-color: #fff;

	transition: background-color 99999s ease-in-out 0s;

	box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0.1) inset !important;

}



.tm-booking-card .tm-booking-field__control input[type="date"]::-webkit-calendar-picker-indicator,

.tm-booking-card .tm-booking-field__control input[type="time"]::-webkit-calendar-picker-indicator {

	position: absolute;

	inset: 0;

	width: 100%;

	height: 100%;

	opacity: 0;

	cursor: pointer;

}



.tm-booking-card__form option {

	color: var(--tm-heading);

	background: #fff;

}



.tm-booking-card__actions {

	grid-column: 1 / -1;

	display: grid;

	gap: 0.75rem;

	margin-top: 0.25rem;

}



@media (min-width: 640px) {

	.tm-booking-card__actions {

		grid-template-columns: 1fr 1fr;

	}

}



/* Stats */

.tm-stats {

	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: var(--tm-space-8);

	border: 1px solid var(--tm-border);

	border-radius: var(--tm-radius-card);

	background: var(--tm-section);

	box-shadow: var(--tm-shadow-soft);

	padding: 2.5rem 1.5rem;

}



@media (min-width: 768px) {

	.tm-stats {

		grid-template-columns: repeat(4, minmax(0, 1fr));

		padding: 2.5rem;

	}

}



.tm-stats__item {

	text-align: center;

}



.tm-stats__value {

	margin: 0 0 0.35rem;

	font-family: var(--tm-font-heading);

	font-size: clamp(1.875rem, 3vw, 2.25rem);

	font-weight: 700;

	line-height: var(--tm-leading-heading);

	color: var(--tm-primary);

}



.tm-stats__label {

	margin: 0;

	font-family: var(--tm-font-body);

	font-size: var(--tm-text-small);

	font-weight: 400;

	line-height: var(--tm-leading-body);

	color: var(--tm-paragraph);

}



/* About */

.tm-about {

	display: grid;

	gap: var(--tm-space-10);

	align-items: center;

}



@media (min-width: 1024px) {

	.tm-about {

		grid-template-columns: 1fr 1fr;

		gap: 3.5rem;

	}

}



.tm-about__media img {

	display: block;

	width: 100%;

	min-height: 340px;

	object-fit: cover;

	border-radius: var(--tm-radius-card);

	box-shadow: var(--tm-shadow-soft);

}



@media (min-width: 768px) {

	.tm-about__media img {

		min-height: 420px;

	}

}



.tm-about__cards {

	display: grid;

	gap: var(--tm-space-4);

	margin: var(--tm-space-8) 0;

}



@media (min-width: 640px) {

	.tm-about__cards {

		grid-template-columns: 1fr 1fr;

	}

}



.tm-mini-card {

	border: 1px solid var(--tm-border);

	border-radius: var(--tm-radius-card);

	background: var(--tm-section);

	padding: 1.25rem;

}



.tm-mini-card h3 {

	margin: 0 0 0.5rem;

	font-size: var(--tm-text-base);

}



.tm-mini-card p {

	margin: 0;

	font-size: var(--tm-text-sm);

	color: var(--tm-paragraph);

	line-height: var(--tm-leading-relaxed);

}



/* Cards */

.tm-card-grid {

	display: grid;

	gap: 1.5rem;

}



.tm-card-grid--2 {

	grid-template-columns: 1fr;

}



.tm-card-grid--3,

.tm-card-grid--4 {

	grid-template-columns: 1fr;

}



@media (min-width: 768px) {

	.tm-card-grid--2,

	.tm-card-grid--3,

	.tm-card-grid--4 {

		grid-template-columns: repeat(2, minmax(0, 1fr));

	}

}



@media (min-width: 1280px) {

	.tm-card-grid--3 {

		grid-template-columns: repeat(3, minmax(0, 1fr));

	}



	.tm-card-grid--4 {

		grid-template-columns: repeat(4, minmax(0, 1fr));

	}

}



.tm-card {

	display: flex;

	flex-direction: column;

	height: 100%;

	overflow: hidden;

	border: 1px solid color-mix(in srgb, var(--tm-border) 80%, transparent);

	border-radius: var(--tm-radius-card);

	background: var(--tm-white);

	box-shadow: var(--tm-shadow-soft);

	text-decoration: none;

	color: inherit;

	transition: transform var(--tm-duration) ease-out, box-shadow var(--tm-duration) ease-out, border-color var(--tm-duration) ease-out;

}



.tm-card--pad {

	padding: 1.5rem;

}



.tm-card--hover:hover {

	transform: translateY(-6px);

	border-color: color-mix(in srgb, var(--tm-primary) 25%, transparent);

	box-shadow: var(--tm-shadow-medium);

}



.tm-card__media {

	aspect-ratio: 16 / 10;

	overflow: hidden;

	position: relative;

	border-bottom: 1px solid 

color-mix(in srgb, #e5e7eb63 80%, transparent);

}



.tm-card__media img {

	width: 100%;

	height: 100%;

	object-fit: cover;

	object-position: center;

	transition: transform 0.3s ease;

}



.tm-card--hover:hover .tm-card__media img {

	transform: scale(1.05);

}



.tm-card__media--service {

	min-height: 0;

	border-radius: 0;

}



.tm-card__media-overlay {

	position: absolute;

	inset: 0;

	pointer-events: none;

	background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.55) 100%);

}



.tm-card__media--gradient,

.tm-card__media--scene-a,

.tm-card__media--scene-b,

.tm-card__media--scene-c,

.tm-card__media--scene-d {

	background-size: cover;

}



.tm-card__media--scene-a {

	background-image:

		radial-gradient(circle at 18% 22%, rgba(255, 158, 93, 0.45), transparent 42%),

		radial-gradient(circle at 82% 78%, rgba(255, 255, 255, 0.18), transparent 38%),

		linear-gradient(135deg, #1a2332 0%, #3d4f63 45%, #ee560b 100%);

}



.tm-card__media--scene-b {

	background-image:

		radial-gradient(circle at 18% 22%, rgba(238, 86, 11, 0.4), transparent 42%),

		radial-gradient(circle at 82% 78%, rgba(255, 255, 255, 0.18), transparent 38%),

		linear-gradient(135deg, #0f172a 0%, #425365 45%, #ff7a2f 100%);

}



.tm-card__media--scene-c {

	background-image:

		radial-gradient(circle at 18% 22%, rgba(255, 255, 255, 0.2), transparent 42%),

		radial-gradient(circle at 82% 78%, rgba(255, 255, 255, 0.12), transparent 38%),

		linear-gradient(135deg, #243447 0%, #5a4638 45%, #ee560b 100%);

}



.tm-card__media--scene-d {

	background-image:

		radial-gradient(circle at 18% 22%, rgba(66, 83, 101, 0.55), transparent 42%),

		radial-gradient(circle at 82% 78%, rgba(255, 255, 255, 0.18), transparent 38%),

		linear-gradient(135deg, #1e293b 0%, #324253 45%, #ff9e5d 100%);

}



.tm-card__media--gradient {

	background-image:

		linear-gradient(135deg, rgba(238, 86, 11, 0.55), rgba(66, 83, 101, 0.75)),

		radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.25), transparent 45%);

}



.tm-card__body {

	display: flex;

	flex-direction: column;

	gap: 0.5rem;

	padding: 1.25rem;

	flex: 1;

}



@media (min-width: 640px) {

	.tm-card__body--service {

		padding: 1.5rem;

	}

}



.tm-card__title {

	margin: 0;

	font-family: var(--tm-font-heading);

	font-size: var(--tm-text-lg);

	font-weight: 600;

	letter-spacing: -0.01em;

	line-height: var(--tm-leading-heading);

	color: var(--tm-heading);

}



.tm-card__title--service {

	margin-bottom: 0.5rem;

	font-size: var(--tm-text-lg);

}



@media (min-width: 640px) {

	.tm-card__title--service {

		font-size: var(--tm-text-card-title);

	}

	.tm-card__title--service a{

		color:var(--tm-heading)!important;

		

	}

}



.tm-card__text,

.tm-card__meta {

	margin: 0 0 0rem;

	font-family: var(--tm-font-body);

	font-size: var(--tm-text-small);

	font-weight: 400;

	line-height: var(--tm-leading-body);

	color: var(--tm-paragraph);

}



.tm-card__link {

	margin-top: auto;

	display: inline-flex;

	align-items: center;

	gap: 0.5rem;

	min-height: 2.75rem;

	font-family: var(--tm-font-body);

	font-size: var(--tm-text-small);

	font-weight: 600;

	color: var(--tm-primary);

	transition: gap var(--tm-duration) ease;

}



.tm-card__link--service:hover {

	gap: 0.75rem;

}



.tm-card__link svg {

	width: 1rem;

	height: 1rem;

	flex-shrink: 0;

	stroke: currentColor;

	fill: none;

	stroke-width: 2;

	stroke-linecap: round;

	stroke-linejoin: round;

}



.tm-badge {

	display: inline-flex;

	align-items: center;

	width: fit-content;

	max-width: max-content;

	align-self: flex-start;

	padding: 0.25rem 0.75rem;

	border-radius: 999px;

	background: color-mix(in srgb, var(--tm-primary) 10%, transparent);

	color: var(--tm-primary);

	font-family: var(--tm-font-body);

	font-size: var(--tm-text-caption);

	font-weight: 500;

	line-height: 1.25;

	white-space: nowrap;

}



.tm-badge--fit {

	width: fit-content !important;

	max-width: max-content !important;

	align-self: flex-start !important;

	flex: 0 0 auto !important;

}



.tm-badge--secondary {

	background: color-mix(in srgb, var(--tm-secondary) 10%, transparent);

	color: var(--tm-secondary);

}



/* Fleet category badge palette */

.tm-badge--cat-sedan {

	background: color-mix(in srgb, #3b82f6 14%, transparent);

	color: #1d4ed8;

}



.tm-badge--cat-suv {

	background: color-mix(in srgb, #22c55e 14%, transparent);

	color: #15803d;

}



.tm-badge--cat-mpv {

	background: color-mix(in srgb, #8b5cf6 14%, transparent);

	color: #6d28d9;

}



.tm-badge--cat-tempo {

	background: color-mix(in srgb, #f59e0b 14%, transparent);

	color: #b45309;

}



.tm-badge--cat-default {

	background: color-mix(in srgb, var(--tm-primary) 10%, transparent);

	color: var(--tm-primary);

}



/* Fleet card image overlay title (same language as package cards) */

.tm-fleet-card .tm-card__media .tm-card__media-overlay {

	background: linear-gradient(180deg, rgba(15, 23, 42, 0.05) 0%, rgba(15, 23, 42, 0.55) 100%);

}



.tm-fleet-card__overlay-title {

	position: absolute;

	left: 1rem;

	right: 1rem;

	bottom: 0.9rem;

	z-index: 1;

	margin: 0;

	color: var(--tm-white, #ffffff);

	font-family: var(--tm-font-heading, "Inter"), "Inter", sans-serif;

	font-size: clamp(1rem, 1.6vw, 1.125rem);

	font-weight: 700;

	line-height: 1.3;

	text-shadow: 0 1px 8px rgba(15, 23, 42, 0.35);

	display: -webkit-box;

	-webkit-line-clamp: 2;

	-webkit-box-orient: vertical;

	overflow: hidden;

}



/* Fleet: equal description height so Passengers/Luggage align across cards */

.tm-fleet-card .tm-card__body {

	display: flex;

	flex-direction: column;

	flex: 1;

}



.tm-fleet-card .tm-card__text {

	flex: 0 0 auto;

	/* min-height: calc(var(--tm-leading-body) * 1em * 3);  */

	margin-bottom: 1rem;

}



.tm-fleet-card .tm-card__link {

	margin-top: auto;

}



/* Fleet passengers / luggage rows — Next.js FleetCard */

.tm-fleet-specs {

	margin: 0 0 1.25rem;

	padding: 0;

	list-style: none;

}



.tm-fleet-specs__row {

	display: flex;

	align-items: center;

	justify-content: space-between;

	gap: 0.75rem;

	padding: 0.375rem 0;

	font-size: var(--tm-text-small);

}



.tm-fleet-specs__row--bordered {

	border-bottom: 1px solid color-mix(in srgb, var(--tm-border) 60%, transparent);

}



.tm-fleet-specs__label {

	color: color-mix(in srgb, var(--tm-paragraph) 80%, transparent);

}



.tm-fleet-specs__value {

	font-weight: 500;

	color: var(--tm-heading);

	text-align: right;

}



/* Blog card — Badge + date on ONE row (Next.js BlogCard) */

.elementor-widget-tm_home_blog .tm-blog-meta,

.tm-blog-meta {

	display: flex !important;

	flex-direction: row !important;

	flex-wrap: nowrap !important;

	align-items: center !important;

	justify-content: flex-start !important;

	gap: 0.75rem !important;

	width: 100%;

	margin: 0 0 0.75rem !important;

	padding: 0 !important;

}



.elementor-widget-tm_home_blog .tm-blog-meta .tm-badge,

.tm-blog-meta .tm-badge {

	display: inline-flex !important;

	flex: 0 0 auto !important;

	width: auto !important;

	max-width: max-content !important;

	align-self: center !important;

	margin: 0 !important;

}



.tm-blog-meta__date {

	display: inline-block !important;

	flex: 0 0 auto !important;

	width: auto !important;

	margin: 0 !important;

	padding: 0 !important;

	font-family: "Roboto", sans-serif !important;

	font-size: 0.75rem !important; /* text-xs */

	font-weight: 400 !important;

	line-height: 1.25 !important;

	color: var(--tm-paragraph) !important;

	white-space: nowrap !important;

	background: none !important;

}



.tm-card__title--blog {

	margin: 0 0 0.75rem;

	font-size: var(--tm-text-xl);

	font-weight: 600;

}



.tm-card__text--blog {

	margin: 0 0 1.25rem;

	font-size: var(--tm-text-small);

}



.tm-card__link--blog {

	min-height: auto;

}



/* Blog card body padding matches Next.js p-6 */

.elementor-widget-tm_home_blog .tm-card__body {

	padding: 1.5rem;

	gap: 0;

}



.tm-meta-list {

	margin: 0;

	padding: 0;

	list-style: none;

	font-size: var(--tm-text-small);

	color: var(--tm-paragraph);

}



/* Icon wells live in design-system.css — homepage-only hover polish */

.tm-card--hover:hover .tm-icon-well--service {

	background: color-mix(in srgb, var(--tm-primary) 15%, transparent);

}



.tm-route-card {

	display: flex;

	flex-direction: row;

	align-items: center;

	justify-content: space-between;

	gap: 1rem;

}



.tm-route-card__body {

	flex: 1;

	min-width: 0;

}



.tm-route-card__body .tm-card__text {

	margin-bottom: 0;

}



.tm-route-card__actions {

	display: flex;

	flex-wrap: wrap;

	align-items: center;

	justify-content: flex-end;

	gap: 0.75rem;

	margin-top: 0;

	flex-shrink: 0;

}



.tm-route-card__details {

	display: inline-flex;

	align-items: center;

	min-height: 2.75rem;

	padding: 0;

	border: 0;

	background: none;

	box-shadow: none;

	font-family: "Roboto", sans-serif;

	font-size: var(--tm-text-small);

	font-weight: 600;

	line-height: 1.2;

	color: var(--tm-secondary);

	text-decoration: none;

	cursor: pointer;

	transition: color var(--tm-duration) ease;

}



.tm-route-card__details:hover,

.tm-route-card__details:focus {

	color: var(--tm-primary);

	background: none;

	transform: none;

	box-shadow: none;

}



/* Destination media + badge — placeholders fill media area */

.tm-destination-card__media {

	position: relative;

}



.tm-destination-card__media.tm-card__media--gradient,

.tm-destination-card__media.tm-card__media--scene-a,

.tm-destination-card__media.tm-card__media--scene-b,

.tm-destination-card__media.tm-card__media--scene-c,

.tm-destination-card__media.tm-card__media--scene-d {

	min-height: 0;

}



.tm-destination-badge {

	position: absolute;

	top: 0.75rem;

	left: 0.75rem;

	z-index: 2;

	display: inline-flex;

	width: fit-content;

	max-width: max-content;

	padding: 0.25rem 0.75rem;

	border-radius: 999px;

	background: rgba(255, 255, 255, 0.95);

	color: var(--tm-primary);

	font-family: "Roboto", sans-serif;

	font-size: 11px;

	font-weight: 600;

	letter-spacing: 0.04em;

	line-height: 1.25;

	text-transform: uppercase;

	white-space: nowrap;

	box-shadow: var(--tm-shadow-soft);

	backdrop-filter: blur(8px);

}



.tm-destination-card__media .tm-card__media-overlay {

	background: linear-gradient(180deg, rgba(15, 23, 42, 0.05) 0%, rgba(15, 23, 42, 0.55) 100%);

}



.tm-destination-card__overlay-title {

	position: absolute;

	left: 1rem;

	right: 1rem;

	bottom: 0.9rem;

	z-index: 1;

	margin: 0;

	color: var(--tm-white, #ffffff);

	font-family: var(--tm-font-heading, "Inter"), "Inter", sans-serif;

	font-size: clamp(1rem, 1.6vw, 1.125rem);

	font-weight: 700;

	line-height: 1.3;

	text-shadow: 0 1px 8px rgba(15, 23, 42, 0.35);

	display: -webkit-box;

	-webkit-line-clamp: 2;

	-webkit-box-orient: vertical;

	overflow: hidden;

}



.tm-destination-card .tm-card__body {

	display: flex;

	flex-direction: column;

	flex: 1;

}



.tm-destination-card .tm-card__link {

	margin-top: auto;

}



/* Testimonials */

.tm-testimonial {

	position: relative;

	width: 100%;

	max-width: 748px;

	margin: 0 auto;

}



.tm-testimonial__item {

	display: none;

	text-align: center;

	width: :100%;

	margin: 0 auto;

}



.tm-testimonial__item.is-active {

	display: block;

	animation: tm-hero-in 0.3s ease;

}



.tm-testimonial__quote {

	margin: 1rem auto 1.25rem;

	max-width: 748px;

	width: 100%;

	font-size: clamp(1.125rem, 2vw, 1.25rem);

	line-height: var(--tm-leading-relaxed);

	color: var(--tm-heading);

}



.tm-testimonial__item footer {

	display: flex;

	flex-direction: column;

	gap: 0.25rem;

	color: var(--tm-paragraph);

	font-size: var(--tm-text-sm);

}



.tm-stars {

	display: flex;

	align-items: center;

	justify-content: center;

	gap: 0.25rem;

	margin-bottom: 1rem;

}



.tm-stars__icon {

	display: inline-flex;

	width: 1rem;

	height: 1rem;

	color: var(--tm-border);

}



.tm-stars__icon svg {

	width: 1rem;

	height: 1rem;

	stroke: currentColor;

	fill: none;

	stroke-width: 2;

	stroke-linecap: round;

	stroke-linejoin: round;

}



.tm-stars__icon.is-on {

	color: var(--tm-warning, #f59e0b);

}



.tm-stars__icon.is-on svg {

	fill: currentColor;

}



.tm-testimonial__dots {

	display: flex;

	justify-content: center;

	gap: 0.5rem;

	margin-top: 1.25rem;

}



/* FAQ — left intro matches Next.js FaqPreview / SectionHeading */

.tm-faq {

	/*display: grid;*/

	gap: var(--tm-space-10);

}



@media (min-width: 1024px) {

	.tm-faq {

		grid-template-columns: 0.9fr 1.1fr;

		align-items: start;

	}

}



.tm-faq__intro {

	display: flex;

	flex-direction: column;

	align-items: flex-start;

	text-align: left;

}



.tm-faq__copy {

	display: flex;

	flex-direction: column;

	align-items: flex-start;

	gap: 1rem; /* space-y-4 / gap-4 */

	max-width: 48rem;

}



/* Eyebrow is a separate pill — never paint the H2 orange */

.tm-faq__copy .tm-eyebrow {

	display: inline-flex;

	margin: 0;

	background: color-mix(in srgb, var(--tm-primary) 10%, transparent);

}



.elementor-widget-tm_home_faq .tm-faq__title,

.tm-faq__title {

	display: block !important;

	width: 100%;

	margin: 0 !important;

	padding: 0 !important;

	border: 0 !important;

	border-radius: 0 !important;

	background: transparent !important;

	background-color: transparent !important;

	background-image: none !important;

	box-shadow: none !important;

	font-family: var(--tm-font-heading) !important;

	font-size: clamp(1.75rem, 3vw, 40px) !important;

	font-weight: 700 !important;

	line-height: 1.2 !important;

	letter-spacing: -0.01em !important;

	color: var(--tm-heading) !important;

	text-transform: none !important;

	text-wrap: balance; /* graceful fallback: ignored if unsupported */

}



.tm-faq__desc {

	margin: 0 !important;

	max-width: 42rem;

	padding: 0 !important;

	background: none !important;

	font-family: "Roboto", sans-serif !important;

	font-size: 1rem !important;

	font-weight: 400 !important;

	line-height: 1.7 !important;

	letter-spacing: normal !important;

	color: var(--tm-paragraph) !important;

}



@media (min-width: 768px) {

	.tm-faq__desc {

		font-size: 1.125rem !important; /* md:text-lg */

	}

}



.tm-faq__cta {

	margin-top: 2rem !important; /* mt-8 */

}



/* Accordion triggers must NOT inherit Elementor Kit orange button styles */

.elementor-kit-6 .tm-accordion__trigger,

.elementor .tm-accordion__trigger,

.tm-accordion__trigger {

	display: flex !important;

	width: 100% !important;

	align-items: center !important;

	justify-content: space-between !important;

	gap: 1rem !important;

	min-height: 0 !important;

	margin: 0 !important;

	padding: 1.1rem 1.25rem !important;

	border: 0 !important;

	border-radius: 0 !important;

	background: transparent !important;

	background-color: transparent !important;

	box-shadow: none !important;

	text-align: left !important;

	font-family: var(--tm-font-heading) !important;

	font-size: 1rem !important;

	font-weight: 600 !important;

	line-height: 1.4 !important;

	color: var(--tm-heading) !important;

	cursor: pointer;

	transform: none !important;

}



.elementor-kit-6 .tm-accordion__trigger:hover,

.elementor .tm-accordion__trigger:hover,

.tm-accordion__trigger:hover,

.elementor-kit-6 .tm-accordion__trigger:focus,

.tm-accordion__trigger:focus {

	background: transparent !important;

	color: var(--tm-heading) !important;

	box-shadow: none !important;

	transform: none !important;

}



.tm-accordion__item {

	margin-bottom: 0.75rem;

	border: 1px solid var(--tm-border);

	border-radius: var(--tm-radius-card);

	background: var(--tm-white);

	box-shadow: var(--tm-shadow-soft);

	overflow: hidden;

}



.tm-accordion__chevron {

	width: 0.65rem;

	height: 0.65rem;

	border-right: 2px solid currentColor;

	border-bottom: 2px solid currentColor;

	transform: rotate(45deg);

	transition: transform var(--tm-duration) var(--tm-ease);

	flex-shrink: 0;

}



.tm-accordion__item.is-open .tm-accordion__chevron {

	transform: rotate(225deg);

}



.tm-accordion__panel {

	padding: 0 1.25rem 1.15rem;

}



.tm-accordion__panel p {

	margin: 0;

	font-size: var(--tm-text-sm);

	line-height: var(--tm-leading-relaxed);

	color: var(--tm-paragraph);

}



/* Contact — reduce ONLY excessive top whitespace; keep bottom spacing */

.elementor-widget-tm_home_contact .tm-el-section.tm-section {

	padding-top: clamp(2.5rem, 4vw, 3.5rem);

	padding-bottom: var(--tm-section-y);

}



/* Contact — center everything (Next.js ContactPreview) */

.elementor-widget-tm_home_contact .tm-section-head,

.elementor-widget-tm_home_contact .tm-section-cta {

	text-align: center !important;

	align-items: center !important;

	margin-left: auto;

	margin-right: auto;

}



.tm-contact-grid {

	display: grid;

	gap: 1rem;

	max-width: 56rem;

	margin-inline: auto;

}



@media (min-width: 768px) {

	.tm-contact-grid {

		grid-template-columns: repeat(3, minmax(0, 1fr));

	}

}



.elementor-widget-tm_home_contact .tm-contact-card,

.tm-contact-card {

	display: flex !important;

	flex-direction: column !important;

	align-items: center !important;

	justify-content: flex-start !important;

	text-align: center !important;

	height: 100%;

}



/* Bare primary icons — no wells (Next.js ContactPreview) */

.elementor-widget-tm_home_contact .tm-contact-card__icon,

.tm-contact-card__icon {

	display: inline-flex !important;

	align-items: center !important;

	justify-content: center !important;

	width: 1.5rem !important;

	height: 1.5rem !important;

	margin: 0 auto 0.75rem !important;

	padding: 0 !important;

	border: 0 !important;

	border-radius: 0 !important;

	background: none !important;

	background-color: transparent !important;

	box-shadow: none !important;

	color: var(--tm-primary) !important;

}



.tm-contact-card__icon svg {

	width: 1.5rem;

	height: 1.5rem;

	stroke: currentColor;

	fill: none;

	stroke-width: 2;

	stroke-linecap: round;

	stroke-linejoin: round;

}



.elementor-widget-tm_home_contact .tm-contact-card__label,

.tm-contact-card__label {

	display: block !important;

	visibility: visible !important;

	opacity: 1 !important;

	margin: 0 0 0.25rem !important; /* label ABOVE value */

	padding: 0 !important;

	width: 100%;

	text-align: center !important;

	font-family: "Roboto", sans-serif !important;

	font-size: 0.875rem !important; /* text-sm */

	font-weight: 600 !important;

	line-height: 1.375 !important;

	letter-spacing: normal !important;

	color: var(--tm-heading) !important;

}



.elementor-widget-tm_home_contact .tm-contact-card__value,

.tm-contact-card__value {

	display: block !important;

	margin: 0 !important;

	padding: 0 !important;

	width: 100%;

	text-align: center !important;

	font-family: "Roboto", sans-serif !important;

	font-size: 16px !important;

	font-weight: 400 !important;

	line-height: 1.5 !important;

	color: var(--tm-paragraph) !important;

	transition: color var(--tm-duration) ease;

}



.tm-contact-card:hover .tm-contact-card__value {

	color: var(--tm-primary);

}



/* CTA banner */

.tm-cta-banner {

	padding-block: 4rem;

}



@media (min-width: 768px) {

	.tm-cta-banner {

		padding-block: 6rem;

	}

}



.tm-cta-banner__panel {

	position: relative;

	overflow: hidden;

	border-radius: 32px;

	background: var(--tm-black);

	color: var(--tm-white);

	text-align: center;

	padding: 3rem 1.5rem;

	box-shadow: var(--tm-shadow-large);

}



.tm-cta-banner__panel::before {

	content: "";

	position: absolute;

	inset: 0;

	background:

		radial-gradient(circle at 15% 20%, rgba(238, 86, 11, 0.28), transparent 35%),

		radial-gradient(circle at 85% 80%, rgba(238, 86, 11, 0.16), transparent 40%);

	pointer-events: none;

}



@media (min-width: 768px) {

	.tm-cta-banner__panel {

		padding: 4rem 3.5rem;

	}

}



.tm-cta-banner__title,

.tm-cta-banner__desc,

.tm-cta-banner__actions,

.tm-cta-banner .tm-eyebrow {

	position: relative;

}



.tm-cta-banner__title {

	margin: 0 0 1rem;

	font-size: clamp(1.75rem, 3vw, 2.5rem);

	color: var(--tm-white);

}



.tm-cta-banner__desc {

	margin: 0 auto 1.75rem;

	max-width: 40rem;

	color: rgba(255, 255, 255, 0.72);

}



.tm-cta-banner__actions {

	display: flex;

	flex-direction: column;

	justify-content: center;

	gap: 0.75rem;

}



@media (min-width: 640px) {

	.tm-cta-banner__actions {

		flex-direction: row;

	}

}



/* Transparent header over dark hero — hide spacer already via body class */

body.tm-home.tm-transparent-header .tm-spacer-header {

	display: none;

}



/* Tour package listing cards — reference card hierarchy */

.tm-package-card {

	border-radius: 20px;

	border: 1px solid color-mix(in srgb, var(--tm-border, #e5e7eb) 90%, transparent);

	background: var(--tm-white, #ffffff);

	box-shadow: var(--tm-shadow-soft);

	overflow: hidden;

}



.tm-package-card__media {

	position: relative;

	aspect-ratio: auto;

	height: 300px;

	border-bottom: 0;

	overflow: hidden;

}



.tm-package-card__media img {

	width: 100%;

	height: 100%;

	object-fit: cover;

	object-position: center;

}



.tm-package-card__media .tm-card__media-overlay {

	background: linear-gradient(180deg, rgba(15, 23, 42, 0.05) 0%, rgba(15, 23, 42, 0.55) 100%);

}



.tm-package-card__overlay-title {

	position: absolute;

	left: 1rem;

	right: 1rem;

	bottom: 0.9rem;

	z-index: 1;

	margin: 0;

	color: var(--tm-white, #ffffff);

	font-family: var(--tm-font-heading, "Inter"), "Inter", sans-serif;

	font-size: clamp(1rem, 1.6vw, 1.125rem);

	font-weight: 700;

	line-height: 1.3;

	text-shadow: 0 1px 8px rgba(15, 23, 42, 0.35);

	display: -webkit-box;

	-webkit-line-clamp: 2;

	-webkit-box-orient: vertical;

	overflow: hidden;

}



.tm-package-card__body {

	display: flex;

	flex-direction: column;

	flex: 1;

	gap: 0.55rem;

	padding: 1rem 1.15rem 1.25rem;

}



.tm-package-card__meta {

	display: flex;

	flex-wrap: wrap;

	align-items: center;

	gap: 0.5rem;

}



.tm-package-card__pill {

	display: inline-flex;

	align-items: center;

	width: fit-content;

	max-width: 100%;

	padding: 0.28rem 0.7rem;

	border-radius: var(--tm-radius-badge, 999px);

	font-family: var(--tm-font-body, Roboto), "Roboto", sans-serif;

	font-size: 0.75rem;

	font-weight: 600;

	line-height: 1.25;

	letter-spacing: 0.02em;

	white-space: nowrap;

}



.tm-package-card__pill--duration {

	background: color-mix(in srgb, var(--tm-primary, #ee560b) 12%, transparent);

	color: var(--tm-primary, #ee560b);

}



.tm-package-card__pill--price {

	background: color-mix(in srgb, var(--tm-section, #f8f9fa) 100%, transparent);

	color: var(--tm-secondary, #425365);

	border: 1px solid color-mix(in srgb, var(--tm-border, #e5e7eb) 90%, transparent);

}



.tm-package-card__title {

	margin: 0;

	font-size: 1.0625rem;

	font-weight: 700;

	line-height: 1.35;

	color: var(--tm-heading, #1e293b);

}



.tm-package-card__title a {

	color: inherit;

	text-decoration: none;

}



.tm-package-card__title a:hover,

.tm-package-card__title a:focus {

	color: var(--tm-primary, #ee560b);

}



.tm-package-card__destination {

	margin: 0;

	font-family: var(--tm-font-body, Roboto), "Roboto", sans-serif;

	font-size: 0.875rem;

	font-weight: 600;

	line-height: 1.3;

	color: var(--tm-primary, #ee560b);

}



.tm-package-card__excerpt,

.tm-package-card__body .tm-card__text {

	flex: 0 1 auto;

	min-height: 0;

	margin: 0;

	font-size: 0.9375rem;

	line-height: 1.55;

	color: var(--tm-paragraph, #64748b);

}



.tm-package-card__features {

	list-style: none;

	margin: 0.15rem 0 0;

	padding: 0;

	display: flex;

	flex-direction: column;

	gap: 0.35rem;

}



.tm-package-card__features li {

	position: relative;

	padding-left: 0.95rem;

	font-family: var(--tm-font-body, Roboto), "Roboto", sans-serif;

	font-size: 0.875rem;

	line-height: 1.45;

	color: var(--tm-secondary, #425365);

}



.tm-package-card__features li::before {

	content: "";

	position: absolute;

	left: 0;

	top: 0.55em;

	width: 0.35rem;

	height: 0.35rem;

	border-radius: 50%;

	background: var(--tm-primary, #ee560b);

}



.tm-package-card__price {

	margin: 0;

}



.tm-package-card__link,

.tm-package-card__body .tm-card__link {

	margin-top: auto;

	padding-top: 0.65rem;

	font-family: var(--tm-font-body, Roboto), "Roboto", sans-serif;

	font-size: 0.9375rem;

	font-weight: 700;

	color: var(--tm-primary, #ee560b);

	text-decoration: none;

}



.tm-package-card__link:hover,

.tm-package-card__link:focus,

.tm-package-card__body .tm-card__link:hover,

.tm-package-card__body .tm-card__link:focus {

	color: var(--tm-primary-hover, #ff7a2f);

}



@media (max-width: 767px) {

	.tm-package-card__media {

		height: 190px;

	}
	.tm-faq__intro{
		margin-bottom: 20px;
	}
	.tm-accordion__item button span{		
    	white-space: break-spaces;
	}
	.tm-route-card{
		display: block;
	}
	.tm-route-card__actions{
		margin-top: 10px;
		justify-content: flex-start;
	}

}

