/* ============================================================
   FOOTER LABORATORIO DE PRIVACIDAD – FULL WIDTH + RESPONSIVE
   ============================================================ */

/* Ocultar marca de PKP */
.pkp_brand_footer {
    display: none !important;
}


/* ===========================
   FORMULARIO REGISTRO REVISTA
   =========================== */

.page.page_register {
  max-width: 960px;
  margin: 0 auto 3rem;
  padding: 2rem 1.5rem 3rem;
  background: #fff;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.06);
  border-radius: 8px;
  box-sizing: border-box;
}

/* Migas de pan */
.page_register .cmp_breadcrumbs {
  font-size: 0.875rem;
  margin-bottom: 1rem;
  color: #666;
}

.page_register .cmp_breadcrumbs a {
  color: #005a9c;
  text-decoration: none;
}

.page_register .cmp_breadcrumbs a:hover {
  text-decoration: underline;
}

.page_register .cmp_breadcrumbs .separator {
  margin: 0 0.25rem;
}

/* Título y texto inicial */
.page_register h1 {
  font-size: 1.8rem;
  margin-bottom: 0.25rem;
}

.page_register > p {
  font-size: 0.875rem;
  color: #666;
  margin-bottom: 1.5rem;
}

/* FORMULARIO */
.page_register .cmp_form.register {
  margin-top: 0.5rem;
}

/* Fieldsets generales */
.page_register .cmp_form.register fieldset {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 1.5rem 1.75rem;
  margin: 0 0 1.5rem;
}

.page_register .cmp_form.register legend {
  padding: 0 0.3rem;
  font-weight: 600;
  font-size: 1.05rem;
}

/* Distribución de campos en columnas */
.page_register .cmp_form.register .fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 2rem;
}

/* Para fieldsets con una sola columna (consent / reviewer) */
.page_register .cmp_form.register fieldset.consent .fields,
.page_register .cmp_form.register fieldset.reviewer .fields {
  grid-template-columns: minmax(0, 1fr);
}

/* Etiquetas */
.page_register .cmp_form.register label {
  display: block;
  font-size: 0.9rem;
  color: #333;
}

.page_register .cmp_form.register .label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.35rem;
}

/* Asterisco obligatorio */
.page_register .cmp_form.register .required {
  color: #d4351c;
  margin-left: 0.15rem;
}

/* Inputs y selects */
.page_register .cmp_form.register input[type="text"],
.page_register .cmp_form.register input[type="email"],
.page_register .cmp_form.register input[type="password"],
.page_register .cmp_form.register select {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  border: 1px solid #c7c7c7;
  font-size: 0.95rem;
  line-height: 1.4;
  background-color: #fff;
}

.page_register .cmp_form.register select {
  padding-right: 2rem;
}

/* Focus */
.page_register .cmp_form.register input:focus,
.page_register .cmp_form.register select:focus {
  outline: none;
  border-color: #005a9c;
  box-shadow: 0 0 0 2px rgba(0, 90, 156, 0.2);
}

/* Checkboxes / opt-in */
.page_register .cmp_form.register .optin label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.9rem;
  line-height: 1.4;
}

.page_register .cmp_form.register .optin input[type="checkbox"] {
  margin-top: 0.15rem;
}

/* Campo "Intereses de revisión" ocupa todo el ancho */
.page_register .cmp_form.register .reviewer_interests {
  grid-column: 1 / -1;
}

