/*
 * IUM — Modern Editorial Style
 * Primary: #0f479a (IUM blue) · Cinzel headings · Georgia body
 * Navbar JS: .navbar gets navbar-custom + bg-blue (top) or bg-white (scrolled)
 *            #header gets header-scrolled at scroll > 68px
 * Links: underlined · Buttons: sharp, uppercase, branded
 */

/* ============================================================
   MENU — HIDDEN ITEMS
   ============================================================ */
.navbar .dropdown-menu li:has(> a[href="/projectslist"]) { display: none !important; }

/* ============================================================
   CUSTOM PROPERTIES
   ============================================================ */
:root {
  --ium-blue:    #0f479a;
  --ium-blue-dk: #0a3575;
  --ium-blue-lt: #1a5bbf;
  --ium-blue-bg: #e8eef8;
  --ium-red:     #b91700;
  --ium-red-h:   #d41f00;
  --ium-red-lt:  #e24d55;
  --white:       #ffffff;
  --off-white:   #f7f9fc;
  --light-gray:  #e8ecf2;
  --mid-gray:    #7a8ba3;
  --dark-text:   #0d1b2a;
  --body-text:   #0f479a;
  --t: .22s ease;
}

/* ============================================================
   BASE TYPOGRAPHY
   ============================================================ */
html, body {
  font-family: 'Trebuchet MS', sans-serif !important;
  color: var(--body-text) !important;
  background-color: #f0f2f5 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* overflow-x only on body — keeping html at visible lets the browser
   propagate the vertical scrollbar to the viewport chrome, which renders
   above all CSS stacking contexts (including the fixed navbar) */
body {
  overflow-x: hidden !important;
}

/* ---- Custom scrollbar — IUM colour scheme ---- */
/* Firefox */
html {
  scrollbar-color: var(--ium-blue) #e6eaf0;
  scrollbar-width: auto;
}
/* Chromium / Safari / Edge */
::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}
::-webkit-scrollbar-track {
  background: #e6eaf0;
}
::-webkit-scrollbar-thumb {
  background: var(--ium-blue);
  border-radius: 6px;
  border: 2px solid #e6eaf0;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--ium-red);
}
::-webkit-scrollbar-corner {
  background: #e6eaf0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Saira', sans-serif !important;
  color: var(--dark-text) !important;
  line-height: 1.25 !important;
  letter-spacing: .03em !important;
}
h1 { font-size: clamp(1.7rem,3.5vw,2.5rem); font-weight: 600 !important; }
h2 { font-size: clamp(1.3rem,2.8vw,1.9rem); font-weight: 600 !important; }
h3 { font-size: 1.2rem;  font-weight: 600 !important; }
h4 { font-size: 1.05rem; font-weight: 600 !important; }
h5 { font-size: .9rem;   font-weight: 600 !important; }
p  { line-height: 1.8; color: var(--body-text); }

/* ============================================================
   GLOBAL LINKS — underlined, blue → red on hover
   ============================================================ */
a,
a:visited {
  color: var(--ium-blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-thickness: 1px !important;
  text-decoration-color: rgba(15,71,154,.4) !important;
  transition: color var(--t), text-decoration-color var(--t) !important;
}
a:hover {
  color: var(--ium-red) !important;
  text-decoration-color: var(--ium-red) !important;
}

/* ============================================================
   BUTTONS — sharp, uppercase, Inter, beautiful text
   ============================================================ */
.btn,
button.btn {
  font-family: 'Trebuchet MS', sans-serif !important;
  font-weight: 700 !important;
  font-size: .8rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  padding: .65rem 1.9rem !important;
  transition: all var(--t) !important;
  cursor: pointer;
}

.btn-primary {
  background: var(--ium-blue) !important;
  color: #fff !important;
  border: 2px solid var(--ium-blue) !important;
}
.btn-primary:hover,
.btn-primary:focus {
  background: var(--ium-blue-dk) !important;
  border-color: var(--ium-blue-dk) !important;
  color: #fff !important;
  box-shadow: 0 4px 18px rgba(15,71,154,.32) !important;
  transform: translateY(-1px);
}

.btn-outline-primary {
  background: transparent !important;
  color: var(--ium-blue) !important;
  border: 2px solid var(--ium-blue) !important;
  text-decoration: none !important;
}
.btn-outline-primary:hover {
  background: var(--ium-blue) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.btn-secondary {
  background: transparent !important;
  color: var(--ium-blue) !important;
  border: 2px solid var(--ium-blue) !important;
  text-decoration: none !important;
}
.btn-secondary:hover {
  background: var(--ium-blue) !important;
  color: #fff !important;
}

/* Hero / slider CTA button */
.btn-get-more,
.btn-get-more:visited {
  display: inline-block;
  font-family: 'Trebuchet MS', sans-serif !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: .75rem 2.25rem !important;
  color: #fff !important;
  background: var(--ium-blue) !important;
  border: 2px solid rgba(255,255,255,.5) !important;
  text-decoration: none !important;
  transition: background var(--t), color var(--t), border-color var(--t), box-shadow var(--t) !important;
}
.btn-get-more:hover {
  background: #fff !important;
  color: var(--ium-blue) !important;
  border-color: #fff !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.2) !important;
}

/* btn-details card link */
.btn-details {
  display: inline-block;
  font-family: 'Trebuchet MS', sans-serif !important;
  font-weight: 700 !important;
  font-size: .78rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--ium-blue) !important;
  border: 2px solid var(--ium-blue) !important;
  padding: .55rem 1.5rem !important;
  text-decoration: none !important;
  transition: all var(--t) !important;
}
.btn-details:hover,
.btn-details a:hover {
  background: var(--ium-blue) !important;
  color: #fff !important;
}
.btn-details a {
  color: var(--ium-blue) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

/* ============================================================
   HEADER + NAVBAR
   ============================================================ */
#header {
  transition: box-shadow var(--t) !important;
}
#header.header-scrolled {
  box-shadow: 0 2px 20px rgba(15,71,154,.14) !important;
}

/* --- TOP state: IUM blue background --- */
.navbar.bg-blue {
  background: linear-gradient(135deg, #1a5ec4 0%, #0f479a 55%, #083070 100%) !important;
  border-bottom: none !important;
}
/* --- TOP state: transparent (index1 page) --- */
.navbar.bg-transp {
  background-color: transparent !important;
  border-bottom: none !important;
}
.navbar.bg-blue .nav-link,
.navbar.bg-transp .nav-link {
  font-family: 'Play', Arial, Helvetica, sans-serif !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.88) !important;
  text-decoration: none !important;
  padding: .6rem .6rem !important;
  border-bottom: 2px solid transparent !important;
  transition: color var(--t), border-color var(--t) !important;
}
.navbar.bg-blue .nav-link:hover,
.navbar.bg-blue .nav-link.active,
.navbar.bg-transp .nav-link:hover,
.navbar.bg-transp .nav-link.active {
  color: var(--ium-red-lt) !important;
  border-bottom-color: transparent !important;
  text-decoration: none !important;
}
.navbar.bg-blue .icon-bar,
.navbar.bg-transp .icon-bar { background-color: #fff !important; }

/* --- SCROLLED state: white with blue text --- */
.navbar.bg-white {
  background-color: rgba(255,255,255,.97) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 2px solid var(--light-gray) !important;
}
.navbar.bg-white .nav-link {
  font-family: 'Play', Arial, Helvetica, sans-serif !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--ium-blue) !important;
  text-decoration: none !important;
  padding: .6rem .6rem !important;
  border-bottom: 2px solid transparent !important;
  transition: color var(--t), border-color var(--t) !important;
}
.navbar.bg-white .nav-link:hover,
.navbar.bg-white .nav-link.active {
  color: var(--ium-red) !important;
  border-bottom-color: transparent !important;
  text-decoration: none !important;
}
.navbar.bg-white .icon-bar { background-color: var(--ium-blue) !important; }

/* --- Dropdown menu: white, blue accent --- */
.navbar .dropdown-menu {
  display: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  background: var(--white) !important;
  border: none !important;
  border-top: 3px solid var(--ium-blue) !important;
  border-radius: 0 !important;
  box-shadow: 0 12px 40px rgba(15,71,154,.14) !important;
  padding: .5rem 0 !important;
  min-width: 225px !important;
  margin-top: 0 !important;
}
.navbar .dropdown-menu.show { display: block !important; }
@media (min-width: 992px) {
  .nav-item.dropdown:hover > .dropdown-menu { display: block !important; }
  .navbar.bg-white .nav-item.dropdown:hover > .nav-link { color: var(--ium-red) !important; }
  .navbar.bg-blue .nav-item.dropdown:hover > .nav-link,
  .navbar.bg-transp .nav-item.dropdown:hover > .nav-link { color: var(--ium-red-lt) !important; }
}
.navbar .dropdown-menu .dropdown-item {
  font-family: 'Play', Arial, Helvetica, sans-serif !important;
  font-size: .8rem !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  color: var(--ium-blue) !important;
  text-decoration: none !important;
  padding: .6rem 1.25rem !important;
  border-left: 3px solid transparent !important;
  background: transparent !important;
  font-weight: 600 !important;
  transition: color var(--t), border-color var(--t), background var(--t) !important;
}
.navbar .dropdown-menu .dropdown-item:hover {
  color: var(--ium-red) !important;
  border-left-color: var(--ium-red) !important;
  background: rgba(15, 71, 154, 0.07) !important;
}

