/* ============================================
   PMB OPAC Header Redesign - UNAP Biblioteca
   Universidad Nacional del Altiplano - Puno
   ============================================ */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;800&family=Inter:wght@300;400;500;600&family=Crimson+Text:wght@400;600;700&display=swap');

/* ---- Reset del header original de PMB ---- */
#main_header {
  padding: 0 !important;
  margin: 0 !important;
  width: 100vw !important;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

/* ---- TOP BAR (barra superior con info de contacto) ---- */
.unap-topbar {
  background: #1a1a2e;
  color: #a0a0b8;
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  padding: 6px 0;
  letter-spacing: 0.3px;
}

.unap-topbar-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 30px;
}

.unap-topbar a {
  color: #c0c0d8;
  text-decoration: none;
  transition: color 0.2s;
}

.unap-topbar a:hover {
  color: #ffffff;
}

.unap-topbar-left span {
  margin-right: 20px;
}

.unap-topbar-left span::before {
  margin-right: 6px;
  font-size: 0.85rem;
}

.unap-topbar-right a {
  margin-left: 12px;
  font-size: 0.95rem;
}

/* ---- HEADER PRINCIPAL ---- */
.unap-header {
  background: linear-gradient(135deg, #ffffff 0%, #f0f4f8 50%, #e8eef5 100%);
  padding: 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  border-bottom: 1px solid #dde3eb;
}

.unap-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%231a3a5c" fill-opacity="0.03" d="M0,192L48,197.3C96,203,192,213,288,229.3C384,245,480,267,576,250.7C672,235,768,181,864,181.3C960,181,1056,235,1152,234.7C1248,235,1344,181,1392,154.7L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>') no-repeat bottom;
  background-size: cover;
  pointer-events: none;
}

.unap-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 20px 30px;
  position: relative;
  z-index: 2;
}

/* Logo */
.unap-logo {
  flex-shrink: 0;
  margin-right: 28px;
}

.unap-logo img {
  height: 100px;
  width: auto;
  border-radius: 8px;
  border: 2px solid rgba(26,58,92,0.10);
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  transition: transform 0.3s, box-shadow 0.3s;
  object-fit: contain;
  background: white;
  padding: 4px;
}

.unap-logo img:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 25px rgba(0,0,0,0.15);
}

/* Texto del header */
.unap-header-text {
  flex: 1;
}

.unap-institution {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  color: #5a7a94;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 4px;
}

.unap-title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #1a2a3a;
  letter-spacing: 1px;
  line-height: 1.15;
  margin: 0;
}

.unap-title .accent {
  color: #b8860b;
}

.unap-subtitle {
  font-family: 'Crimson Text', 'Georgia', serif;
  font-size: 1.05rem;
  color: #5a7a94;
  font-style: italic;
  margin-top: 6px;
  letter-spacing: 0.5px;
}

/* Escudo/emblema decorativo derecho */
.unap-header-badge {
  flex-shrink: 0;
  text-align: center;
  margin-left: 28px;
}

.unap-header-badge .badge-icon {
  width: 60px;
  height: 60px;
  border: 2px solid rgba(184, 134, 11, 0.25);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 6px;
  background: rgba(184, 134, 11, 0.06);
}

.unap-header-badge .badge-icon svg {
  width: 30px;
  height: 30px;
  fill: #b8860b;
}

.unap-header-badge .badge-text {
  font-family: 'Inter', sans-serif;
  font-size: 0.65rem;
  color: #5a7a94;
  text-transform: uppercase;
  letter-spacing: 2px;
}

/* ---- NAVEGACION ---- */
.unap-nav {
  background: #1e3a5f;
  border-top: none;
  border-bottom: 3px solid #b8860b;
  position: relative;
  z-index: 10;
}

.unap-nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 0 30px;
}

.unap-nav-inner {
  justify-content: center;
}

.unap-nav a,
#main .unap-nav a,
#main_header .unap-nav a {
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 13px 14px;
  display: inline-flex;
  align-items: center;
  transition: all 0.25s;
  letter-spacing: 0.5px;
  position: relative;
  white-space: nowrap;
  text-transform: uppercase;
}

.unap-nav a:hover,
#main .unap-nav a:hover,
#main_header .unap-nav a:hover {
  color: #ffd970 !important;
  background: rgba(255,255,255,0.12);
}

.unap-nav a.active,
#main .unap-nav a.active,
#main_header .unap-nav a.active {
  color: #ffd970 !important;
  background: rgba(255,217,112,0.1);
}

.unap-nav a.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 12px;
  right: 12px;
  height: 3px;
  background: #ffd970;
  border-radius: 3px 3px 0 0;
}

.unap-nav a svg {
  width: 16px;
  height: 16px;
  margin-right: 7px;
  vertical-align: -2px;
  fill: currentColor;
}

/* ---- SLIDER / HERO ---- */
.unap-hero {
  position: relative;
  height: 300px;
  overflow: hidden;
  background: #0d1b2a;
}

.unap-hero-slides {
  display: flex;
  width: 1100%;
  height: 100%;
  animation: unap-slide 55s ease-in-out infinite;
}

.unap-hero-slide {
  width: calc(100% / 11);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.unap-hero-slide::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, rgba(13,27,42,0.6), rgba(27,40,56,0.45));
  z-index: 1;
}

.unap-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 750px;
  padding: 20px 40px;
}

.unap-hero-content h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.7rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 8px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

.unap-hero-content p {
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  color: #e0e8f0;
  margin: 0;
  line-height: 1.5;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

.unap-hero-content .hero-badge {
  display: inline-block;
  background: rgba(212, 168, 67, 0.2);
  border: 1px solid rgba(212, 168, 67, 0.4);
  color: #f0d060;
  font-family: 'Inter', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 4px 14px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 12px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

/* Indicadores del slider */
.unap-hero-dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  gap: 6px;
}

.unap-hero-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.35);
  transition: all 0.3s;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.unap-hero-dots span.active {
  background: #d4a843;
  width: 24px;
  border-radius: 4px;
}

/* 11 slides, 5s each = 55s total. Each slide: ~4.5% show + ~0.45% transition */
@keyframes unap-slide {
  0%, 7.5%      { transform: translateX(0); }
  9.09%, 16.5%  { transform: translateX(calc(-100% / 11)); }
  18.18%, 25.5% { transform: translateX(calc(-200% / 11)); }
  27.27%, 34.5% { transform: translateX(calc(-300% / 11)); }
  36.36%, 43.5% { transform: translateX(calc(-400% / 11)); }
  45.45%, 52.5% { transform: translateX(calc(-500% / 11)); }
  54.54%, 61.5% { transform: translateX(calc(-600% / 11)); }
  63.63%, 70.5% { transform: translateX(calc(-700% / 11)); }
  72.72%, 79.5% { transform: translateX(calc(-800% / 11)); }
  81.81%, 88.5% { transform: translateX(calc(-900% / 11)); }
  90.9%, 97.5%  { transform: translateX(calc(-1000% / 11)); }
  100%          { transform: translateX(0); }
}

