/* ==========================================================
   TMV Turismo · Menú para Astra
   Colores tomados del hero: turquesa degradé + naranja
   ========================================================== */
:root {
	--tmv-c1: #1f6584;      /* turquesa oscuro */
	--tmv-c2: #2db4d8;      /* turquesa claro  */
	--tmv-acc: #f7a823;     /* naranja         */
	--tmv-ink: #10303f;     /* texto oscuro    */
	--tmv-font: 'Montserrat', 'Open Sans', sans-serif;
}

/* ---------- Barra principal (escritorio y móvil) ---------- */
.tmv-menu #masthead .ast-primary-header-bar,
.tmv-menu #masthead .main-header-bar {
	position: relative;
	background: linear-gradient(110deg, var(--tmv-c1) 0%, var(--tmv-c2) 100%) !important;
	border-bottom: 0 !important;
	transition: box-shadow .3s ease, filter .3s ease;
}
/* Línea naranja fina debajo */
.tmv-menu #masthead .ast-primary-header-bar::after,
.tmv-menu #masthead .main-header-bar::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--tmv-acc), #ffd27a 50%, var(--tmv-acc));
	pointer-events: none;
}
.tmv-menu #masthead .ast-above-header-bar,
.tmv-menu #masthead .ast-below-header-bar { border: 0 !important; }

/* Logo en texto */
.tmv-menu #masthead .site-title a,
.tmv-menu #masthead .site-title a:hover {
	color: #fff !important;
	font-family: var(--tmv-font);
	font-weight: 800;
	letter-spacing: .02em;
}
.tmv-menu #masthead .site-description { color: rgba(255,255,255,.8) !important; }

/* ---------- Ítems de primer nivel (solo header de escritorio de Astra) ---------- */
.tmv-menu #ast-desktop-header .main-header-menu > .menu-item > .menu-link {
	position: relative;
	font-family: var(--tmv-font);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .06em;
	color: #fff !important;
	padding-left: 16px;
	padding-right: 16px;
	background: transparent !important;
	transition: color .2s ease;
}
.tmv-menu.tmv-upper #ast-desktop-header .main-header-menu > .menu-item > .menu-link { text-transform: uppercase; }

.tmv-menu #ast-desktop-header .main-header-menu .ast-icon svg,
.tmv-menu #ast-desktop-header .main-header-menu .dropdown-menu-toggle svg { fill: currentColor !important; }

/* Subrayado naranja animado */
.tmv-menu #ast-desktop-header .main-header-menu > .menu-item > .menu-link::after {
	content: "";
	position: absolute;
	left: 16px; right: 16px;
	bottom: calc(50% - 17px);
	height: 3px;
	border-radius: 3px;
	background: var(--tmv-acc);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .28s cubic-bezier(.4,0,.2,1);
}
.tmv-menu #ast-desktop-header .main-header-menu > .menu-item:hover > .menu-link::after,
.tmv-menu #ast-desktop-header .main-header-menu > .menu-item:focus-within > .menu-link::after,
.tmv-menu #ast-desktop-header .main-header-menu > .current-menu-item > .menu-link::after,
.tmv-menu #ast-desktop-header .main-header-menu > .current-menu-ancestor > .menu-link::after {
	transform: scaleX(1);
}
.tmv-menu #ast-desktop-header .main-header-menu > .current-menu-item > .menu-link,
.tmv-menu #ast-desktop-header .main-header-menu > .current-menu-ancestor > .menu-link {
	color: var(--tmv-acc) !important;
}

/* ---------- Botón CTA (clase "tmv-cta" en el ítem de menú) ---------- */
.tmv-menu #ast-desktop-header .main-header-menu > .menu-item.tmv-cta > .menu-link{
	display: inline-flex;
	align-items: center;
	align-self: center;
	line-height: 1.2 !important;
	height: auto !important;
	padding: 11px 24px !important;
	margin-left: 10px;
	border-radius: 999px !important;
	border: 0 !important;
	background: var(--tmv-acc) !important;
	color: var(--tmv-ink) !important;
	font-family: var(--tmv-font);
	font-weight: 700 !important;
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
	box-shadow: 0 6px 18px rgba(247,168,35,.38);
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.tmv-menu #ast-desktop-header .main-header-menu > .menu-item.tmv-cta { display: flex; align-items: center; }
.tmv-menu #ast-desktop-header .main-header-menu > .menu-item.tmv-cta > .menu-link::after { display: none; }
.tmv-menu #ast-desktop-header .main-header-menu > .menu-item.tmv-cta > .menu-link:hover{
	transform: translateY(-2px);
	filter: brightness(1.06);
	box-shadow: 0 10px 24px rgba(247,168,35,.5);
}

