/* =====================================================================
 * Tema Grupo ABACUS (grupoabacus.com) sobre Porto
 * Generado con tools/grupoabacus_web/tema/gen_tema.py. No editar a mano.
 * Paleta (contraste WCAG sobre blanco):
 *   primario   #0741AD  azul del logo ............ 8.9:1
 *   secundario #1F6FD1  azul medio (textos) ...... 4.9:1
 *   terciario  #1E3765  azul marino (fondos) ..... 11.9:1
 *   oscuro     #1B2330  pie y textos fuertes ..... 15.6:1
 *   texto      #4A5160  párrafos ................. 8.0:1
 *   suave      #5F6673  textos secundarios ....... 5.8:1
 *   celeste    #459BF1  solo decorativo (bordes, íconos sobre oscuro)
 * Tipografía: Poppins (títulos, menú, botones) + Open Sans (texto) + Shadows Into Light (solo acentos).
 * ===================================================================== */
:root {
	--primary: #0741AD;
	--primary-100: #063894;
	--primary-200: #063388;
	--primary-300: #052f7c;
	--primary--100: #084ac6;
	--primary--200: #084fd2;
	--primary--300: #0953de;
	--primary-rgba-0: rgba(7, 65, 173, 0);
	--primary-rgba-10: rgba(7, 65, 173, 0.1);
	--primary-rgba-20: rgba(7, 65, 173, 0.2);
	--primary-rgba-30: rgba(7, 65, 173, 0.3);
	--primary-rgba-40: rgba(7, 65, 173, 0.4);
	--primary-rgba-50: rgba(7, 65, 173, 0.5);
	--primary-rgba-60: rgba(7, 65, 173, 0.6);
	--primary-rgba-70: rgba(7, 65, 173, 0.7);
	--primary-rgba-80: rgba(7, 65, 173, 0.8);
	--primary-rgba-90: rgba(7, 65, 173, 0.9);
	--primary-inverse: #FFF;
	--secondary: #1F6FD1;
	--secondary-100: #1c63bb;
	--secondary-200: #1a5db0;
	--secondary-300: #1857a5;
	--secondary--100: #2a7cdf;
	--secondary--200: #3582e1;
	--secondary--300: #4089e3;
	--secondary-rgba-0: rgba(31, 111, 209, 0);
	--secondary-rgba-10: rgba(31, 111, 209, 0.1);
	--secondary-rgba-20: rgba(31, 111, 209, 0.2);
	--secondary-rgba-30: rgba(31, 111, 209, 0.3);
	--secondary-rgba-40: rgba(31, 111, 209, 0.4);
	--secondary-rgba-50: rgba(31, 111, 209, 0.5);
	--secondary-rgba-60: rgba(31, 111, 209, 0.6);
	--secondary-rgba-70: rgba(31, 111, 209, 0.7);
	--secondary-rgba-80: rgba(31, 111, 209, 0.8);
	--secondary-rgba-90: rgba(31, 111, 209, 0.9);
	--secondary-inverse: #FFF;
	--tertiary: #1E3765;
	--tertiary-100: #182c51;
	--tertiary-200: #152748;
	--tertiary-300: #12223e;
	--tertiary--100: #244279;
	--tertiary--200: #274782;
	--tertiary--300: #2a4c8c;
	--tertiary-rgba-0: rgba(30, 55, 101, 0);
	--tertiary-rgba-10: rgba(30, 55, 101, 0.1);
	--tertiary-rgba-20: rgba(30, 55, 101, 0.2);
	--tertiary-rgba-30: rgba(30, 55, 101, 0.3);
	--tertiary-rgba-40: rgba(30, 55, 101, 0.4);
	--tertiary-rgba-50: rgba(30, 55, 101, 0.5);
	--tertiary-rgba-60: rgba(30, 55, 101, 0.6);
	--tertiary-rgba-70: rgba(30, 55, 101, 0.7);
	--tertiary-rgba-80: rgba(30, 55, 101, 0.8);
	--tertiary-rgba-90: rgba(30, 55, 101, 0.9);
	--tertiary-inverse: #FFF;
	--quaternary: #1B2330;
	--quaternary-100: #121720;
	--quaternary-200: #0d1118;
	--quaternary-300: #090b0f;
	--quaternary--100: #242f40;
	--quaternary--200: #293548;
	--quaternary--300: #2d3b51;
	--quaternary-rgba-0: rgba(27, 35, 48, 0);
	--quaternary-rgba-10: rgba(27, 35, 48, 0.1);
	--quaternary-rgba-20: rgba(27, 35, 48, 0.2);
	--quaternary-rgba-30: rgba(27, 35, 48, 0.3);
	--quaternary-rgba-40: rgba(27, 35, 48, 0.4);
	--quaternary-rgba-50: rgba(27, 35, 48, 0.5);
	--quaternary-rgba-60: rgba(27, 35, 48, 0.6);
	--quaternary-rgba-70: rgba(27, 35, 48, 0.7);
	--quaternary-rgba-80: rgba(27, 35, 48, 0.8);
	--quaternary-rgba-90: rgba(27, 35, 48, 0.9);
	--quaternary-inverse: #FFF;
	--dark: #1B2330;
	--dark-100: #121720;
	--dark-200: #0d1118;
	--dark-300: #090b0f;
	--dark--100: #242f40;
	--dark--200: #293548;
	--dark--300: #2d3b51;
	--dark-rgba-0: rgba(27, 35, 48, 0);
	--dark-rgba-10: rgba(27, 35, 48, 0.1);
	--dark-rgba-20: rgba(27, 35, 48, 0.2);
	--dark-rgba-30: rgba(27, 35, 48, 0.3);
	--dark-rgba-40: rgba(27, 35, 48, 0.4);
	--dark-rgba-50: rgba(27, 35, 48, 0.5);
	--dark-rgba-60: rgba(27, 35, 48, 0.6);
	--dark-rgba-70: rgba(27, 35, 48, 0.7);
	--dark-rgba-80: rgba(27, 35, 48, 0.8);
	--dark-rgba-90: rgba(27, 35, 48, 0.9);
	--dark-inverse: #FFF;
	--default: #4A5160;
	--light-inverse: #4A5160;
	--abacus-texto: #4A5160;
	--abacus-suave: #5F6673;
	--abacus-titulo: #1B2330;
	--abacus-celeste: #459BF1;
	--abacus-fondo: #F4F7FC;
	--grey-100: #F4F7FC;
	--footer-background-color: #1B2330;
}

