@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');


/*  TIPOGRAFÍA +++++++++++++++++++++++++++++++++++++++++++++ */
* {
    font-family: "Plus Jakarta Sans", sans-serif !important;
}

b {
    font-weight: 700 !important;
}

/* COLORES +++++++++++++++++++++++++++++++++++++++++++++ */

:root {
  --color-azul: #1e3bb3; /*#0047ba;*/
  --color-azul-oscuro: #140077;
  --color-light: #f9f9f9;
  --color-gris: #51626f;
}

.bg-demac-light {
    background-color: var(--color-light);
}

/* 1. Comportamiento en Pantallas de Escritorio (Laptops y Monitores) */
@media (min-width: 992px) {

  .navbar .dropdown-menu.w-100 {
    max-width: 98%;
    left: 50% !important;
    transform: translateX(-50%);
  }
}

/* 2. Animación de entrada suave */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 3. Ajustes de Estilo para los Enlaces Internos
   Mejora la experiencia visual cuando pasas el ratón sobre los sub-elementos */
.dropdown-menu .dropdown-item {
  transition: color 0.15s ease-in-out, padding-left 0.15s ease-in-out;
}

.dropdown-menu .dropdown-item:hover {
  color: var(--bs-primary) !important; /* Usa el color principal de tu Bootstrap */
  padding-left: 6px !important; /* Hace un sutil efecto de desplazamiento a la derecha */
}



/* Custom */

a.gris.nav-link {
    color: var(--color-gris);
}

a.gris.nav-link:hover {
    color: var(--color-azul);
}

/* Línea destacada nav*/

/* Necesitamos posición relativa en el enlace para contener el ::before */
.gris.nav-link,
.gris.nav-link.dropdown-toggle {
    position: relative;
    /* Evita saltos raros en algunos navegadores cambiando el color en hover */
    transition: color 0.3s ease; 
}

.gris.nav-link::before,
.gris.nav-link.dropdown-toggle::before {
    content: "";
    position: absolute;
    bottom: -10px; /* Se pega exactamente al borde inferior del enlace */
    left: 50%;
    transform: translateX(-50%); /* Inicia centrado */
    width: 0; /* Ancho inicial oculto */
    height:2px; /* Grosor de la línea azul */
    background-color: var(--color-azul); /* Puedes cambiarlo por el azul exacto de tu marca */
    transition: width 0.3s ease-in-out; /* Transición suave de entrada y salida */
}

/* Efecto hover: expande la línea al 100% del contenedor */
.gris.nav-link:hover::before,
.gris.nav-link:focus::before,
.gris.nav-link.dropdown-toggle:hover::before,
.gris.nav-link.dropdown-toggle:focus::before {
    width: 100%;
}





/* CTA Contacto */

.cta-contacto.btn.btn-primary.mt-2 {
    border-radius: 30px;
    background-color: var(--color-azul);
}

.cta-contacto.btn.btn-primary.mt-2:hover {
    background-color: var(--color-azul-oscuro);
}

/* Caja Dropdowns */

div.dropdown-menu.w-100.p-4.shadow-sm.border-0.rounded-0.m-0 {
    background-color: var(--color-light);
    border-radius: 0 0 20px 20px !important;
}

.llamado-drop {
    color: var(--color-gris);
    font-weight: 200;
}

.item-mas.dropdown-item {
    color: var(--color-azul);
    font-weight: 500;
}

.item-mas.dropdown-item:hover {
    color: var(--color-azul-oscuro) !important;
}

.sub-drop {
    color: var(--color-gris);
    font-weight: 500;
}


.item-drop.dropdown-item {
    color: var(--color-gris);
    font-size: 1.25em;
    font-weight: 200;
}

.item-drop.dropdown-item:hover {
    color: var(--color-azul) !important;
}

/* Footer */

h2.footer-heading {
    font-size: 1.15em;
    color: var(--color-gris);
    font-weight: 500;
}

.footer-text {
    font-size: 1em;
    color: var(--color-gris);
    font-weight: 300;
}

.footer-legal {
    font-size: 0.75em;
    color: var(--color-gris);
}

a.footer-item {
    color: var(--color-gris);
}

a.footer-item:hover {
    color: var(--color-azul);
}


/*  CLASES POR ELEMENTO +++++++++++++++++++++++++++++++++++++++++++++ */

/* Tarjeta suscripción */