/* Dot animations - 11 dots synced with slides */
@keyframes heroDot1 {
  0%, 7.5% { background: #d4a843; width: 20px; border-radius: 4px; }
  9.09%, 100% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
}
@keyframes heroDot2 {
  0%, 7.5% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
  9.09%, 16.5% { background: #d4a843; width: 20px; border-radius: 4px; }
  18.18%, 100% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
}
@keyframes heroDot3 {
  0%, 16.5% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
  18.18%, 25.5% { background: #d4a843; width: 20px; border-radius: 4px; }
  27.27%, 100% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
}
@keyframes heroDot4 {
  0%, 25.5% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
  27.27%, 34.5% { background: #d4a843; width: 20px; border-radius: 4px; }
  36.36%, 100% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
}
@keyframes heroDot5 {
  0%, 34.5% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
  36.36%, 43.5% { background: #d4a843; width: 20px; border-radius: 4px; }
  45.45%, 100% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
}
@keyframes heroDot6 {
  0%, 43.5% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
  45.45%, 52.5% { background: #d4a843; width: 20px; border-radius: 4px; }
  54.54%, 100% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
}
@keyframes heroDot7 {
  0%, 52.5% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
  54.54%, 61.5% { background: #d4a843; width: 20px; border-radius: 4px; }
  63.63%, 100% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
}
@keyframes heroDot8 {
  0%, 61.5% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
  63.63%, 70.5% { background: #d4a843; width: 20px; border-radius: 4px; }
  72.72%, 100% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
}
@keyframes heroDot9 {
  0%, 70.5% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
  72.72%, 79.5% { background: #d4a843; width: 20px; border-radius: 4px; }
  81.81%, 100% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
}
@keyframes heroDot10 {
  0%, 79.5% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
  81.81%, 88.5% { background: #d4a843; width: 20px; border-radius: 4px; }
  90.9%, 100% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
}
@keyframes heroDot11 {
  0%, 88.5% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
  90.9%, 97.5% { background: #d4a843; width: 20px; border-radius: 4px; }
  100% { background: rgba(255,255,255,0.35); width: 8px; border-radius: 50%; }
}

.unap-hero-dots span:nth-child(1)  { animation: heroDot1  55s ease-in-out infinite; }
.unap-hero-dots span:nth-child(2)  { animation: heroDot2  55s ease-in-out infinite; }
.unap-hero-dots span:nth-child(3)  { animation: heroDot3  55s ease-in-out infinite; }
.unap-hero-dots span:nth-child(4)  { animation: heroDot4  55s ease-in-out infinite; }
.unap-hero-dots span:nth-child(5)  { animation: heroDot5  55s ease-in-out infinite; }
.unap-hero-dots span:nth-child(6)  { animation: heroDot6  55s ease-in-out infinite; }
.unap-hero-dots span:nth-child(7)  { animation: heroDot7  55s ease-in-out infinite; }
.unap-hero-dots span:nth-child(8)  { animation: heroDot8  55s ease-in-out infinite; }
.unap-hero-dots span:nth-child(9)  { animation: heroDot9  55s ease-in-out infinite; }
.unap-hero-dots span:nth-child(10) { animation: heroDot10 55s ease-in-out infinite; }
.unap-hero-dots span:nth-child(11) { animation: heroDot11 55s ease-in-out infinite; }

/* ---- Ocultar elementos originales de PMB ---- */
#intro {
  display: none !important;
}

#intro_pmb {
  display: none !important;
}

#intro_bibli {
  display: none !important;
}

#intro_message {
  display: none !important;
}

/* Mejorar el area de busqueda - placeholder */

/* ================================================
   BODY / CUERPO - Area principal de contenido
   ================================================ */

/* ---- Container general - Override PMB pmb4.css layout ---- */
body #container,
html body #container {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  background: #f4f6f9 !important;
  min-height: 100vh !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  position: relative !important;
  padding: 0 !important;
}

body #container #main,
html body #main {
  max-width: 1200px !important;
  width: auto !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  position: static !important;
  background: transparent !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 20px !important;
}

body #main_hors_footer,
html body #main_hors_footer {
  padding-bottom: 30px !important;
  min-height: auto !important;
}

body #main_hors_footer > div {
  margin-bottom: 0 !important;
}

/* ---- Sidebar / Bandeau - OCULTAR completamente ---- */
body #bandeau,
html body #bandeau,
#container #bandeau,
#bandeau,
#bandeau_2,
#accueil,
#connexion,
#adresse,
#accessibility,
#bandeau #accueil,
#bandeau #connexion,
#bandeau #adresse,
#bandeau #accessibility {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  max-height: 0 !important;
  max-width: 0 !important;
  border: none !important;
  box-shadow: none !important;
  float: none !important;
}

/* Asegurar que todo dentro del bandeau este oculto */
#bandeau *,
#bandeau_2 * {
  display: none !important;
  visibility: hidden !important;
  max-height: 0 !important;
  max-width: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}

/* ---- Footer - Override PMB absolute positioning ---- */
body #footer,
html body #footer,
#container #footer,
#footer {
  position: static !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
  transform: none !important;
  clear: both !important;
  background: #1a1a2e !important;
  color: #a0a0b8 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  padding: 25px 30px !important;
  text-align: center !important;
  margin: 30px -20px 0 !important;
  border-top: 3px solid #d4a843 !important;
  box-sizing: border-box !important;
  float: none !important;
  z-index: 10 !important;
}

body #footer a,
html body #footer a,
#footer a {
  color: #d4a843 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

body #footer a:hover,
html body #footer a:hover,
#footer a:hover {
  color: #ffffff !important;
}

body #footer img,
html body #footer img,
#footer img {
  opacity: 0.6 !important;
  filter: brightness(2) !important;
  vertical-align: middle !important;
  margin: 0 4px !important;
}

body #footer span,
html body #footer span,
#footer span {
  color: #a0a0b8 !important;
  font-family: 'Inter', sans-serif !important;
}

/* ---- Titulos generales h3 dentro del main ---- */
#main h3,
#main_hors_footer h3 {
  font-family: 'Playfair Display', 'Georgia', serif;
  color: #1a1a2e;
  font-size: 1.3rem;
  font-weight: 600;
  border-bottom: 2px solid #d4a843;
  padding-bottom: 8px;
  margin: 25px 0 15px;
}

#main h3 span,
#main_hors_footer h3 span {
  cursor: pointer;
}

/* ---- Bloque de busqueda ---- */
#search,
#search_block {
  background: #ffffff !important;
  border-radius: 14px !important;
  padding: 30px 34px 26px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.05) !important;
  margin: 28px 0 !important;
  border: 1px solid #e8ecf2 !important;
  position: relative;
}

