:root {
	--digital-cyan: #21BCFF;
	--corporate-blue: #0A7BC7;
	--deep-navy: #042A44;
	--light-gray: #F1F5F9;
	--white: #FFFFFF;
	--text-main: #1E293B;
	--primary-color: #2c3e50;
	--bg-light: #f4f7f6;
	--text-dark: #333;
}

body {
	font-family: 'Inter', sans-serif;
	margin: 0;
	background-color: var(--white);
	color: var(--text-main);
	line-height: 1.6;
}

/* --- Navegación Superior --- */
header {
	position: sticky;
	top: 0;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(10px);
	z-index: 1000;
	border-bottom: 1px solid var(--light-gray);
}

nav {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.logo {
	font-weight: 800;
	font-size: 22px;
	color: var(--deep-navy);
	text-decoration: none;
}

.logo span {
	color: var(--corporate-blue);
}

.nav-links a {
	text-decoration: none;
	color: var(--text-main);
	font-weight: 600;
	font-size: 14px;
	margin-left: 30px;
	transition: color 0.3s;
}

.nav-links a:hover {
	color: var(--corporate-blue);
}

.hero {
	padding: 120px 20px;
	text-align: center;
	background: radial-gradient(circle at top, #E6F7FF 0%, #FFFFFF 50%);
}

.hero h1 {
	font-size: clamp(40px, 5vw, 68px);
	font-weight: 800;
	color: var(--deep-navy);
	letter-spacing: -2px;
	margin-bottom: 20px;
}

.hero p {
	max-width: 650px;
	margin: 0 auto 40px;
	font-size: 18px;
	color: #475569;
}

/* --- Botones --- */
.btn-cta {
	display: inline-block;
	padding: 12px 30px;
	border-radius: 10px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.3s ease;
	background: #2c3e50; 
	color: #ffffff !important;
}

.btn-cta:hover {
	/* transform: translateY(-2px); */
	box-shadow: 0 5px 15px rgba(44, 62, 80, 0.3);
	background: #34495e;
}

.btn-cta-tarifas {
	display: inline-block;
	padding: 12px 30px;
	border-radius: 10px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.3s ease;
	background: #2c3e50; 
	color: #ffffff !important;
	border: none;
}

.btn-cta-tarifas:hover {
	box-shadow: 0 5px 15px rgba(44, 62, 80, 0.3);
	background: #2c9bc7; 
	border: none;
}

/* --- Sección de contenido en dos dolumnas (Mapa y Texto) --- */
.content-section {
	max-width: 1100px;
	margin: 0 auto;
	padding: 100px 20px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}

.text-block h2 {
	font-size: 32px;
	font-weight: 800;
	color: var(--deep-navy);
	margin-top: 2.5rem;
}

.text-block p {
	margin-bottom: 20px;
	font-size: 16px;
	color: #334155;
}

/* --- Contenedor del mapa --- */
.map-container {
	background: var(--light-gray);
	border-radius: 32px;
	padding: 30px;
	border: 1px solid #E2E8F0;
	box-shadow: 0 20px 40px rgba(0,0,0,0.02);
}


 /* --- Mapa interactivo --- */
.mapa-interactivo-container {
	position: relative;
	width: 100%;
	max-width: 700px;
	margin: auto;
	background: #F8FAFC;
	border-radius: 30px;
	padding: 20px;
	border: 2px solid #E2E8F0;
}

.mexico-map {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 10px 15px rgba(4, 42, 68, 0.05));
}

.estado {
	fill: #afc4da;
	stroke: #c2d9f0;
	stroke-width: 1.5;
	transition: all 0.3s ease;
	cursor: pointer;
}

.estado:hover {
	fill: #0A7BC7;
	stroke: #FFFFFF;
	opacity: 0.8;
}

/* Numero de clientes */

.map-label {
    font-family: 'Arial', sans-serif;
    font-size: 12px;
    font-weight: bold;
    fill: #497eb3; /* El color azul que usas en tu menú */
    pointer-events: none; /* Para que no estorbe al hacer hover en el mapa */
}

/* --- Puntos en mapa --- */
.punto-presencia {
	fill: #21BCFF;
	stroke: white;
	stroke-width: 2;
	filter: drop-shadow(0 0 5px #21BCFF);
	animation: pulseMap 2s infinite;
}

@keyframes pulseMap {
	0% { r: 5; opacity: 1; }
	50% { r: 8; opacity: 0.7; }
	100% { r: 5; opacity: 1; }
}



/* Boton de acceso clientes*/
/* Contenedor relativo para el posicionamiento */
.dropdown-container {
    position: relative;
    display: inline-block;
}

/* Menú oculto por defecto */

.dropdown-menu-nuevo {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #ffffff;
    width: 170px;
    box-shadow: 0px 8px 16px rgba(0,0,0,0.15);
    padding: 10px 0 0 0; 
    margin: 0;
    list-style: none !important;
    border-radius: 6px;
    z-index: 1000;
    border: 1px solid #e0e0e0;
}

/* Mostrar menú al hacer hover en el contenedor */
.dropdown-container:hover .dropdown-menu-nuevo {
    display: block;
}

/* Estilo de los elementos de la lista */
.dropdown-menu-nuevo li {
    border-bottom: 1px solid #f0f0f0;
}

.dropdown-menu-nuevo li:last-child {
    border-bottom: none;
}

.dropdown-menu-nuevo a {
    color: #497eb3;
    padding: 12px 5px;
    text-decoration: none;
    display: block;
    font-size: 18px;
    transition: background 0.2s;
}

.dropdown-menu-nuevo a:hover {
    background-color: #f8f9fa;
}

/* Estilos de texto específicos */
.brand-text {
    font-weight: bold;
	color: #767879;
}

.version-tag {
    display: block;
    font-size: 11.5px;
    color: #d4a017;
    text-transform: uppercase;
    font-weight: bold;
    margin-top: 2px;
}

.title-display-us {
    font-size: 38px;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 5px;
    text-align: left;
}

.descripcion-us {
	font-style: italic;
}

.bold-word {
	font-weight: bolder;
}









.map-container {
    position: relative;
    display: inline-block;
}

.estado {
    cursor: default; /* Como es informativo, usamos el cursor estándar */
    transition: fill 0.3s;
}

.estado:hover {
    fill: #497eb3; /* Color de realce al pasar el mouse */
}

.map-tooltip {
    position: absolute;
    display: none; /* Oculto por defecto */
    background-color: rgba(255, 255, 255, 0.95);
    border: 1px solid #e0e0e0;
    padding: 8px 12px;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    font-family: sans-serif;
    font-size: 14px;
    color: #333;
    pointer-events: none; /* Evita que el tooltip interfiera con el mouse */
    z-index: 2000;
    white-space: nowrap;
}

.map-tooltip strong {
    color: #497eb3; /* Resaltamos el número de clientes */
    display: block;
    font-size: 16px;
}