@charset "utf-8";
/* ==========================================================================
   University of Saida Dr Moulay Tahar — جامعة سعيدة الدكتور مولاي الطاهر
   Bibliothèque Universitaire Centrale (BUC)
   PMB OPAC Theme Override — Full Visual Redesign matching https://www.univ-saida.dz
   Version: 2.1 — November 2026
   ========================================================================== */

/* ============================================================
   1. GOOGLE FONTS
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+Arabic:wght@400;500;600;700&display=swap');

/* ============================================================
   2. DESIGN TOKENS (FROM WWW.UNIV-SAIDA.DZ)
   ============================================================ */
:root {
  --uni-navy:        #1B2D5B;
  --uni-navy-dark:   #0E1522;
  --uni-navy-deep:   #142247;
  --uni-navy-light:  #243773;
  --uni-sky:         #3B82F6;
  --uni-sky-hover:   #2563EB;
  --uni-sky-light:   #60A5FA;
  --uni-sky-pale:    #EFF6FF;
  --uni-gold:        #C9A227;
  --uni-surface:     #F1F5F9;
  --uni-surface-alt: #E8EEF7;
  --uni-card:        #FFFFFF;
  --uni-border:      #E2E8F0;
  --uni-text:        #1E293B;
  --uni-text-muted:  #64748B;
  --uni-radius-sm:   6px;
  --uni-radius-md:   12px;
  --uni-radius-lg:   16px;
  --uni-shadow-sm:   0 1px 3px rgba(27,45,91,0.07), 0 1px 2px rgba(27,45,91,0.04);
  --uni-shadow-md:   0 4px 14px rgba(27,45,91,0.09), 0 2px 6px rgba(27,45,91,0.04);
  --uni-shadow-lg:   0 10px 30px rgba(27,45,91,0.13), 0 4px 10px rgba(27,45,91,0.07);
}

/* ============================================================
   3. GLOBAL RESET & FULL-WIDTH PAGE LAYOUT
   ============================================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  -webkit-text-size-adjust: 100% !important;
  font-size: 15px !important;
  scroll-behavior: smooth;
  background-color: var(--uni-surface) !important;
}

body,
body#pmbopac {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: var(--uni-text) !important;
  background-color: var(--uni-surface) !important;
  background-image: none !important;
  overflow-x: hidden !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* Main container — flex column for ordering & full sticky footer support */
#container {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 0 auto !important;
  background: transparent !important;
}

/* ============================================================
   4. FLEX ORDERING — Correct visual order:
      1. #intro (Topbar + Portal Header + Navbar)
      2. #main_header (Hero Slider)
      3. #bandeau (Search + Connexion)
      4. #main_hors_footer (Content)
      5. #footer
   ============================================================ */
#intro {
  order: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#main {
  display: contents !important;
}

#main_header {
  order: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#bandeau {
  order: 3 !important;
  width: 100% !important;
  max-width: 1600px !important;
  margin: 16px auto 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
  float: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.8fr) minmax(300px, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
}

#main_hors_footer {
  order: 4 !important;
  width: 100% !important;
  max-width: 1600px !important;
  margin: 0 auto !important;
  padding: 12px 32px 32px 32px !important;
  box-sizing: border-box !important;
  float: none !important;
}

#bandeau_2 {
  display: none !important;
  order: 5 !important;
}

#footer {
  order: 6 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* ============================================================
   5. HIDE PMB LEGACY ELEMENTS (duplicate/empty/unwanted)
   ============================================================ */
/* Legacy Zen mobile buttons */
.TglUser,
.TgllSearch,
#btnMenu,
#cms_module_htmlcode_176,
#cms_module_htmlcode_175,
#cms_module_htmlcode_178 {
  display: none !important;
}

/* Old intro header (replaced by custom portal header) */
#intro_bibli {
  display: none !important;
}

/* Hide #cms_module_section_126 (old portail title, replaced) */
#cms_module_section_126 {
  display: none !important;
}

/* Clear divs that cause unwanted spacing */
.clear {
  display: none !important;
}

/* Grid elements inside bandeau that create phantom rows */
/* Note: Using !important on display AND visibility to override JS inline styles */
#accueil,
#resume_panier,
#cms_module_htmlcode_141,
#home_on_top,
#navigator,
#intro_message,
#adresse,
#cms_module_articleslist_130,
#add_div_cms_module_articleslist_21,
#accessibility,
#Introbandeau,
#cms_module_section_125,
#cms_module_htmlcode_137,
.Ancre,
.social-icons-ql {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* Extra specificity for JS-injected inline display:block on resume_panier */
div#resume_panier[style],
div#cms_module_articleslist_130[style] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Hide search/connexion history and redundant links */
#cms_module_search_22 a[href*="lvl=index"],
#lienHistorique,
#nav_history,
.navig_actions_first_screen,
a[href*="search_history"],
a[href*="action=get_nav_history"],
a[href*="get_bookmarks_nav_history"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================================
   6. TOP UTILITY BAR
   ============================================================ */
#buc-topbar.univ-saida-topbar {
  width: 100% !important;
  background-color: var(--uni-navy-dark) !important;
  color: #94A3B8 !important;
  font-size: 12.5px !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  padding: 7px 32px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

#buc-topbar .topbar-inner {
  width: 100% !important;
  max-width: 1600px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

#buc-topbar .topbar-contact,
#buc-topbar .topbar-links {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

#buc-topbar a {
  color: #94A3B8 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 12.5px !important;
}

#buc-topbar a:hover {
  color: var(--uni-sky-light) !important;
}

#buc-topbar .sep {
  color: rgba(255,255,255,0.15) !important;
  margin: 0 2px !important;
}

/* ============================================================
   7. INSTITUTIONAL MAIN HEADER / PORTAL HEADER
   ============================================================ */
.univ-saida-portal-header {
  width: 100% !important;
  background: #FFFFFF !important;
  border-bottom: 1px solid var(--uni-border) !important;
  box-shadow: 0 2px 10px rgba(27,45,91,0.05) !important;
  padding: 12px 32px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.univ-saida-portal-header .header-container {
  width: 100% !important;
  max-width: 1600px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}

.univ-saida-portal-header .header-brand {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-decoration: none !important;
}

.univ-saida-portal-header .univ-logo-color {
  height: 60px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}

.univ-saida-portal-header .header-institution-title {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.univ-saida-portal-header .header-republic {
  font-size: 11.5px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  font-weight: 600 !important;
  color: var(--uni-text-muted) !important;
  margin-bottom: 2px !important;
  display: block !important;
}

.univ-saida-portal-header .title-fr {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--uni-navy) !important;
  letter-spacing: -0.3px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.univ-saida-portal-header .title-ar {
  font-family: 'Cairo', 'Noto Sans Arabic', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--uni-navy-light) !important;
  direction: rtl !important;
  line-height: 1.3 !important;
  margin-top: 1px !important;
}

.univ-saida-portal-header .title-buc {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 4px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: var(--uni-sky) !important;
}

.univ-saida-portal-header .header-quick-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.univ-saida-portal-header .header-status-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #ECFDF5 !important;
  border: 1px solid #A7F3D0 !important;
  color: #065F46 !important;
  padding: 7px 14px !important;
  border-radius: 9999px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}