/* Titulo con linea dorada debajo */
#search h3,
#search_block h3 {
  font-family: 'Playfair Display', serif !important;
  color: #1a1a2e !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin: 0 0 6px !important;
  padding: 0 0 14px !important;
  border-bottom: 3px solid #d4a843 !important;
  display: block !important;
  letter-spacing: 0.3px;
}

#search h3::before,
#search_block h3::before {
  display: none !important;
}

/* Tabs de busqueda */
#search ul.search_tabs,
ul.search_tabs {
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 20px !important;
  display: flex !important;
  gap: 0 !important;
  border-bottom: 2px solid #eef1f6 !important;
  background: transparent !important;
}

#search ul.search_tabs li,
ul.search_tabs li {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  float: none !important;
}

#search ul.search_tabs li#current,
ul.search_tabs li#current,
#search ul.search_tabs li.current,
ul.search_tabs li.current {
  background: none !important;
  border: none !important;
  filter: none !important;
}

#search ul.search_tabs li a,
ul.search_tabs li a {
  display: block !important;
  padding: 9px 22px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: #8b95a5 !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
  transition: all 0.2s !important;
  background: none !important;
  border-radius: 0 !important;
  letter-spacing: 0.2px;
}

#search ul.search_tabs li a:hover,
ul.search_tabs li a:hover {
  color: #1a1a2e !important;
  background: none !important;
}

#search ul.search_tabs li#current a,
ul.search_tabs li#current a,
#search ul.search_tabs li.current a,
ul.search_tabs li.current a {
  color: #1a1a2e !important;
  font-weight: 600 !important;
  border-bottom: 3px solid #d4a843 !important;
  background: none !important;
}

/* Layout del formulario */
#search .row,
#search form .row {
  margin: 0 !important;
  padding: 0 !important;
}

#search > .row {
  margin: 0 !important;
  padding: 0 !important;
}

#search form {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
}

#search form br {
  display: none !important;
}

#search form input[type="hidden"] {
  display: none !important;
}

/* Select de tipo de documento */
#search form select[name="typdoc"],
#search_block select {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.84rem !important;
  padding: 10px 14px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  color: #4b5563 !important;
  transition: all 0.2s !important;
  margin: 0 !important;
  flex-basis: 100% !important;
  width: 100% !important;
  appearance: auto !important;
  order: 0 !important;
  cursor: pointer !important;
}

#search form select:focus,
#search_block select:focus {
  outline: none !important;
  border-color: #d4a843 !important;
  box-shadow: 0 0 0 3px rgba(212,168,67,0.1) !important;
  background: #fff !important;
}

#search_crl {
  display: none !important;
}

/* Input de busqueda principal */
#search input.text_query,
#search_block input[type="text"],
#search_block input[type="search"] {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
  padding: 13px 18px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  transition: all 0.2s !important;
  color: #1a1a2e !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: auto !important;
  box-sizing: border-box !important;
  order: 1 !important;
}

#search input.text_query:focus,
#search_block input[type="text"]:focus,
#search_block input[type="search"]:focus {
  outline: none !important;
  border-color: #d4a843 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(212,168,67,0.1) !important;
}

#search input.text_query::placeholder {
  color: #9ca3af;
  font-weight: 400;
}

/* Boton Buscar */
#search input.boutonrechercher,
#search_block input[type="submit"] {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  padding: 13px 30px !important;
  background: #1a1a2e !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
  order: 2 !important;
}

#search input.boutonrechercher:hover,
#search_block input[type="submit"]:hover {
  background: #2d2d48 !important;
  box-shadow: 0 4px 14px rgba(26, 26, 46, 0.25) !important;
  transform: translateY(-1px) !important;
}

/* Boton Ayuda */
#search input.button_search_help,
#search_block input.button_search_help {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  padding: 13px 18px !important;
  background: transparent !important;
  color: #8b95a5 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  order: 3 !important;
}

#search input.button_search_help:hover,
#search_block input.button_search_help:hover {
  background: #f1f5f9 !important;
  color: #1a1a2e !important;
  border-color: #cbd5e1 !important;
}

/* Seccion "Buscar en..." con checkboxes */
#simple_search_zone {
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid #eef1f6 !important;
  flex-basis: 100% !important;
  width: 100% !important;
  order: 10 !important;
}

#zsimples {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  cursor: pointer;
}

#zsimples .notice-heada {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: #8b95a5 !important;
  letter-spacing: 0.2px;
}

#zsimples img {
  opacity: 0.4;
  transition: opacity 0.2s;
}

#zsimples:hover img {
  opacity: 0.7;
}

#zsimplesChild {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  width: auto !important;
  padding: 12px 0 0 !important;
}

#zsimplesChild .row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px 0 !important;
}

#zsimplesChild .row span {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  color: #4b5563 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

#zsimplesChild .row span label {
  cursor: pointer;
  font-weight: 400 !important;
  color: #4b5563 !important;
}

#zsimplesChild input[type="checkbox"] {
  accent-color: #d4a843;
  width: 15px;
  height: 15px;
  cursor: pointer;
}

/* Ocultar el div de infopages (texto viejo de Biblioteca Virtual) */
#infopages {
  display: none !important;
}

/* ---- Resultados de busqueda ---- */
#resultatrech {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px 25px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  margin: 20px 0;
  border: 1px solid #e8ecf1;
}

#resultatrech h3 {
  font-family: 'Playfair Display', serif !important;
  color: #1a1a2e !important;
  font-size: 1.2rem;
  margin-top: 0 !important;
}

/* Cada notice/registro en resultados */
.notice-parent,
.notice_group,
.notice-child {
  background: #ffffff;
  border: 1px solid #e8ecf1;
  border-radius: 8px;
  padding: 18px 20px;
  margin-bottom: 12px;
  transition: all 0.2s;
}

.notice-parent:hover,
.notice_group:hover,
.notice-child:hover {
  border-color: #d4a843;
  box-shadow: 0 3px 15px rgba(0,0,0,0.06);
  transform: translateY(-1px);
}

/* Titulos de notices */
.notice-parent h3,
.notice_group h3,
.notice-child h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.1rem !important;
  color: #1a1a2e !important;
  border-bottom: none !important;
  margin: 0 0 8px !important;
  padding-bottom: 0 !important;
}

.notice-parent h3 a,
.notice_group h3 a,
.notice-child h3 a {
  color: #1a1a2e;
  text-decoration: none;
  transition: color 0.2s;
}

.notice-parent h3 a:hover,
.notice_group h3 a:hover,
.notice-child h3 a:hover {
  color: #d4a843;
}