.card .bg-primary-subtle .text-primary-emphasis .h-100 .border-0 {
    background-color: #c0cfe7;
    border-radius: 20px !important;
}
.titulo-suscribir {
    font-weight: 300;
    font-size: 1.25em;
    width: 75%;
    color: var(--color-gris);
}

.parrafo-suscribir {
    font-weight: 300;
    font-size: 0.8em;
    width: 75%;
    color: var(--color-gris);
}

.btn-suscribir {
    background-color: var(--color-azul);
    width: 180px;
    border-radius: 20px;
    color: #fff;
}

.btn-suscribir:hover {
    background-color: var(--color-azul-oscuro);
    width: 180px;
    border-radius: 20px;
    color: #fff;
}

/*  Página de inicio  */

.cifra-box {
    border-left: 1px solid;
    border-left-color: var(--color-azul) !important;

}
h3.inicio-data-cifra {
    font-size: 1.5em;
    font-weight: 600;
    margin: 0px;
    padding: 0px;
}

p.inicio-data-detalle {
    font-size: 1em;
    font-weight: 600;
    margin: 0px;
    padding: 0px;

}

p.inicio-data-caption {
    font-size: 0.75em;
    font-weight: 300;
    margin: 0px;
    padding: 0px;
}

h3.inicio-intro-llamado {
    font-size: 1.75em;
    font-weight: 300;
}

h4.inicio-intro-destacado {
    font-size: 1.25em;
    font-weight: 300;
}

p.inicio-intro {
    font-size: 0.8em;
    font-weight: 300;
}

p.inicio-intro-modelo {
    font-size: 1.15em !important; 
    font-weight: 500;
}


/* Página soluciones */

.titulo-cabecera {
    font-size: 3em;
    color: white;
    font-weight: 300;
}

.titulo-cabecera > strong {
    font-weight: 600 !important;
}

.titulo-seccion {
    font-size: 2em;
    color: var(--color-gris);
    font-weight: 300;
}

.titulo-seccion > strong {
    font-weight: 600 !important;
}

.parrafo-destacado {
    font-size: 1.25em;
    color: var(--color-gris);
    font-weight: 300;
}

.parrafo-destacado > strong {
    font-weight: 600 !important;
}

.parrafo-destacado-blanco {
    font-size: 1.25em;
    color: #fff;
    font-weight: 300;
}

.parrafo-destacado-blanco > strong{
    font-weight: 600 !important;
}

.titulo-capsula {
    font-size: 1.5em;
    font-weight: 300;
    color: var(--color-gris);
}

.titulo-capsula-blanco {
    font-size: 1.5em;
    font-weight: 300;
    color: #fff;
}

.cifra-destacada{
    font-size: 2em;
    color: var(--color-gris);
    font-weight: 700;
    margin: 0;
    padding: 0;
}

.caption-cifra-destacada {
    font-size: 1.25em;
    color: #51626f7d;
    font-weight: 600;
    margin: 0;
    padding: 0;
    line-height: 1.25em;
}

.cifra-destacada-blanco{
    font-size: 2em;
    color: #fff;
    font-weight: 700;
    margin: 0;
    padding: 0;
    line-height: 1.25em;
}

.caption-cifra-destacada-blanco {
    font-size: 1.25em;
    color: #ffffff88;
    font-weight: 600;
    margin: 0;
    padding: 0;
}

.parrafo-capsula {
    font-size: 1em;
    color: var(--color-gris);
    font-weight: 300;
}

.parrafo-capsula > strong {
    font-size: 1em;
    color: var(--color-gris);
    font-weight: 600 !important;
}

.bc-demac, .bc-demac > ol > li > a, .bc-demac > ol > li > span{
    font-size: 0.875em;
    color: var(--color-gris);
    text-decoration: none;
    font-weight: 300;
}

.bc-demac > ol > li > a:hover {
    color: var(--color-azul);
}



/* FORMULARIOS +++++++++++++++++++++++++++++++++++++++++++++ */


/* Colores y tipografía general del formulario */
.form-demac label {
    color: #6b7280; /* Gris secundario para los labels */
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
}

.form-demac .form-control, 
.form-demac .form-select, 
.form-demac .input-group-text {
    border: 1px solid #d1d5db; /* Borde gris suave */
    color: #9ca3af; /* Color de placeholder */
    padding: 0.6rem 1rem;
    box-shadow: none;
}