/* --- Hamburger toggler --- */
.navbar .navbar-toggler {
  border: 1px solid rgba(255,255,255,.4) !important;
  padding: 6px 10px !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.navbar.bg-white .navbar-toggler {
  border: 1px solid rgba(15,71,154,.45) !important;
}
.navbar .navbar-toggler:focus { box-shadow: none !important; }
.navbar .icon-bar {
  display: block !important;
  height: 2px !important;
  width: 24px !important;
  border-radius: 0 !important;
  transition: all .22s ease !important;
  margin: 5px 0 !important;
}

/* --- Logo --- */
#header .logo img { max-height: 60px; transition: all .3s; }
#header .navbar { padding-top: 4px !important; padding-bottom: 4px !important; }

/* --- Flag icons --- */
.flag-menu {
  width: 22px !important;
  border-radius: 2px !important;
  vertical-align: middle;
  opacity: .85;
  transition: opacity var(--t) !important;
}
.flag-menu:hover { opacity: 1 !important; }

/* --- Mobile collapse --- */
@media (max-width: 991.98px) {
  .navbar-collapse {
    background: var(--ium-blue) !important;
    border-top: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 0 !important;
    padding: .75rem 0 1.25rem !important;
    margin-top: 0 !important;
  }
  .navbar-collapse .nav-link,
  .navbar.bg-white .navbar-collapse .nav-link,
  .navbar.bg-blue .navbar-collapse .nav-link,
  .navbar.bg-transp .navbar-collapse .nav-link {
    font-family: 'Play', Arial, Helvetica, sans-serif !important;
    font-size: .8rem !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.9) !important;
    padding: .65rem 1.5rem !important;
    border-bottom: none !important;
    border-left: 5px solid transparent !important;
    border-top: none !important;
    text-decoration: none !important;
    background: transparent !important;
  }
  .navbar-collapse .nav-link:hover,
  .navbar.bg-white .navbar-collapse .nav-link:hover,
  .navbar.bg-blue .navbar-collapse .nav-link:hover,
  .navbar.bg-transp .navbar-collapse .nav-link:hover {
    color: #fff !important;
    border-left-color: rgba(255,255,255,.55) !important;
    background: rgba(255,255,255,.07) !important;
  }
  .navbar-collapse .nav-link.active,
  .navbar.bg-white .navbar-collapse .nav-link.active,
  .navbar.bg-blue .navbar-collapse .nav-link.active,
  .navbar.bg-transp .navbar-collapse .nav-link.active {
    color: #fff !important;
    font-weight: 700 !important;
    border-left-color: var(--ium-red) !important;
    background: rgba(255,255,255,.10) !important;
  }
  .navbar .dropdown-menu {
    background: rgba(0,0,0,.18) !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: none !important;
  }
  .navbar .dropdown-menu .dropdown-item {
    color: rgba(255,255,255,.8) !important;
    border-left: 5px solid transparent !important;
  }
  .navbar .dropdown-menu .dropdown-item:hover {
    color: #fff !important;
    background: rgba(255,255,255,.07) !important;
    border-left-color: var(--ium-red) !important;
  }
}

/* ============================================================
   SECTION TITLES
   ============================================================ */
.section-title {
  text-align: center;
  padding-bottom: 2rem;
  position: relative;
}
.section-title h2 {
  font-family: 'Saira', sans-serif !important;
  font-size: clamp(1.55rem,3vw,2.25rem) !important;
  font-weight: 700 !important;
  color: var(--dark-text) !important;
  position: relative;
  padding-bottom: 1rem !important;
}
.section-title h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 48px;
  height: 3px;
  background: var(--ium-blue);
}
.section-title p {
  color: var(--mid-gray) !important;
  max-width: 580px;
  margin: .75rem auto 0;
}

/* ============================================================
   CARDS
   ============================================================ */
.card {
  border-radius: 0 !important;
  border: 1px solid var(--light-gray) !important;
  border-bottom: 3px solid transparent !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.05) !important;
  overflow: hidden;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t) !important;
  margin: 1rem 0 !important;
}
.card:hover {
  border-bottom-color: var(--ium-blue) !important;
  box-shadow: 0 8px 28px rgba(15,71,154,.11) !important;
  transform: translateY(-3px);
}
.card .card-body   { padding: 1.25rem !important; }
.card .card-footer {
  padding: .75rem 1.25rem !important;
  background: var(--off-white) !important;
  border-top: 1px solid var(--light-gray) !important;
}
.card .card-image img       { transition: transform .5s ease !important; }
.card .card-image:hover img { transform: scale(1.05) !important; }
.card .card-title a {
  font-weight: 700;
  color: var(--dark-text) !important;
  text-decoration: none !important;
}
.card .card-title a:hover {
  color: var(--ium-blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* ============================================================
   FORMS
   ============================================================ */
.form-control {
  border-radius: 0 !important;
  border: 1.5px solid var(--light-gray) !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .9rem !important;
  transition: border-color var(--t), box-shadow var(--t) !important;
}
.form-control:focus {
  border-color: var(--ium-blue) !important;
  box-shadow: 0 0 0 3px rgba(15,71,154,.12) !important;
}

/* ============================================================
   BACK TO TOP
   ============================================================ */
.back-to-top i {
  border-radius: 0 !important;
  width: 40px !important;
  height: 40px !important;
  background: var(--ium-blue) !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(15,71,154,.3) !important;
  transition: background .3s ease, transform .3s ease, box-shadow .3s ease !important;
}
.back-to-top i:hover {
  background: var(--ium-red) !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 8px 20px rgba(185,23,0,.35) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
#footer {
  background: linear-gradient(to bottom, #1356b4 0%, #0a3575 35%, #071a45 70%, #040e2a 100%) !important;
}
#footer .footer-top,
#footer .footer-med,
#footer .footer-menu,
#footer .footer-menu .sitemapbox {
  background: transparent !important;
}
#footer .footer-menu .sitemapbordertop {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#footer .footer-top { padding: calc(3.5rem - 20px) 0 .75rem !important; }
#footer::before {
  content: '';
  display: block;
  height: 4px;
  background: linear-gradient(to right, var(--ium-blue), #4a9eff, var(--ium-blue)) !important;
}
#footer .footer-top h4 {
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  padding-bottom: .75rem !important;
  border-bottom: 1px solid rgba(255,255,255,.15) !important;
}
#footer .footer-top .footer-info {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
#footer .footer-top h3 {
  font-family: 'Saira', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #fff !important;
  padding-top: 0 !important;
  padding-bottom: .27rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.15) !important;
}
#footer .footer-top .footer-info p {
  font-size: .875rem !important;
  color: rgba(255,255,255,.6) !important;
  line-height: 1.8 !important;
}
#footer .footer-top .footer-links ul li a {
  font-size: .85rem !important;
  color: rgba(255,255,255,.55) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-color: rgba(255,255,255,.2) !important;
  transition: color var(--t), text-decoration-color var(--t) !important;
}
#footer .footer-top .footer-links ul li a:hover {
  color: #fff !important;
  text-decoration-color: rgba(255,255,255,.6) !important;
}
#footer .footer-top .email-link {
  margin-bottom: .6rem !important;
  margin-top: .6rem !important;
}
#footer .footer-top .social-links {
  margin-top: 0 !important;
  margin-bottom: .5rem !important;
}
#footer .footer-med {
  padding-top: .25rem !important;
  padding-bottom: .5rem !important;
}
#footer .email-link a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 160px !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  transition: background var(--t), border-color var(--t) !important;
}
#footer .email-link a:hover {
  background: var(--ium-red) !important;
  border-color: var(--ium-red) !important;
  color: #fff !important;
}
#footer .social-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  height: auto !important;
  min-width: 160px !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  transition: background var(--t), border-color var(--t) !important;
}
#footer .social-links a:hover {
  background: var(--ium-red) !important;
  border-color: var(--ium-red) !important;
  color: #fff !important;
  text-decoration: none !important;
}
#footer .email-link a i,
#footer .social-links a i {
  font-size: .85rem !important;
  line-height: 1 !important;
  color: #fff !important;
}
#footer .footer-med .lline-link {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  margin-top: 8px !important;
}
#footer .footer-med .lline-link a,
#footer .footer-med .btn-details {
  display: flex !important;
  flex: 1 1 0 !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 6px !important;
  min-height: 36px !important;
  box-sizing: border-box !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 8px 12px !important;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  border-radius: 0 !important;
  white-space: normal !important;
  transition: background var(--t), border-color var(--t) !important;
}
#footer .footer-med .lline-link a:hover,
#footer .footer-med .btn-details:hover {
  background: var(--ium-red) !important;
  border-color: var(--ium-red) !important;
  color: #fff !important;
  text-decoration: none !important;
}
#footer .footer-med .lline-link a i,
#footer .footer-med .btn-details i {
  font-size: .85rem !important;
  line-height: 1 !important;
}
/* Mapa do portal — minimal text link */
#footer .footer-med .btn-details {
  display: inline-flex !important;
  flex: none !important;
  width: max-content !important;
  background: transparent !important;
  border: none !important;
  color: rgba(255,255,255,.5) !important;
  font-size: .72rem !important;
  font-weight: 400 !important;
  letter-spacing: .1em !important;
  padding: 4px 0 !important;
  min-height: 0 !important;
  height: auto !important;
}
#footer .footer-med .btn-details:hover {
  background: transparent !important;
  border-color: transparent !important;
  color: rgba(255,255,255,.9) !important;
}
#footer .footer-med .btn-details i {
  font-size: .72rem !important;
}