/* Listas dentro de notices (autor, editor, etc) */
.notice-parent ul,
.notice_group ul,
.notice-child ul {
  list-style: none;
  padding: 0;
  margin: 5px 0 0;
}

.notice-parent ul li,
.notice_group ul li,
.notice-child ul li {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  color: #555;
  padding: 2px 0;
  line-height: 1.5;
}

.notice-parent ul li a,
.notice_group ul li a,
.notice-child ul li a {
  color: #2a5f8f;
  text-decoration: none;
}

.notice-parent ul li a:hover,
.notice_group ul li a:hover,
.notice-child ul li a:hover {
  color: #d4a843;
  text-decoration: underline;
}

/* ---- Paginacion / Navbar ---- */
.navbar {
  font-family: 'Inter', sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 15px 0;
  margin: 15px 0;
  flex-wrap: wrap;
}

.navbar a {
  text-decoration: none;
}

.navbar a.navbar_page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 8px;
  border: 1px solid #dde1e7;
  border-radius: 6px;
  color: #555;
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s;
  background: #fff;
}

.navbar a.navbar_page:hover {
  border-color: #d4a843;
  color: #d4a843;
  background: rgba(212, 168, 67, 0.05);
}

.navbar strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 8px;
  background: #1a1a2e;
  color: #ffffff;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 600;
}

.navbar img {
  height: 20px;
  opacity: 0.6;
  transition: opacity 0.2s;
}

.navbar a img {
  opacity: 1;
}

.navbar a:hover img {
  opacity: 0.8;
}

.navbar form {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: center;
}

/* ---- Facetas (filtros laterales) ---- */
#facette {
  background: #ffffff;
  border: 1px solid #e8ecf1;
  border-radius: 10px;
  padding: 18px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

#facette h3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  border-bottom: 1px solid #e8ecf1 !important;
  padding-bottom: 8px !important;
  margin: 0 0 10px !important;
}

#facette a {
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  color: #555;
  text-decoration: none;
  transition: color 0.2s;
}

#facette a:hover {
  color: #d4a843;
}

/* ---- Estanterias / Etageres ---- */
#etageres {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px 25px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  margin: 20px 0;
  border: 1px solid #e8ecf1;
}

#etageres h3 {
  font-family: 'Playfair Display', serif !important;
}

/* ---- Vista detallada de notice ---- */
.notice_display,
#notice_display_main {
  background: #ffffff;
  border-radius: 10px;
  padding: 25px 30px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  margin: 20px 0;
  border: 1px solid #e8ecf1;
}

/* Tabla de ejemplares */
.exemplaires_table,
table.exemplaires {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
}

.exemplaires_table th,
table.exemplaires th {
  background: #1a1a2e;
  color: #ffffff;
  font-weight: 500;
  padding: 10px 14px;
  text-align: left;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.exemplaires_table th:first-child,
table.exemplaires th:first-child {
  border-radius: 6px 0 0 0;
}

.exemplaires_table th:last-child,
table.exemplaires th:last-child {
  border-radius: 0 6px 0 0;
}

.exemplaires_table td,
table.exemplaires td {
  padding: 10px 14px;
  border-bottom: 1px solid #eef0f4;
  color: #444;
}

.exemplaires_table tr:nth-child(even) td,
table.exemplaires tr:nth-child(even) td {
  background: #f8f9fb;
}

.exemplaires_table tr:hover td,
table.exemplaires tr:hover td {
  background: #fef9ef;
}

/* ---- Tablas generales en el OPAC ---- */
#main table {
  border-collapse: separate;
  border-spacing: 0;
  font-family: 'Inter', sans-serif;
}

#main table .listheader,
#main table th,
#main .listheader {
  background: #1a1a2e;
  color: #ffffff;
  font-weight: 500;
  padding: 10px 14px;
  text-align: left;
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

#main table td {
  padding: 9px 14px;
  border-bottom: 1px solid #eef0f4;
  font-size: 0.88rem;
  color: #444;
}

#main table tr:nth-child(even) td {
  background: #f8f9fb;
}

#main table tr:hover td {
  background: #fef9ef;
}

/* ---- Categorias ---- */
.categories {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px 25px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  margin: 20px 0;
  border: 1px solid #e8ecf1;
}

.categories a {
  font-family: 'Inter', sans-serif;
  color: #2a5f8f;
  text-decoration: none;
  transition: color 0.2s;
}

.categories a:hover {
  color: #d4a843;
}

#category {
  margin-bottom: 10px;
}

/* (bandeau styles moved to layout override section above) */

#bandeau h3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 2px solid #d4a843 !important;
  padding-bottom: 6px !important;
  margin: 0 0 12px !important;
}

#bandeau #connexion input[type="text"],
#bandeau #connexion input[type="password"] {
  font-family: 'Inter', sans-serif;
  width: 100%;
  padding: 8px 12px;
  border: 2px solid #dde1e7;
  border-radius: 6px;
  font-size: 0.85rem;
  margin-bottom: 8px;
  transition: border-color 0.2s;
}

#bandeau #connexion input[type="text"]:focus,
#bandeau #connexion input[type="password"]:focus {
  outline: none;
  border-color: #d4a843;
}

#bandeau #connexion input[type="submit"] {
  font-family: 'Inter', sans-serif;
  width: 100%;
  padding: 8px;
  background: #1a1a2e;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}

#bandeau #connexion input[type="submit"]:hover {
  background: #16213e;
}

#adresse {
  font-size: 0.82rem;
  color: #666;
  line-height: 1.6;
}

#adresse a {
  color: #2a5f8f;
  text-decoration: none;
}

#adresse a:hover {
  color: #d4a843;
}

/* ---- Links generales del body ---- */
#main a,
#main_hors_footer a {
  color: #2a5f8f;
  text-decoration: none;
  transition: color 0.2s;
}

#main a:hover,
#main_hors_footer a:hover {
  color: #d4a843;
}

/* ---- Historial de busqueda ---- */
#historique,
.search_history {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px 25px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  margin: 20px 0;
  border: 1px solid #e8ecf1;
}

/* ---- Infopages ---- */
#infopages,
#infopages_top {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px 25px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  margin: 15px 0;
  border: 1px solid #e8ecf1;
  font-family: 'Inter', sans-serif;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #444;
}

/* ---- Bannettes (alertas) ---- */
#bannettes_public,
#bannettes_subscribed {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px 25px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  margin: 15px 0;
  border: 1px solid #e8ecf1;
}

/* ---- Home on top (link de inicio) ---- */
#home_on_top {
  background: #ffffff;
  border-radius: 8px;
  padding: 10px 18px;
  margin: 15px 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  color: #555;
  border: 1px solid #e8ecf1;
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
}

#home_on_top span {
  cursor: pointer;
  transition: color 0.2s;
}

#home_on_top span:hover {
  color: #d4a843;
}