/* ---------- Tipografía: una sola familia para títulos y otra para texto ---------- */
body, p, li, td, th, dd, dt, label, input, textarea, select, .form-control, .card-text {
	font-family: "Open Sans", Arial, sans-serif;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
#header .header-nav-main nav > ul > li > a, #header .header-nav-main nav > ul > li .dropdown-menu li a,
.btn, .badge, .breadcrumb, .page-header h1, .card-title, .accordion .card-title, .sitio-precio {
	font-family: "Poppins", Arial, sans-serif;
}
/* Letra de acento (manuscrita): solo para detalles como "Sistema" (highlighted-word) o la cinta "Hablemos" del pie */
.highlighted-word, .alternative-font, .font-acento, #footer .footer-ribbon span {
	font-family: "Shadows Into Light", cursive !important;
	font-style: normal !important;
}
.alternative-font { font-size: 1.15em; color: var(--primary); }
/* Fuentes de las demos de Porto y de pruebas anteriores (Playfair, Lora, Oswald, Crimson, Handlee, Montserrat) */
.font-secondary, .font-tertiary, .custom-font-secondary, .font-primary, .alternative-font-2, .alternative-font-3, .alternative-font-6,
[class*="crimson-text"] {
	font-family: "Poppins", Arial, sans-serif !important;
	font-style: normal !important;
}
[style*="Playfair"], [style*="Crimso"], [style*="Lora"], [style*="Oswald"] {
	font-family: "Poppins", Arial, sans-serif !important;
}