#menulist i {
  display: inline-block !important;
  transition: transform .5s ease, opacity .5s ease !important;
}
/* Hide newsletter footer link */
#footer a[href*="newsletter-register"] { display: none !important; }
#footer a[href*="newsletter-register"] ~ * { display: none !important; }
#footer li:has(a[href*="newsletter-register"]) { display: none !important; }

/* Sitemap block — same style as Ligações */
/* sitemap block — 4-column grid, Ligações style */
#footer .footer-menu ul.sitemap {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem 2rem !important;
  padding: 1.25rem 0 0 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
#footer .footer-menu ul.sitemap > li {
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  padding: 0 0 .5rem 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.15) !important;
  list-style: none !important;
}
#footer .footer-menu ul.sitemap li ul {
  padding: 0 !important;
  margin: .4rem 0 0 0 !important;
  list-style: none !important;
}
#footer .footer-menu ul.sitemap li ul li {
  display: flex !important;
  align-items: baseline !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 1px 0 !important;
  width: auto !important;
}
#footer .footer-menu ul.sitemap li ul li::before {
  content: '>' !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  flex-shrink: 0 !important;
  width: 1.1em !important;
  margin-left: 10px !important;
  color: rgba(255,255,255,.3) !important;
  font-size: .78rem !important;
}
#footer .footer-menu ul.sitemap li a,
#footer .footer-menu ul.sitemap li a:visited {
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: rgba(255,255,255,.55) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-color: rgba(255,255,255,.2) !important;
  transition: color var(--t), text-decoration-color var(--t) !important;
}
#footer .footer-menu ul.sitemap li a:hover {
  color: #fff !important;
  text-decoration-color: rgba(255,255,255,.6) !important;
}

/* phone hours indent in footer-info */
#footer .footer-info .phone-hours {
  display: inline-block !important;
  padding-left: 1.3em !important;
}

/* mailto link in footer-info */
#footer .footer-info a.footer-mailto {
  color: rgba(255,255,255,.7) !important;
  text-decoration: none !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .82rem !important;
  transition: color var(--t) !important;
}
#footer .footer-info a.footer-mailto:hover {
  color: #fff !important;
}
#footer .footer-info a.footer-mailto i {
  font-size: .82rem !important;
}

/* ============================================================
   FOOTER BOTTOM BAR
   ============================================================ */
#footer .footer-bottom {
  background: transparent !important;
  padding: 0 !important;
}
#footer .footer-bottom > .container {
  border-top: 1px solid rgba(255,255,255,.15) !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}
#footer .footer-bottom .fb-copy {
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .72rem !important;
  color: rgba(255,255,255,.45) !important;
  letter-spacing: .04em !important;
}
#footer .footer-bottom .fb-links a,
#footer .footer-bottom .fb-links a:visited {
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .72rem !important;
  color: rgba(255,255,255,.45) !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: color var(--t) !important;
}
#footer .footer-bottom .fb-links a:hover {
  color: #fff !important;
}
#footer .footer-bottom .fb-sep {
  color: rgba(255,255,255,.2) !important;
}

/* ============================================================
   MISC
   ============================================================ */
.section-bg { background: var(--off-white) !important; }

.badge {
  border-radius: 1px !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  font-weight: 700 !important;
  font-size: .68rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.alert {
  border-radius: 0 !important;
  font-size: .875rem !important;
  border-left: 4px solid var(--ium-blue) !important;
}

.carousel-caption h2,
.carousel-caption h3 {
  font-family: 'Saira', sans-serif !important;
  font-weight: 800 !important;
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.55) !important;
}
.slidespot .carousel-caption h2,
.slidespotfull .carousel-caption h2 { font-size: 1.1rem !important; font-weight: 500 !important; }
.slidespot .carousel-caption h3,
.slidespotfull .carousel-caption h3 { font-size: .9rem !important; font-weight: 300 !important; }

.section-divider {
  height: 2px;
  background: var(--ium-blue);
  border: none;
  margin: 0;
  opacity: .14;
}

/* ============================================================
   PUBLICATIONS BLOCK
   ============================================================ */
/* White text inside card overlays */
.pubbox .content h1, .pubbox .content h2, .pubbox .content h3, .pubbox .content h4,
.prodbox .content h1, .prodbox .content h2, .prodbox .content h3, .prodbox .content h4 {
  color: #fff !important;
  font-family: 'Play', sans-serif !important;
  font-weight: 500 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.55) !important;
  letter-spacing: .02em !important;
}
/* Gradients and title styles */
.pubbox .content {
  background: linear-gradient(to bottom, transparent, rgba(4,18,55,.98)) !important;
  padding: 32px 14px 20px !important;
}
.pubbox .content h2, .pubbox .content h3 {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
}
.prodbox .content {
  background: linear-gradient(to bottom, transparent, rgba(4,18,55,.98)) !important;
  padding: 16px 10px 10px !important;
}
.prodbox .content h2, .prodbox .content h3 {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
}
/* Image zoom on hover */
.pubbox {
  overflow: hidden !important;
  border: none !important;
  transition: transform .4s ease !important;
  transform-origin: center center !important;
}
.pubbox:hover {
  transform: scale(1.03) !important;
}
.pubbox img {
  width: 100% !important;
}
.thumbnail1 {
  border: none !important;
  position: relative !important;
  display: block !important;
  transition: transform .4s ease !important;
  transform-origin: center center !important;
}
.thumbnail1:hover {
  transform: scale(1.03) !important;
}
.pubbox:hover, .prodbox:hover {
  box-shadow: 0 6px 24px rgba(15,71,154,.22) !important;
}
/* Publication count badge — always visible, on top of image */
.blocpubs .pub-badge {
  position: absolute !important;
  top: 10px !important;
  right: 0 !important;
  bottom: auto !important;
  transform: translateX(50%) !important;
  transition: transform .4s ease !important;
  z-index: 20 !important;
  background: var(--ium-red) !important;
  color: #fff !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 12px !important;
  pointer-events: none !important;
}
.thumbnail1:hover .pub-badge {
  font-size: calc(.85rem + 2px) !important;
}
/* No underlines on pub links */
.blocpubs a, .blocpubs a:visited {
  text-decoration: none !important;
}