/* ---- Expand/Collapse ---- */
.expandAll a,
.collapseAll a {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background 0.2s;
}

.expandAll a:hover,
.collapseAll a:hover {
  background: rgba(212, 168, 67, 0.1);
}

/* ---- Espacio de resultados ---- */
.espaceResultSearch {
  display: block;
  height: 10px;
}

/* Caddie / Carrito */
.addCart a {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  color: #2a5f8f;
  text-decoration: none;
  padding: 4px 10px;
  border: 1px solid #dde1e7;
  border-radius: 4px;
  transition: all 0.2s;
}

.addCart a:hover {
  border-color: #d4a843;
  color: #d4a843;
}

/* Print link */
.printSearchResult a {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
}

/* ================================================
   FOOTER
   ================================================ */

#footer {
  background: #1a1a2e;
  color: #a0a0b8;
  padding: 30px 0;
  margin-top: 0;
  font-family: 'Inter', sans-serif;
  text-align: center;
}

#footer a,
#footer .footer_biblio_name,
#footer .lien_pmb_footer {
  color: #c0c8d8 !important;
  text-decoration: none !important;
  transition: color 0.2s;
  font-size: 0.85rem;
}

#footer a:hover,
#footer .footer_biblio_name:hover,
#footer .lien_pmb_footer:hover {
  color: #d4a843 !important;
}

#footer span {
  display: inline-block;
  margin: 0 10px;
  font-size: 0.85rem;
}

#footer #footer_rss {
  display: block;
  margin-bottom: 8px;
}

#footer #footer_link_website {
  font-weight: 500;
}

#footer #footer_link_pmb {
  display: block;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 0.78rem;
  color: #777;
}

#footer #footer_link_pmb a {
  font-size: 0.78rem !important;
  color: #888 !important;
}

/* ================================================
   BIBLIOTECAS ESPECIALIZADAS - Grid de tarjetas
   ================================================ */

.unap-libraries-section {
  background: #ffffff;
  border-radius: 10px;
  padding: 30px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  margin: 25px 0;
  border: 1px solid #e8ecf1;
}

.unap-sedes-section {
  background: #ffffff;
  border-radius: 10px;
  padding: 30px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  margin: 25px 0;
  border: 1px solid #e8ecf1;
}

.unap-section-header {
  text-align: center;
  margin-bottom: 30px;
}

.unap-section-header h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0 0 8px;
}

.unap-section-header p {
  font-family: 'Inter', sans-serif;
  font-size: 0.92rem;
  color: #777;
  margin: 0;
}

/* Grid principal de bibliotecas */
.unap-lib-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(145px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}

/* Cada tarjeta de biblioteca - con colores vivos */
.unap-lib-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 20px 14px 16px;
  text-align: center;
  text-decoration: none !important;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  border: none;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.unap-lib-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--card-accent, #d4a843);
  transform: scaleX(0);
  transition: transform 0.3s ease;
  transform-origin: left;
}

.unap-lib-card:hover {
  box-shadow: 0 10px 30px rgba(0,0,0,0.12);
  transform: translateY(-6px);
}

.unap-lib-card:hover::before {
  transform: scaleX(1);
}

.unap-lib-card-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  background: var(--card-bg, #eef3f9);
}

.unap-lib-card:hover .unap-lib-card-icon {
  transform: scale(1.1) rotate(-3deg);
  box-shadow: 0 4px 12px var(--card-shadow, rgba(42,95,143,0.2));
}

.unap-lib-card-icon svg {
  width: 26px;
  height: 26px;
  fill: var(--card-accent, #2a5f8f);
  transition: all 0.3s;
}

.unap-lib-card span {
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  color: #333 !important;
  line-height: 1.3;
}

.unap-lib-card:hover span {
  color: var(--card-accent, #1a1a2e) !important;
}

/* Colores por tarjeta - se asignan via nth-child para dar variedad */
.unap-lib-card:nth-child(8n+1) { --card-accent: #2563eb; --card-bg: #eff4ff; --card-shadow: rgba(37,99,235,0.2); }
.unap-lib-card:nth-child(8n+2) { --card-accent: #0891b2; --card-bg: #ecfeff; --card-shadow: rgba(8,145,178,0.2); }
.unap-lib-card:nth-child(8n+3) { --card-accent: #7c3aed; --card-bg: #f3f0ff; --card-shadow: rgba(124,58,237,0.2); }
.unap-lib-card:nth-child(8n+4) { --card-accent: #c026d3; --card-bg: #fdf0ff; --card-shadow: rgba(192,38,211,0.2); }
.unap-lib-card:nth-child(8n+5) { --card-accent: #059669; --card-bg: #ecfdf5; --card-shadow: rgba(5,150,105,0.2); }
.unap-lib-card:nth-child(8n+6) { --card-accent: #d97706; --card-bg: #fffbeb; --card-shadow: rgba(217,119,6,0.2); }
.unap-lib-card:nth-child(8n+7) { --card-accent: #dc2626; --card-bg: #fef2f2; --card-shadow: rgba(220,38,38,0.2); }
.unap-lib-card:nth-child(8n+8) { --card-accent: #0d9488; --card-bg: #f0fdfa; --card-shadow: rgba(13,148,136,0.2); }

/* Sedes regionales - titulo separado */
.unap-sedes-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #1a1a2e;
  margin: 10px 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.unap-sedes-title svg {
  width: 22px;
  height: 22px;
  fill: #d4a843;
}

.unap-sedes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
}

.unap-sede-card {
  background: linear-gradient(135deg, #eef3f9, #dce6f0);
  border: 1px solid #c8d6e5;
  border-radius: 14px;
  padding: 22px 20px;
  text-decoration: none !important;
  display: flex;
  align-items: center;
  gap: 14px;
  transition: all 0.3s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.unap-sede-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(30,58,95,0.12);
  border-color: #b8860b;
}

.unap-sede-card-icon {
  width: 44px;
  height: 44px;
  background: #1e3a5f;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.unap-sede-card-icon svg {
  width: 22px;
  height: 22px;
  fill: #d4a843;
}

.unap-sede-card span {
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  color: #1a2a3a !important;
}

.unap-sede-card small {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  color: #5a7a94;
  margin-top: 2px;
}

/* ================================================
   ULTIMAS ADQUISICIONES - Slider horizontal
   ================================================ */

.unap-recent-section {
  margin: 40px 0 30px;
}

.unap-recent-slider-wrapper {
  position: relative;
  padding: 0 40px;
}

.unap-recent-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 10px 0 20px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.unap-recent-track::-webkit-scrollbar {
  display: none;
}

/* Flechas */
.unap-recent-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #1a1a2e;
  color: #fff;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  transition: all 0.2s;
  box-shadow: 0 3px 10px rgba(0,0,0,0.2);
  line-height: 1;
}

.unap-recent-arrow:hover {
  background: #d4a843;
  transform: translateY(-50%) scale(1.1);
}

.unap-recent-prev {
  left: 0;
}

.unap-recent-next {
  right: 0;
}

/* Cada tarjeta de libro */
.unap-recent-card {
  flex-shrink: 0;
  width: 220px;
  background: #ffffff;
  border: 1px solid #e8ecf1;
  border-radius: 12px;
  padding: 20px 18px;
  position: relative;
  transition: all 0.25s;
  cursor: pointer;
}

.unap-recent-card:hover {
  border-color: #d4a843;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  transform: translateY(-4px);
}

.unap-recent-card-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #d4a843;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.unap-recent-card-icon {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #0d1b2a, #1b2838);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.unap-recent-card-icon svg {
  width: 26px;
  height: 26px;
  fill: #d4a843;
}

.unap-recent-card h4 {
  font-family: 'Playfair Display', serif;
  font-size: 0.92rem;
  font-weight: 600;
  color: #1a1a2e;
  line-height: 1.35;
  margin: 0 0 8px;
  min-height: 50px;
}

.unap-recent-card-author {
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  color: #666;
  margin: 0 0 4px;
  line-height: 1.4;
}

.unap-recent-card-meta {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  color: #999;
  margin: 0 0 10px;
}

.unap-recent-card-tag {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 0.68rem;
  font-weight: 500;
  color: #2a5f8f;
  background: #eef3f9;
  padding: 3px 10px;
  border-radius: 10px;
}

/* ---- Ocultar el bloque intro del footer (ya lo tenemos en el header) ---- */
#intro {
  display: none !important;
}

#intro_bibli {
  display: none !important;
}

/* ---- Accessibility (hidden with bandeau) ---- */

/* ---- Search section (PMB native) ---- */
#search {
  background: #ffffff;
  border-radius: 10px;
  padding: 25px 30px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  margin: 25px 0;
  border: 1px solid #e8ecf1;
}

#search .search_tabs,
#search ul.search_tabs {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 15px !important;
  display: flex !important;
  gap: 0 !important;
  border-bottom: 2px solid #e8ecf1;
}

#search .search_tabs li {
  margin: 0 !important;
}

#search .search_tabs li a {
  display: block !important;
  padding: 10px 20px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: #666 !important;
  text-decoration: none !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
  transition: all 0.2s !important;
  background: transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
}

#search .search_tabs li a:hover {
  color: #1a1a2e !important;
  background: #f8f9fb !important;
}

#search .search_tabs li#current a,
#search .search_tabs li.current a,
#search .search_tabs li a.current {
  color: #1a1a2e !important;
  border-bottom-color: #d4a843 !important;
  font-weight: 600 !important;
  background: transparent !important;
}

