:root {
  --color-1: #604a98; /* Púrpura principal */
  --color-2: #57dec6; /* Púrpura más claro */
  --color-3: #c239c9; /* Púrpura más oscuro */
  --color-4: #ffdd3d; /* Gris claro */
  --color-5: #e9e9e9; /* Gris neutro */
  --color-6: #FFFFFF; /* Blanco */
  --color-black: #000000; /* Negro */
  --color-fondo: linear-gradient(135deg, #5E14C4, #4A0F9A); /* Degradado entre púrpura principal y más oscuro */
}

/* ============================================
   GLOBAL STYLES
============================================ */
body {
  font-family: 'Montserrat', sans-serif!important;
  background: #fff !important;
  font-size: 18px !important;
  font-weight: 400;
}

.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif!important;
}

/* ============================================
   PAGE STRUCTURE
============================================ */
.page {
  max-width: none !important;
  min-height: calc(100% - 240px) !important;
}

.page-background {
  background: #f8f8f8 !important;
}

.page-content,
.multiple-news,
#item-checks,
#resultado-fuentes {
  max-width: 1400px !important;
  margin: auto;
}

/* ============================================
   FOOTER
============================================ */
.site-footer-ipublic {
  background-color: var(--color-1);
  color: #fff;
}

.site-footer-ipublic .site-footer-legal {
  font-size: 13px;
  font-weight: bolder;
  margin-top: -25px;
}

.site-footer-center a {
  color: var(--color-6) !important;
  font-weight: 1rem !important;
}

.site-footer-right a img {
  height: 35px !important;
  margin-top: -20px !important;
}

#custom-left-footer {
  display: block;
}

#custom-left-footer img {
  width: 500px;
}

#left-footer {
  display: none;
}

/* ============================================
   NAVBAR
============================================ */
.navbar {
  min-height: 7.715rem;
}

.navbar-brand {
  height: 6.715rem !important;
}

.navbar-brand-logo {
  height: 60px;
  margin-top: 0px;
}

.navbar-brand-logo-normal,
.navbar-brand-center {
  display: none !important;
}

.navbar-brand-logo-special {
  display: inline-block !important;
}

.nav-item a.nav-link {
  margin-top: 26px !important;
}

.site-navbar-ipublic {
  background-color: var(--color-1) !important;
}

.navbar-icons,
.ipublic-nav-right {
  color: var(--color-6) !important;
}

.ipublic-nav-right {
  margin-top: 34px !important;
}

/* ============================================
   INPUTS & SELECTS
============================================ */
#inputSearch-ipublic-nav {
  max-width: 300px;
  width: 300px;
  background: #fff;
  display: inline-flex;
  border: 1px solid var(--color-1);
  border-radius: 5px;
  box-shadow: none;
  z-index: 3;
  padding: 18px;
  margin: 0 auto;
  font-size: 14px;
  color: #000;
}

#select-nav-ipublic,
#select-workformnlist-nav-ipublic {
  display: inline-block;
  text-transform: uppercase !important;
  border: none !important;
  background: var(--color-1);
  color: #ffffffa3 !important;
  font-weight: 500 !important;
}

#select-nav-ipublic {
  font-size: 14px;
  text-align: right;
}

#select-workformnlist-nav-ipublic {
  font-size: 10px;
  letter-spacing: 0.6px;
}

/* ============================================
   CHECKBOXES & FORM CONTROLS
============================================ */
.checkbox-primary-ipublic {
  font-size: 18px !important;
}

.checkbox-primary-ipublic input[type="checkbox"]:checked + label::before {
  background-color: var(--color-1) !important;
  border-color: var(--color-1) !important;
}

.span-daterange-ipublic {
  padding: 3px 10px;
  background-color: var(--color-1) !important;
  color: #fff;
}

/* ============================================
   BOTONES PERSONALIZADOS
============================================ */
.button-ipublic-principal {
  color: var(--color-1) !important;
  font-size: 24px !important;
  text-transform: capitalize;
  font-weight: 600 !important;
  letter-spacing: 0.5px;
}

.button-ipublic-principal.btn.active,
.button-ipublic-principal.focus,
.button-ipublic-principal:active,
.button-ipublic-principal:focus {
  text-decoration: none !important;
  color: var(--color-2) !important;
}

.button-ipublic-principal.btn.hover,
.button-ipublic-principal:hover {
  color: var(--color-2) !important;
}

