/*
Theme Name: Via Libre
Theme URI: https://www.navitrans.com.co/via-libre
Author: Juan Cralos Zorro
Author URI: https://www.navitrans.com.co
Description: Tema base ligero optimizado para Elementor Pro y FSE (no‑bloque). Incluye variables CSS globales, tipografía modular y soporte SVG.
Version: 1.0.5
License: GNU General Public License v2 or later
Text Domain: vialibre
*/

/* —──────────────────────
   VARIABLES GLOBALES
   —────────────────────── */
:root {
	/* Colores corporativos */
	--clr-primary: #00ee80;
	--clr-primary-dark: #038f4d;
	--clr-dark: #212237;
	--clr-light: #ffffff;
	--clr-gray-100: #f5f5f5;
	--clr-gray-300: #e1e1e1;
	--clr-gray-700: #333333;
	--clr-accent: #ffb500; /* opcional */
	--clr-contraste-30: #bd4bee;
	--clr-contraste-500: #af26eb;
	--clr-contraste-700: #870cbc;

	/* Tipografía */
	--ff-base: "Inter", "Segoe UI", Roboto, sans-serif;
	--ff-heading: "Poppins", "Inter", sans-serif;
	/* Escala modular 1.25 */
	--fs-300: 0.8rem; /* pequeñas anotaciones */
	--fs-400: 1rem; /* texto corriente */
	--fs-500: 1.25rem; /* lead */
	--fs-600: 1.563rem; /* h4 */
	--fs-700: 1.953rem; /* h3 */
	--fs-800: 2.441rem; /* h2 */
	--fs-900: 3.052rem; /* h1 */

	/* Espaciado (8 px‑base) */
	--sp-1: 0.25rem; /* 4 px  */
	--sp-2: 0.5rem; /* 8 px  */
	--sp-3: 1rem; /* 16 px */
	--sp-4: 1.5rem; /* 24 px */
	--sp-5: 2rem; /* 32 px */
	--sp-6: 3rem; /* 48 px */
	--content-max: 72rem; /* 1152 px */
}

/* —──────────────────────
   RESET BÁSICO / BOX‑SIZING
   —────────────────────── */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	font-family: var(--ff-base);
	font-size: var(--fs-400);
	line-height: 1.55;
	color: var(--clr-gray-700);
	background: var(--clr-light);
	-webkit-font-smoothing: antialiased;
}

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

a {
	color: var(--clr-primary-dark);
	font-family: var(--ff-base);
	text-underline-offset: 0.15em;
	transition: color 0.2s ease;
	text-decoration: none;
}
a:hover,
a:focus {
	color: var(--clr-primary);
	text-decoration: none;
}

p {
	margin-block: var(--sp-3);
	font-family: var(--ff-base);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--ff-heading);
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: var(--sp-3);
	color: var(--clr-dark);
}
h1 {
	font-size: var(--fs-900);
}
h2 {
	font-size: var(--fs-800);
}
h3 {
	font-size: var(--fs-700);
}
h4 {
	font-size: var(--fs-600);
}
h5 {
	font-size: var(--fs-500);
}
h6 {
	font-size: var(--fs-400);
	letter-spacing: 0.05em;
}

ul,
ol {
	margin-block: var(--sp-3) var(--sp-4);
	padding-left: 1.25rem;
	font-family: var(--ff-base);
}
li + li {
	margin-top: 0.35em;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin-block: var(--sp-4);
	font-family: var(--ff-base);
	font-size: var(--fs-400);
}
th,
td {
	border: 1px solid var(--clr-gray-300);
	padding: var(--sp-2);
	font-family: var(--ff-base);
}
th {
	background: var(--clr-gray-100);
	text-align: left;
	font-family: var(--ff-heading);
}

button,
input[type="submit"] {
	cursor: pointer;
	border: none;
	padding: var(--sp-2) var(--sp-3);
	font-family: var(--ff-base);
	font-size: var(--fs-400);
	border-radius: 0.25rem;
	transition: background 0.25s;
	background: var(--clr-primary);
	color: #fff;
}
button:hover,
input[type="submit"]:hover {
	background: var(--clr-primary-dark);
	font-family: var(--ff-base);
}

blockquote {
	border-left: 0.25rem solid var(--clr-primary);
	padding-left: var(--sp-3);
	font-style: italic;
	color: var(--clr-dark);
	margin-block: var(--sp-4);
	font-family: var(--ff-base);
}

/* Containers */
.wrap {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	margin-inline: auto;
}

/* Helpers */
.text-center {
	text-align: center;
}
.mt-6 {
	margin-top: var(--sp-6);
}
.pb-4 {
	padding-bottom: var(--sp-4);
}
/* …añade las utilidades que necesites */

/* —──────────────────────
   ELEMENTOR AJUSTES BÁSICOS
   —────────────────────── */
/* Elementor heredará las variables; solo aclaramos alturas */
.elementor-section {
	scroll-margin-top: 4rem;
}

/* Corrige ancho completo de contenedor site */
.elementor-page .site-main {
	padding-top: 0;
}

/* —──────────────────────
   MEDIA QUERIES
   —────────────────────── */
@media (min-width: 48em) {
	body {
		font-size: 1.05rem;
	}
}
