/* My Transfers — frontend premium */
.mt-transfer-app {
	--mt-radius: 14px;
	--mt-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
	--mt-border: #e8ecf1;
	--mt-text: #1a1f2b;
	--mt-muted: #5c6473;
	--mt-bg: #f6f7f9;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;
	color: var(--mt-text);
	line-height: 1.45;
	margin: 1.5rem 0;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.mt-transfer-inner {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	min-width: 0;
	max-width: 100%;
}

@media (min-width: 960px) {
	.mt-layout-sidebar .mt-transfer-inner {
		flex-direction: row;
		align-items: flex-start;
	}
	.mt-layout-sidebar .mt-transfer-sidebar {
		flex: 0 0 320px;
		max-width: 360px;
	}
	.mt-layout-sidebar .mt-transfer-main {
		flex: 1;
		min-width: 0;
	}
}

.mt-card {
	background: #fff;
	border-radius: var(--mt-radius);
	box-shadow: var(--mt-shadow);
	border: 1px solid var(--mt-border);
	padding: 1.25rem 1.35rem;
}

.mt-layout-sidebar .mt-search-card {
	overflow: visible;
}

.mt-card-title {
	margin: 0 0 1rem;
	font-size: 1.1rem;
	font-weight: 700;
}

.mt-search-form .mt-trip-toggle {
	display: inline-flex;
	gap: 0;
	margin-bottom: 1rem;
	background: #f0f2f5;
	padding: 4px;
	border-radius: 999px;
}

.mt-layout-hero .mt-search-form .mt-trip-toggle {
	margin-bottom: 0;
}

.mt-search-form .mt-seg {
	border: 0;
	background: transparent;
	padding: 0.45rem 1rem;
	border-radius: 999px;
	font-weight: 600;
	cursor: pointer;
	color: var(--mt-muted);
	font-size: 0.9rem;
}

.mt-search-form .mt-seg.is-active {
	background: var(--mt-primary, #00804d);
	color: #fff;
}

.mt-field {
	margin-bottom: 0.9rem;
}

.mt-field label {
	display: block;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--mt-muted);
	margin-bottom: 0.35rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.mt-input-wrap {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border: 1px solid var(--mt-border);
	border-radius: 12px;
	padding: 0.35rem 0.65rem;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mt-input-wrap:focus-within {
	border-color: var(--mt-primary, #00804d);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mt-primary, #00804d) 18%, transparent);
}

.mt-input-wrap select,
.mt-input-wrap input {
	flex: 1;
	border: 0;
	background: transparent;
	font-size: 0.95rem;
	padding: 0.45rem 0.15rem;
	min-width: 0;
	outline: none;
	color: var(--mt-text);
	-webkit-text-fill-color: var(--mt-text);
	line-height: 1.4;
}

.mt-icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	opacity: 0.55;
	background: currentColor;
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

.mt-icon-pin {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 21s7-4.5 7-11a7 7 0 10-14 0c0 6.5 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2' stroke-width='2'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 21s7-4.5 7-11a7 7 0 10-14 0c0 6.5 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2' stroke-width='2'/%3E%3C/svg%3E");
}

.mt-icon-cal {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E");
}

.mt-icon-clock {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Ccircle cx='12' cy='12' r='9' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M12 7v6l3 2'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Ccircle cx='12' cy='12' r='9' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M12 7v6l3 2'/%3E%3C/svg%3E");
}

.mt-icon-users {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M17 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M17 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75'/%3E%3C/svg%3E");
}

.mt-icon-luggage {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Crect x='6' y='7' width='12' height='12' rx='2' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M9 7V5a1 1 0 011-1h4a1 1 0 011 1v2'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Crect x='6' y='7' width='12' height='12' rx='2' stroke-width='2'/%3E%3Cpath stroke-linecap='round' stroke-width='2' d='M9 7V5a1 1 0 011-1h4a1 1 0 011 1v2'/%3E%3C/svg%3E");
}

.mt-row-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.65rem;
}

@media (max-width: 520px) {
	.mt-row-2 {
		grid-template-columns: 1fr;
	}
}

.mt-return-fields.mt-is-hidden {
	display: none !important;
}

.mt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.65rem 1.25rem;
	border-radius: 12px;
	font-weight: 700;
	border: none;
	cursor: pointer;
	text-decoration: none;
	font-size: 0.95rem;
	transition: transform 0.12s ease, filter 0.12s ease;
}

.mt-btn:active {
	transform: translateY(1px);
}

.mt-btn-primary {
	background: var(--mt-primary, #00804d);
	color: #fff;
}

.mt-btn-primary:hover {
	filter: brightness(1.05);
}

.mt-btn-block {
	width: 100%;
	margin-top: 0.25rem;
}

.mt-form-hint {
	min-height: 1.25em;
	font-size: 0.85rem;
	color: #b45309;
	margin: 0.5rem 0 0;
}

/* Hero layout: barra superior tipo “premium” */
.mt-layout-hero .mt-transfer-sidebar .mt-search-card {
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
}

@media (min-width: 960px) {
	.mt-layout-hero .mt-transfer-inner {
		flex-direction: column;
	}
	.mt-layout-hero .mt-search-card .mt-trip-toggle {
		display: inline-flex;
	}
}

/* Área resultados: oculta hasta la primera búsqueda (modo inline) */
.mt-transfer-main--lazy[hidden] {
	display: none !important;
}

.mt-transfer-main:not([hidden]) {
	display: block;
}

/* Results */
.mt-results-header {
	margin-bottom: 1rem;
}

.mt-results-title {
	margin: 0 0 0.35rem;
	font-size: 1.35rem;
}

.mt-results-route {
	margin: 0;
	color: var(--mt-muted);
	font-weight: 600;
}

.mt-results-meta {
	margin: 0.75rem 0 0;
	padding-left: 1.1rem;
	color: var(--mt-muted);
	font-size: 0.9rem;
}

.mt-vehicle-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1rem;
}

.mt-vehicle-card {
	position: relative;
	overflow: hidden;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.mt-vehicle-card.is-featured {
	outline: 2px solid color-mix(in srgb, var(--mt-accent, #f5c400) 70%, transparent);
}

.mt-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	background: var(--mt-accent, #f5c400);
	color: #1a1f2b;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	padding: 0.25rem 0.55rem;
	border-radius: 999px;
}

.mt-vehicle-media {
	background: #eef1f5;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.mt-vehicle-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mt-vehicle-ph {
	width: 100%;
	height: 100%;
	min-height: 160px;
	background: linear-gradient(120deg, #e8ecf1, #f8fafc);
}

.mt-vehicle-body {
	padding: 1rem 1.15rem 1.15rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	flex: 1;
}

.mt-vehicle-title {
	margin: 0;
	font-size: 1.1rem;
}

.mt-vehicle-type {
	margin: 0;
	color: var(--mt-muted);
	font-size: 0.88rem;
}

.mt-vehicle-specs {
	margin: 0.25rem 0;
	padding-left: 1.1rem;
	color: var(--mt-muted);
	font-size: 0.88rem;
}

.mt-vehicle-desc {
	margin: 0;
	font-size: 0.9rem;
	color: #3d4453;
}

.mt-vehicle-price {
	margin-top: auto;
	padding-top: 0.75rem;
	border-top: 1px solid var(--mt-border);
}

.mt-price-label {
	display: block;
	font-size: 0.75rem;
	color: var(--mt-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 700;
}

.mt-price-value {
	font-size: 1.45rem;
	font-weight: 800;
	color: var(--mt-primary, #00804d);
}

.mt-price-note {
	display: block;
	font-size: 0.78rem;
	color: var(--mt-muted);
	margin-top: 0.2rem;
}

.mt-vehicle-actions {
	margin-top: 0.65rem;
}

.mt-vehicle-actions .mt-btn {
	width: 100%;
}

/* Placeholder */
.mt-placeholder-card {
	text-align: center;
	padding: 2rem 1.5rem;
}

.mt-placeholder-illu {
	width: 120px;
	height: 120px;
	margin: 0 auto 1rem;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--mt-primary, #00804d) 25%, #fff), #eef1f5);
}

.mt-placeholder-title {
	margin: 0 0 0.5rem;
	font-size: 1.2rem;
}

.mt-placeholder-text {
	margin: 0;
	color: var(--mt-muted);
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}

/* Empty */
.mt-empty-state {
	text-align: center;
	padding: 0.5rem 0 1rem;
}

.mt-empty-visual {
	color: var(--mt-primary, #00804d);
	margin-bottom: 0.5rem;
}

.mt-empty-svg {
	width: 160px;
	height: auto;
}

.mt-empty-title {
	font-size: 1.45rem;
	margin: 0 0 0.5rem;
}

.mt-empty-text {
	color: var(--mt-muted);
	max-width: 32rem;
	margin: 0 auto 1.25rem;
}

.mt-summary-mini,
.mt-suggestions,
.mt-popular {
	text-align: left;
	margin-bottom: 1rem;
}

.mt-summary-title,
.mt-suggestions-title,
.mt-popular-title {
	margin-top: 0;
	font-size: 1rem;
}

.mt-summary-list {
	margin: 0;
	padding-left: 1.1rem;
	color: var(--mt-muted);
}

.mt-suggestion-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 0.75rem;
}

.mt-suggestion-item {
	border: 1px solid var(--mt-border);
	border-radius: 12px;
	padding: 0.85rem;
	background: #fafbfc;
}

.mt-suggestion-icon {
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-bottom: 0.35rem;
}

.mt-suggestion-item h4 {
	margin: 0 0 0.35rem;
	font-size: 0.95rem;
}

.mt-suggestion-item p {
	margin: 0;
	font-size: 0.85rem;
	color: var(--mt-muted);
}

.mt-popular-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.mt-popular-link {
	background: #f0f2f5;
	border: 1px solid var(--mt-border);
	border-radius: 999px;
	padding: 0.4rem 0.85rem;
	cursor: pointer;
	font-size: 0.85rem;
}

.mt-popular-link:hover {
	border-color: var(--mt-primary, #00804d);
}

/* Block editor */
.mt-block-editor-placeholder {
	border: 1px dashed #c3c7cf;
	padding: 1rem;
	border-radius: 8px;
	background: #f8fafc;
}

.mt-block-note {
	margin: 0;
	font-size: 0.9rem;
	color: #475569;
}

/* Estados resultados */
.mt-transfer-main[data-mt-state='loading'] {
	opacity: 0.92;
}

.mt-transfer-main[data-mt-state='error'] .mt-error-card {
	border-color: #fecaca;
}

.mt-loading-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	padding: 2rem 1.5rem;
	text-align: center;
}

.mt-loading-card--premium {
	min-height: 200px;
	padding: 2.5rem 1.75rem;
	gap: 1rem;
	background: linear-gradient(180deg, #fafbfc 0%, #fff 45%);
	border: 1px solid var(--mt-border);
}

.mt-loading-title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--mt-text);
}

.mt-loading-sub {
	margin: 0;
	font-size: 0.92rem;
	color: var(--mt-muted);
	font-weight: 600;
	line-height: 1.45;
	max-width: 26rem;
}

.mt-spinner {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 3px solid var(--mt-border);
	border-top-color: var(--mt-primary, #00804d);
	animation: mt-spin 0.75s linear infinite;
}

@keyframes mt-spin {
	to {
		transform: rotate(360deg);
	}
}

.mt-loading-text {
	margin: 0;
	color: var(--mt-muted);
	font-weight: 600;
}

.mt-error-card {
	padding: 1.5rem;
}

.mt-error-text {
	margin: 0;
	color: #b91c1c;
	font-weight: 600;
}

.mt-btn-secondary {
	background: #fff;
	color: var(--mt-text);
	border: 1px solid var(--mt-border);
}

.mt-btn-secondary:hover {
	border-color: var(--mt-primary, #00804d);
}

.mt-price-value.is-consult {
	color: var(--mt-muted);
	font-size: 1.25rem;
}

.mt-empty-cta {
	margin-top: 0.5rem;
}

/* Layout hero (barra premium) */
.mt-transfer-app.mt-layout-hero {
	--mt-hero-pill: #3d8ea8;
	--mt-hero-pill-hover: #357892;
	--mt-hero-pill-shadow: 0 1px 4px rgba(45, 110, 130, 0.28);
}

.mt-layout-hero .mt-search-form {
	width: 100%;
	max-width: min(100%, 1920px);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	overflow: visible;
	padding: 0 0.35rem;
}

.mt-layout-hero .mt-transfer-sidebar {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* Bloque único: tipo de viaje + pasajeros + barra (el ancho lo marca .mt-search-form padre) */
.mt-layout-hero .mt-hero-composed {
	width: 100%;
	max-width: 100%;
	margin: 0;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--mt-border);
	border-radius: calc(var(--mt-radius) + 10px);
	box-shadow: 0 20px 56px rgba(15, 23, 42, 0.08), 0 2px 8px rgba(15, 23, 42, 0.04);
	padding: 1.15rem 1.35rem 1.35rem;
	overflow: visible;
}

.mt-layout-hero .mt-hero-composed .mt-card-bar {
	box-shadow: none;
}

.mt-layout-hero .mt-hero-top {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.85rem 1rem;
	margin-bottom: 1rem;
}

.mt-layout-hero .mt-hero-top .mt-lang-switch.mt-card-inline {
	flex-direction: row;
	align-items: center;
	align-self: flex-start;
	min-height: 2.85rem;
	padding: 0.28rem 0.4rem;
	gap: 0.2rem;
}

.mt-layout-hero .mt-lang-btn {
	min-width: 2.55rem;
	padding: 0.42rem 0.68rem;
	border-radius: 9px;
	font-size: 0.84rem;
	font-weight: 800;
	transition: background 0.15s ease, color 0.15s ease;
}

.mt-layout-hero .mt-lang-btn.is-active {
	background: var(--mt-hero-pill, #3d8ea8);
	color: #fff;
	box-shadow: 0 1px 4px rgba(45, 110, 130, 0.22);
}

.mt-layout-hero .mt-card-inline {
	background: #f8fafc;
	border-radius: 12px;
	box-shadow: none;
	border: 1px solid var(--mt-border);
	padding: 0.5rem 0.9rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Toggle ida / vuelta: siempre en una fila (misma caja) */
.mt-layout-hero .mt-trip-toggle.mt-card-inline {
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	align-self: flex-start;
	min-height: 2.85rem;
	padding: 0.35rem 0.45rem;
}

.mt-layout-hero .mt-trip-toggle {
	margin: 0;
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
}

.mt-layout-hero .mt-trip-toggle .mt-seg {
	white-space: nowrap;
	flex-shrink: 0;
}

.mt-layout-hero .mt-seg .mt-check {
	margin-right: 0.25rem;
	font-size: 0.85em;
}

.mt-layout-hero .mt-passengers-box {
	min-width: 168px;
	flex: 0 0 auto;
}

.mt-layout-hero .mt-pass-label {
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--mt-muted);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin: 0 0 0.2rem;
	display: block;
}

.mt-layout-hero .mt-pass-row {
	display: flex;
	align-items: center;
	gap: 0.35rem;
}

.mt-layout-hero .mt-pass-row select {
	border: 0;
	background: transparent;
	font-weight: 600;
	font-size: 0.95rem;
	min-width: 120px;
}

.mt-layout-hero .mt-hero-bar.mt-card-bar {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1.15rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background: #f8fafc;
	border-radius: calc(var(--mt-radius) + 4px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
	border: 1px solid var(--mt-border);
	overflow: visible;
	padding: 1.15rem 1.2rem 1.25rem;
	isolation: isolate;
}

.mt-layout-hero .mt-hero-bar-row--locations {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.5rem;
	width: 100%;
	align-items: end;
}

.mt-layout-hero .mt-hero-bar-row--when {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1rem 1.25rem;
	width: 100%;
}

.mt-layout-hero .mt-hero-return-group {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1rem 1.25rem;
	flex: 1 1 min(100%, 24rem);
	min-width: min(100%, 16rem);
}

.mt-layout-hero .mt-hero-return-group.mt-is-hidden {
	display: none !important;
}

.mt-layout-hero .mt-bar-seg {
	flex: 0 1 auto;
	min-width: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0.4rem;
	min-height: 0;
	box-sizing: border-box;
	background: transparent;
}

.mt-layout-hero .mt-bar-seg--location {
	min-width: 0;
}

.mt-layout-hero .mt-hero-bar-row--when > .mt-bar-seg--date {
	flex: 1 1 min(100%, 13rem);
	min-width: min(100%, 11rem);
}

.mt-layout-hero .mt-hero-bar-row--when > .mt-bar-seg--time {
	flex: 0 1 8.75rem;
	min-width: 6.75rem;
}

.mt-layout-hero .mt-hero-return-group .mt-bar-seg--date {
	flex: 1 1 min(100%, 12rem);
	min-width: min(100%, 10rem);
}

.mt-layout-hero .mt-hero-return-group .mt-bar-seg--time {
	flex: 0 1 8rem;
	min-width: 6.5rem;
}

.mt-layout-hero .mt-bar-seg label {
	font-size: 0.68rem;
	font-weight: 700;
	color: var(--mt-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0;
	line-height: 1.25;
	flex-shrink: 0;
}

.mt-layout-hero .mt-bar-input {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 2.85rem;
	flex: 1;
	min-width: 0;
}

.mt-layout-hero .mt-bar-input--field {
	background: #fff;
	border: 1px solid var(--mt-border);
	border-radius: 12px;
	padding: 0.5rem 0.65rem;
	min-height: 3rem;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mt-layout-hero .mt-bar-input--field:focus-within {
	border-color: color-mix(in srgb, var(--mt-hero-pill, #3d8ea8) 55%, var(--mt-border));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mt-hero-pill, #3d8ea8) 18%, transparent);
}

.mt-layout-hero .mt-bar-seg.mt-ac-wrap .mt-ac-field {
	flex: 1 1 auto;
	min-width: 0;
}

.mt-layout-hero .mt-bar-seg--location .mt-ac-input {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.98rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.35;
}

.mt-layout-hero .mt-bar-seg .mt-ac-input:focus {
	outline: none;
}

.mt-layout-hero .mt-bar-input select,
.mt-layout-hero .mt-bar-input input:not([type='hidden']) {
	border: 0;
	background: transparent;
	font-size: 0.9rem;
	font-weight: 600;
	width: 100%;
	min-width: 0;
	padding: 0.2rem 0;
	margin: 0;
	line-height: 1.35;
	color: var(--mt-text);
	-webkit-text-fill-color: var(--mt-text);
	box-sizing: border-box;
}

/* Fecha / hora: pastilla teal alineada a la altura del resto */
.mt-layout-hero .mt-bar-input--picker {
	flex: 1 1 auto;
	min-width: 0;
	align-items: center;
	gap: 0.4rem;
	padding: 0.5rem 0.65rem;
	background: var(--mt-hero-pill, #3d8ea8);
	color: #fff;
	border-radius: 12px;
	min-height: 3rem;
	box-sizing: border-box;
	box-shadow: var(--mt-hero-pill-shadow);
}

.mt-layout-hero .mt-bar-input--picker .mt-icon {
	flex-shrink: 0;
	opacity: 0.95;
	filter: brightness(0) invert(1);
}

.mt-layout-hero .mt-bar-input--picker .mt-date-trigger,
.mt-layout-hero .mt-bar-input--picker .mt-time-trigger {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	background: transparent;
	border: 0;
	color: inherit;
	font-weight: 700;
	font-size: 0.95rem;
	padding: 0;
	margin: 0;
	text-align: left;
	cursor: pointer;
	line-height: 1.45;
	-webkit-tap-highlight-color: transparent;
	letter-spacing: -0.01em;
}

.mt-layout-hero .mt-bar-input--picker .mt-date-trigger:focus-visible,
.mt-layout-hero .mt-bar-input--picker .mt-time-trigger:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	border-radius: 6px;
}

.mt-layout-hero .mt-bar-input--picker .mt-date-trigger-text.mt-is-placeholder {
	color: rgba(255, 255, 255, 0.88);
	font-weight: 600;
}

.mt-layout-hero .mt-bar-input--picker .mt-date-trigger:disabled,
.mt-layout-hero .mt-bar-input--picker .mt-time-trigger:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.mt-layout-hero .mt-bar-input input[type='date'],
.mt-layout-hero .mt-bar-input input[type='time'] {
	min-height: 2rem;
	font-variant-numeric: tabular-nums;
}

.mt-layout-hero .mt-bar-input input:disabled {
	color: var(--mt-muted);
	cursor: not-allowed;
}

.mt-layout-hero .mt-return-field.mt-is-muted {
	opacity: 0.55;
}

.mt-layout-hero .mt-hero-bar-row--when .mt-bar-submit-wrap {
	flex: 1 1 11rem;
	min-width: min(100%, 10rem);
	max-width: 16rem;
	display: flex;
	align-items: flex-end;
	justify-content: stretch;
	padding: 0;
	margin: 0 0 0 auto;
	border: 0;
	background: transparent;
	align-self: flex-end;
}

.mt-layout-hero .mt-bar-submit-wrap .mt-btn-search,
.mt-layout-hero .mt-hero-bar .mt-btn-search {
	border-radius: 12px;
	margin: 0;
	width: 100%;
	min-width: 0;
	padding: 0.72rem 1.35rem;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	white-space: nowrap;
	box-sizing: border-box;
	min-height: 3rem;
	background: var(--mt-hero-pill, #3d8ea8) !important;
	color: #fff !important;
	border: 0;
	box-shadow: 0 2px 10px rgba(45, 110, 130, 0.25);
}

.mt-layout-hero .mt-bar-submit-wrap .mt-btn-search:hover,
.mt-layout-hero .mt-hero-bar .mt-btn-search:hover {
	filter: brightness(1.05);
	box-shadow: 0 4px 16px rgba(45, 110, 130, 0.32);
}

@media (min-width: 1100px) {
	.mt-layout-hero .mt-hero-bar-row--when .mt-bar-submit-wrap {
		flex: 0 0 11.5rem;
		max-width: 13rem;
	}
}

@media (max-width: 900px) {
	.mt-layout-hero .mt-hero-bar-row--locations {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	.mt-layout-hero .mt-hero-bar-row--when .mt-bar-submit-wrap {
		flex: 1 1 100%;
		max-width: none;
		margin-left: 0;
	}
}

@media (max-width: 639px) {
	.mt-layout-hero .mt-search-form {
		padding: 0;
	}
	.mt-layout-hero .mt-hero-composed {
		padding: 1rem 1rem 1.15rem;
		border-radius: var(--mt-radius);
	}
	.mt-layout-hero .mt-hero-bar.mt-card-bar {
		padding: 1rem 0.95rem 1.1rem;
		border-radius: var(--mt-radius);
		gap: 1rem;
	}
	.mt-layout-hero .mt-hero-return-group {
		flex-direction: column;
		align-items: stretch;
	}
	.mt-layout-hero .mt-hero-bar-row--when > .mt-bar-seg--date,
	.mt-layout-hero .mt-hero-bar-row--when > .mt-bar-seg--time,
	.mt-layout-hero .mt-hero-return-group .mt-bar-seg--date,
	.mt-layout-hero .mt-hero-return-group .mt-bar-seg--time {
		flex: 1 1 100%;
		min-width: 100%;
	}
	.mt-layout-hero .mt-bar-submit-wrap .mt-btn-search,
	.mt-layout-hero .mt-hero-bar .mt-btn-search {
		width: 100%;
		min-height: 3.1rem;
		font-size: 1rem;
	}
}

.mt-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

#mt-locations-bootstrap {
	display: none !important;
}

/* Autocomplete */
.mt-ac-field {
	position: relative;
	flex: 1;
	min-width: 0;
}

.mt-ac-input {
	width: 100%;
	min-width: 0;
	color: var(--mt-text);
	-webkit-text-fill-color: var(--mt-text);
	line-height: 1.4;
	caret-color: var(--mt-primary, #00804d);
}

.mt-ac-input::placeholder {
	color: var(--mt-muted);
	opacity: 1;
}

.mt-ac-dropdown {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 4px);
	z-index: 40;
	margin: 0;
	padding: 0.35rem 0;
	list-style: none;
	background: #fff;
	border: 1px solid var(--mt-border);
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
	max-height: 260px;
	overflow-y: auto;
}

.mt-ac-dropdown--floating {
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18);
	border-radius: 14px;
}

.mt-ac-item {
	padding: 0.5rem 0.85rem;
	cursor: pointer;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--mt-text);
}

.mt-ac-item:hover,
.mt-ac-item:focus {
	background: color-mix(in srgb, var(--mt-primary, #00804d) 10%, #fff);
	outline: none;
}

/* Sidebar perks */
.mt-sidebar-perks {
	margin-top: 1rem;
}

.mt-perks-title {
	margin: 0 0 0.65rem;
	font-size: 1rem;
	font-weight: 700;
}

.mt-perks-list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.9rem;
	color: var(--mt-muted);
}

.mt-perks-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin-bottom: 0.45rem;
}

.mt-perk-check {
	color: var(--mt-primary, #00804d);
	font-weight: 800;
	flex-shrink: 0;
}

/* Results page */
.mt-results-page {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 0.5rem;
}

.mt-results-idle {
	text-align: center;
	padding: 2.5rem 1.5rem;
}

.mt-results-idle-title {
	margin: 0 0 0.5rem;
	font-size: 1.45rem;
}

.mt-results-idle-text {
	color: var(--mt-muted);
	margin: 0 0 1.25rem;
}

.mt-results-error {
	padding: 1.5rem;
	text-align: center;
}

.mt-results-back {
	margin-top: 1rem;
	display: inline-flex;
}

/* Premium results header */
.mt-results-hero {
	padding: 1.5rem 1.65rem;
	margin-bottom: 1.25rem;
}

.mt-results-headline {
	margin: 0 0 1rem;
	font-size: clamp(1.35rem, 2.5vw, 1.85rem);
	font-weight: 800;
	line-height: 1.2;
}

.mt-results-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.mt-chip {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.4rem;
	padding: 0.45rem 0.8rem;
	background: #f4f6f8;
	border-radius: 999px;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--mt-text);
	line-height: 1.25;
	max-width: 100%;
}

.mt-chip-label {
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--mt-muted);
	line-height: 1.2;
	flex-shrink: 0;
}

.mt-vehicle-grid--premium {
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.25rem;
}

.mt-vehicle-card--premium {
	border-radius: calc(var(--mt-radius) + 4px);
	box-shadow: 0 16px 48px rgba(15, 23, 42, 0.1);
}

.mt-vehicle-card--premium .mt-vehicle-media {
	aspect-ratio: 16 / 9;
}

.mt-vehicle-meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	list-style: none;
	margin: 0.35rem 0 0;
	padding: 0;
	font-size: 0.85rem;
	color: var(--mt-muted);
	font-weight: 600;
}

.mt-meta-ic {
	display: inline-block;
	width: 16px;
	height: 16px;
	opacity: 0.55;
	vertical-align: middle;
	margin-right: 0.15rem;
}

.mt-vehicle-amenities-preview {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	font-size: 0.78rem;
	color: var(--mt-muted);
}

.mt-vehicle-amenities-preview li {
	background: #f0f4f1;
	color: var(--mt-primary, #00804d);
	padding: 0.2rem 0.5rem;
	border-radius: 999px;
	font-weight: 600;
}

.mt-vehicle-amenities-preview .mt-amen-more {
	background: transparent;
	border: 1px dashed var(--mt-border);
	color: var(--mt-muted);
}

.mt-vehicle-meta-row .mt-meta-ic {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	opacity: 0.55;
}

.mt-empty-state--premium .mt-empty-wa-wrap {
	margin: 0 0 1.25rem;
}

.mt-empty-wa {
	min-width: 220px;
}

body.mt-modal-open {
	overflow: hidden;
}

/* Modal */
.mt-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 0;
}

.mt-modal[hidden] {
	display: none !important;
}

@media (min-width: 720px) {
	.mt-modal {
		align-items: center;
		padding: 1.5rem;
	}
}

.mt-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.45);
	backdrop-filter: blur(4px);
}

.mt-modal-dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 920px;
	max-height: min(92vh, 880px);
	overflow: hidden auto;
	background: #fff;
	border-radius: 20px 20px 0 0;
	box-shadow: 0 24px 80px rgba(15, 23, 42, 0.25);
	animation: mt-modal-in 0.22s ease-out;
}

@media (min-width: 720px) {
	.mt-modal-dialog {
		border-radius: 20px;
	}
}

@keyframes mt-modal-in {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.mt-modal-close {
	position: absolute;
	top: 0.65rem;
	right: 0.65rem;
	z-index: 2;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 999px;
	background: #f1f5f9;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	color: var(--mt-text);
}

.mt-modal-body {
	padding: 1.5rem 1.35rem 1.75rem;
}

@media (min-width: 720px) {
	.mt-modal-body {
		padding: 2rem 2rem 2.25rem;
	}
}

.mt-modal-title {
	margin: 0 2.5rem 0.75rem 0;
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.25;
}

.mt-modal-grid {
	display: grid;
	gap: 1.25rem;
}

@media (min-width: 720px) {
	.mt-modal-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
		align-items: start;
	}
}

.mt-modal-media {
	border-radius: 16px;
	overflow: hidden;
	background: #eef1f5;
	aspect-ratio: 16 / 10;
}

.mt-modal-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mt-modal-price {
	font-size: 1.65rem;
	font-weight: 800;
	color: var(--mt-primary, #00804d);
	margin: 0 0 0.35rem;
}

.mt-modal-route {
	margin: 0 0 1rem;
	color: var(--mt-muted);
	font-weight: 600;
	font-size: 0.95rem;
}

.mt-modal-long {
	margin: 0 0 0;
	font-size: 0.92rem;
	line-height: 1.5;
	color: #3d4453;
}

.mt-modal-main {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.mt-modal-amenities {
	margin: 0 0 1.1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--mt-border);
}

.mt-modal-meta {
	margin: 0 0 1.15rem;
	padding-bottom: 0.25rem;
}

.mt-modal-meta .mt-modal-long {
	margin-top: 0.5rem;
}

.mt-modal-surcharge-alert {
	font-size: 0.88rem;
	line-height: 1.45;
	color: #92400e;
	background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
	border: 1px solid #fcd34d;
	border-radius: 12px;
	padding: 0.65rem 0.9rem;
	margin: 0.55rem 0 0;
	box-sizing: border-box;
}

.mt-modal-surcharge-alert[hidden] {
	display: none !important;
}

.mt-modal-extras {
	margin: 0 0 0.35rem;
}

.mt-modal-extras .mt-extra-row {
	background: #f4f6f9;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 0.55rem 0.85rem;
}

.mt-modal-extras .mt-extra-row label {
	color: #1a1f2b;
	font-weight: 700;
}

.mt-modal-amenities h3,
.mt-modal-extras h3 {
	margin: 0 0 0.5rem;
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--mt-muted);
}

.mt-modal-amenities ul {
	margin: 0;
	padding-left: 1.1rem;
	color: var(--mt-text);
	font-size: 0.92rem;
}

.mt-extras-list {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.mt-extra-card {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	gap: 0.75rem;
	background: linear-gradient(180deg, #fafbfc 0%, #f1f5f9 100%);
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 0.75rem 0.9rem;
	font-size: 0.92rem;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.mt-extra-card--rich {
	border-color: color-mix(in srgb, var(--mt-primary, #00804d) 18%, #e2e8f0);
}

.mt-extra-card input[type='checkbox'] {
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
	flex-shrink: 0;
	accent-color: var(--mt-primary, #00804d);
	cursor: pointer;
}

.mt-extra-card input[type='checkbox'] + label {
	cursor: pointer;
	flex: 1;
	margin: 0;
	min-width: 2rem;
}

.mt-extra-card-top {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	flex: 1 1 12rem;
	min-width: 0;
}

.mt-extra-img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 10px;
	flex-shrink: 0;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.mt-extra-icon {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.35rem;
	color: var(--mt-primary, #00804d);
	flex-shrink: 0;
}

.mt-extra-text strong {
	display: block;
	font-weight: 700;
	color: var(--mt-text);
}

.mt-extra-desc {
	font-size: 0.82rem;
	color: var(--mt-muted);
	margin-top: 0.15rem;
	line-height: 1.35;
}

.mt-extra-price {
	font-weight: 800;
	color: var(--mt-primary, #00804d);
	margin-top: 0.2rem;
}

.mt-extra-qty {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	flex-shrink: 0;
}

.mt-extra-qty button {
	width: 2rem;
	height: 2rem;
	border-radius: 8px;
	border: 1px solid var(--mt-border);
	background: #fff;
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
	color: var(--mt-text);
}

.mt-extra-qty button:hover {
	border-color: var(--mt-primary, #00804d);
	color: var(--mt-primary, #00804d);
}

.mt-svc-qty-val {
	min-width: 1.5rem;
	text-align: center;
	font-weight: 800;
}

.mt-modal-breakdown {
	margin-top: 1rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--mt-border);
	font-size: 0.9rem;
}

.mt-modal-breakdown .mt-bd-title {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--mt-muted);
}

.mt-modal-breakdown .mt-bd-lines {
	margin: 0;
	padding-left: 1.1rem;
	color: var(--mt-text);
}

.mt-modal-breakdown .mt-bd-total {
	list-style: none;
	margin-left: -1.1rem;
	margin-top: 0.35rem;
	padding-top: 0.35rem;
	border-top: 1px dashed var(--mt-border);
	font-size: 1.02rem;
}

.mt-lang-switch {
	display: inline-flex;
	gap: 0.25rem;
	padding: 0.2rem;
	border-radius: 10px;
	background: #fff;
	border: 1px solid var(--mt-border, #e2e8f0);
}

.mt-lang-switch--card {
	margin-bottom: 0.75rem;
}

.mt-lang-btn {
	min-width: 2.25rem;
	padding: 0.35rem 0.55rem;
	border: 0;
	border-radius: 8px;
	background: transparent;
	font-weight: 800;
	font-size: 0.82rem;
	cursor: pointer;
	color: var(--mt-muted);
}

.mt-lang-btn:hover {
	color: var(--mt-text);
	background: #f4f6f9;
}

.mt-lang-btn.is-active {
	background: color-mix(in srgb, var(--mt-primary, #00804d) 12%, transparent);
	color: var(--mt-primary, #00804d);
}

.mt-extra-row {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	font-size: 0.92rem;
	font-weight: 600;
	padding: 0.35rem 0;
	line-height: 1.35;
}

.mt-extra-row input[type='checkbox'] {
	width: 1.1rem;
	height: 1.1rem;
	margin: 0.15rem 0 0;
	flex-shrink: 0;
	accent-color: var(--mt-primary, #00804d);
	cursor: pointer;
}

.mt-extra-row label {
	cursor: pointer;
	flex: 1;
	margin: 0;
	padding: 0;
	font-weight: 600;
	color: var(--mt-text);
	user-select: none;
}

.mt-modal-notes-label {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-top: 1rem;
	font-weight: 700;
	font-size: 0.88rem;
}

.mt-modal-notes-label textarea {
	width: 100%;
	border: 1px solid var(--mt-border);
	border-radius: 12px;
	padding: 0.65rem 0.75rem;
	font-family: inherit;
	font-size: 0.92rem;
	resize: vertical;
	min-height: 72px;
	color: var(--mt-text);
	background: #fff;
	-webkit-text-fill-color: var(--mt-text);
	line-height: 1.45;
}

.mt-modal-notes-label textarea:focus {
	outline: none;
	border-color: var(--mt-primary, #00804d);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mt-primary, #00804d) 18%, transparent);
}

.mt-modal-warn {
	color: #b45309;
	font-size: 0.88rem;
	margin: 0.75rem 0 0;
}

.mt-modal-wa {
	margin-top: 1.1rem;
	width: 100%;
	padding: 0.85rem 1.25rem;
	font-size: 1rem;
	border-radius: 14px;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}

/* —— Selectores de fecha / hora (12 h + calendario modal) —— */
.mt-date-trigger,
.mt-time-trigger {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	background: transparent;
	text-align: left;
	font: inherit;
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--mt-text);
	cursor: pointer;
	padding: 0.2rem 0;
	line-height: 1.35;
	-webkit-tap-highlight-color: transparent;
}

.mt-date-trigger:disabled,
.mt-time-trigger:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.mt-date-trigger-text.mt-is-placeholder {
	color: var(--mt-muted);
	font-weight: 600;
}

.mt-dp-pop,
.mt-tp-pop {
	font-family: inherit;
}

.mt-dp-pop[hidden],
.mt-tp-pop[hidden] {
	display: none !important;
}

/* Popovers fecha/hora: más compactos y menos invasivos */
.mt-dp-pop--compact .mt-dp-backdrop,
.mt-tp-pop--compact .mt-tp-backdrop {
	background: rgba(15, 23, 42, 0.22);
	-webkit-backdrop-filter: blur(1px);
	backdrop-filter: blur(1px);
}

.mt-dp-pop--compact .mt-dp-panel {
	padding: 0.45rem 0.6rem 0.55rem;
	border-radius: 14px;
	max-width: min(272px, calc(100vw - 16px));
	max-height: min(340px, 72vh);
}

.mt-dp-pop--compact .mt-dp-head {
	margin-bottom: 0.35rem;
}

.mt-dp-pop--compact .mt-dp-title {
	font-size: 0.88rem;
	line-height: 1.25;
}

.mt-dp-pop--compact .mt-dp-nav {
	margin-bottom: 0.2rem;
}

.mt-dp-pop--compact .mt-dp-prev,
.mt-dp-pop--compact .mt-dp-next {
	font-size: 1.1rem;
	padding: 0.15rem 0.35rem;
}

.mt-dp-pop--compact .mt-dp-month-label {
	font-size: 0.85rem;
}

.mt-dp-pop--compact .mt-dp-weekdays {
	margin-bottom: 0.15rem;
}

.mt-dp-pop--compact .mt-dp-wd {
	font-size: 0.62rem;
}

.mt-dp-pop--compact .mt-dp-grid {
	gap: 3px;
}

.mt-dp-pop--compact .mt-dp-day {
	height: 1.95rem;
	font-size: 0.78rem;
	border-radius: 8px;
}

.mt-dp-pop--compact .mt-dp-hint {
	margin: 0.45rem 0 0;
	padding: 0.4rem 0.5rem;
	font-size: 0.72rem;
	line-height: 1.35;
}

.mt-dp-pop--compact .mt-dp-x,
.mt-tp-pop--compact .mt-tp-x {
	width: 1.75rem;
	height: 1.75rem;
	font-size: 1.1rem;
}

.mt-tp-pop--compact .mt-tp-panel {
	padding: 0.45rem 0.6rem 0.55rem;
	border-radius: 14px;
	max-width: min(260px, calc(100vw - 16px));
}

.mt-tp-pop--compact .mt-tp-title {
	font-size: 0.88rem;
}

.mt-tp-pop--compact .mt-tp-wheels {
	margin: 0.35rem 0 0.55rem;
	padding: 0.25rem 0;
	gap: 0.25rem;
}

.mt-tp-pop--compact .mt-tp-num {
	font-size: 1.35rem;
	min-height: 2rem;
}

.mt-tp-pop--compact .mt-tp-sep {
	font-size: 1.2rem;
	padding-top: 1.15rem;
}

.mt-tp-pop--compact .mt-tp-step-up,
.mt-tp-pop--compact .mt-tp-step-down {
	width: 2.1rem;
	height: 1.65rem;
}

.mt-tp-pop--compact .mt-tp-ap-am,
.mt-tp-pop--compact .mt-tp-ap-pm {
	padding: 0.35rem 0.5rem;
	font-size: 0.75rem;
	min-width: 2.85rem;
}

.mt-tp-pop--compact .mt-tp-ok {
	padding: 0.55rem 0.85rem;
	font-size: 0.88rem;
}

.mt-dp-backdrop,
.mt-tp-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.4);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}

.mt-dp-panel,
.mt-tp-panel {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.2);
	border: 1px solid var(--mt-border);
	padding: 0.65rem 1rem 1rem;
	box-sizing: border-box;
	max-width: calc(100vw - 16px);
}

.mt-dp-head,
.mt-tp-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.mt-dp-title,
.mt-tp-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	color: var(--mt-text);
	flex: 1;
	padding-right: 0.25rem;
}

.mt-dp-x,
.mt-tp-x {
	border: 0;
	background: #f0f2f5;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	color: var(--mt-muted);
	flex-shrink: 0;
}

.mt-dp-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.35rem;
}

.mt-dp-prev,
.mt-dp-next {
	border: 0;
	background: transparent;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	color: var(--mt-text);
	padding: 0.25rem 0.5rem;
	border-radius: 8px;
}

.mt-dp-prev:hover,
.mt-dp-next:hover {
	background: #f0f2f5;
}

.mt-dp-month-label {
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--mt-text);
}

.mt-dp-weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
	margin-bottom: 0.25rem;
}

.mt-dp-wd {
	font-size: 0.68rem;
	font-weight: 700;
	color: var(--mt-muted);
	text-align: center;
	text-transform: uppercase;
}

.mt-dp-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
}

.mt-dp-day {
	border: 0;
	background: #f6f7f9;
	border-radius: 10px;
	height: 2.35rem;
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
	color: var(--mt-text);
	padding: 0;
}

.mt-dp-day.is-other {
	opacity: 0.35;
}

.mt-dp-day.is-today:not(.is-selected) {
	outline: 2px solid color-mix(in srgb, var(--mt-primary, #00804d) 45%, transparent);
}

.mt-dp-day.is-selected {
	background: var(--mt-accent, #f5c400);
	color: #1a1f2b;
}

.mt-dp-day.is-disabled,
.mt-dp-day:disabled {
	opacity: 0.28;
	cursor: not-allowed;
	pointer-events: none;
}

.mt-dp-day:not(.is-disabled):not(:disabled):hover {
	background: color-mix(in srgb, var(--mt-primary, #00804d) 12%, #fff);
}

.mt-dp-hint {
	margin: 0.75rem 0 0;
	padding: 0.55rem 0.65rem;
	border-radius: 10px;
	background: color-mix(in srgb, var(--mt-accent, #f5c400) 22%, #fff);
	color: #92400e;
	font-size: 0.82rem;
	line-height: 1.4;
}

.mt-tp-wheels {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 0.35rem;
	margin: 0.5rem 0 1rem;
	padding: 0.5rem 0;
}

.mt-tp-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.2rem;
	min-width: 3.5rem;
}

.mt-tp-step-up,
.mt-tp-step-down {
	border: 0;
	background: #eef1f5;
	width: 2.5rem;
	height: 2rem;
	border-radius: 8px;
	cursor: pointer;
	font-size: 0.75rem;
	color: var(--mt-muted);
	line-height: 1;
}

.mt-tp-step-up:hover,
.mt-tp-step-down:hover {
	background: #e2e6ed;
	color: var(--mt-text);
}

.mt-tp-num {
	font-size: 1.65rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	min-height: 2.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--mt-text);
}

.mt-tp-sep {
	font-size: 1.5rem;
	font-weight: 800;
	align-self: center;
	padding-top: 1.6rem;
	color: var(--mt-muted);
}

.mt-tp-ampm {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	justify-content: center;
	margin-left: 0.25rem;
}

.mt-tp-ap-am,
.mt-tp-ap-pm {
	border: 1px solid var(--mt-border);
	background: #fff;
	border-radius: 10px;
	padding: 0.45rem 0.65rem;
	font-size: 0.82rem;
	font-weight: 700;
	cursor: pointer;
	color: var(--mt-muted);
	min-width: 3.25rem;
}

.mt-tp-ap-am.is-active,
.mt-tp-ap-pm.is-active {
	background: color-mix(in srgb, var(--mt-primary, #00804d) 12%, #fff);
	border-color: var(--mt-primary, #00804d);
	color: var(--mt-primary, #00804d);
}

.mt-tp-ok {
	width: 100%;
	border-radius: 12px;
	padding: 0.75rem 1rem;
	font-weight: 800;
	font-size: 0.95rem;
}

/*
 * Opcional (tema / Elementor): añade la clase al título del hero para que no compita
 * con el buscador. Ej.: class="... mt-hero-companion-heading"
 */
.mt-hero-companion-heading {
	font-size: clamp(1.65rem, 3.2vw, 2.65rem) !important;
	line-height: 1.12 !important;
	letter-spacing: -0.02em;
	max-width: 22ch;
	margin-left: auto;
	margin-right: auto;
}
