body {
  background-image: url('https://images.inmatia.es/rfj/fondo.svg');
  background-size: cover;
  background-repeat: no-repeat;
}

.pkp_structure_main {
   padding-left: 6%;
   padding-right: 6%;
}

.pkp_block, .panel {
  background-color: #fff9;
}

header.navbar.navbar-default > div.container-fluid:first-child > div.row {
    position: absolute;
    top: -12.5vw;
    left: 0;
    width: 100%;
    padding: 6px;
    z-index: 1000;
}

.navbar-brand.navbar-brand-logo {
    display: none !important;
}

.nav-pills > li > a {
    padding-top: 3px;
}

.galley-link.btn.btn-primary.pdf {
   margin-right: 6px;
   border-radius: 4px !important;
   background-color: #006de3 !important;
}

.galley-link.btn.btn-primary.file, .btn-primary {
    background-color: #006de3 !important;
}

#htmlContainer {
   margin-top: 24rem;
}

.pkp_page_article.pkp_op_view > div.header-container {
   display: none;
}

.col-md-4 {
   width: 22%;
}

.col-md-8 {
   width: 78%;
}

/* Responsive correction Main */
.pkp_structure_main.col-xs-12.col-sm-10.col-md-8,
.pkp_structure_sidebar.left.col-xs-12.col-sm-2.col-md-4 {
    width: 100% !important;
}
@media (min-width: 1200px) {
    .pkp_structure_main.col-xs-12.col-sm-10.col-md-8 {
        width: 78% !important;
    }
    .pkp_structure_sidebar.left.col-xs-12.col-sm-2.col-md-4 {
        width: 22% !important;
    }
}

/* Responsive correction Publications */
article.article-details .row section.article-sidebar.col-md-4,
article.article-details .row .col-md-8 {
   width: 100% !important;
}
@media (min-width: 768px) and (max-width: 991px) {
    article.article-details .row section.article-sidebar.col-md-4 {
        width: 41.66666667% !important;
    }
    article.article-details .row .col-md-8 {
        width: 58.33333332% !important;
    }
}
@media (min-width: 992px) {
  article.article-details .row section.article-sidebar.col-md-4 {
    width: 22% !important; 
  }
  article.article-details .row .col-md-8 {
        width: 78% !important;
   }
}

header .container-fluid {
    background-color: #0f2635 !important;
}

.navbar-default .nav > li > a, .navbar-default .navbar-nav > li > a {
    color: #fff !important;
    font-weight: bold !important;
}

.dropdown-toggle:hover, .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
    background: #eeeeee61 !important;
}

/* Estilos para el Grid de Catálogos */
.catalogos-grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columnas en escritorio */
    gap: 20px;
    max-width: 1200px; /* Ancho máximo opcional */
    margin: 3rem auto; /* Centrar el grid */
    padding: 20px; /* Espaciado interno opcional */
    background-color: #f5f5f5; /* Fondo opcional para el contenedor */
    border-radius: 8px; /* Bordes redondeados opcionales */
}

.catalogos-grid-item {
    background-color: #ffffff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    text-align: center;
    transition: transform 0.3s, box-shadow 0.3s;
}

.catalogos-grid-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.catalogos-grid-item a img {
    width: 90px;
    height: 50px;
    object-fit: contain;
    margin: 4px 0;
    transition: transform 0.3s;
}

.catalogos-grid-item a img:hover {
    transform: scale(1.1);
}

.catalogos-grid-item p {
    font-size: 14px;
    color: #333;
    margin-top: 10px;
    word-wrap: break-word; /* Para ajustar textos largos */
}

/* Responsividad */

.pkp_structure_content {
   width: 96% !important;
   margin: 1.5rem 0rem 1.5rem 3.5rem !important;
}

/* Tablets: 2 columnas */
@media (max-width: 992px) {
    .catalogos-grid-container {
        grid-template-columns: repeat(2, 1fr);
    }
    .image-links {
        display: none !important;
    }
    .pkp_structure_content {
       margin: 0px !important;
    }
}

/* Móviles: 1 columna */
@media (max-width: 600px) {
    .catalogos-grid-container {
        grid-template-columns: 1fr;
    }

    .catalogos-grid-item a img {
        width: 20px;
        height: 20px;
    }

    .catalogos-grid-item p {
        font-size: 12px;
    }
}

  .rfj-footer {
    --gap: 2rem;
    --pad: 3rem;
    --bg: #005278;

    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: minmax(0, auto);
    gap: var(--gap);
    align-items: center;
    background: var(--bg);
    padding: var(--pad);
    color: #fff;
    font-size: 12.1px;
  }

  .rfj-logo img { max-height: 4.5rem; width: auto; height: auto; }

  .rfj-title p { margin: 0 0 .25rem 0; }
  .rfj-title p.small { font-size: 11.6px; }

  .rfj-mails a {
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .1rem 0;
  }
  .rfj-mails img { height: 17px; width: 17px; }

  .rfj-cc img { height: 31px; width: auto; }

  /* Layout desktop (≥1024px): como tu versión original */
  @media (min-width: 1024px) {
    .rfj-logo  { grid-area: 1 / 1 / 2 / 2; }
    .rfj-title { grid-area: 1 / 4 / 2 / 5; }
    .rfj-mails { grid-area: 1 / 5 / 2 / 6; }
    .rfj-cc    { grid-area: 1 / 6 / 2 / 7; }
    .rfj-footer { max-height: 11rem; }
  }

  /* Tablets (640px–1023px): 4 columnas, orden lógico */
  @media (min-width: 640px) and (max-width: 1023px) {
    .rfj-footer {
      grid-template-columns: repeat(4, 1fr);
      gap: 1.25rem;
      padding: 2rem;
      font-size: 12px;
    }
    .rfj-logo  { grid-area: 1 / 1 / 2 / 2; }
    .rfj-title { grid-area: 1 / 2 / 2 / 5; }
    .rfj-mails { grid-area: 2 / 1 / 3 / 3; }
    .rfj-cc    { grid-area: 2 / 3 / 3 / 5; justify-self: end; }
    .rfj-footer { max-height: none; }
    .rfj-logo img { max-height: 4rem; }
  }

  /* Móviles (<640px): una columna, todo apilado */
  @media (max-width: 639px) {
    .rfj-footer {
      grid-template-columns: 1fr;
      gap: 1rem;
      padding: 1.25rem;
      font-size: 12px;
      text-align: left;
    }
    .rfj-logo,
    .rfj-title,
    .rfj-mails,
    .rfj-cc { grid-area: auto / auto / auto / auto; }

    .rfj-logo img { max-height: 3.25rem; }
    .rfj-cc { justify-self: start; }
  }

/* Catálogos sin logo  */
.catalogo {
  display: block;
  padding: 10px;
  margin: 5px 0;
  background-color: #f4f4f4;
  color: #333;
  text-decoration: none;
  border: 1px solid #ddd;
  border-radius: 4px;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.catalogo:hover {
  background-color: #eaeaea;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  color: #000;
}

/* --- Footer --- */
.footer {
    padding: 0px !important;
}
.footer .container {
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-right: 0px !important;
    margin-left: 0px !important;
    width: 100% !important;
}

.footer .container>div {
   width: 100% !important;
   margin: 0px !important;
}
.footer .container .row .col-md-10 p {
    margin: 0px !important;
}

footer.footer .col-md-10 {
   width: 100%;
   padding: 0px;
}
footer.footer .col-md-2 {
   display: none;
}