.univ-saida-portal-header .status-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--uni-emerald) !important;
  box-shadow: 0 0 0 3px rgba(16,185,129,0.25) !important;
  display: inline-block !important;
}

.univ-saida-portal-header .btn-login-trigger {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: linear-gradient(135deg, var(--uni-navy) 0%, var(--uni-navy-light) 100%) !important;
  color: #FFFFFF !important;
  padding: 9px 18px !important;
  border-radius: 9999px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(27,45,91,0.18) !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.univ-saida-portal-header .btn-login-trigger:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(27,45,91,0.25) !important;
  background: linear-gradient(135deg, var(--uni-sky-hover) 0%, var(--uni-sky) 100%) !important;
  color: #FFFFFF !important;
}

.univ-saida-portal-header .btn-cart-trigger {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: var(--uni-bg) !important;
  border: 1px solid var(--uni-border) !important;
  color: var(--uni-navy) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  position: relative !important;
  text-decoration: none !important;
  transition: all 0.18s ease !important;
}

.univ-saida-portal-header .btn-cart-trigger:hover {
  background: var(--uni-sky-pale) !important;
  color: var(--uni-sky) !important;
  border-color: var(--uni-sky-light) !important;
}

/* ============================================================
   8. HORIZONTAL MAIN NAVBAR (AUTHENTIC UNIV-SAIDA.DZ STYLE)
   ============================================================ */
.univ-saida-navbar-wrap,
#cms_module_sectionslist_120 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: linear-gradient(180deg, var(--uni-navy) 0%, var(--uni-navy-deep) 100%) !important;
  border-bottom: 3px solid var(--uni-sky) !important;
  box-shadow: 0 4px 16px rgba(27,45,91,0.14) !important;
  position: relative !important;
  z-index: 100 !important;
}

.MenuHoriz {
  width: 100% !important;
  max-width: 1600px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
}

.MenuHoriz .navbar-container {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.MenuHoriz .Nav.uk-navbar-nav {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  flex-wrap: wrap !important;
}

.MenuHoriz .Nav.uk-navbar-nav > li.nav-item,
.MenuHoriz .Nav.uk-navbar-nav > li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}

.MenuHoriz .Nav.uk-navbar-nav > li > a {
  color: #F1F5F9 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 0 18px !important;
  height: 48px !important;
  line-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  transition: all 0.18s ease !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  letter-spacing: 0.1px !important;
  white-space: nowrap !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -3px !important;
}

.MenuHoriz .Nav.uk-navbar-nav > li.uk-parent > a::after {
  content: "\f107";
  font-family: "FontAwesome" !important;
  font-size: 11px !important;
  margin-left: 6px !important;
  color: #94A3B8 !important;
  transition: transform 0.2s ease, color 0.15s ease !important;
}

.MenuHoriz .Nav.uk-navbar-nav > li.uk-parent:hover > a::after,
.MenuHoriz .Nav.uk-navbar-nav > li.uk-parent.uk-open > a::after {
  transform: rotate(180deg) !important;
  color: #FFFFFF !important;
}

.MenuHoriz .Nav.uk-navbar-nav > li > a .fa:first-child {
  font-size: 13px !important;
  color: var(--uni-sky-light) !important;
  transition: color 0.15s ease !important;
}

.MenuHoriz .Nav.uk-navbar-nav > li > a .nav-arrow {
  font-size: 11px !important;
  color: #94A3B8 !important;
  margin-left: 2px !important;
  transition: transform 0.2s ease !important;
}

.MenuHoriz .Nav.uk-navbar-nav > li:hover > a,
.MenuHoriz .Nav.uk-navbar-nav > li.uk-active > a,
.MenuHoriz .Nav.uk-navbar-nav > li.uk-open > a {
  background: rgba(59, 130, 246, 0.22) !important;
  color: #FFFFFF !important;
  border-bottom-color: var(--uni-sky) !important;
}

.MenuHoriz .Nav.uk-navbar-nav > li:hover > a .nav-arrow,
.MenuHoriz .Nav.uk-navbar-nav > li.uk-open > a .nav-arrow {
  transform: rotate(180deg) !important;
  color: #FFFFFF !important;
}

/* Dropdown Menu */
.MenuHoriz .uk-dropdown-navbar {
  background: #FFFFFF !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: 0 14px 38px rgba(27, 45, 91, 0.18) !important;
  padding: 8px !important;
  min-width: 250px !important;
  margin-top: 2px !important;
}

.MenuHoriz .uk-dropdown-navbar.dropdown-faculties {
  min-width: 320px !important;
}

.MenuHoriz .uk-dropdown-navbar .SousNav.uk-nav-navbar {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.MenuHoriz .uk-dropdown-navbar .SousNav.uk-nav-navbar > li > a {
  color: var(--uni-text) !important;
  padding: 9px 14px !important;
  border-radius: var(--uni-radius-sm) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  transition: all 0.15s ease !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  text-decoration: none !important;
}

.MenuHoriz .uk-dropdown-navbar .SousNav.uk-nav-navbar > li > a::before {
  content: "\f105";
  font-family: "FontAwesome" !important;
  font-size: 11px !important;
  color: var(--uni-sky) !important;
  margin-right: 6px !important;
  transition: transform 0.15s ease !important;
}

.MenuHoriz .uk-dropdown-navbar .SousNav.uk-nav-navbar > li > a:hover::before {
  transform: translateX(3px) !important;
}

.MenuHoriz .uk-dropdown-navbar .SousNav.uk-nav-navbar > li > a .fa {
  color: var(--uni-sky) !important;
  font-size: 11px !important;
  flex-shrink: 0 !important;
  transition: transform 0.15s ease !important;
}

.MenuHoriz .uk-dropdown-navbar .SousNav.uk-nav-navbar > li > a:hover {
  background: var(--uni-sky-pale) !important;
  color: var(--uni-sky-hover) !important;
  transform: translateX(4px) !important;
}

.MenuHoriz .uk-dropdown-navbar .SousNav.uk-nav-navbar > li > a:hover .fa {
  transform: translateX(2px) !important;
}

/* Quick University Portal Link Button on Right */
.MenuHoriz .nav-portal-badge {
  display: flex !important;
  align-items: center !important;
  margin-left: auto !important;
}

.MenuHoriz .btn-portal-ext {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 14px !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  transition: all 0.18s ease !important;
  white-space: nowrap !important;
}

.MenuHoriz .btn-portal-ext:hover {
  background: var(--uni-sky) !important;
  border-color: var(--uni-sky) !important;
  transform: translateY(-1px) !important;
}

/* ============================================================
   9. HERO SLIDER BANNER (Full width, campus background)
   ============================================================ */
.univ-saida-hero-slider {
  position: relative !important;
  width: 100% !important;
  min-height: 400px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 60px 32px !important;
  box-sizing: border-box !important;
}

.univ-saida-hero-slider .hero-slider-bg {
  position: absolute !important;
  inset: 0 !important;
  background-image: url('images/univ_saida/hero_campus_1.png') !important;
  background-size: cover !important;
  background-position: center 30% !important;
  background-repeat: no-repeat !important;
  transform: scale(1.02) !important;
  transition: transform 8s ease !important;
  z-index: 1 !important;
}

.univ-saida-hero-slider:hover .hero-slider-bg {
  transform: scale(1.06) !important;
}

.univ-saida-hero-slider .hero-slider-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(14,21,34,0.90) 0%, rgba(27,45,91,0.82) 50%, rgba(27,45,91,0.60) 100%) !important;
  z-index: 2 !important;
}