/* Block gradients */
.blocnews {
  background: linear-gradient(135deg, #1a5ec4 0%, #0f479a 45%, #083070 100%) !important;
  color: #eee !important;
}
.blocpubs {
  background: linear-gradient(160deg, #ffffff 0%, #eef4ff 100%) !important;
}
.blocstudents {
  background: linear-gradient(135deg, #d4ecff 0%, #b6e1fc 55%, #8ec8f0 100%) !important;
  border-top: 3px solid #f7bb09 !important;
  padding-top: calc(2rem - 20px) !important;
  padding-bottom: calc(2rem - 20px) !important;
}
.blocstudentsblanc {
  background: linear-gradient(160deg, #f8fbff 0%, #e8f2ff 100%) !important;
  padding-top: calc(2rem - 20px) !important;
  padding-bottom: calc(2rem - 20px) !important;
}
/* Blue news block — force white text over blue background */
.blocnews h1,.blocnews h2,.blocnews h3,.blocnews h4,.blocnews h5,.blocnews h6 { color: #fff !important; }
.blocnews a,
.blocnews a:visited { color: #dde6f5 !important; text-decoration: none !important; }
.blocnews a:hover { color: #fff !important; text-decoration: none !important; }
.blocnews .news-title a,
.blocnews .news-title a:visited { color: #fff !important; font-weight: 600 !important; }
.blocnews .news-title a:hover { color: #dde6f5 !important; }
.blocnews .read-more a,
.blocnews .read-more a:visited {
  display: inline-block !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.5) !important;
  padding: .3rem .9rem !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background var(--t), border-color var(--t) !important;
}
.blocnews .read-more a:hover {
  background: rgba(255,255,255,.15) !important;
  border-color: #fff !important;
}

/* Bigbox title — Acme */
.bigbox-title {
  font-family: 'Acme', sans-serif !important;
}

/* Inline text-dark links underlined */
.text-dark a:link,
.text-dark a:visited {
  color: var(--ium-blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: rgba(15,71,154,.35) !important;
}
.text-dark a:hover {
  color: var(--ium-red) !important;
  text-decoration-color: var(--ium-red) !important;
}

/* Navbar and hero links must NOT be underlined */
.navbar a,
.navbar a:visited,
.navbar a:hover {
  text-decoration: none !important;
}

/* ============================================================
   CONTAINER PAGE — Breadcrumbs · Sidebar nav · Content
   ============================================================ */

/* Breadcrumbs bar */
#breadcrumbs.breadcrumbs {
  background: #f0f2f5 !important;
  border-bottom: none !important;
  padding: 10px 0 0 !important;
}

/* Page title inside left column card */
.container-page-title {
  font-family: 'Homenaje', sans-serif !important;
  font-size: 2.2rem !important;
  font-weight: 400 !important;
  color: var(--ium-blue) !important;
  letter-spacing: .02em !important;
  margin: 0 0 .5rem 0 !important;
  padding: 0 1.25rem .75rem !important;
  line-height: 1.2 !important;
}
.breadcrumbs ol {
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .8rem !important;
  color: var(--mid-gray) !important;
  letter-spacing: .02em !important;
  align-self: flex-start !important;
  margin-left: auto !important;
}
.breadcrumbs ol a {
  color: var(--ium-blue) !important;
  text-decoration: none !important;
}
.breadcrumbs ol a:hover {
  color: var(--ium-red) !important;
  text-decoration: underline !important;
}
.breadcrumbs ol li + li::before {
  color: var(--mid-gray) !important;
}

/* Features section wrapper */
#features.features {
  background: transparent !important;
  padding-top: 1rem !important;
  padding-bottom: 2rem !important;
}

/* ---- Left sidebar nav — mirrors navbar dropdown-item style ---- */
#features .row {
  align-items: stretch !important;
}
#features .col-lg-4 {
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 0 !important;
}
.features .left-col-card {
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
  padding: 1.25rem 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}
.features .nav-tabs {
  border: none !important;
  flex: 1 1 auto !important;
}
.features .nav-link {
  font-family: 'Play', Arial, Helvetica, sans-serif !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  color: var(--ium-blue) !important;
  padding: .6rem 1.25rem !important;
  border-radius: 0 !important;
  border: none !important;
  border-right: 3px solid transparent !important;
  background: transparent !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: .5rem !important;
  transition: color var(--t), border-color var(--t), background var(--t) !important;
}
.features .nav-link::before {
  content: '•' !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
  font-size: .9rem !important;
  line-height: 1.2 !important;
}
.features .nav-link:hover,
.features .nav-link.active,
.features .nav-link.active:focus {
  text-decoration: none !important;
}
.features .nav-link:hover {
  color: var(--ium-red) !important;
  border-right-color: transparent !important;
  background: linear-gradient(to right, transparent 0%, rgba(15,71,154,.12) 50%, transparent 100%) !important;
}
.features .nav-link.active,
.features .nav-link.active:focus {
  color: var(--ium-red) !important;
  border-right-color: transparent !important;
  background: linear-gradient(to right, transparent 0%, rgba(15,71,154,.18) 50%, transparent 100%) !important;
  font-weight: 700 !important;
}
/* ---- Right column stretches to match left ---- */
#features .col-lg-8 {
  display: flex !important;
  flex-direction: column !important;
}
#features .col-lg-8 .tab-content {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}
#features .col-lg-8 .tab-pane.active {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

/* ---- Tab content area ---- */
.features .details,
.features .entry {
  border: none !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
  background: #fff !important;
  border-radius: 0 !important;
  padding: 1.25rem !important;
  margin-bottom: 0 !important;
  flex: 1 1 auto !important;
}

/* h3 content title */
.features .details h3,
.features .entry > h3,
.features .entry .entry-title h3 {
  font-family: 'Saira', sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--ium-blue-dk) !important;
  margin-bottom: 1.1rem !important;
  padding-bottom: .55rem !important;
  border-bottom: 2px solid var(--ium-blue-bg) !important;
  line-height: 1.3 !important;
  letter-spacing: .01em !important;
}

/* Body text inside ck-content */
.ck-content {
  color: var(--body-text) !important;
  font-size: .95rem !important;
  line-height: 1.85 !important;
}
.ck-content p {
  color: var(--body-text) !important;
  margin-bottom: .9rem !important;
}
.ck-content a {
  color: var(--ium-blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-color: rgba(15,71,154,.35) !important;
}
.ck-content a:hover {
  color: var(--ium-red) !important;
  text-decoration-color: var(--ium-red) !important;
}
.ck-content h2, .ck-content h3, .ck-content h4, .ck-content h5 {
  font-family: 'Saira', sans-serif !important;
  color: var(--ium-blue-dk) !important;
  margin-top: 1.5rem !important;
  margin-bottom: .6rem !important;
}
.ck-content ul, .ck-content ol {
  color: var(--body-text) !important;
  padding-left: 1.5rem !important;
}
.ck-content li {
  color: var(--body-text) !important;
  margin-bottom: .3rem !important;
}
.ck-content blockquote {
  border-left: 4px solid var(--ium-blue) !important;
  background: var(--ium-blue-bg) !important;
  padding: .85rem 1.4rem !important;
  color: var(--body-text) !important;
  margin: 1rem 0 !important;
}
.ck-content figure.table table {
  width: 100% !important;
  border-collapse: collapse !important;
}
.ck-content figure.table td,
.ck-content figure.table th {
  border: 1px solid var(--light-gray) !important;
  padding: 7px 12px !important;
  color: var(--body-text) !important;
}
.ck-content figure.table th {
  background: var(--ium-blue) !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* Files / documents table */
#features .card-body.p-0 {
  background: transparent !important;
}
#features table.table {
  font-size: .87rem !important;
  border-collapse: collapse !important;
}
#features table.table thead th {
  background: var(--ium-blue) !important;
  color: #fff !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  border: none !important;
  padding: 8px 14px !important;
  font-size: .82rem !important;
  text-transform: uppercase !important;
}
#features table.table tbody td {
  color: var(--body-text) !important;
  border-top: none !important;
  border-bottom: 1px solid var(--light-gray) !important;
  vertical-align: middle !important;
  padding: 7px 14px !important;
}
#features table.table tbody tr:hover td {
  background: var(--ium-blue-bg) !important;
}
#features table.table tbody td a {
  color: var(--ium-blue) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
#features table.table tbody td a:hover {
  color: var(--ium-red) !important;
  text-decoration: underline !important;
}

/* Hit counter strip */
.hit-counter {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .75rem !important;
  margin-top: 1.5rem !important;
  padding-top: .6rem !important;
  border-top: 1px solid var(--light-gray) !important;
}
.hit-counter.hit-counter--no-sep {
  border-top: none !important;
  padding-top: 0 !important;
  margin-top: .4rem !important;
}
.hit-counter .hit-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: .35rem !important;
  background: var(--ium-blue-bg) !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
}
.hit-counter .hit-item i {
  font-size: .8rem !important;
  color: var(--ium-blue) !important;
}
.hit-counter .hit-label {
  font-size: .72rem !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  color: var(--mid-gray) !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}
.hit-counter .hit-value {
  font-size: .8rem !important;
  font-weight: 700 !important;
  color: var(--ium-blue-dk) !important;
  font-family: 'Trebuchet MS', sans-serif !important;
}
.hit-counter .hit-sep {
  color: var(--light-gray) !important;
  font-size: .9rem !important;
}