#search .text_query {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
  padding: 12px 16px !important;
  border: 2px solid #dde1e7 !important;
  border-radius: 8px !important;
  background: #f8f9fb !important;
  transition: all 0.2s !important;
  color: #333 !important;
  width: 60% !important;
}

#search .text_query:focus {
  outline: none !important;
  border-color: #d4a843 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(212, 168, 67, 0.15) !important;
}

#search .boutonrechercher {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  padding: 12px 28px !important;
  background: #1e3a5f !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  letter-spacing: 0.3px !important;
}

#search .boutonrechercher:hover {
  background: #16213e !important;
  box-shadow: 0 4px 12px rgba(26, 26, 46, 0.3) !important;
}

#search .button_search_help {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  padding: 12px 20px !important;
  background: #f0f4f8 !important;
  color: #555 !important;
  border: 1px solid #dde1e7 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}

#search .button_search_help:hover {
  background: #e8ecf1 !important;
}

#search select {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  padding: 10px 12px !important;
  border: 2px solid #dde1e7 !important;
  border-radius: 8px !important;
  background: #f8f9fb !important;
  color: #333 !important;
  margin-bottom: 10px !important;
}

#search #search_crl {
  margin-bottom: 10px;
}

/* ---- Search filters / checkboxes area ---- */
#search #simple_search_zone,
#search #zsimples,
#search #zsimplesChild {
  background: #f8f9fb !important;
  border: 1px solid #e8ecf1 !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  margin-top: 12px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  color: #444 !important;
}

#search #zsimplesChild {
  border: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
  background: transparent !important;
}

#search #simple_search_zone label,
#search #zsimples label,
#search #zsimplesChild label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.83rem !important;
  color: #444 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-right: 12px !important;
  margin-bottom: 4px !important;
}

#search input[type="checkbox"] {
  accent-color: #1e3a5f !important;
  width: 15px !important;
  height: 15px !important;
  cursor: pointer !important;
}

#search .search_expand,
#search a[onclick*="toggle"] {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  color: #1e3a5f !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  cursor: pointer !important;
}

#search .search_expand:hover,
#search a[onclick*="toggle"]:hover {
  color: #d4a843 !important;
}

/* ---- Search form row alignment ---- */
#search form {
  font-family: 'Inter', sans-serif !important;
}

#search form table {
  width: 100% !important;
  border: none !important;
  background: transparent !important;
}

#search form table td {
  border: none !important;
  padding: 4px 2px !important;
  background: transparent !important;
  vertical-align: middle !important;
}

/* Ocultar el navigator original */
#navigator {
  display: none !important;
}

/* Ocultar el resume_panier vacio */
#resume_panier.empty {
  display: none !important;
}

/* ---- Infopages styling ---- */
#infopages {
  background: #ffffff !important;
  border-radius: 10px !important;
  padding: 20px 25px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  margin: 15px 0 !important;
  border: 1px solid #e8ecf1 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  color: #444 !important;
}

#infopages p {
  font-size: 1rem !important;
  margin: 0 !important;
}

#infopages a {
  color: #1e3a5f !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

#infopages a:hover {
  color: #d4a843 !important;
}

/* ---- Bibliotecas / Location section ---- */
#location {
  background: #ffffff !important;
  border-radius: 10px !important;
  padding: 30px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  margin: 25px 0 !important;
  border: 1px solid #e8ecf1 !important;
}

#location > h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  text-align: center !important;
  border-bottom: none !important;
  margin-bottom: 25px !important;
}

#location > h3 > span {
  display: block;
}

#location-container {
  overflow: visible !important;
}

/* Transform the table into a grid */
#location-container table,
#location-container table.center,
div#location-container table {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  gap: 14px !important;
  border: none !important;
  background: transparent !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  table-layout: auto !important;
}

#location-container table tr,
#location-container table tbody,
div#location-container table tr,
div#location-container table tbody {
  display: contents !important;
}

#location-container table td,
#location-container table td.center,
div#location-container table td {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #ffffff !important;
  border-radius: 14px !important;
  padding: 20px 12px 16px !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 110px !important;
  float: none !important;
}