.univ-saida-hero-slider .hero-slider-content {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  max-width: 1060px !important;
  text-align: center !important;
  margin: 0 auto !important;
}

.univ-saida-hero-slider .hero-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 5px 16px !important;
  border-radius: 9999px !important;
  background: rgba(59,130,246,0.22) !important;
  border: 1px solid rgba(147,197,253,0.35) !important;
  color: #93C5FD !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 16px !important;
}

.univ-saida-hero-slider .hero-title {
  color: #FFFFFF !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.25 !important;
  margin: 0 0 14px 0 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.4) !important;
}

.univ-saida-hero-slider .hero-subtitle {
  color: #E2E8F0 !important;
  font-size: 16.5px !important;
  font-weight: 400 !important;
  max-width: 780px !important;
  margin: 0 auto 28px auto !important;
  line-height: 1.65 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3) !important;
}

.univ-saida-hero-slider .hero-quick-shortcuts {
  margin-top: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.univ-saida-hero-slider .shortcuts-label {
  color: #CBD5E1 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.univ-saida-hero-slider .shortcut-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 14px !important;
  border-radius: 9999px !important;
  background: rgba(255,255,255,0.10) !important;
  color: #F8FAFC !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  transition: all 0.15s ease !important;
}

.univ-saida-hero-slider .shortcut-pill:hover {
  background: rgba(59,130,246,0.35) !important;
  border-color: var(--uni-sky-light) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
}

/* ============================================================
   10. SEARCH MODULE CARD (#cms_module_search_22)
   ============================================================ */
#cms_module_search_22 {
  width: 100% !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#cms_module_search_22 .searchbox {
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-md) !important;
  padding: 18px 22px !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
}

/* Title: "Je cherche, je trouve..." */
#cms_module_search_22 .searchbox_title {
  color: var(--uni-navy) !important;
  background: transparent !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: -0.2px !important;
  margin: 0 0 12px 0 !important;
  padding: 0 0 10px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-bottom: 2px solid var(--uni-sky-pale) !important;
}

#cms_module_search_22 .searchbox_title::before {
  content: "\f002";
  font-family: 'FontAwesome';
  font-size: 15px;
  color: var(--uni-sky);
}

/* Hide label text "Recherche" */
#cms_module_search_22 label.visually-hidden,
#cms_module_search_22 label[for*="user_query_lib"] {
  display: none !important;
}

/* Input line */
#cms_module_search_22 .research_inputs {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 0 12px 0 !important;
  flex-wrap: nowrap !important;
}

#cms_module_search_22 .search_txt {
  flex: 1 !important;
  width: auto !important;
  height: 44px !important;
  border: 2px solid #CBD5E1 !important;
  border-radius: var(--uni-radius-sm) !important;
  padding: 8px 16px !important;
  font-size: 15px !important;
  color: var(--uni-text) !important;
  background: #F8FAFC !important;
  outline: none !important;
  transition: all 0.2s ease !important;
  float: none !important;
  box-shadow: none !important;
  margin: 0 !important;
}

#cms_module_search_22 .search_txt::placeholder {
  color: #94A3B8 !important;
}

#cms_module_search_22 .search_txt:focus {
  border-color: var(--uni-sky) !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.18) !important;
}

#cms_module_search_22 .button_search_submit {
  height: 44px !important;
  width: auto !important;
  background: var(--uni-sky) !important;
  color: #FFFFFF !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-radius: var(--uni-radius-sm) !important;
  padding: 0 22px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

#cms_module_search_22 .button_search_submit:hover {
  background: var(--uni-sky-hover) !important;
  transform: translateY(-1px) !important;
}

#cms_module_search_22 .button_search_help {
  display: none !important;
}

/* Radio buttons: Dans le catalogue / Dans le site — single horizontal line */
#cms_module_search_22 .search_radio_button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 18px 0 0 !important;
  padding: 0 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  cursor: pointer !important;
  vertical-align: middle !important;
  line-height: 1 !important;
}

#cms_module_search_22 .search_radio_button input[type="radio"] {
  accent-color: var(--uni-sky) !important;
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  cursor: pointer !important;
}

#cms_module_search_22 .search_radio_button label {
  margin: 0 !important;
  cursor: pointer !important;
  display: inline !important;
  font-size: 13.5px !important;
  color: #475569 !important;
}

/* Advanced Search link in searchbox */
#cms_module_search_22 .search_advanced_link {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  float: right !important;
}

#cms_module_search_22 .search_advanced_link a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--uni-sky) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

#cms_module_search_22 .search_advanced_link a::before {
  content: "\f1de"; /* fa-sliders */
  font-family: 'FontAwesome';
  font-size: 13px;
  color: var(--uni-sky);
}

#cms_module_search_22 .search_advanced_link a:hover {
  color: var(--uni-navy) !important;
  text-decoration: underline !important;
}

/* Clearfix for searchbox */
#cms_module_search_22 .searchbox::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

/* ============================================================
   11. CONNEXION MODULE CARD (#connexion)
   ============================================================ */
#connexion {
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-md) !important;
  padding: 18px 22px !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  max-height: none !important;
  opacity: 1 !important;
  overflow: visible !important;
}

#connexion::before {
  display: none !important;
}

#connexion .login_invite {
  color: var(--uni-navy) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: -0.2px !important;
  margin: 0 0 12px 0 !important;
  padding: 0 0 10px 0 !important;
  border-bottom: 2px solid var(--uni-sky-pale) !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#connexion .login_invite::before {
  content: "\f2be";
  font-family: 'FontAwesome';
  font-size: 16px;
  color: var(--uni-sky);
}

#login_form {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Hide redundant label (inputs use placeholders) */
#login_form label {
  display: none !important;
}

#connexion input.login {
  width: 100% !important;
  height: 40px !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: var(--uni-radius-sm) !important;
  padding: 6px 14px !important;
  font-size: 14px !important;
  color: var(--uni-text) !important;
  background: #F8FAFC !important;
  box-sizing: border-box !important;
  margin: 0 0 10px 0 !important;
  outline: none !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

#connexion input.login:focus {
  border-color: var(--uni-sky) !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.15) !important;
}