/* Botones */
.page_register .cmp_form.register .buttons {
  margin-top: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.page_register .cmp_form.register button.submit {
  border: none;
  border-radius: 4px;
  padding: 0.55rem 1.5rem;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  background-color: #005a9c;
  color: #fff;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.page_register .cmp_form.register button.submit:hover {
  background-color: #004375;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.page_register .cmp_form.register a.login {
  font-size: 0.9rem;
  text-decoration: none;
  padding: 0.5rem 1.2rem;
  border-radius: 4px;
  border: 1px solid #005a9c;
  color: #005a9c;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.page_register .cmp_form.register a.login:hover {
  background-color: #005a9c;
  color: #fff;
}

/* Responsive */
@media (max-width: 768px) {
  .page.page_register {
    margin: 0 0 2rem;
    padding: 1.5rem 1rem 2.5rem;
    box-shadow: none;
    border-radius: 0;
  }

  .page_register .cmp_form.register .fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .page_register .cmp_form.register .buttons {
    flex-direction: column;
    align-items: flex-start;
  }

  .page_register .cmp_form.register a.login {
    padding-left: 0;
    padding-right: 0;
    border: none;
  }

  .page_register .cmp_form.register a.login:hover {
    background-color: transparent;
    color: #003f6b;
    text-decoration: underline;
  }
}

/* ===========================
   LOGIN - ESTILO SENCILLO
   =========================== */

/* Contenedor general de la página de login */
.page.page_login {
  /* Nada de max-width ni fondo especial:
     dejamos que lo controle el tema principal */
}

/* Migas de pan */
.page_login .cmp_breadcrumbs {
  font-size: 0.875rem;
  margin-bottom: 0.75rem;
  color: #666;
}

.page_login .cmp_breadcrumbs a {
  color: #005a9c;
  text-decoration: none;
}

.page_login .cmp_breadcrumbs a:hover {
  text-decoration: underline;
}

.page_login .cmp_breadcrumbs .separator {
  margin: 0 0.25rem;
}

/* Título y texto introductorio */
.page_login h1 {
  font-size: 1.8rem;
  margin-bottom: 0.25rem;
}

.page_login > p {
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 1rem;
}

/* FIELDSET principal */
.page_login fieldset.fields {
  border: 1px solid #e0e0e0;
  padding: 1.25rem 1.5rem 1.5rem;
  border-radius: 6px;
  max-width: 480px;
}

/* Campos: separación vertical */
.page_login fieldset.fields > div {
  margin-bottom: 1.1rem;
}

/* Labels */
.page_login .label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #333;
}

.page_login .required {
  color: #d4351c;
}

/* Inputs */
.page_login input[type="text"],
.page_login input[type="password"] {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  border: 1px solid #c4c4c4;
  background: #fff;
  font-size: 0.95rem;
}

.page_login input:focus {
  outline: none;
  border-color: #005a9c;
  box-shadow: 0 0 0 2px rgba(0, 90, 156, 0.2);
}

/* Enlace “¿Has olvidado tu contraseña?” */
.page_login .password a {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.85rem;
  color: #005a9c;
  text-decoration: none;
}

.page_login .password a:hover {
  text-decoration: underline;
}

/* Checkbox “Mantenerme conectado” */
.page_login .remember.checkbox label {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.9rem;
}

.page_login .remember input[type="checkbox"] {
  margin-top: 0.05rem;
}

/* Botones */
.page_login .buttons {
  margin-top: 0.75rem;
  display: flex;
  gap: 0.75rem;
}