.button-ipublic-secundario.btn.active,
.button-ipublic-secundario.focus,
.button-ipublic-secundario:active,
.button-ipublic-secundario:focus {
  color: var(--color-2) !important;
  text-decoration: none !important;
}

.ipublic-custom-button {
  background: var(--color-1) !important;
  color: #fff !important;
}

/* ============================================
   SLICK COMPONENTES
============================================ */
.ipublic-custom-slick {
  font-size: 120px !important;
  padding-top: 75px;
  padding-bottom: 20px;
  font-weight: 700 !important;
  color: var(--color-3) !important;
  max-width: 50%;
  text-align: left;
  margin: auto;
}

.ipublic-custom-slick-p {
  font-size: 40px !important;
  font-weight: 700 !important;
  text-transform: lowercase !important;
  margin-top: 20px;
  max-width: 50%;
  text-align: left;
  line-height: 1.2;
  margin: auto;
  color: var(--color-fondo);
}

.slick-next::before,
.slick-prev::before {
  color: var(--color-2) !important;
  font-size: 50px;
}

/* ============================================
   ELEMENTOS VISUALES (faja, logos, íconos)
============================================ */
.img-rounded,
#logo-portal {
  display: none !important;
}

.fa-external-link {
  margin-top: 20px;
}

.faja {
  position: relative;
  overflow: hidden;
  height: 50vh;
  background-image: url('/imarina_mod/img/bist-faja.webp');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;
}

/* Gradiente oscuro */
.faja::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(40, 40, 40, 0.75) 0%, rgba(40, 40, 40, 0) 100%);
  z-index: 0;
}

/* Posicionamiento absoluto controlado */
.bloque-bist {
  position: absolute;
  z-index: 1;
  width: 400px;
  height: 490px;
  background-image: url('https://bist.eu/wp-content/uploads/2024/04/asset-bist-pink.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  color: white;
  padding: 1.5rem 2.5rem 2rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  bottom: -8%;
  left: 20%;
}

.bloque-bist h2 {
  color: white;
  font-size: 3rem;
  font-weight: 700;
  margin: 0 0 5.2rem 0;
  text-transform: lowercase;
}

.bloque-bist p {
  font-size: 24px;
  line-height: 1.2;
  margin: 0;
  max-width: 300px;
  padding:4px
}

/* Versión móvil */
@media (max-width: 768px) {
  .bloque-bist {
    width: 90%;
    height: auto;
    background-size: 100% auto;
    padding: 2.5rem 1.5rem;
    text-align: center;
    align-items: center;
    left: 0%;
  }

  .bloque-bist h2 {
    font-size: 2.2rem;
  }

  .bloque-bist p {
    font-size: 1rem;
    max-width: 100%;
  }

  .faja {
    padding: 3rem 1rem;
    justify-content: center;
    align-items: flex-end;
  }
}

/* ============================================
   PANEL Y SECCIONES PRINCIPALES
============================================ */
.panel {
  background-color: #fff !important;
}

.panel-body {
  padding: 0px !important;
}

.ipublic-panel {
  margin: auto;
  border: none !important;
  background: none !important;
}

#widgetCurrentChart {
  padding-top: 50px;
  padding-bottom: 100px;
  background-size: auto;
  background-repeat: no-repeat;
  position: relative;
}

#panel-last-year {
  background-color: #f8f8f8;
}

#results-datatables-researchers,
#production-last-panel,
#results-datatables-entities,
#results-datatables-projects {
  background-color: #efefef !important;
}

#panel-researcher .panel-transparent,
#panel-entity .panel-transparent,
#panel-source .panel-transparent,
#panel-item .panel-transparent,
#panel-project .panel-transparent {
  padding-bottom: 70px !important;
}

#panel-researcher,
#panel-entity,
#panel-source,
#panel-item {
  background: #efefef !important;
}

/* ============================================
   TABS Y NAVEGACIÓN DE CONTENIDO
============================================ */
.nav-tabs-line-ipublic .nav-link.active {
  color: var(--color-1) !important;
  background-color: transparent !important;
  border-bottom: 2px solid var(--color-1) !important;
}

.nav-tabs {
  padding-left: 20px;
  background: #F8F8F8;
}

.nav-tabs-animate .tab-content {
  overflow: hidden;
  background: #fff;
  border: 1px solid #efefef !important;
}

/* ============================================
   COMPONENTES Y BLOQUES PERSONALIZADOS
============================================ */
.multiple-news h4 {
  color: var(--color-1) !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  margin-bottom: 35px !important;
}