/* ---------- Submenús (escritorio) ---------- */
	.tmv-menu #ast-desktop-header .main-header-menu .sub-menu {
		background: #fff !important;
		border: 0 !important;
		border-top: 3px solid var(--tmv-acc) !important;
		border-radius: 0 0 14px 14px;
		box-shadow: 0 18px 40px rgba(16,48,63,.18);
		padding: 8px !important;
		min-width: 240px;
	}
	.tmv-menu #ast-desktop-header .main-header-menu .sub-menu .sub-menu {
		border-radius: 14px;
		margin-left: 6px;
	}
	.tmv-menu #ast-desktop-header .main-header-menu .sub-menu .menu-item { border: 0 !important; }
	.tmv-menu #ast-desktop-header .main-header-menu .sub-menu .menu-link {
		font-family: var(--tmv-font);
		font-size: 14px;
		font-weight: 500;
		color: var(--tmv-ink) !important;
		padding: 10px 14px !important;
		border-radius: 9px;
		border: 0 !important;
		background: transparent !important;
		transition: background .2s ease, color .2s ease, padding .2s ease;
	}
	.tmv-menu #ast-desktop-header .main-header-menu .sub-menu .menu-link:hover,
	.tmv-menu #ast-desktop-header .main-header-menu .sub-menu .current-menu-item > .menu-link {
		background: #eaf7fb !important;
		color: var(--tmv-c1) !important;
		padding-left: 20px !important;
	}


/* ---------- Botón del Header Builder de Astra (elemento "Button") ---------- */
.tmv-menu #masthead .ast-header-button-1 .ast-custom-button {
	padding: 11px 24px !important;
	border-radius: 999px !important;
	border: 0 !important;
	background: var(--tmv-acc) !important;
	color: var(--tmv-ink) !important;
	font-family: var(--tmv-font);
	font-weight: 700 !important;
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
	box-shadow: 0 6px 18px rgba(247,168,35,.38);
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.tmv-menu #masthead .ast-header-button-1 .ast-custom-button:hover {
	transform: translateY(-2px);
	filter: brightness(1.06);
}

/* ---------- Header fijo al hacer scroll ---------- */
.tmv-sticky #masthead { position: sticky; top: 0; z-index: 999; }
.admin-bar.tmv-sticky #masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar.tmv-sticky #masthead { top: 46px; } }
@media (max-width: 600px) { .admin-bar.tmv-sticky #masthead { top: 0; } }

.tmv-scrolled #masthead .ast-primary-header-bar,
.tmv-scrolled #masthead .main-header-bar {
	box-shadow: 0 8px 26px rgba(10,40,55,.28);
	filter: saturate(1.08);
}

/* ---------- Móvil / tablet ----------
   Se apunta a los contenedores propios de Astra (#ast-mobile-header y
   #ast-mobile-popup-wrapper), sin depender del ancho de pantalla.      */

/* Botón hamburguesa */
.tmv-menu #ast-mobile-header .menu-toggle,
.tmv-menu #ast-mobile-header .ast-mobile-menu-trigger-minimal,
.tmv-menu #ast-mobile-header .ast-mobile-menu-trigger-fill,
.tmv-menu #ast-mobile-header .ast-mobile-menu-trigger-outline {
	color: #fff !important;
	background: rgba(255,255,255,.16) !important;
	border: 1px solid rgba(255,255,255,.4) !important;
	border-radius: 10px !important;
	padding: 8px 10px !important;
}
.tmv-menu #ast-mobile-header .menu-toggle svg,
.tmv-menu #ast-mobile-header .menu-toggle svg path,
.tmv-menu #ast-mobile-header .menu-toggle .ast-mobile-svg { fill: #fff !important; color: #fff !important; }