.page_login button.submit {
  border: none;
  border-radius: 4px;
  padding: 0.5rem 1.4rem;
  background: #005a9c;
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.page_login button.submit:hover {
  background: #004375;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.14);
}

/* Botón/enlace Registrarse */
.page_login a.register {
  font-size: 0.9rem;
  padding: 0.5rem 1.2rem;
  border-radius: 4px;
  border: 1px solid #005a9c;
  color: #005a9c;
  text-decoration: none;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}

.page_login a.register:hover {
  background: #005a9c;
  color: #fff;
}

/* Responsive sencillo */
@media (max-width: 600px) {
  .page_login fieldset.fields {
    max-width: 100%;
    padding: 1rem;
  }

  .page_login .buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .page_login a.register {
    text-align: center;
  }
}

/* ============================================
   FORMULARIO RESTAURAR CONTRASEÑA (OJS)
   ============================================ */

.page.page_lost_password {
  /* No card externa ni centrado artificial,
     lo controla el layout general */
}

/* Migas de pan */
.page_lost_password .cmp_breadcrumbs {
  font-size: 0.875rem;
  margin-bottom: 0.75rem;
  color: #666;
}

.page_lost_password .cmp_breadcrumbs a {
  color: #005a9c;
  text-decoration: none;
}

.page_lost_password .cmp_breadcrumbs a:hover {
  text-decoration: underline;
}

.page_lost_password .cmp_breadcrumbs .separator {
  margin: 0 0.25rem;
}

/* Título y texto introductorio */
.page_lost_password h1 {
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}

.page_lost_password > p {
  font-size: 0.95rem;
  color: #444;
  margin-bottom: 1.5rem;
  max-width: 600px;
}

/* FORM */
.page_lost_password form.cmp_form.lost_password {
  max-width: 480px; /* como el login */
}

/* Fieldset simulado (el HTML no trae <fieldset>) */
.page_lost_password .fields {
  border: 1px solid #e0e0e0;
  padding: 1.25rem 1.5rem 1.5rem;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

/* LABELS */
.page_lost_password .label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #333;
}

.page_lost_password .required {
  color: #d4351c;
}

/* INPUT */
.page_lost_password input[type="email"] {
  width: 100%;
  box-sizing: border-box;
  padding: 0.55rem 0.75rem;
  border-radius: 4px;
  border: 1px solid #c4c4c4;
  font-size: 0.95rem;
  background: #fff;
}

.page_lost_password input[type="email"]:focus {
  outline: none;
  border-color: #005a9c;
  box-shadow: 0 0 0 2px rgba(0, 90, 156, 0.2);
}

/* BOTONES */
.page_lost_password .buttons {
  display: flex;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.page_lost_password button.submit {
  border: none;
  border-radius: 4px;
  padding: 0.55rem 1.4rem;
  background: #005a9c;
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.page_lost_password button.submit:hover {
  background: #004375;
  box-shadow: 0 2px 6px rgba(0,0,0,0.14);
}

.page_lost_password a.register {
  font-size: 0.9rem;
  padding: 0.5rem 1.2rem;
  border-radius: 4px;
  border: 1px solid #005a9c;
  color: #005a9c;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}

.page_lost_password a.register:hover {
  background: #005a9c;
  color: #fff;
}

/* Responsive */
@media (max-width: 600px) {
  .page_lost_password form.cmp_form.lost_password {
    max-width: 100%;
  }

  .page_lost_password .fields {
    padding: 1rem;
  }

  .page_lost_password .buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .page_lost_password a.register {
    text-align: center;
  }
}

/* ==================== FOOTER AEPD ==================== */
/* ===========================================
   FOOTER AEPD ADAPTADO PARA OJS
   =========================================== */

/* Hacer el footer a todo el ancho */
.pkp_structure_footer_wrapper {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  background: #3b3b3b;
}

/* Limpiar restricciones de OJS */
.pkp_structure_footer,
.pkp_footer_content {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---------- BLOQUE SUPERIOR ---------- */

.footer-top-container {
  display: flex;
  width: 100%;
}

/* IZQUIERDA */
.footer-left {
  background-color: #3b3b3b;
  color: #fff;
  flex: 1;
  padding: 3rem 4rem;
  display: flex;
  align-items: flex-start;
  gap: 3rem;
}

.footer-logo {
  width: 14rem; /* tamaño como AEPD */
}

.footer-info p {
  margin: 0 0 0.7rem 0;
  font-size: 1rem;
}

.footer-info a {
  color: #fff;
  text-decoration: none;
}

.footer-info a:hover {
  text-decoration: underline;
}

.footer-social {
  list-style: none;
  padding: 0;
  display: flex;
  gap: 1.5rem;
  margin-top: 1rem;
}

.footer-social a {
  color: #fff;
  text-decoration: none;
  font-size: 1rem;
}

/* ---------- DERECHA ---------- */

.footer-right {
  background: #fff;
  flex: 1;
  padding: 4rem 3rem;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
}

.footer-links li {
  margin-bottom: 1rem;
}

.footer-links a {
  font-size: 1.1rem;
  color: #2a57ff;
  text-decoration: none;
}

.footer-links a:hover {
  text-decoration: underline;
}

/* Logo PKP (sustituye a Ilunion + UE) */
.footer-pkp img {
  max-width: 180px;
  height: auto;
  display: block;
  margin-top: 2rem;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
  .footer-top-container {
    flex-direction: column;
  }
  .footer-left {
    flex-direction: column;
    gap: 2rem;
    text-align: center;
  }
  .footer-right {
    text-align: center;
  }
  .footer-pkp img {
    margin: 2rem auto 0;
  }
}
/* ==================== FOOTER SUPERIOR AEPD ==================== */
/* ============================================================
   FOOTER AEPD ADAPTADO PARA OJS
   ============================================================ */

/* Que el footer ocupe todo el ancho de la ventana */
.pkp_structure_footer_wrapper {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  background: #333333; /* fondo base como la AEPD */
}

/* Quitar límites de ancho internos de OJS */
.pkp_structure_footer,
.pkp_footer_content {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

/* ================= FOOTER SUPERIOR (3 COLUMNAS) ================= */

.footer-top-3col {
  display: grid;
  grid-template-columns: 1.2fr 0.5fr 1fr; /* izda – centro – dcha */
  width: 100%;
  min-height: 220px;
}

/* Columnas base */
.ft-col {
  padding: 35px 60px;
}

/* -------- IZQUIERDA: logo + dirección + RRSS -------- */

.ft-left {
  background: #333333;
  color: #ffffff;
  display: flex;
  align-items: center;
}

.ft-left-inner {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  width: 100%;
}

.footer-logo {
  max-width: 210px;
  height: auto;
  flex-shrink: 0;
}

.ft-left-text p {
  margin: 0 0 6px;
  font-size: 1rem;
  line-height: 2;
}

.ft-left-text a {
  color: #ffffff;
  text-decoration: none;
}

.ft-left-text a:hover {
  text-decoration: underline;
}

/* Redes sociales tipo icono (simple, sin fuente icomoon) */
.footer-social {
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.footer-social li {
  margin: 0;
}

.footer-social a {
  color: #ffffff;
  text-decoration: none;
  font-size: 0;          /* ocultamos el texto */
  position: relative;
  padding: 4px 6px;
}

/* “Iconos” básicos usando caracteres Unicode */
.footer-social a[href*="twitter"]::before {
  content: "X";
}
.footer-social a[href*="youtube"]::before {
  content: "▶";
}
.footer-social a[href*="linkedin"]::before {
  content: "in";
}
.footer-social a[href*="instagram"]::before {
  content: "◎";
}

.footer-social a::before {
  font-size: 18px;
  line-height: 1;
  display: inline-block;
}

.footer-social a:hover {
  opacity: 0.7;
}

/* -------- CENTRO: enlaces -------- */

.ft-center {
  background: #ffffff;          /* ¡blanco, como en la AEPD! */
  color: #180909;
  display: flex;
  align-items: center;
}

.footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-links li {
  margin-bottom: 12px;
}

.footer-links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
  line-height: 1.5;
  color: #2163df;
  text-decoration: none;
}

/* Flechita azul a la izquierda, como en el portal */
.footer-links a::before {
  content: "→";
  font-size: 1.1rem;
  line-height: 1;
}

.footer-links a:hover {
  text-decoration: underline;
}

/* -------- DERECHA: logo OJS pequeño -------- */

.ft-right {
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: flex-start;   /* LOGO A LA IZQUIERDA */
  padding-left: 40px;            /* opcional: mismo margen visual que AEPD */
}


.footer-pkp-small {
  max-width: 150px;
  height: auto;
  opacity: 0.95;
}

/* -------- RESPONSIVE -------- */
@media (max-width: 900px) {
  .footer-top-3col {
    grid-template-columns: 1fr;
  }

  .ft-col {
    padding: 25px 20px;
  }

  .ft-left-inner {
    flex-direction: column;
    gap: 20px;
  }

  .ft-center, .ft-right {
    justify-content: flex-start;
  }

  .ft-right {
    justify-content: center;
  }
}

/* ============================================================
   FOOTER INFERIOR (LEGAL) – ESTILO AEPD SIMPLIFICADO
   ============================================================ */

.site-footer__bottom {
  background-color: #180909;
  color: #ffffff;
  width: 100%;
  padding: 14px 0;
  box-sizing: border-box;
}

.site-footer__bottom .bottom-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.site-footer__bottom .region-footer-bottom ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.site-footer__bottom .region-footer-bottom li {
  display: inline-block;
  margin: 4px 10px;
  font-size: 0.95rem;
  position: relative;
}

/* Separador “·” entre enlaces */
.site-footer__bottom .region-footer-bottom li + li::before {
  content: "•";
  color: #cbcbcb;
  margin-right: 10px;
}

.site-footer__bottom .region-footer-bottom a {
  color: #ffffff;
  text-decoration: none;
  font-size: 0.95rem;
}

.site-footer__bottom .region-footer-bottom a:hover {
  text-decoration: underline;
}

@media (max-width: 600px) {
  .site-footer__bottom .region-footer-bottom ul {
    justify-content: flex-start;
  }
}


/* Sidebar: enlaces en negro, pero hover sigue azul */
.pkp_structure_sidebar a {
    color: #000 !important;
    text-decoration: none;
}

.pkp_structure_sidebar a:hover {
    color: #2163df !important;  /* azul AEPD */
    text-decoration: underline;
}

/* ============================================================
   ESTILO DE PÁGINA — BUSCADOR DE OJS
   Igual línea visual que login/registro
   ============================================================ */

.page.page_search {
    max-width: 960px;
    margin: 0 auto 3rem;
    padding: 2rem 1.5rem 3rem;
    background: #fff;
    box-shadow: 0 0 18px rgba(0, 0, 0, 0.06);
    border-radius: 8px;
    box-sizing: border-box;
}

/* -------- MIGAS DE PAN -------- */
.page_search .cmp_breadcrumbs {
    font-size: 0.875rem;
    margin-bottom: 1rem;
    color: #666;
}

.page_search .cmp_breadcrumbs a {
    color: #005a9c;
    text-decoration: none;
}

.page_search .cmp_breadcrumbs a:hover {
    text-decoration: underline;
}

.page_search .cmp_breadcrumbs .separator {
    margin: 0 0.25rem;
}

/* -------- TÍTULO -------- */
.page_search h1 {
    font-size: 1.8rem;
    margin-bottom: 1.2rem;
}

/* -------- INPUT PRINCIPAL -------- */
.page_search .search_input input[type="text"] {
    width: 100%;
    padding: 0.65rem 0.85rem;
    border-radius: 6px;
    border: 1px solid #c7c7c7;
    font-size: 1rem;
    margin-bottom: 1.2rem;
    box-sizing: border-box;
}

.page_search .search_input input:focus {
    outline: none;
    border-color: #005a9c;
    box-shadow: 0 0 0 2px rgba(0, 90, 156, 0.2);
}

/* -------- FIELDSET AVANZADO -------- */

.page_search fieldset.search_advanced {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.6rem;
}

.page_search fieldset.search_advanced legend {
    font-weight: 600;
    padding: 0 4px;
    margin-bottom: 8px;
}

/* Bloques internos */
.page_search .date_range {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

/* Sub fieldsets "Desde / Hasta" */
.page_search .date_range fieldset {
    border: none;
    padding: 0;
}

.page_search .date_range legend {
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.page_search .date_range label {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.9rem;
}

/* Selects */
.page_search select {
    width: 100%;
    padding: 0.45rem 0.6rem;
    border: 1px solid #c4c4c4;
    border-radius: 4px;
    background: #fff;
    font-size: 0.95rem;
    margin-bottom: 0.3rem;
    box-sizing: border-box;
}

.page_search select:focus {
    outline: none;
    border-color: #005a9c;
    box-shadow: 0 0 0 2px rgba(0, 90, 156, 0.2);
}

/* -------- AUTOR -------- */

.page_search .author {
    margin-top: 1.2rem;
}

.page_search .author .label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.page_search .author input[type="text"] {
    width: 100%;
    padding: 0.55rem 0.75rem;
    border-radius: 4px;
    border: 1px solid #c7c7c7;
    font-size: 0.95rem;
}

.page_search .author input:focus {
    outline: none;
    border-color: #005a9c;
    box-shadow: 0 0 0 2px rgba(0, 90, 156, 0.2);
}

/* -------- BOTÓN BUSCAR -------- */

.page_search .submit button.submit {
    border: none;
    border-radius: 4px;
    padding: 0.55rem 1.4rem;
    font-size: 1rem;
    font-weight: 600;
    background-color: #005a9c;
    color: #fff;
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease;
}

.page_search .submit button.submit:hover {
    background-color: #004375;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.14);
}

/* -------- RESULTADOS -------- */

.page_search .search_results {
    list-style: none;
    padding: 0;
    margin-top: 1rem;
}

.page_search .cmp_notification.notice {
    background: #f2f2f2;
    padding: 1rem 1.2rem;
    border-radius: 4px;
    color: #444;
    margin-top: 1rem;
}

/* -------- RESPONSIVE -------- */

@media (max-width: 700px) {
    .page_search {
        padding: 1.5rem 1rem 2.5rem;
        box-shadow: none;
        border-radius: 0;
    }

    .page_search .date_range {
        flex-direction: column;
    }
}
/* Quitar la lupa del botón de buscar sólo en la página de búsqueda */
.page_search .submit button.submit::before,
.page_search .submit .submit::before {
    content: none !important;
}
.page_search .submit {
    margin-top: 1.2rem;
}

.page_search .submit button.submit {
    display: inline-block;
    border: none;
    border-radius: 4px;
    padding: 0.55rem 1.4rem;
    font-size: 1rem;
    font-weight: 600;
    background-color: #005a9c;
    color: #fff;
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease;
}

.page_search .submit button.submit:hover {
    background-color: #004375;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.14);
}
/* ============================================================
   BUSCADOR: quitar lupa y dejar botón limpio
   ============================================================ */

/* Quitar pseudo-elementos con icono de lupa (en el div .submit y en el botón) */
.page_search form.cmp_form .submit::before,
.page_search form.cmp_form .submit button.submit::before {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Asegurar que no hay fondo especial tipo "cuadrado de la lupa" */
.page_search form.cmp_form .submit button.submit {
    background: #005a9c !important;   /* azul liso */
    background-image: none !important;
    padding-left: 2.4rem !important;  /* mismo padding que otros botones */
    border-radius: 4px;
}

/* Hover igual que en login/registro */
.page_search form.cmp_form .submit button.submit:hover {
    background-color: #004375 !important;
}

/* Enlaces del menú: color negro */
.pkp_navigation_primary_wrapper a {
    color: #000 !important;
    text-decoration: none;
}

/* Hover: azul + subrayado */
.pkp_navigation_primary_wrapper a:hover,
.pkp_navigation_primary_wrapper a:focus {
    color: #0056b3 !important;
    text-decoration: underline;
}
/* ============================================================
   BUSCADOR: botón "Buscar" con lupa a la IZQUIERDA
   ============================================================ */

/* Contenedor del botón */
.page_search form.cmp_form .submit {
    margin-top: 1.2rem;
}

/* Botón como inline-flex: icono + texto en línea */
.page_search form.cmp_form .submit button.submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;                 /* espacio entre lupa y texto */
    padding: 0.55rem 1.4rem;     /* padding normal, sin trucos raros */
    border-radius: 21px;
    border: none;
    font-size: 1rem;
    font-weight: 600;
    background-color: #005a9c;
    color: #fff;
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease;
}

/* Hover igual que login/registro */
.page_search form.cmp_form .submit button.submit:hover {
    background-color: #004375;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.14);
}

/* Recolocar la lupa: que se comporte como un icono normal, no superpuesto */
.page_search form.cmp_form .submit button.submit::before {
    position: static !important; /* quita el absolute del tema de OJS */
    margin: 0;
    display: inline-block;
}
.footer-top-3col .ft-center img {
  width: 160px !important;
  max-width: none !important;
  height: auto !important;
  display: block;
}

.footer-top-3col .ft-right img {
  width: 100px !important;
  max-width: none !important;
  height: auto !important;
  display: block;
}

/*Quitamos barra blanca*/
/* === STICKY FOOTER PARA OJS === */
html, body {
  height: 100%;
}

/* Contenedor principal de toda la página */
.pkp_structure_page {
  min-height: 100vh;         /* que llegue al alto de la ventana */
  display: flex;
  flex-direction: column;
}

/* Bloque de contenido (main + sidebar) que empuja el footer hacia abajo */
.pkp_structure_content {
  flex: 1 0 auto;
}

/* Footer: se queda al final, sin estirarse */
.pkp_structure_footer_wrapper {
  flex-shrink: 0;
}