.myform-password-text-visually {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  margin-bottom: 10px !important;
}

#connexion input.password {
  flex: 1 !important;
  width: auto !important;
  height: 40px !important;
  border: 1.5px solid #CBD5E1 !important;
  border-right: none !important;
  border-radius: var(--uni-radius-sm) 0 0 var(--uni-radius-sm) !important;
  padding: 6px 14px !important;
  font-size: 14px !important;
  color: var(--uni-text) !important;
  background: #F8FAFC !important;
  outline: none !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

#connexion input.password:focus {
  border-color: var(--uni-sky) !important;
  background: #FFFFFF !important;
}

#myform-password-visually {
  height: 40px !important;
  width: 40px !important;
  background: #F1F5F9 !important;
  border: 1.5px solid #CBD5E1 !important;
  border-left: none !important;
  border-radius: 0 var(--uni-radius-sm) var(--uni-radius-sm) 0 !important;
  color: #64748B !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.15s ease !important;
  flex-shrink: 0 !important;
}

#myform-password-visually:hover {
  background: #E2E8F0 !important;
  color: var(--uni-navy) !important;
}

#login_form input[type="submit"].bouton {
  width: 100% !important;
  height: 40px !important;
  background: var(--uni-navy) !important;
  color: #FFFFFF !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-radius: var(--uni-radius-sm) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  margin: 2px 0 8px 0 !important;
  float: none !important;
  letter-spacing: 0.2px !important;
}

#login_form input[type="submit"].bouton:hover {
  background: var(--uni-sky) !important;
  transform: translateY(-1px) !important;
}

.mdp_forgotten {
  display: block !important;
  text-align: center !important;
  font-size: 13px !important;
  color: var(--uni-sky) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  margin-top: 4px !important;
  transition: color 0.15s ease !important;
}

.mdp_forgotten:hover {
  color: var(--uni-sky-hover) !important;
  text-decoration: underline !important;
}

/* ============================================================
   11b. METRICS STRIP (#cms_module_section_173)
   ============================================================ */
#cms_module_section_173 {
  width: 100% !important;
  max-width: 1600px !important;
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  margin: 0 auto 20px auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.metrics-strip {
  width: 100% !important;
  background: #FFFFFF !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-sm) !important;
  padding: 20px 24px !important;
  box-sizing: border-box !important;
}

.metrics-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.metric-card {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 12px 18px !important;
  border-radius: var(--uni-radius-md) !important;
  background: var(--uni-bg) !important;
  border: 1px solid var(--uni-border) !important;
  transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s !important;
  box-sizing: border-box !important;
}

.metric-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--uni-shadow-md) !important;
  background: #FFFFFF !important;
}

.metric-icon-wrap {
  width: 52px !important;
  height: 52px !important;
  border-radius: var(--uni-radius-md) !important;
  background: var(--uni-sky-pale) !important;
  color: var(--uni-sky) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  flex-shrink: 0 !important;
}

.metric-card.gold .metric-icon-wrap {
  background: #FEF3C7 !important;
  color: var(--uni-gold-dark) !important;
}

.metric-card.emerald .metric-icon-wrap {
  background: #ECFDF5 !important;
  color: var(--uni-emerald) !important;
}

.metric-card.purple .metric-icon-wrap {
  background: #F3E8FF !important;
  color: #9333EA !important;
}

.metric-number {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--uni-navy) !important;
  line-height: 1.15 !important;
}

.metric-label {
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: var(--uni-text-muted) !important;
  margin-top: 3px !important;
}

/* Hide metrics strip on secondary detail/search pages */
#main_hors_footer:has(#notice) #cms_module_section_173,
#main_hors_footer:has(#search_result) #cms_module_section_173,
#main_hors_footer:has(#search) #cms_module_section_173,
#main_hors_footer:has(#error_connection) #cms_module_section_173,
#main_hors_footer:has(#cart_action) #cms_module_section_173 {
  display: none !important;
}

/* ============================================================
   12. ACTUALITÉS SLIDER (.SliderArt / .Slider)
   ============================================================ */
.Slider {
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-md) !important;
  overflow: hidden !important;
  margin: 0 0 24px 0 !important;
  transition: box-shadow 0.2s ease !important;
  width: auto !important;
  float: none !important;
  min-height: 0 !important;
}

.Slider:hover {
  box-shadow: var(--uni-shadow-lg) !important;
}

.SliderArt {
  padding: 0 !important;
}

.SliderArt:after {
  content: none !important;
  display: none !important;
}

.SliderArt h3.titleInside {
  background: var(--uni-navy) !important;
  color: #FFFFFF !important;
  padding: 13px 22px !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  border-bottom: 3px solid var(--uni-sky) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.SliderArt h3.titleInside::before {
  content: "\f0a1";
  font-family: 'FontAwesome';
  color: var(--uni-sky-light);
  font-size: 15px;
}

.SliderArt .itemContent {
  padding: 18px 22px !important;
}

.SliderArt .ItemResume h4 {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--uni-navy) !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
}

.SliderArt .datesEven {
  font-size: 12.5px !important;
  color: var(--uni-sky) !important;
  font-weight: 600 !important;
  margin: 0 0 10px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.SliderArt .resume {
  font-size: 14.5px !important;
  color: #334155 !important;
  line-height: 1.65 !important;
  margin: 0 0 12px 0 !important;
}

.SliderArt .resume p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 115% !important;
}

/* Suppress any orphaned p-tags with line-height artifacts */
.SliderArt .resume p[style] {
  line-height: 1.65 !important;
  text-align: left !important;
}

.SliderArt .lirePlus {
  margin: 8px 0 0 0 !important;
}

.SliderArt .lirePlus a,
.SliderArt p.lirePlus {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: var(--uni-sky) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.SliderArt .lirePlus a:hover {
  color: var(--uni-sky-hover) !important;
  text-decoration: underline !important;
}

/* bxSlider container resets */
.bx-wrapper {
  margin-bottom: 0 !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}

.bx-wrapper .bx-viewport {
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}

/* ============================================================
   12b. CALENDRIER & AGENDA (#cms_module_agenda_85)
   ============================================================ */
#cms_module_agenda_85 {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
  width: 320px !important;
  max-width: 100% !important;
  float: right !important;
  margin: 0 0 24px 20px !important;
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-md) !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  transition: box-shadow 0.2s ease !important;
}

#cms_module_agenda_85:hover {
  box-shadow: var(--uni-shadow-lg) !important;
}

#cms_module_articleslist_21 {
  width: calc(100% - 344px) !important;
  float: left !important;
}

#cms_module_recordslist_23,
.SliderHoriz {
  clear: both !important;
  width: 100% !important;
}

/* Dojo Calendar inside Agenda */
#cms_module_agenda_85 .dijitCalendarContainer {
  width: 100% !important;
  margin: 0 !important;
  border: none !important;
  font-family: inherit !important;
}