/* Panel desplegable (modo "Dropdown") y panel lateral (modo "Off-Canvas") */
.tmv-menu #ast-mobile-header .ast-mobile-header-content,
.tmv-menu #ast-mobile-popup-wrapper .ast-mobile-popup-inner,
.tmv-menu .ast-mobile-popup-drawer .ast-mobile-popup-inner {
	background: linear-gradient(180deg, var(--tmv-c1) 0%, var(--tmv-c2) 100%) !important;
}
/* Si el header es fijo, el menú largo se puede desplazar */
.tmv-sticky #ast-mobile-header .ast-mobile-header-content {
	max-height: calc(100vh - 80px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

/* Astra pone fondo blanco a estos contenedores: se vuelven transparentes
   (era la causa de texto blanco sobre fondo blanco) */
.tmv-menu #ast-mobile-header .ast-mobile-header-content .ast-builder-menu-mobile,
.tmv-menu #ast-mobile-header .ast-mobile-header-content .main-navigation,
.tmv-menu #ast-mobile-header .ast-mobile-header-content .main-header-menu,
.tmv-menu #ast-mobile-header .ast-mobile-header-content .menu-item,
.tmv-menu #ast-mobile-popup-wrapper .ast-mobile-popup-content,
.tmv-menu #ast-mobile-popup-wrapper .ast-builder-menu-mobile,
.tmv-menu #ast-mobile-popup-wrapper .main-navigation,
.tmv-menu #ast-mobile-popup-wrapper .main-header-menu,
.tmv-menu #ast-mobile-popup-wrapper .menu-item {
	background: transparent !important;
	border: 0 !important;
}
.tmv-menu #ast-mobile-popup-wrapper .menu-toggle-close,
.tmv-menu #ast-mobile-popup-wrapper .menu-toggle-close svg { color: #fff !important; fill: #fff !important; }

/* Enlaces */
.tmv-menu #ast-mobile-header .ast-mobile-header-content .menu-link,
.tmv-menu #ast-mobile-popup-wrapper .menu-link {
	display: block;
	font-family: var(--tmv-font);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.4;
	color: #fff !important;
	background: transparent !important;
	padding: 14px 22px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.15) !important;
	text-decoration: none;
}
.tmv-menu #ast-mobile-header .ast-mobile-header-content .menu-link:hover,
.tmv-menu #ast-mobile-popup-wrapper .menu-link:hover { background: rgba(255,255,255,.08) !important; }

.tmv-menu #ast-mobile-header .ast-mobile-header-content .current-menu-item > .menu-link,
.tmv-menu #ast-mobile-popup-wrapper .current-menu-item > .menu-link {
	color: var(--tmv-acc) !important;
	box-shadow: inset 4px 0 0 var(--tmv-acc);
}

/* Submenús en móvil */
.tmv-menu #ast-mobile-header .ast-mobile-header-content .sub-menu,
.tmv-menu #ast-mobile-popup-wrapper .sub-menu {
	background: rgba(0,0,0,.15) !important;
	border: 0 !important;
	box-shadow: none !important;
}
.tmv-menu #ast-mobile-header .ast-mobile-header-content .sub-menu .menu-link,
.tmv-menu #ast-mobile-popup-wrapper .sub-menu .menu-link {
	font-weight: 500;
	font-size: 14px;
	padding-left: 36px !important;
}
.tmv-menu #ast-mobile-header .ast-mobile-header-content .ast-menu-toggle,
.tmv-menu #ast-mobile-popup-wrapper .ast-menu-toggle,
.tmv-menu #ast-mobile-header .ast-mobile-header-content .ast-menu-toggle svg,
.tmv-menu #ast-mobile-popup-wrapper .ast-menu-toggle svg { color: #fff !important; fill: #fff !important; }

/* CTA en móvil */
.tmv-menu #ast-mobile-header .ast-mobile-header-content .menu-item.tmv-cta > .menu-link,
.tmv-menu #ast-mobile-popup-wrapper .menu-item.tmv-cta > .menu-link {
	text-align: center;
	margin: 16px 22px;
	padding: 13px 20px !important;
	border-radius: 999px;
	border: 0 !important;
	background: var(--tmv-acc) !important;
	color: var(--tmv-ink) !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	box-shadow: none;
}