/* Colabs/collaborators inside container */
/* Override the AUT-page #author.author rule which bleeds in via the shared id="author" */
#features #author.author {
  background: transparent !important;
}
#features .author {
  padding-top: 0 !important;
  margin-top: -.5rem !important;
}
#features .author .row,
#features .author .mb-3 {
  margin-bottom: 0 !important;
}
#features .author .colabs {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 1rem 1.25rem !important;
  background: #fff !important;
  border: none !important;
  border-left: 3px solid var(--ium-blue) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
  border-radius: 0 !important;
  margin-bottom: .4rem !important;
  transition: box-shadow var(--t), border-left-color var(--t) !important;
}
#features .author .colabs:hover {
  box-shadow: 0 3px 10px rgba(15,71,154,.12) !important;
  border-left-color: var(--ium-red) !important;
}
#features .author .colabs--image {
  float: none !important;
  margin-right: 0 !important;
  width: 80px !important;
  height: 80px !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 2px solid var(--ium-blue-bg) !important;
}
#features .author .colabs--image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
#features .author .colabs--name a {
  font-family: 'Play', Arial, sans-serif !important;
  font-weight: 700 !important;
  color: var(--ium-blue-dk) !important;
  text-decoration: none !important;
  font-size: .95rem !important;
}
#features .author .colabs--name a:hover {
  color: var(--ium-red) !important;
}
#features .author .colabs--title {
  font-size: .75rem !important;
  color: var(--mid-gray) !important;
  font-style: italic !important;
  margin-top: 0 !important;
}
#features .author .colabs--position {
  font-size: .82rem !important;
  color: var(--body-text) !important;
  line-height: 1.4 !important;
}

/* Entry image — uniform ~20px inset on top/left/right */
.features .entry .entry-img {
  margin: 0 0 1.5rem 0 !important;
}

/* Entry image caption */
.features .entry .entry-title {
  background: rgba(10, 53, 117, 0.75) !important;
  padding: 5px 14px !important;
  border-radius: 0 !important;
}
.features .entry .entry-title h3 {
  border-bottom: none !important;
  color: #fff !important;
  font-size: 1.5rem !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ===================================================
   NEWS PAGE  (#content.content — news.blade.php)
   =================================================== */

/* Breadcrumbs h2 — news/other pages that keep h2 in breadcrumbs */
#breadcrumbs h2 {
  font-family: 'Homenaje', sans-serif !important;
  font-size: 2rem !important;
  font-weight: 400 !important;
  color: var(--ium-blue) !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

/* Page background */
#content.content {
  background: #f0f2f5 !important;
  padding-top: 1rem !important;
  padding-bottom: 2rem !important;
}

/* Print styles */
@media print {
  @page { margin: 20mm; }
  /* Header: un-fix so logo flows above content instead of overlapping */
  #header {
    position: static !important;
    height: auto !important;
    box-shadow: none !important;
    border-bottom: 1px solid #ccc !important;
    padding: 4px 0 !important;
    margin-bottom: 3mm !important;
  }
  /* Hide nav links, keep only logo */
  #header .navbar-collapse,
  #header .navbar-toggler,
  #header .icon-bar {
    display: none !important;
  }
  #header .logo img {
    max-height: 40px !important;
  }
  .back-to-top { display: none !important; }
  /* Remove card padding and shadow — let @page margins do the spacing */
  .entry-single, .entry.entry-single {
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    margin: 0 !important;
  }
  /* Remove Bootstrap container padding */
  .container, .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    max-width: 100% !important;
  }
  /* Remove section/content padding */
  #content.content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: #fff !important;
  }
  /* Zero out row and column vertical spacing */
  #content .row {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  #content .col-lg-12 {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
  /* Zero out article top spacing */
  .entry.entry-single, .entry-single {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  .hitscss {
    display: flex !important;
    justify-content: flex-end !important;
    font-size: .78rem !important;
    color: #444 !important;
    margin-top: .5rem !important;
  }
  .hitscss span {
    display: inline-flex !important;
    align-items: center !important;
    gap: .3rem !important;
  }
  .hitscss i { color: #0f479a !important; font-size: 1rem !important; }
  .hitscss strong { color: #0f479a !important; }
}

/* Equal-height columns — screen only so print .noPrint { display:none } is not overridden */
@media screen {
  #content .row {
    align-items: stretch !important;
  }
  #content .col-lg-8,
  #content .col-lg-4 {
    display: flex !important;
    flex-direction: column !important;
  }
}
#content .entry-single,
#content .sidebar {
  flex: 1 1 auto !important;
}

/* Article card */
#content .entry-single {
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
  border-radius: 0 !important;
  padding: 1.25rem !important;
  border: none !important;
  margin-bottom: 0 !important;
}

/* Image spacing */
#content .entry-single .entry-img {
  margin-bottom: 1.5rem !important;
}

/* Article h2 title */
#content .entry-single h2.entry-title {
  font-family: 'Saira', sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--ium-blue-dk) !important;
  border-bottom: 2px solid var(--ium-blue-bg) !important;
  padding-bottom: .55rem !important;
  margin-bottom: 1.1rem !important;
  line-height: 1.3 !important;
}

/* Source & tags footers */
#content .entry .source-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1rem !important;
  border-top: 1px solid var(--light-gray) !important;
  padding-top: .6rem !important;
  margin-top: 1.25rem !important;
  margin-bottom: .25rem !important;
  font-size: .82rem !important;
  color: var(--mid-gray) !important;
}
#content .entry .source-footer .float-left,
#content .entry .source-footer .float-right {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
}
#content .entry .source-footer .social-share {
  order: -1 !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}
#content .entry .source-footer .float-left i {
  color: var(--ium-blue) !important;
  font-size: 1.1rem !important;
}
#content .entry .source-footer .cats {
  display: inline-flex !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Social share icon buttons */
#content .entry .social-share {
  display: flex !important;
  align-items: center !important;
  gap: .3rem !important;
  padding: 0 !important;
  margin: 0 !important;
}
#content .entry .social-share a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: var(--ium-blue-bg) !important;
  color: var(--ium-blue) !important;
  text-decoration: none !important;
  margin-left: 0 !important;
  transition: background var(--t), color var(--t) !important;
}
#content .entry .social-share a:first-child {
  margin-left: 0 !important;
}
#content .entry .social-share a:hover {
  background: var(--ium-blue) !important;
  color: #fff !important;
}
#content .entry .social-share a:hover i,
#content .entry .social-share a:hover .bx {
  color: #fff !important;
}
#content .entry .social-share a i,
#content .entry .social-share a .bx {
  font-size: .82rem !important;
  line-height: 1 !important;
  color: var(--ium-blue) !important;
  transition: color var(--t) !important;
}

/* Tags footer */
#content .entry .tags-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  border-top: 1px solid var(--light-gray) !important;
  padding-top: .6rem !important;
  margin-top: .25rem !important;
  gap: .5rem !important;
}
#content .entry .tags-footer .float-left {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: .3rem .4rem !important;
}
#content .entry .tags-footer .float-left > i {
  color: var(--ium-blue) !important;
  font-size: 1.4rem !important;
  flex-shrink: 0 !important;
  align-self: center !important;
  line-height: 1 !important;
}
#content .entry .tags-footer .cats {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: .25rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#content .entry .tags-footer .cats li {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
#content .entry .tags-footer .cats li a.tag,
#content .entry .tags-footer .cats li a.place {
  margin: 0 !important;
  vertical-align: middle !important;
}
#content .entry .tags-footer .cats li a:not(.tag):not(.place) {
  color: var(--ium-blue) !important;
  text-decoration: none !important;
}
#content .entry .tags-footer .cats li a:not(.tag):not(.place):hover {
  color: var(--ium-red) !important;
}
#content .entry .tags-footer .float-right {
  float: none !important;
  margin-left: auto !important;
}

/* Hit counter — pill with tooltip on hover, shared across all .hitscss blocks
   (news, container, content, album, project, pub, spot, …) */
.hitscss {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}
.hitscss > span {
  display: inline-flex !important;
  align-items: center !important;
  gap: .35rem !important;
  background: var(--ium-blue-bg) !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  font-size: .78rem !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  color: var(--ium-blue-dk) !important;
  font-weight: 700 !important;
  overflow: visible !important;
}
.hitscss i {
  color: var(--ium-blue) !important;
  font-size: 1.4rem !important;
}
.hitscss .hit-sep-bar {
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: var(--mid-gray) !important;
  font-weight: 400 !important;
}
.hitscss .hit-tip {
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  position: relative !important;
  cursor: default !important;
}
.hitscss .hit-tip::after {
  content: attr(data-tip) !important;
  position: absolute !important;
  bottom: calc(100% + 7px) !important;
  /* Anchor tooltips to the right of their number — counter blocks sit flush
     against the right edge of their column, so tooltips must grow leftwards. */
  right: 0 !important;
  left: auto !important;
  transform: none !important;
  background: var(--ium-blue-dk) !important;
  color: #fff !important;
  font-size: .68rem !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: .03em !important;
  white-space: nowrap !important;
  padding: 4px 9px !important;
  border-radius: 4px !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transition: opacity .18s ease !important;
  z-index: 9999 !important;
}
.hitscss .hit-tip:hover::after {
  opacity: 1 !important;
}