#cms_module_agenda_85 .dijitCalendarMonthContainer {
  background: var(--uni-navy) !important;
  color: #FFFFFF !important;
  border-radius: var(--uni-radius-sm) var(--uni-radius-sm) 0 0 !important;
  padding: 6px 4px !important;
}

#cms_module_agenda_85 .dijitCalendarMonthLabel {
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
}

#cms_module_agenda_85 .dijitCalendarDayLabelTemplate {
  background: #F8FAFC !important;
  color: #475569 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-align: center !important;
  padding: 7px 0 !important;
  border: none !important;
}

#cms_module_agenda_85 .dijitCalendarBodyContainer td {
  border: 1px solid #F1F5F9 !important;
  padding: 4px 0 !important;
  text-align: center !important;
  font-size: 12.5px !important;
  border-radius: var(--uni-radius-sm) !important;
  transition: all 0.15s ease !important;
}

#cms_module_agenda_85 .dijitCalendarBodyContainer td:hover {
  background: var(--uni-sky-pale) !important;
  color: var(--uni-sky) !important;
}

#cms_module_agenda_85 td.dijitCalendarCurrentDate {
  outline: 2px solid var(--uni-sky) !important;
  outline-offset: -2px !important;
  font-weight: 800 !important;
  color: var(--uni-sky) !important;
  background: #EFF6FF !important;
}

#cms_module_agenda_85 td[class*='cms_module_agenda_event_'] {
  background: var(--uni-sky) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

#cms_module_agenda_85 td.dijitCalendarPreviousMonth,
#cms_module_agenda_85 td.dijitCalendarNextMonth {
  color: #CBD5E1 !important;
  background: #FAFBFD !important;
}

#cms_module_agenda_85 .dijitCalendarYearContainer {
  background: #F8FAFC !important;
  border-top: 1px solid var(--uni-border) !important;
  padding: 4px 0 !important;
  border-radius: 0 0 var(--uni-radius-sm) var(--uni-radius-sm) !important;
}

#cms_module_agenda_85 .dijitCalendarYearLabel {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--uni-navy) !important;
}

/* ============================================================
   13. NOUVEAUTÉS SLIDER (.SliderHoriz)
   ============================================================ */
.SliderHoriz {
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-md) !important;
  overflow: hidden !important;
  margin: 0 0 24px 0 !important;
  transition: box-shadow 0.2s ease !important;
}

.SliderHoriz:hover {
  box-shadow: var(--uni-shadow-lg) !important;
}

.SliderHoriz .SliderNot > h3,
.fluxRSS > h3,
#widget > h3 {
  background: var(--uni-navy) !important;
  color: #FFFFFF !important;
  padding: 13px 22px !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  border-bottom: 3px solid var(--uni-sky) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.SliderHoriz .SliderNot > h3::before {
  content: "\f02d";
  font-family: 'FontAwesome';
  color: var(--uni-sky-light);
  font-size: 15px;
}

/* Nouveautés book cards */
.SliderHoriz .listNotHz {
  padding: 14px 16px !important;
}

.SliderHoriz .listNotHz .imgL {
  text-align: center !important;
  margin-bottom: 8px !important;
}

.SliderHoriz .listNotHz .imgL img {
  max-height: 120px !important;
  width: auto !important;
  border-radius: var(--uni-radius-sm) !important;
  box-shadow: var(--uni-shadow-sm) !important;
}

.SliderHoriz .listNotHz a h3 {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--uni-navy) !important;
  text-align: center !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

.SliderHoriz .listNotHz a {
  text-decoration: none !important;
  display: block !important;
}

.SliderHoriz .listNotHz a:hover h3 {
  color: var(--uni-sky) !important;
}

/* ============================================================
   14. DISCIPLINES & FACULTÉS CARDS (.listselect)
   ============================================================ */
.listselect {
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-md) !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
}

.listselect h3 {
  background: var(--uni-navy) !important;
  color: #FFFFFF !important;
  padding: 14px 22px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  margin: 0 !important;
  border-bottom: 3px solid var(--uni-sky) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  letter-spacing: -0.2px !important;
}

.listselect h3::before {
  content: "\f19d";
  font-family: 'FontAwesome';
  color: var(--uni-sky-light);
  font-size: 17px;
}

/* Grid layout for discipline cards */
.listselect .uk-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  padding: 24px !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Individual card */
.listselect .itemVign {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: #FFFFFF !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  overflow: hidden !important;
  box-shadow: var(--uni-shadow-sm) !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: flex !important;
  flex-direction: column !important;
}

.listselect .itemVign:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--uni-shadow-lg) !important;
  border-color: var(--uni-sky-light) !important;
}

/* Hide unconfigured article 47 (blank "Selection") */
.listselect .itemVign a[href*="id_article=47"],
.listselect .itemVign:has(a[href*="id_article=47"]) {
  display: none !important;
}

/* Image container */
.listselect .imgL {
  height: 150px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  position: relative !important;
  overflow: hidden !important;
}

.listselect .imgL::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(15,23,42,0.35) 100%);
  transition: opacity 0.2s ease;
}

.listselect .itemVign:hover .imgL::after {
  opacity: 0.15;
}

/* Hide default transparent shelf image */
.listselect .imgL img {
  display: none !important;
}

/* uk-panel styling interference */
.listselect .imgL.uk-panel-box {
  border: none !important;
  background: none !important;
  padding: 0 !important;
}

/* DISCIPLINE IMAGE MAPPINGS */
.listselect .itemVign a[href*="id_article=81"] .imgL,
.listselect .itemVign:has(a[href*="id_article=81"]) .imgL {
  background-image: url('images/disciplines/sciences.svg') !important;
}
.listselect .itemVign a[href*="id_article=76"] .imgL,
.listselect .itemVign:has(a[href*="id_article=76"]) .imgL {
  background-image: url('images/disciplines/technologies.svg') !important;
}
.listselect .itemVign a[href*="id_article=83"] .imgL,
.listselect .itemVign:has(a[href*="id_article=83"]) .imgL {
  background-image: url('images/disciplines/snv.svg') !important;
}
.listselect .itemVign a[href*="id_article=78"] .imgL,
.listselect .itemVign:has(a[href*="id_article=78"]) .imgL {
  background-image: url('images/disciplines/medecine.svg') !important;
}
.listselect .itemVign a[href*="id_article=79"] .imgL,
.listselect .itemVign:has(a[href*="id_article=79"]) .imgL {
  background-image: url('images/disciplines/droit.svg') !important;
}
.listselect .itemVign a[href*="id_article=82"] .imgL,
.listselect .itemVign:has(a[href*="id_article=82"]) .imgL {
  background-image: url('images/disciplines/economie.svg') !important;
}
.listselect .itemVign a[href*="id_article=80"] .imgL,
.listselect .itemVign:has(a[href*="id_article=80"]) .imgL {
  background-image: url('images/disciplines/shs.svg') !important;
}
.listselect .itemVign a[href*="id_article=77"] .imgL,
.listselect .itemVign:has(a[href*="id_article=77"]) .imgL {
  background-image: url('images/disciplines/lettres.svg') !important;
}