/* Input en foco (Azul corporativo suave) */
.form-demac .form-control:focus, 
.form-demac .form-select:focus {
    border-color: #2b4cbf;
    box-shadow: 0 0 0 0.25rem rgba(43, 76, 191, 0.1);
    color: #374151; /* Texto oscuro al escribir */
}

/* Estilo específico para el selector de país en el teléfono */
.form-demac .input-group-text.bg-light {
    background-color: #f3f4f6 !important;
    border-right: none;
}
.form-demac .input-telefono {
    border-left: none;
    padding-left: 0;
}

/* Estilo del botón de "Examinar" archivo */
.form-demac .btn-examinar {
    background-color: #f3f4f6;
    border: 1px solid #d1d5db;
    border-right: none;
    color: #4b5563;
    cursor: pointer;
}

/* Estilo del Checkbox de privacidad */
.form-demac .form-check-input {
    width: 1.25em;
    height: 1.25em;
    border: 1.5px solid #2b4cbf;
    border-radius: 4px;
    margin-top: 0.15em;
    cursor: pointer;
}
.form-demac .form-check-input:checked {
    background-color: #2b4cbf;
    border-color: #2b4cbf;
}

/* Botón enviar corporativo */
.form-demac .btn-enviar {
    background-color: #2544b8;
    border-color: #2544b8;
    padding: 0.6rem 2.5rem;
    font-weight: 600;
}
.form-demac .btn-enviar:hover {
    background-color: #1e3796;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* PERSPECTIVAS +++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */


/* Tipografía y colores base */
.perspectivas-section { font-family: 'Plus Jakarta Sans', sans-serif; }
.meta-text { font-size: 0.75rem; color: #6c757d; }
.meta-text-light { font-size: 0.75rem; color: #e9ecef; }
.badge-categoria { background-color: #2b4cbf; color: #fff; font-size: 0.75rem; font-weight: 500; padding: 0.35em 0.8em; border-radius: 4px; display: inline-flex; align-items: center; gap: 0.3rem; }
.badge-categoria-light { background-color: #eef2f6; color: #2b4cbf; }

/* Carrusel y Botonera Lateral */
.carrusel-contenedor { border-radius: 12px; overflow: hidden; height: 450px; position: relative; }
.carrusel-img { width: 100%; height: 100%; object-fit: cover; }
.carrusel-overlay { position: absolute; bottom: 0; left: 0; width: 100%; padding: 2rem; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0) 100%); z-index: 2; }

.titulo-lateral { font-weight: 300; color: #495057; line-height: 1.2; }

/* Botones laterales */
.btn-lateral-item { cursor: pointer; padding: 0.75rem; border-radius: 8px; transition: all 0.2s ease; border: 1px solid transparent; }
.btn-lateral-item:hover { background-color: #f8f9fa; }
.btn-lateral-item.activo { background-color: #f1f3f5; border-color: #e9ecef; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }

.btn-lateral-img { width: 60px; height: 60px; border-radius: 8px; object-fit: cover; background-color: #5c6c7b; }
.btn-lateral-titulo { font-size: 0.95rem; font-weight: 500; color: #343a40; margin-bottom: 0.2rem; line-height: 1.3; }

/* Podcast y Grilla */
.podcast-card { background-color: #f8f9fa; border-radius: 12px; overflow: hidden; }
.podcast-img { width: 200px; object-fit: cover; }
.card-articulo { border: 1px solid #e9ecef; border-radius: 12px; transition: transform 0.2s, box-shadow 0.2s; text-decoration: none;}
.card-articulo:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.05); }
.card-articulo-img { height: 200px; object-fit: cover; border-top-left-radius: 12px; border-top-right-radius: 12px; }
.card-articulo-titulo { font-weight: 300; color: #343a40; line-height: 1.3; font-size: 1.4rem; margin-bottom: 1rem;}

/* Paginación estilo Bootstrap para WordPress */
.paginacion-wp { margin-top: 3rem; display: flex; justify-content: center; gap: 0.5rem; }
.paginacion-wp a, .paginacion-wp span { display: inline-block; padding: 0.5rem 1rem; border-radius: 4px; border: 1px solid #dee2e6; color: #2b4cbf; text-decoration: none; }
.paginacion-wp a:hover { background-color: #e9ecef; }
.paginacion-wp span.current { background-color: #2b4cbf; color: #fff; border-color: #2b4cbf; }

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ENTRADAS +++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

.titulo-articulo {
    font-size: 2.5em;
    font-weight: 300;
    color: var(--color-gris);
}

.wp-block-image img {
    border-radius: 20px !important;
}