/* Files table — same as container */
#content table.table thead th {
  background: var(--ium-blue) !important;
  color: #fff !important;
  text-transform: uppercase !important;
  font-size: .82rem !important;
  letter-spacing: .04em !important;
}
#content table.table tbody td {
  color: var(--body-text) !important;
  border-bottom: 1px solid var(--light-gray) !important;
}
#content table.table tbody tr:hover td {
  background: var(--ium-blue-bg) !important;
}
#content table.table tbody td a {
  color: var(--ium-blue) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
#content table.table tbody td a:hover {
  color: var(--ium-red) !important;
}

/* ---- News carousel (#slidebot) ---- */

/* Images: full width, natural aspect ratio, object-fit for consistent crop */
#slidebot .carousel-item img {
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* Caption: gradient overlay for readability */
#slidebot .carousel-caption {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 2.5rem 1.25rem .85rem !important;
  background: linear-gradient(to top, rgba(0,0,0,.68) 0%, rgba(0,0,0,.15) 70%, transparent 100%) !important;
  text-align: left !important;
}
#slidebot .carousel-caption,
#slidebot .carousel-caption p {
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.5) !important;
}

/* Reset global link colour on nav controls */
#slidebot .carousel-control-prev,
#slidebot .carousel-control-next {
  text-decoration: none !important;
  color: #fff !important;
  width: 10% !important;
  opacity: 0.75 !important;
  transition: opacity .2s !important;
}
#slidebot .carousel-control-prev:hover,
#slidebot .carousel-control-next:hover {
  opacity: 1 !important;
  color: #fff !important;
}

/* Global: suppress bullet dots on <li> carousel indicators (templates not yet migrated to <button>) */
.carousel-indicators li { list-style: none !important; }
.carousel-indicators li::marker { display: none !important; content: '' !important; }

/* Indicators styling */
#slidebot .carousel-indicators {
  bottom: 8px !important;
  margin-bottom: 0 !important;
  list-style: none !important;
}
#slidebot .carousel-indicators li,
#slidebot .carousel-indicators [data-bs-target] {
  list-style: none !important;
  list-style-type: none !important;
  outline: none !important;
  background-color: rgba(255,255,255,.65) !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  width: 28px !important;
  height: 4px !important;
  border-radius: 2px !important;
  transition: background-color .2s, width .2s !important;
  opacity: 1 !important;
}
#slidebot .carousel-indicators li::marker,
#slidebot .carousel-indicators [data-bs-target]::marker {
  display: none !important;
  content: '' !important;
}
#slidebot .carousel-indicators .active {
  background-color: #fff !important;
  width: 36px !important;
}

/* Sidebar card */
#content .sidebar {
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
  border-radius: 0 !important;
  padding: 1.25rem !important;
}

/* Sidebar section headers */
#content .sidebar .border-bottom {
  border-bottom-color: var(--ium-blue-bg) !important;
  margin-top: 0 !important;
}
#content .sidebar .bigbox-title,
#content .sidebar .box-title {
  font-family: 'Play', Arial, sans-serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  color: var(--ium-blue) !important;
  text-transform: uppercase !important;
}
#content .sidebar .box-color i {
  color: var(--ium-blue) !important;
}

/* Recent posts — grid layout handles positioning, no margin-left needed */
#content .sidebar .recent-posts .post-item h4 a {
  color: var(--ium-blue-dk) !important;
  font-size: .88rem !important;
  text-decoration: none !important;
}
#content .sidebar .recent-posts .post-item h4 a:hover {
  color: var(--ium-red) !important;
}
#content .sidebar .recent-posts .post-item > span {
  display: block !important;
  margin: 0 !important;
}
#content .sidebar .recent-posts time {
  color: var(--mid-gray) !important;
  font-size: .75rem !important;
}

/* Categories — plain links, no pill styling */
#content .sidebar .categories ul a {
  color: var(--ium-blue) !important;
  font-size: .85rem !important;
  text-decoration: none !important;
}
#content .sidebar .categories ul a:hover,
#content .sidebar .categories ul a:hover span {
  color: #ffffff !important;
}
#content .sidebar .categories ul a span {
  color: var(--mid-gray) !important;
}

/* Tag & place pills — modernised, refined sizing and hover lift */
#main a.tag,
#main a.tag:link,
#main a.tag:visited {
  background: var(--ium-blue) !important;
  color: #fff !important;
  border: 1px solid var(--ium-blue) !important;
  font-size: .78rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background .2s, border-color .2s, transform .15s !important;
}
#main a.tag::after,
#main a.tag::before {
  display: none !important;
  content: none !important;
}
#main a.tag:hover,
#main a.tag:focus {
  background: var(--ium-red) !important;
  border-color: var(--ium-red) !important;
  color: #fff !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}
#main a.place,
#main a.place:link,
#main a.place:visited {
  background: var(--ium-blue-bg) !important;
  color: var(--ium-blue-dk) !important;
  border: 1px solid #c7d8ee !important;
  font-size: .78rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background .2s, border-color .2s, color .2s, transform .15s !important;
}
#main a.place::after,
#main a.place::before {
  display: none !important;
  content: none !important;
}
#main a.place:hover,
#main a.place:focus {
  background: var(--ium-blue) !important;
  border-color: var(--ium-blue) !important;
  color: #fff !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}

/* Search */
#content .sidebar .search-form {
  padding: .25rem 0 .5rem !important;
}
#content .sidebar .search-form form {
  display: flex !important;
  align-items: stretch !important;
  background: #fff !important;
  border: 2px solid var(--ium-blue-bg) !important;
  border-radius: 24px !important;
  padding: 0 !important;
  overflow: hidden !important;
  transition: border-color .2s ease !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
}
#content .sidebar .search-form form:focus-within {
  border-color: var(--ium-blue) !important;
}
#content .sidebar .search-form form input[type=text] {
  flex: 1 1 auto !important;
  border: 0 !important;
  outline: none !important;
  padding: .45rem 1rem !important;
  width: auto !important;
  background: transparent !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .85rem !important;
  color: var(--ium-blue-dk) !important;
  box-shadow: none !important;
}
#content .sidebar .search-form form input[type=text]::placeholder {
  color: var(--mid-gray) !important;
  font-style: italic !important;
  opacity: 1 !important;
}
#content .sidebar .search-form form button {
  position: static !important;
  flex-shrink: 0 !important;
  border: 0 !important;
  background: var(--ium-blue) !important;
  color: #fff !important;
  padding: 0 1rem !important;
  margin: 0 !important;
  border-radius: 0 22px 22px 0 !important;
  transition: background .2s ease !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#content .sidebar .search-form form button:hover {
  background: var(--ium-red) !important;
}
#content .sidebar .search-form form button i {
  font-size: .9rem !important;
  line-height: 1 !important;
}

/* ===================================================
   NEWS LIST PAGE  (#artlist.artlist — newslist.blade.php)
   =================================================== */

/* Page background */
#artlist.artlist {
  background: #f0f2f5 !important;
  padding-top: 1rem !important;
  padding-bottom: 2rem !important;
}
#artlist .row > [class*="col-"] {
  padding-bottom: 1.25rem !important;
}

/* Entry cards — white card, same shadow as container */
#artlist .entry {
  background: #fff !important;
  border: none !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

/* Image — full-bleed at top of card, no extra padding */
#artlist .entry .main-image {
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
#artlist .entry .entry-img {
  margin: 0 !important;
}

/* Date badge */
#artlist .entry .bottom-right {
  background: rgba(10,53,117,.75) !important;
  font-size: .72rem !important;
  padding: 3px 8px !important;
}
#artlist .entry .bottom-right i,
#content .entry .bottom-right i {
  margin-right: .35rem !important;
}

/* Title */
#artlist .entry .entry-title {
  padding: .75rem 1rem .25rem !important;
  margin: 0 !important;
}
#artlist .entry .entry-title a {
  color: var(--ium-blue-dk) !important;
  font-family: 'Saira', sans-serif !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
}
#artlist .entry .entry-title a:hover {
  color: var(--ium-red) !important;
}