/* Discipline Card Title link */
.listselect .itemVign > a:last-child {
  padding: 14px 18px !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #FFFFFF !important;
  flex: 1 !important;
}

.listselect .itemVign h4 {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: var(--uni-navy) !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  transition: color 0.15s ease !important;
}

.listselect .itemVign:hover h4 {
  color: var(--uni-sky) !important;
}

.listselect .itemVign > a:last-child::after {
  content: "\f105";
  font-family: 'FontAwesome';
  font-size: 15px;
  color: #94A3B8;
  transition: all 0.2s ease;
  flex-shrink: 0;
  margin-left: 8px;
}

.listselect .itemVign:hover > a:last-child::after {
  color: var(--uni-sky);
  transform: translateX(4px);
}

/* ============================================================
   15. NOTICES & SEARCH RESULTS
   ============================================================ */
#notice,
.notice_contenu,
.itemAbrege {
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  padding: 22px 26px !important;
  margin-bottom: 20px !important;
  box-shadow: var(--uni-shadow-sm) !important;
  transition: all 0.2s ease !important;
}

.notice_contenu:hover,
.itemAbrege:hover {
  box-shadow: var(--uni-shadow-md) !important;
  border-color: #CBD5E1 !important;
}

.notice_titre,
.notice_contenu a,
.itemAbrege h3 a {
  color: var(--uni-navy) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-decoration: none !important;
}

.notice_titre:hover,
.notice_contenu a:hover,
.itemAbrege h3 a:hover {
  color: var(--uni-sky) !important;
}

/* Notice Metadata Table (.descr_notice) */
table.descr_notice {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 16px 0 !important;
}

table.descr_notice tr {
  border-bottom: 1px solid var(--uni-border) !important;
}

table.descr_notice td {
  padding: 10px 14px !important;
  vertical-align: top !important;
  font-size: 14px !important;
  border-bottom: 1px solid #F1F5F9 !important;
}

table.descr_notice td.labelNot {
  width: 220px !important;
  color: var(--uni-navy) !important;
  font-weight: 700 !important;
  background: #F8FAFC !important;
  border-radius: var(--uni-radius-sm) 0 0 var(--uni-radius-sm) !important;
}

table.descr_notice td.labelContent {
  color: var(--uni-text) !important;
}

/* Exemplaires (Holdings/Copies) Table */
table.exemplaires {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 20px 0 !important;
  background: #FFFFFF !important;
  border-radius: var(--uni-radius-md) !important;
  overflow: hidden !important;
  box-shadow: var(--uni-shadow-sm) !important;
  border: 1px solid var(--uni-border) !important;
}

table.exemplaires caption {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--uni-navy) !important;
  padding: 12px 16px !important;
  text-align: left !important;
}

table.exemplaires th {
  background: var(--uni-navy) !important;
  color: #FFFFFF !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 12px 14px !important;
  text-align: left !important;
  letter-spacing: 0.2px !important;
  border: none !important;
}

table.exemplaires td {
  padding: 12px 14px !important;
  font-size: 13.5px !important;
  color: var(--uni-text) !important;
  border-bottom: 1px solid #F1F5F9 !important;
  border-top: none !important;
}

table.exemplaires tr:last-child td {
  border-bottom: none !important;
}

table.exemplaires tr:hover td {
  background: #F8FAFC !important;
}

/* Status badges in table */
table.exemplaires tr.expl_available td.Disponibilité,
table.exemplaires tr.expl_available td[data-column-name*="Disponibilit"] {
  color: #16A34A !important;
  font-weight: 700 !important;
}

/* Back link (>> Retour) */
#cms_module_htmlcode_170 a,
a[href*="javascript:history.go"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 16px !important;
  border-radius: var(--uni-radius-sm) !important;
  background: var(--uni-surface-alt) !important;
  color: var(--uni-navy) !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  text-decoration: none !important;
  margin-bottom: 14px !important;
  border: 1px solid var(--uni-border) !important;
  transition: all 0.15s ease !important;
}

#cms_module_htmlcode_170 a:hover,
a[href*="javascript:history.go"]:hover {
  background: var(--uni-sky-pale) !important;
  color: var(--uni-sky-hover) !important;
  border-color: var(--uni-sky-light) !important;
}

/* Search results section header */
#search_result .searchResult-title {
  color: var(--uni-navy) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  padding-bottom: 8px !important;
  margin: 16px 0 !important;
  border-bottom: 2px solid var(--uni-sky) !important;
}

#search_result .search_no_result {
  display: block !important;
  padding: 16px 20px !important;
  border-radius: var(--uni-radius-md) !important;
  background: var(--uni-sky-pale) !important;
  border: 1px solid #BFDBFE !important;
  color: #1E40AF !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  margin: 16px 0 !important;
}

#search_result .search_bt_sugg {
  display: inline-block !important;
  margin-top: 10px !important;
}

#search_result .search_bt_sugg a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 18px !important;
  border-radius: var(--uni-radius-sm) !important;
  background: var(--uni-sky) !important;
  color: #FFFFFF !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 0.15s ease !important;
}

#search_result .search_bt_sugg a:hover {
  background: var(--uni-sky-hover) !important;
}

/* ============================================================
   16. SEARCH RESULTS PAGE — full layout
   ============================================================ */
#main_hors_footer > form,
#main_hors_footer > div.listResult {
  background: transparent !important;
}

/* Result list paging */
.paging {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin: 16px 0 !important;
}

.paging a,
.paging span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  border-radius: var(--uni-radius-sm) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  padding: 0 8px !important;
}

.paging a {
  background: var(--uni-card) !important;
  color: var(--uni-navy) !important;
  border: 1px solid var(--uni-border) !important;
}

.paging a:hover {
  background: var(--uni-sky) !important;
  color: #FFFFFF !important;
  border-color: var(--uni-sky) !important;
}

.paging span.pageActive,
.paging .current {
  background: var(--uni-navy) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--uni-navy) !important;
}

/* ============================================================
   17. FACETTES & SIDEBAR (Search filters)
   ============================================================ */
#facette {
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-sm) !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
}

#facette h3 {
  background: var(--uni-navy) !important;
  color: #FFFFFF !important;
  padding: 12px 18px !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  border-bottom: 2px solid var(--uni-sky) !important;
}

#facette li {
  border-bottom: 1px solid #F1F5F9 !important;
}

#facette li:last-child {
  border-bottom: none !important;
}

#facette li a {
  color: var(--uni-text) !important;
  font-size: 13.5px !important;
  transition: all 0.15s !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
}

#facette li a:hover {
  color: var(--uni-sky) !important;
  background: var(--uni-sky-pale) !important;
}

/* ============================================================
   18. FULL INSTITUTIONAL FOOTER
   ============================================================ */