.menu-ultimas-incorporaciones {
  text-align: center !important;
  max-width: 1800px;
  margin: auto;
}

.menu-ultimas-incorporaciones h3 {
  margin-bottom: 40px;
  font-weight: bold;
  text-align: center;
}

.ipublic-menu {
  padding-bottom: 40px;
}

.bg-first-chars-ipublic-portal,
.bg-first-chars {
  background-color: var(--color-1) !important;
}

.first-chars-ipublic-portal,
.first-chars {
  color: #fff !important;
}

/* ============================================
   DATATABLES PERSONALIZADOS
============================================ */
#tablaIPublic_wrapper .page-item.active .page-link,
#tablaIPublicSource_wrapper .page-item.active .page-link {
  z-index: 1;
  background-color: var(--color-1) !important;
  border-color: var(--color-1) !important;
}

#tablaIPublic_wrapper .page-item.active .page-link {
  color: #f2f2f2 !important;
}

#tablaIPublicSource_wrapper .page-item.active .page-link {
  color: #fff !important;
}

table.dataTable span.highlight {
  background-color: var(--color-1)66 !important;
}

#tablaIPublic_wrapper tbody > tr.selected {
  background-color: #f2f2f2 !important;
}

div.dtsp-panesContainer div.dtsp-searchPanes div.dtsp-searchPane div.dataTables_wrapper {
  border: 0px solid var(--color-5);
  border-radius: 0px;
  padding: 10px;
}

.exteriorTabla {
  max-width: 1800px;
}

.exteriorTabla div.dtsp-searchPane div.dataTables_wrapper,
#tablaIPublic_wrapper div.dtsp-searchPane div.dataTables_wrapper {
  border: 0px solid var(--color-5) !important;
  border-radius: 4px;
  overflow: hidden;
}

.exteriorTabla div.dtsp-panesContainer div.dataTables_wrapper div.dataTables_scrollBody {
  background: var(--color-5) !important;
  border-bottom: none;
}

.exteriorTabla div.dtsp-panesContainer div.dtsp-searchPanes div.dtsp-searchPane {
  margin-top: 40px !important;
}

#buscar-datatables-ipublic-source, #buscar-datatables-ipublic-item, #buscar-datatables-ipublic-entity, #buscar-datatables-ipublic-researcher {
  font-weight: normal;
  letter-spacing: 1px;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  margin-left: -6px;
  margin-top: -4px;
  padding-top: 12px;
  padding-bottom: 7px;
}

#button-items-normal,
#button-items-avanzada {
  padding-top: 70px;
}

.separator-tables {
  margin-top: 0px !important;
}

/* ============================================
   OTROS ESTILOS
============================================ */
.navbar-brand-center {
  display: none !important;
}

.blockquote {
  border-left: 2px solid var(--color-1) !important;
}

.vtl::before {
  background-color: var(--color-1) !important;
}

div.event::after {
  border: 5px solid var(--color-1) !important;
}

.ipublic-item-page a,
#profile-description .show-more,
#profile-description .show-more-source {
  color: var(--color-1);
}

.num_doc_produccion_ipublic {
  font-weight: bolder;
  color: var(--color-1);
  margin-left: 8px;
}

.style-rfTitle {
  font-weight: 600 !important;
}

#checks-workforms h5 {
  font-size: 22px;
  font-weight: 500;
}

.uam-footer .uam-footer-partners .uam-partner-logo {
  text-align: center;
}

.uam-footer ul {
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.uam-partner-logo img {
  width: 100%;
  max-width: 176px;
}

#section-menu {
  background: #fbfbfb;
  padding-top: 50px;
}

#section-projects-overview,
.ipublic-project-overview,
#section-item-overview,
#section-investigadores-overview,
#section-entity-overview {
  background: #fff;
}

#section-projects-search {
  background-color: #efefef !important;
}

.floating-button:hover {
  transform: scale(1.1);
  color: var(--color-6);
  background-color: var(--color-3, --color-1);
}

.floating-button.active {
  background-color: var(--color-2, --color-1);
  color: var(--color-black);
  transform: scale(1.1);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
}

.caja-principal {
  border: none !important;
  box-shadow: none !important;
}

#widget-inews{
  background: #f8f8f8!important;
  border: none !important;
  margin: 0px !important;
  padding: 70px;
}

.h3-ipublic {
  color: var(--color-1);
}

#breadcrumbContainer {
  margin-top: 40px;
}