/* Read more */
#artlist .entry .entry-content {
  padding: .5rem 1rem 1rem !important;
  margin-top: auto !important;
}
#artlist .entry .read-more a {
  display: inline-block !important;
  background: var(--ium-blue) !important;
  color: #fff !important;
  font-family: 'Play', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  padding: .35rem 1rem !important;
  border: 2px solid var(--ium-blue) !important;
  transition: background var(--t), border-color var(--t) !important;
}
#artlist .entry .read-more a:hover {
  background: var(--ium-blue-dk) !important;
  border-color: var(--ium-blue-dk) !important;
  color: #fff !important;
}

/* Pagination */
#artlist .pagination .page-link {
  color: var(--ium-blue) !important;
  border-color: var(--light-gray) !important;
  font-size: .82rem !important;
}
#artlist .pagination .page-item.active .page-link {
  background: var(--ium-blue) !important;
  border-color: var(--ium-blue) !important;
  color: #fff !important;
}
#artlist .pagination .page-link:hover {
  background: var(--ium-blue-bg) !important;
  color: var(--ium-blue-dk) !important;
}
}

/* ===================================================
   AUT PAGE  (#author.author — aut.blade.php)
   =================================================== */

#author.author {
  background: #e6eaf0 !important;
  padding-top: 0 !important;
  padding-bottom: 3rem !important;
  margin-top: 0 !important;
}

/* Remove Bootstrap mt-3 on the inner container */
#author.author > .container {
  margin-top: 0 !important;
}

/* Outer card: CSS grid — 240px sidebar | content */
#author .p-2.box {
  background: #f0f3f7 !important;
  box-shadow: 0 4px 28px rgba(4,20,50,.18) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  display: grid !important;
  grid-template-columns: 240px 1fr !important;
  grid-template-rows: auto 1fr !important;
  align-items: start !important;
}

/* ---- Hero banner ---- */
#author .avatar-box {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  position: relative !important;
  background: var(--ium-blue-dk) !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 185px !important;
  overflow: visible !important;
}
#author .avatar-bg {
  position: relative !important;
  height: 185px !important;
  overflow: hidden !important;
}
#author .avatar-bg img {
  width: 100% !important;
  height: 185px !important;
  object-fit: cover !important;
  object-position: center 30% !important;
  display: block !important;
  filter: saturate(.8) brightness(.9) !important;
}
#author .avatar-bg::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(160deg, rgba(4,20,50,.3) 0%, rgba(4,20,50,.72) 100%) !important;
  pointer-events: none !important;
}
#author .avatar-img {
  position: absolute !important;
  bottom: -70px !important;
  left: 120px !important;
  transform: translateX(-50%) !important;
  top: auto !important;
  z-index: 3 !important;
}
#author .avatar-boss {
  width: 140px !important;
  height: 140px !important;
  border-radius: 50% !important;
  border: 4px solid #fff !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.4), 0 0 0 3px var(--ium-red) !important;
  object-fit: cover !important;
  display: block !important;
  background: #c8d8ef !important;
  transition: transform .25s, box-shadow .25s !important;
}
#author .avatar-boss:hover {
  transform: scale(1.04) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.45), 0 0 0 3px var(--ium-red) !important;
}

/* ---- Sidebar ---- */
#author .aut-sidebar {
  grid-column: 1 !important;
  grid-row: 2 !important;
  background: var(--ium-blue) !important;
  padding: 88px 1.25rem 2.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  min-height: 100% !important;
}
#author .avatar-rank {
  position: static !important;
  top: auto !important;
  left: auto !important;
  font-family: "Play", sans-serif !important;
  font-size: .7rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.5) !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  line-height: 1.65 !important;
  margin-bottom: .4rem !important;
  padding: 0 !important;
  width: 100% !important;
}
#author .aut-sidebar > h3 {
  font-family: "Saira", Arial, sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 .6rem !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  width: 100% !important;
  letter-spacing: .01em !important;
}
#author .aut-sidebar > h3::after {
  content: "" !important;
  display: block !important;
  width: 24px !important;
  height: 2px !important;
  background: var(--ium-red) !important;
  margin: .55rem auto 0 !important;
}
#author .aut-sidebar > li {
  list-style: none !important;
  font-size: .74rem !important;
  color: rgba(255,255,255,.6) !important;
  margin: .25rem 0 !important;
  padding: 0 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: .4rem !important;
}
#author .aut-sidebar > li i {
  color: var(--ium-red) !important;
  font-size: .85rem !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  width: 1rem !important;
  text-align: center !important;
}
#author .aut-sidebar > li a {
  color: rgba(255,255,255,.7) !important;
  text-decoration: none !important;
  word-break: break-all !important;
}
#author .aut-sidebar > li a:hover {
  color: #fff !important;
  text-decoration: underline !important;
}

/* ---- Main content ---- */
#author .aut-main {
  grid-column: 2 !important;
  grid-row: 2 !important;
  background: #fff !important;
  padding: 0 !important;
  min-width: 0 !important;
}

/* Prevent long URLs / CKEditor content from overflowing */
#author .aut-main p,
#author .aut-main li,
#author .aut-main a {
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}
#author .aut-main img {
  max-width: 100% !important;
  height: auto !important;
}

/* Content blocks */
#author .aut-main > .entry-content {
  padding: 1.5rem !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(15,71,154,.07) !important;
}
#author .aut-main > .entry-content:first-child {
  border-bottom: none !important;
}
#author .aut-main > .entry-content:has(> .mt-4) {
  padding: 1.5rem !important;
  border-bottom: none !important;
}

/* .mb-4 section containers */
#author .aut-main .entry-content .mb-4 {
  margin: 0 0 .25rem !important;
  padding: 0 !important;
}

/* Section heading: container-page h3 style */
#author .aut-main .entry-content .mb-4 h3 {
  font-family: "Saira", Arial, sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--ium-blue-dk) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  background: none !important;
  margin: 0 0 .875rem !important;
  padding: 0 0 .5rem !important;
  border-left: none !important;
  border-bottom: 2px solid var(--ium-blue-bg) !important;
  border-radius: 0 !important;
}

/* Body text */
#author .aut-main .entry-content p {
  font-size: .875rem !important;
  color: var(--body-text) !important;
  line-height: 1.7 !important;
  margin: 0 0 .4rem !important;
}
#author .aut-main .entry-content a {
  color: var(--ium-blue) !important;
  text-decoration: none !important;
}
#author .aut-main .entry-content a:hover { color: var(--ium-red) !important; }

#author .aut-main .entry-content .border-top {
  border-top: 1px solid rgba(15,71,154,.1) !important;
}
#author .aut-main .entry-content > .border-top:first-child {
  border-top: none !important;
  padding-top: 0 !important;
}

/* ---- Articles grid section ---- */
#author .aut-main .entry-content > .mt-4 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: .5rem !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Section title spans both columns */
#author .aut-main .entry-content > .mt-4 > h3 {
  grid-column: 1 / -1 !important;
  font-family: "Saira", Arial, sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--ium-blue-dk) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  background: none !important;
  padding: 0 0 .5rem !important;
  margin: 0 0 .25rem !important;
  border-left: none !important;
  border-bottom: 2px solid var(--ium-blue-bg) !important;
  border-radius: 0 !important;
}

/* Individual article card */
#author .aut-main .entry-content > .mt-4 > .border-top {
  border: 1px solid var(--ium-blue-bg) !important;
  background: #fff !important;
  padding: 10px !important;
  margin: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
  transition: border-color .2s !important;
}
#author .aut-main .entry-content > .mt-4 > .border-top:hover {
  border-color: var(--ium-red) !important;
}

/* Row: horizontal — thumbnail left, content right */
#author .aut-main .entry-content > .mt-4 > .border-top > .row {
  --bs-gutter-x: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Thumbnail column */
#author .aut-main .entry-content > .mt-4 > .border-top > .row > :first-child {
  flex: 0 0 110px !important;
  width: 110px !important;
  max-width: 110px !important;
  height: 130px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--ium-blue-dk) !important;
  align-self: flex-start !important;
  vertical-align: top !important;
}
#author .aut-main .entry-content > .mt-4 > .border-top > .row > :first-child img {
  width: 110px !important;
  height: 130px !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  vertical-align: top !important;
  margin: 0 !important;
}
#author .aut-main .entry-content > .mt-4 > .border-top > .row > :first-child::after {
  display: none !important;
}

/* Text column */
#author .aut-main .entry-content > .mt-4 > .border-top > .row > :last-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 0 !important;
  align-self: stretch !important;
  padding: .625rem .75rem .5rem !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .2rem !important;
  border-top: none !important;
}

/* Article title */
#author .aut-main .entry-content > .mt-4 h5 {
  font-family: "Saira", Arial, sans-serif !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  color: var(--ium-blue-dk) !important;
  line-height: 1.3 !important;
  margin: 0 0 .2rem !important;
}