#footer {
  width: 100% !important;
  max-width: 100% !important;
  background: var(--uni-navy-dark) !important;
  color: #94A3B8 !important;
  border-top: 4px solid var(--uni-sky) !important;
  margin: 36px 0 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Suppress PMB anchor / RSS / default elements within footer */
#footer .Ancre,
#footer #footer_rss,
#footer #footer_link_website,
#footer #footer_link_pmb,
#footer > br,
#footer > .clear,
#footer #cms_module_sectionslist_121 {
  display: none !important;
}

.univ-saida-full-footer {
  width: 100% !important;
  max-width: 1600px !important;
  margin: 0 auto !important;
  padding: 48px 32px 0 32px !important;
  box-sizing: border-box !important;
}

.footer-grid,
.footer-main-grid {
  display: grid !important;
  grid-template-columns: 1.4fr 0.95fr 1fr 1fr 0.95fr !important;
  gap: 28px !important;
  padding-bottom: 36px !important;
}

.footer-col {
  display: flex !important;
  flex-direction: column !important;
}

.footer-col.col-brand .footer-logo-wrap {
  margin-bottom: 16px !important;
}

.footer-logo {
  height: 50px !important;
  width: auto !important;
  display: block !important;
  filter: brightness(0) invert(1) !important;
}

.footer-univ-title {
  color: #FFFFFF !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.3 !important;
}

.footer-univ-title-ar {
  color: #94A3B8 !important;
  font-size: 13.5px !important;
  font-family: 'Cairo', 'Noto Sans Arabic', sans-serif !important;
  margin: 0 0 14px 0 !important;
  direction: rtl !important;
  text-align: left !important;
}

.footer-desc {
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #94A3B8 !important;
  margin: 0 0 18px 0 !important;
}

.footer-contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  color: #CBD5E1 !important;
  font-size: 12.5px !important;
  margin-bottom: 8px !important;
  line-height: 1.5 !important;
}

.footer-contact-item i {
  color: var(--uni-sky) !important;
  margin-top: 3px !important;
  font-size: 13px !important;
  flex-shrink: 0 !important;
}

.footer-col-title {
  color: #FFFFFF !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.1px !important;
  margin: 0 0 16px 0 !important;
  position: relative !important;
  padding-bottom: 10px !important;
}

.footer-col-title::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 28px !important;
  height: 2px !important;
  background: var(--uni-sky) !important;
}

.footer-links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
}

.footer-links li a {
  color: #94A3B8 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  transition: all 0.15s ease !important;
  line-height: 1.4 !important;
}

.footer-links li a:hover {
  color: var(--uni-sky-light) !important;
  transform: translateX(4px) !important;
}

.footer-links li a .fa {
  color: var(--uni-sky) !important;
  font-size: 11px !important;
  flex-shrink: 0 !important;
}

.footer-social {
  display: flex !important;
  gap: 10px !important;
  margin-top: 18px !important;
  flex-wrap: wrap !important;
}

.footer-social .social-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: var(--uni-radius-sm) !important;
  background: rgba(255,255,255,0.07) !important;
  color: #FFFFFF !important;
  font-size: 16px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
}

.footer-social .social-btn:hover {
  background: var(--uni-sky) !important;
  transform: translateY(-2px) !important;
  border-color: var(--uni-sky) !important;
}

/* Footer bottom strip */
.footer-bottom-strip {
  width: 100% !important;
  border-top: 1px solid rgba(255,255,255,0.07) !important;
  padding: 18px 0 !important;
  margin-top: 12px !important;
}

.footer-bottom-inner {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  font-size: 12.5px !important;
  color: #64748B !important;
}

.footer-copy strong {
  color: #CBD5E1 !important;
}

.footer-legal {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.footer-legal a {
  color: #94A3B8 !important;
  text-decoration: none !important;
  font-size: 12.5px !important;
}

.footer-legal a:hover {
  color: var(--uni-sky-light) !important;
}

/* ============================================================
   19. SEARCH FORMS & EXTENDED SEARCH (#search)
   ============================================================ */
#search {
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-sm) !important;
  padding: 24px 28px !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
}

ul.search_tabs {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
  border-bottom: 2px solid var(--uni-border) !important;
}

ul.search_tabs li {
  margin: 0 !important;
  padding: 0 !important;
}

ul.search_tabs li a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--uni-text-muted) !important;
  text-decoration: none !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
  transition: all 0.15s ease !important;
}

ul.search_tabs li a:hover {
  color: var(--uni-sky) !important;
}

ul.search_tabs li#current a,
ul.search_tabs li[aria-current="page"] a {
  color: var(--uni-navy) !important;
  border-bottom-color: var(--uni-sky) !important;
  font-weight: 700 !important;
}

#choose_criteria {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--uni-navy) !important;
  margin-bottom: 10px !important;
}

#add_field,
#search_form select,
select.search_filter_select {
  height: 40px !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: var(--uni-radius-sm) !important;
  padding: 6px 12px !important;
  font-size: 14px !important;
  color: var(--uni-text) !important;
  background: #FFFFFF !important;
  outline: none !important;
}

#add_field:focus,
#search_form select:focus {
  border-color: var(--uni-sky) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.15) !important;
}

#search_form input.text_query {
  height: 40px !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: var(--uni-radius-sm) !important;
  padding: 6px 14px !important;
  font-size: 14px !important;
  color: var(--uni-text) !important;
  background: #FFFFFF !important;
  outline: none !important;
  margin-right: 8px !important;
}

#search_form input.text_query:focus {
  border-color: var(--uni-sky) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.15) !important;
}

#search_form input[type="submit"].bouton,
#search_form input[type="submit"].boutonrechercher,
input[type="submit"].boutonrechercher {
  height: 40px !important;
  background: var(--uni-sky) !important;
  color: #FFFFFF !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-radius: var(--uni-radius-sm) !important;
  border: none !important;
  padding: 0 22px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

#search_form input[type="submit"].bouton:hover,
#search_form input[type="submit"].boutonrechercher:hover,
input[type="submit"].boutonrechercher:hover {
  background: var(--uni-sky-hover) !important;
  transform: translateY(-1px) !important;
}

/* ============================================================
   20. READER AUTHENTICATION PAGE (empr.php)
   ============================================================ */
#error_connection {
  width: 100% !important;
  max-width: 480px !important;
  margin: 30px auto !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.popup_connexion_empr {
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-lg) !important;
  box-shadow: var(--uni-shadow-lg) !important;
  padding: 32px 36px !important;
  box-sizing: border-box !important;
}

.popup_connexion_empr h3 {
  color: var(--uni-navy) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  margin: 0 0 20px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--uni-sky-pale) !important;
  text-align: center !important;
}

.popup_connexion_empr blockquote {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.popup_connexion_empr label {
  display: block !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--uni-navy) !important;
  margin: 0 0 6px 0 !important;
}

.popup_connexion_empr input#empr_login {
  width: 100% !important;
  height: 42px !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: var(--uni-radius-sm) !important;
  padding: 8px 14px !important;
  font-size: 14px !important;
  color: var(--uni-text) !important;
  background: #F8FAFC !important;
  box-sizing: border-box !important;
  margin-bottom: 14px !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}