/* ---------- Texto con contraste suficiente ---------- */
body { color: var(--abacus-texto); }
p { color: var(--abacus-texto); }
h1, h2, h3, h4, h5, h6 { color: var(--abacus-titulo); }
.text-color-default, .text-default { color: var(--abacus-texto) !important; }
.text-muted, .text-color-grey, .text-grey { color: var(--abacus-suave) !important; }
/* En secciones oscuras el texto sigue siendo claro */
.bg-primary p, .bg-tertiary p, .bg-dark p, .bg-quaternary p, .bg-color-dark p,
.bg-primary h1, .bg-primary h2, .bg-primary h3, .bg-tertiary h1, .bg-tertiary h2, .bg-tertiary h3,
.text-color-light, .text-color-light p { color: #FFF; }

/* Barra superior del encabezado (era #999 sobre blanco, 2.8:1) */
#header .header-nav-top .nav > li > a, #header .header-nav-top .nav > li > span,
#header .header-nav-top .nav > li > a i, #header .header-nav-top .nav > li > span i {
	color: var(--abacus-suave) !important;
}
#header .header-nav-top .nav > li > a:hover { color: var(--primary) !important; }

/* Menú: el texto activo o en hover es blanco sobre el azul primario */
@media (min-width: 992px) {
	#header .header-nav-main nav > ul > li > a { color: var(--primary); }
	#header .header-nav-main nav > ul > li.active > a,
	#header .header-nav-main nav > ul > li:hover > a,
	#header .header-nav-main nav > ul > li:focus > a { background-color: var(--primary) !important; color: #FFF !important; }
	#header .header-nav-main nav > ul > li .dropdown-menu li a { color: var(--abacus-texto); }
	#header .header-nav-main nav > ul > li .dropdown-menu li a:hover,
	#header .header-nav-main nav > ul > li .dropdown-menu li a:focus { background-color: var(--abacus-fondo); color: var(--primary); }
}

/* ---------- Botones ---------- */
.btn-primary { background-color: var(--primary); border-color: var(--primary); color: #FFF; }
.btn-primary:hover, .btn-primary:focus { background-color: var(--tertiary); border-color: var(--tertiary); color: #FFF; }
.btn-outline.btn-primary { color: var(--primary); border-color: var(--primary); background-color: transparent; }
.btn-outline.btn-primary:hover, .btn-outline.btn-primary:focus { background-color: var(--primary); color: #FFF; }
/* Botón claro sobre fondo oscuro (antes texto gris sobre gris, 1.7:1) */
.btn-outline.btn-light { color: #FFF !important; border-color: #FFF !important; background-color: transparent !important; }
.btn-outline.btn-light:hover, .btn-outline.btn-light:focus { background-color: #FFF !important; color: var(--primary) !important; }
.btn-success { background-color: #1E7E46; border-color: #1E7E46; color: #FFF; }
.btn-success:hover { background-color: #17663A; border-color: #17663A; color: #FFF; }

/* ---------- Etiquetas pequeñas (eyebrows) y enlaces ---------- */
.text-color-secondary { color: var(--secondary) !important; }
.text-color-tertiary { color: var(--tertiary) !important; }
a { color: var(--primary); }
a:hover { color: var(--secondary); }
.badge.bg-secondary { background-color: var(--abacus-suave) !important; color: #FFF; }

/* ---------- Secciones y tarjetas ---------- */
.bg-color-grey, .section.section-default { background-color: var(--abacus-fondo) !important; }
.page-header.page-header-modern.bg-primary, .page-header-modern[style*="#007dd1"] { background-color: var(--primary) !important; }
/* Antes venía de las demos de Porto (auto-services); ahora es parte del tema */
.custom-border-radius-1 { border-radius: 8px !important; }
.card.box-shadow-1 { border: 1px solid #E3E8F2; box-shadow: 0 6px 24px rgba(27, 35, 48, .06) !important; }
.sitio-producto .table td { color: var(--abacus-texto); vertical-align: middle; }

/* ---------- Pie ---------- */
#footer { background-color: var(--footer-background-color); }
#footer, #footer p, #footer li, #footer span, #footer a:not(.btn), #footer .footer-copyright p { color: #B8BEC8 !important; }
#footer a:not(.btn):hover { color: #FFF !important; }
#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6 { color: #FFF !important; }
#footer .footer-copyright { background-color: #141A24; }
#footer .footer-ribbon { background-color: var(--primary); }
#footer .footer-ribbon:before { border-right-color: var(--tertiary); }