/* Publication line text */
#author .aut-main .entry-content > .mt-4 .text-start {
  font-size: .72rem !important;
  color: #607490 !important;
  line-height: 1.45 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .15rem !important;
}

/* Publication name link — truncate with ellipsis if too long */
#author .aut-main .entry-content > .mt-4 .text-start b {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
#author .aut-main .entry-content > .mt-4 .text-start b a {
  font-size: .72rem !important;
  color: var(--ium-blue) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#author .aut-main .entry-content > .mt-4 .text-start b a:hover {
  color: var(--ium-red) !important;
  text-decoration: underline !important;
}

/* PDF buttons */
#author .aut-main .entry-content > .mt-4 .mt-2 {
  margin: .1rem 0 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .2rem !important;
}
#author .aut-main .entry-content > .mt-4 .mt-2 a {
  display: inline-flex !important;
  align-items: center !important;
  gap: .2rem !important;
  font-family: "Play", sans-serif !important;
  font-size: .63rem !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  color: var(--ium-blue) !important;
  background: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  transition: color .15s !important;
  white-space: nowrap !important;
}
#author .aut-main .entry-content > .mt-4 .mt-2 a:hover {
  background: none !important;
  color: var(--ium-red) !important;
}

/* Nested .entry-content */
#author .aut-main .entry-content > .mt-4 .entry-content {
  padding: 0 !important;
  margin: 0 !important;
  border-left: none !important;
  box-shadow: none !important;
  transition: none !important;
}

/* Hit counter */
#author .aut-main .entry-content > .mt-4 .float-right {
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .2rem !important;
  font-size: .63rem !important;
  color: #9aabbd !important;
  margin-top: auto !important;
  padding-top: .2rem !important;
}
#author .aut-main .entry-content > .mt-4 .float-right i {
  color: rgba(15,71,154,.3) !important;
  font-size: .7rem !important;
}

/* ---- Other works block (outros trabalhos) ---- */
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) {
  display: block !important;
  grid-template-columns: unset !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
}
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) > .border-top {
  border: none !important;
  background: #fff !important;
  padding: 0 !important;
  box-shadow: none !important;
  transition: none !important;
  overflow: visible !important;
}
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) > .border-top:hover {
  border-color: transparent !important;
}
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) p {
  font-size: .875rem !important;
  color: var(--body-text) !important;
  line-height: 1.7 !important;
  margin: 0 0 .5rem !important;
  text-indent: 0 !important;
}
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) ul,
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) ol {
  padding-left: 1.5rem !important;
  margin: .5rem 0 !important;
}
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) li {
  font-size: .875rem !important;
  color: var(--body-text) !important;
  line-height: 1.7 !important;
  margin-bottom: .25rem !important;
}
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) a {
  color: var(--ium-blue) !important;
  text-decoration: none !important;
}
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) a:hover {
  color: var(--ium-red) !important;
  text-decoration: underline !important;
}
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) strong,
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) b {
  color: var(--ium-blue-dk) !important;
}
/* CKEditor headings inside other works — downgraded visually */
#author .aut-main .entry-content > .mt-4:not(:has(> h3)) > .border-top h3 {
  font-family: "Play", Arial, sans-serif !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  color: var(--ium-blue-dk) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  border-bottom: 1px solid var(--ium-blue-bg) !important;
  padding-bottom: .3rem !important;
  margin: 1rem 0 .5rem !important;
  background: none !important;
}

/* Entry meta: dark navy footer bar */
#author .aut-main .entry-meta {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: .75rem !important;
  padding: .6rem 1.5rem !important;
  margin: 0 !important;
  background: #fff !important;
  border-top: 1px solid var(--light-gray) !important;
  border-left: 3px solid var(--ium-blue) !important;
  font-size: .75rem !important;
  color: var(--mid-gray) !important;
  transition: border-left-color .2s !important;
}
#author .aut-main .entry-meta:hover {
  border-left-color: var(--ium-red) !important;
}
/* Last update li */
#author .aut-main .entry-meta > li {
  list-style: none !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .3rem !important;
  color: var(--mid-gray) !important;
  white-space: nowrap !important;
}
#author .aut-main .entry-meta > li i {
  color: var(--ium-blue) !important;
  font-size: .85rem !important;
}
#author .aut-main .entry-meta > li b {
  color: var(--ium-blue-dk) !important;
  font-weight: 700 !important;
}
/* Hit counter wrapper — reset nested entry-content/clearfix/float-right */
#author .aut-main .entry-meta .entry-content,
#author .aut-main .entry-meta .clearfix {
  display: contents !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#author .aut-main .entry-meta .float-right {
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .3rem !important;
  background: var(--ium-blue-bg) !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  white-space: nowrap !important;
  margin-left: auto !important;
}
#author .aut-main .entry-meta .float-right .hit-label {
  font-size: .68rem !important;
  font-family: 'Trebuchet MS', sans-serif !important;
  color: var(--mid-gray) !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
}
#author .aut-main .entry-meta .float-right .hit-value {
  font-size: .8rem !important;
  font-weight: 700 !important;
  color: var(--ium-blue-dk) !important;
  font-family: 'Trebuchet MS', sans-serif !important;
}
#author .aut-main .entry-meta .float-right .hit-sep {
  color: var(--light-gray) !important;
  font-size: .9rem !important;
}

/* ---- Mobile: single column ---- */
@media (max-width: 767.98px) {
  #author .p-2.box {
    grid-template-columns: 1fr !important;
  }
  #author .avatar-box { grid-column: 1 !important; grid-row: 1 !important; }
  #author .aut-sidebar { grid-column: 1 !important; grid-row: 2 !important; padding-top: 88px !important; }
  #author .aut-main   { grid-column: 1 !important; grid-row: 3 !important; }
  #author .avatar-img { left: 50% !important; }
  #author .aut-main .entry-content > .mt-4 {
    grid-template-columns: 1fr !important;
    margin: 0 !important;
  }
  #author .aut-main .entry-meta {
    flex-wrap: wrap !important;
    gap: .4rem !important;
  }
  #author .aut-main .entry-meta .float-right {
    margin-left: 0 !important;
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

/* ===================================================
   TEALIST PAGE  (#author.author — tealist.blade.php)
   =================================================== */

#author.author {
  background: #f0f2f5 !important;
  padding-top: 1.5rem !important;
  padding-bottom: 2.5rem !important;
}

/* Card wrapper */
#author .entry-content {
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
  border-radius: 0 !important;
  padding: 1rem 1.25rem !important;
  width: 100% !important;
  border-left: 3px solid var(--ium-blue) !important;
  transition: box-shadow var(--t), border-left-color var(--t) !important;
}
#author .entry-content:hover {
  box-shadow: 0 3px 10px rgba(15,71,154,.12) !important;
  border-left-color: var(--ium-red) !important;
}

/* Artlisttitle: block layout, avatar floats left */
#author .artlisttitle {
  display: block !important;
  overflow: hidden !important;
  line-height: 1.5 !important;
  min-height: 80px !important;
}

/* Avatar */
#author .artlisttitle .avatar3 {
  float: left !important;
  width: 80px !important;
  height: 80px !important;
  margin-right: 14px !important;
  margin-bottom: 6px !important;
  margin-top: 2px !important;
  border: 2px solid var(--ium-blue-bg) !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}

/* Academic title — italic, small, mid-gray */
#author .artlisttitle i {
  display: inline !important;
  font-size: .75rem !important;
  font-style: italic !important;
  font-weight: 400 !important;
  color: var(--mid-gray) !important;
  letter-spacing: .02em !important;
}

/* Name link — bold Play, IUM blue */
#author .artlisttitle a {
  display: inline !important;
  font-family: 'Play', Arial, sans-serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: var(--ium-blue-dk) !important;
  text-decoration: none !important;
}
#author .artlisttitle a:hover {
  color: var(--ium-red) !important;
}

/* Position text (plain text node after 2nd br) — inherit block font */
#author .artlisttitle {
  font-family: 'Trebuchet MS', sans-serif !important;
  font-size: .82rem !important;
  color: var(--ium-blue) !important;
}

/* Pagination */
#author .pagination .page-link {
  color: var(--ium-blue) !important;
  border-color: var(--light-gray) !important;
  font-size: .82rem !important;
}
#author .pagination .page-item.active .page-link {
  background: var(--ium-blue) !important;
  border-color: var(--ium-blue) !important;
  color: #fff !important;
}
#author .pagination .page-link:hover {
  background: var(--ium-blue-bg) !important;
  color: var(--ium-blue-dk) !important;
}