#location-container table td:empty,
div#location-container table td:empty {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

#location-container table td:hover {
  box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
  transform: translateY(-6px) !important;
}

/* Hide the old orange book icon */
#location-container table td img[src*="bibli-small"] {
  display: none !important;
}

/* Style the library name links */
#location-container table td a {
  text-decoration: none !important;
  color: #333 !important;
  transition: color 0.2s !important;
}

#location-container table td b,
#location-container table td a b {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: #333 !important;
  line-height: 1.3 !important;
  display: block !important;
}

#location-container table td:hover b,
#location-container table td:hover a b {
  color: #1e3a5f !important;
}

/* Add colored top bar on hover using nth-child */
#location-container table td::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: var(--card-accent, #d4a843) !important;
  transform: scaleX(0) !important;
  transition: transform 0.3s ease !important;
  transform-origin: left !important;
}

#location-container table td:hover::before {
  transform: scaleX(1) !important;
}

/* Add a book icon via CSS pseudo-element */
#location-container table td a:first-child::before {
  content: '' !important;
  display: block !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  background: #eef3f9 !important;
  margin: 0 auto 8px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232563eb'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 26px !important;
  transition: all 0.3s !important;
}

#location-container table td:hover a:first-child::before {
  transform: scale(1.1) rotate(-3deg) !important;
  box-shadow: 0 4px 12px rgba(37,99,235,0.2) !important;
}

/* Color cycling for library cards */
#location-container table td:nth-child(8n+1) { --card-accent: #2563eb; }
#location-container table td:nth-child(8n+1) a:first-child::before { background-color: #eff4ff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232563eb'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E") !important; }

#location-container table td:nth-child(8n+2) { --card-accent: #0891b2; }
#location-container table td:nth-child(8n+2) a:first-child::before { background-color: #ecfeff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230891b2'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E") !important; }

#location-container table td:nth-child(8n+3) { --card-accent: #7c3aed; }
#location-container table td:nth-child(8n+3) a:first-child::before { background-color: #f3f0ff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237c3aed'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E") !important; }

#location-container table td:nth-child(8n+4) { --card-accent: #c026d3; }
#location-container table td:nth-child(8n+4) a:first-child::before { background-color: #fdf0ff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c026d3'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E") !important; }

#location-container table td:nth-child(8n+5) { --card-accent: #059669; }
#location-container table td:nth-child(8n+5) a:first-child::before { background-color: #ecfdf5 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23059669'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E") !important; }

#location-container table td:nth-child(8n+6) { --card-accent: #d97706; }
#location-container table td:nth-child(8n+6) a:first-child::before { background-color: #fffbeb !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d97706'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E") !important; }

#location-container table td:nth-child(8n+7) { --card-accent: #dc2626; }
#location-container table td:nth-child(8n+7) a:first-child::before { background-color: #fef2f2 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23dc2626'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E") !important; }

#location-container table td:nth-child(8n+8) { --card-accent: #0d9488; }
#location-container table td:nth-child(8n+8) a:first-child::before { background-color: #f0fdfa !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230d9488'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E") !important; }

/* Hide <br> inside location td */
#location-container table td br {
  display: none !important;
}

/* ---- Last entries / Ultimas adquisiciones ---- */
#last_entries {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 30px 30px 20px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  margin: 25px 0 !important;
  border: 1px solid #e8ecf1 !important;
  overflow: hidden !important;
}

#last_entries > h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin: 0 0 6px !important;
  text-align: center !important;
}

#last_entries > h3::after {
  content: '' !important;
  display: block !important;
  width: 60px !important;
  height: 3px !important;
  background: #d4a843 !important;
  margin: 10px auto 0 !important;
  border-radius: 2px !important;
}

/* ---- CONTENEDOR VERTICAL con scroll ---- */
#last_entries-container {
  display: block !important;
  max-height: 600px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 15px 5px 10px !important;
  scrollbar-width: thin !important;
  scrollbar-color: #d4a843 #f0f4f8 !important;
}

#last_entries-container::-webkit-scrollbar {
  width: 5px !important;
}
#last_entries-container::-webkit-scrollbar-track {
  background: #f0f4f8 !important;
  border-radius: 3px !important;
}
#last_entries-container::-webkit-scrollbar-thumb {
  background: #d4a843 !important;
  border-radius: 3px !important;
}

/* Botones expand all / collapse all */
#last_entries-container > .expandAll,
#last_entries-container > .collapseAll,
#last_entries-container > .espaceResultSearch,
#last_entries-container > span.expandAll,
#last_entries-container > span.collapseAll,
#last_entries-container > span.espaceResultSearch {
  display: inline-block !important;
  margin-bottom: 10px !important;
}

/* ---- Cada tarjeta de notice ---- */
#last_entries .notice-parent {
  background: #ffffff !important;
  border: 1px solid #e8ecf1 !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  margin-bottom: 8px !important;
  transition: all 0.25s ease !important;
  position: relative !important;
  border-left: 4px solid var(--entry-accent, #2563eb) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
}

#last_entries .notice-parent:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,0.08) !important;
  border-left-color: #d4a843 !important;
}

/* Color cycling */
#last_entries .notice-parent:nth-child(6n+1) { --entry-accent: #2563eb; }
#last_entries .notice-parent:nth-child(6n+2) { --entry-accent: #0891b2; }
#last_entries .notice-parent:nth-child(6n+3) { --entry-accent: #7c3aed; }
#last_entries .notice-parent:nth-child(6n+4) { --entry-accent: #059669; }
#last_entries .notice-parent:nth-child(6n+5) { --entry-accent: #d97706; }
#last_entries .notice-parent:nth-child(6n+6) { --entry-accent: #dc2626; }

/* Icono de libro */
#last_entries .notice-parent img[src*="icon"] {
  vertical-align: middle !important;
  margin-right: 5px !important;
  width: 16px !important;
  height: 16px !important;
}

/* Ocultar <br> despues del heada */
#last_entries .notice-parent > br {
  display: none !important;
}

#last_entries .notice-heada {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  color: #333 !important;
  line-height: 1.5 !important;
}

#last_entries .header_title {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  line-height: 1.35 !important;
}

#last_entries .header_title a {
  color: #1a1a2e !important;
  text-decoration: none !important;
}
#last_entries .header_title a:hover {
  color: #d4a843 !important;
}

#last_entries .header_authors {
  font-size: 0.78rem !important;
  color: #666 !important;
}

#last_entries .header_authors a {
  color: #2a5f8f !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
#last_entries .header_authors a:hover {
  color: #d4a843 !important;
}

/* Boton + para expandir */
#last_entries .img_plus {
  cursor: pointer !important;
  opacity: 0.5 !important;
  transition: opacity 0.2s !important;
  vertical-align: middle !important;
  margin-right: 5px !important;
}
#last_entries .img_plus:hover {
  opacity: 1 !important;
}