.popup_connexion_empr input#empr_login:focus {
  border-color: var(--uni-sky) !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.15) !important;
}

.popup_connexion_empr .password-text-visually {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  margin-bottom: 18px !important;
}

.popup_connexion_empr input#empr_pwd {
  flex: 1 !important;
  height: 42px !important;
  border: 1.5px solid #CBD5E1 !important;
  border-right: none !important;
  border-radius: var(--uni-radius-sm) 0 0 var(--uni-radius-sm) !important;
  padding: 8px 14px !important;
  font-size: 14px !important;
  color: var(--uni-text) !important;
  background: #F8FAFC !important;
  outline: none !important;
  box-sizing: border-box !important;
}

.popup_connexion_empr input#empr_pwd:focus {
  border-color: var(--uni-sky) !important;
  background: #FFFFFF !important;
}

.popup_connexion_empr #password_visually {
  height: 42px !important;
  width: 44px !important;
  background: #F1F5F9 !important;
  border: 1.5px solid #CBD5E1 !important;
  border-left: none !important;
  border-radius: 0 var(--uni-radius-sm) var(--uni-radius-sm) 0 !important;
  color: #64748B !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.popup_connexion_empr input[type="submit"].bouton {
  width: 100% !important;
  height: 42px !important;
  background: var(--uni-navy) !important;
  color: #FFFFFF !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-radius: var(--uni-radius-sm) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  margin-bottom: 12px !important;
}

.popup_connexion_empr input[type="submit"].bouton:hover {
  background: var(--uni-sky) !important;
  transform: translateY(-1px) !important;
}

.popup_connexion_empr .ask-password {
  display: block !important;
  text-align: center !important;
  font-size: 13.5px !important;
  color: var(--uni-sky) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

.popup_connexion_empr .ask-password:hover {
  color: var(--uni-sky-hover) !important;
  text-decoration: underline !important;
}

/* ============================================================
   21. CART & BOOKMARK PAGE (lvl=show_cart)
   ============================================================ */
#cart_action {
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-sm) !important;
  padding: 32px !important;
  text-align: center !important;
}

#cart_action .empty_cart {
  color: var(--uni-navy) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

#cart_action .empty_cart::before {
  content: "\f290"; /* fa-shopping-bag */
  font-family: 'FontAwesome';
  font-size: 24px;
  color: var(--uni-sky);
}

/* ============================================================
   22. NOTICE DETAIL PAGE CARD (#noticeNot / .parentNot)
   ============================================================ */
#noticeNot {
  background: var(--uni-card) !important;
  border: 1px solid var(--uni-border) !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-md) !important;
  padding: 24px 28px !important;
  margin: 0 0 24px 0 !important;
}

.parentNot {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.onglets_isbd_publicNot {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
  border-bottom: 2px solid var(--uni-border) !important;
}

.onglets_isbd_publicNot li {
  margin: 0 !important;
  padding: 0 !important;
}

.onglets_isbd_publicNot li a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--uni-text-muted) !important;
  text-decoration: none !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
}

.onglets_isbd_publicNot li.isbd_public_active a {
  color: var(--uni-navy) !important;
  border-bottom-color: var(--uni-sky) !important;
}

.asideContentNot {
  float: right !important;
  width: 200px !important;
  margin: 0 0 20px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
}

.vignetteDocNot img.vignetteNot {
  max-width: 170px !important;
  height: auto !important;
  border-radius: var(--uni-radius-md) !important;
  box-shadow: var(--uni-shadow-md) !important;
  border: 1px solid var(--uni-border) !important;
}

.onglet_basketNot {
  width: 100% !important;
}

.onglet_basketNot .ui-panel-basket-item {
  width: 100% !important;
}

.onglet_basketNot a.label_basketNot {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  padding: 8px 12px !important;
  border-radius: var(--uni-radius-sm) !important;
  background: var(--uni-sky-pale) !important;
  color: var(--uni-sky-hover) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1px solid #BFDBFE !important;
  transition: all 0.15s ease !important;
  box-sizing: border-box !important;
}

.onglet_basketNot a.label_basketNot:hover {
  background: var(--uni-sky) !important;
  color: #FFFFFF !important;
  border-color: var(--uni-sky) !important;
}

.lienP a {
  font-size: 12.5px !important;
  color: var(--uni-text-muted) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.lienP a:hover {
  color: var(--uni-sky) !important;
  text-decoration: underline !important;
}

/* ============================================================
   23. RESPONSIVE LAYOUT
   ============================================================ */

/* Tablet / Large Screens */
@media (max-width: 1200px) {
  .footer-col.col-brand {
    grid-column: 1 / -1 !important;
    margin-bottom: 8px !important;
  }

  .footer-grid,
  .footer-main-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
  }
}

/* Tablet */
@media (max-width: 900px) {
  .listselect .uk-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    padding: 18px !important;
  }

  .footer-col.col-brand {
    grid-column: 1 / -1 !important;
  }

  .footer-grid,
  .footer-main-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }

  #cms_module_articleslist_21 {
    width: 100% !important;
    float: none !important;
    margin-bottom: 20px !important;
  }

  #cms_module_agenda_85 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-bottom: 20px !important;
  }

  .MenuHoriz {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .MenuHoriz::-webkit-scrollbar {
    display: none !important;
  }

  .MenuHoriz .Nav.uk-navbar-nav {
    flex-wrap: nowrap !important;
  }

  #bandeau {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 0 20px !important;
    margin: 12px auto 0 auto !important;
  }

  #cms_module_search_22 {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  #connexion {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  #main_hors_footer {
    padding: 12px 20px 24px 20px !important;
  }

  .univ-saida-hero-slider {
    min-height: 320px !important;
    padding: 50px 20px !important;
  }

  .univ-saida-hero-slider .hero-title {
    font-size: 28px !important;
  }

  .univ-saida-hero-slider .hero-subtitle {
    font-size: 15px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  #buc-topbar.univ-saida-topbar,
  .univ-saida-portal-header,
  .MenuHoriz,
  .univ-saida-full-footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #bandeau {
    padding: 0 16px !important;
  }

  #main_hors_footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .univ-saida-hero-slider .hero-title {
    font-size: 24px !important;
  }

  .univ-saida-hero-slider .hero-subtitle {
    font-size: 14px !important;
  }

  .univ-saida-portal-header .header-institution-title {
    min-width: unset !important;
  }

  .univ-saida-portal-header .title-fr {
    font-size: 15px !important;
  }

  .footer-bottom-inner {
    flex-direction: column !important;
    text-align: center !important;
  }
}

/* Small mobile */
@media (max-width: 600px) {
  .listselect .uk-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 14px !important;
  }

  .footer-grid,
  .footer-main-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .univ-saida-portal-header .header-quick-actions {
    display: none !important;
  }

  #buc-topbar .topbar-contact {
    display: none !important;
  }
}