/* Expand/collapse all */
#last_entries .img_plusplus,
#last_entries .img_moinsmoins {
  cursor: pointer !important;
  opacity: 0.5 !important;
  transition: opacity 0.2s !important;
}
#last_entries .img_plusplus:hover,
#last_entries .img_moinsmoins:hover {
  opacity: 1 !important;
}

/* ---- DETALLES EXPANDIDOS (notice-child) - debajo de su tarjeta ---- */
#last_entries .notice-child {
  background: #f8f9fb !important;
  border: 1px solid #dde1e7 !important;
  border-top: none !important;
  border-left: 4px solid #d4a843 !important;
  border-radius: 0 0 10px 10px !important;
  padding: 14px 16px !important;
  margin-top: -8px !important;
  margin-bottom: 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.76rem !important;
  line-height: 1.55 !important;
  color: #444 !important;
  overflow-x: auto !important;
}

/* Titulos internos (Reserva, Ejemplares) */
#last_entries .notice-child h3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  margin: 10px 0 6px !important;
  padding-bottom: 3px !important;
  border-bottom: 1px solid #e8ecf1 !important;
}

/* Badges (Publico, etc) */
#last_entries .notice-child span[style*="background"] {
  border-radius: 3px !important;
  padding: 1px 6px !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  display: inline-block !important;
  margin: 1px 2px !important;
}

/* Tabla de detalles bibliograficos */
#last_entries .notice-child table {
  width: 100% !important;
  border: none !important;
  background: transparent !important;
  border-collapse: collapse !important;
  font-size: 0.75rem !important;
}

#last_entries .notice-child table td {
  border: none !important;
  padding: 3px 6px !important;
  font-size: 0.75rem !important;
  color: #555 !important;
  vertical-align: top !important;
  line-height: 1.45 !important;
  word-break: break-word !important;
}

#last_entries .notice-child table td:first-child {
  font-weight: 600 !important;
  color: #1a1a2e !important;
  white-space: nowrap !important;
  padding-right: 8px !important;
  font-size: 0.73rem !important;
}

/* Labels amarillos */
#last_entries .notice-child table td span[style*="background"] {
  background: #fef3c7 !important;
  color: #92400e !important;
  border-radius: 3px !important;
  padding: 0 5px !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
}

/* Links en detalles */
#last_entries .notice-child a {
  color: #2a5f8f !important;
  text-decoration: none !important;
  font-size: 0.75rem !important;
}
#last_entries .notice-child a:hover {
  color: #d4a843 !important;
}

/* Tabla de ejemplares */
#last_entries .notice-child table.exemplaires,
#last_entries .notice-child .exemplaires_table {
  border: 1px solid #e8ecf1 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  margin-top: 6px !important;
}

#last_entries .notice-child table.exemplaires th,
#last_entries .notice-child .exemplaires_table th {
  background: #1e3a5f !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 0.7rem !important;
  padding: 5px 8px !important;
  text-align: left !important;
  border: none !important;
}

#last_entries .notice-child table.exemplaires td,
#last_entries .notice-child .exemplaires_table td {
  padding: 5px 8px !important;
  font-size: 0.72rem !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

/* Reserva link como boton */
#last_entries .notice-child a[href*="resa"] {
  display: inline-block !important;
  background: #1e3a5f !important;
  color: #ffffff !important;
  padding: 4px 12px !important;
  border-radius: 5px !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  margin-top: 4px !important;
}
#last_entries .notice-child a[href*="resa"]:hover {
  background: #d4a843 !important;
  color: #ffffff !important;
}

/* Hidden permalink */
#last_entries-container > a[style*="display:none"],
#last_entries-container > a[style*="display: none"] {
  display: none !important;
}

/* Ocultar Z3988 */
#last_entries .Z3988 {
  display: none !important;
}

/* Intro message - hide */
#intro_message .p2:empty {
  display: none !important;
}

#intro_message {
  margin: 0 !important;
  padding: 0 !important;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 900px) {
  .unap-header-inner {
    flex-direction: column;
    text-align: center;
    padding: 15px 20px;
  }

  .unap-logo {
    margin-right: 0;
    margin-bottom: 12px;
  }

  .unap-logo img {
    width: 70px;
    height: 70px;
  }

  .unap-title {
    font-size: 1.6rem;
  }

  .unap-header-badge {
    display: none;
  }

  .unap-nav-inner {
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 10px;
  }

  .unap-nav a {
    padding: 10px 12px;
    font-size: 0.8rem;
  }

  .unap-hero {
    height: 220px;
  }

  .unap-hero-content h2 {
    font-size: 1.2rem;
  }

  .unap-topbar-inner {
    flex-direction: column;
    gap: 4px;
    text-align: center;
  }

  /* Libraries responsive */
  .unap-lib-grid {
    grid-template-columns: repeat(auto-fill, minmax(115px, 1fr));
    gap: 10px;
  }

  .unap-lib-card {
    padding: 16px 10px 12px;
  }

  .unap-lib-card-icon {
    width: 44px;
    height: 44px;
  }

  .unap-section-header h2 {
    font-size: 1.4rem;
  }

  .unap-sedes-grid {
    grid-template-columns: 1fr;
  }

  .unap-recent-card {
    width: 190px;
  }

  /* Body responsive */
  #search_block {
    padding: 18px 15px;
    border-radius: 8px;
  }

  .search_tabs li a,
  ul.search_tabs li a {
    padding: 8px 12px;
    font-size: 0.8rem;
  }

  .notice-parent,
  .notice_group {
    padding: 14px 15px;
  }

  .notice_display {
    padding: 18px 15px;
  }

  #resultatrech {
    padding: 15px;
  }

  .exemplaires_table th,
  .exemplaires_table td,
  table.exemplaires th,
  table.exemplaires td {
    padding: 7px 8px;
    font-size: 0.78rem;
  }

  #main {
    padding: 0 10px;
  }
}

@media (max-width: 600px) {
  .unap-title {
    font-size: 1.3rem;
  }

  .unap-institution {
    font-size: 0.65rem;
  }

  .unap-nav a {
    padding: 8px 10px;
    font-size: 0.75rem;
  }

  .unap-hero {
    height: 180px;
  }

  .unap-hero-content h2 {
    font-size: 1rem;
  }

  .unap-hero-content p {
    font-size: 0.8rem;
  }

  /* Body responsive small */
  .search_tabs,
  ul.search_tabs {
    flex-wrap: wrap;
  }

  .navbar a.navbar_page,
  .navbar strong {
    min-width: 30px;
    height: 30px;
    font-size: 0.78rem;
  }

  #footer span {
    display: block;
    margin: 4px 0;
  }

  .exemplaires_table,
  table.exemplaires {
    display: block;
    overflow-x: auto;
  }
}
