
/* ================================================================
   UM Indonesia modern theme override — SLiMS 9 (Bulian) trial
   Palette: #0055B1 (navy) / #FFFFFF (white) / #FF8C01 (orange)
   Consistent with the SLiMS 7 trial theme, adapted to this theme's
   Bootstrap 4/Tailwind-hybrid markup instead of Bootstrap 2.
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --umid-navy: #0055B1;
  --umid-navy-dark: #003D82;
  --umid-navy-darker: #002A5C;
  --umid-orange: #FF8C01;
  --umid-orange-dark: #E67D00;
  --umid-surface: #F4F7FB;
  --umid-ink: #17233A;
  --umid-ink-muted: #5B6B84;
  --umid-border: #E1E8F0;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--umid-ink);
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Plus Jakarta Sans', sans-serif;
}

/* ---------------- Header / hero ---------------- */
.c-header {
  min-height: 420px;
}
.c-header .mask {
  background: linear-gradient(180deg, rgba(0,42,92,0.55) 0%, rgba(0,55,177,0.72) 60%, rgba(0,42,92,0.85) 100%);
}

.navbar-brand h1 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 18px;
}
.navbar .nav-link {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  color: rgba(255,255,255,0.85) !important;
}
.navbar .nav-link:hover {
  color: #fff !important;
}
.navbar-nav .nav-item.active .nav-link {
  color: #fff !important;
  border-bottom: 3px solid var(--umid-orange);
}

/* ---------------- Search ---------------- */
.search .card {
  border-radius: 16px !important;
  box-shadow: 0 18px 44px rgba(0,42,92,0.28) !important;
}
.search .input-transparent {
  font-family: 'Inter', sans-serif;
}
.search .input-transparent::placeholder {
  color: #9aa5b8;
  font-weight: 400;
}
.advanced-wraper {
  border-radius: 14px;
  font-family: 'Inter', sans-serif;
}
.advanced-wraper .btn-primary {
  background: var(--umid-navy) !important;
  border-color: var(--umid-navy) !important;
}
.advanced-wraper .btn-outline-primary {
  color: var(--umid-navy) !important;
  border-color: var(--umid-navy) !important;
}
.advanced-wraper .btn-outline-primary:hover {
  background: var(--umid-navy) !important;
  color: #fff !important;
}

/* ---------------- Buttons / links (global) ---------------- */
.btn-primary {
  background-color: var(--umid-navy) !important;
  border-color: var(--umid-navy) !important;
}
.btn-primary:hover {
  background-color: var(--umid-navy-dark) !important;
  border-color: var(--umid-navy-dark) !important;
}
a { color: var(--umid-navy); }
a:hover { color: var(--umid-orange-dark); }

/* ---------------- Subject icons row ---------------- */
.topic a {
  color: var(--umid-ink);
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 13.5px;
  text-decoration: none;
  transition: transform .15s ease;
}
.topic a:hover {
  transform: translateY(-3px);
  color: var(--umid-navy);
}

/* ---------------- Section headings ---------------- */
.subtitle-section {
  font-family: 'Inter', sans-serif;
  color: var(--umid-ink-muted);
}

/* ---------------- Book collection cards ---------------- */
.collection .card {
  border-radius: 12px !important;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.collection .card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(0,42,92,0.18) !important;
}
.collection .card-image {
  background: var(--umid-surface);
  border-radius: 8px;
  overflow: hidden;
}
.collection .card-text {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: 13.5px;
  color: var(--umid-ink) !important;
}

/* ---------------- Popular members section ---------------- */
section.bg-white {
  background: #fff !important;
}

/* ---------------- Contact / map section ---------------- */
section .btn-primary,
section .btn-info,
section .btn-danger,
section .btn-dark {
  background: var(--umid-navy) !important;
  border-color: var(--umid-navy) !important;
}
section .btn-primary:hover,
section .btn-info:hover,
section .btn-danger:hover,
section .btn-dark:hover {
  background: var(--umid-orange) !important;
  border-color: var(--umid-orange) !important;
}

/* ---------------- Footer ---------------- */
footer.bg-grey-darkest {
  background: var(--umid-navy-darker) !important;
}
footer a.text-light:hover {
  color: var(--umid-orange) !important;
}
footer .btn-primary {
  background: var(--umid-orange) !important;
  border-color: var(--umid-orange) !important;
}
footer .btn-primary:hover {
  background: var(--umid-orange-dark) !important;
  border-color: var(--umid-orange-dark) !important;
}

/* ---------------- Detail page & search results ---------------- */
.detail-title, .biblio-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: var(--umid-navy);
}

/* ================================================================
   Deep pass: search filters, result cards, detail page, login
   ================================================================ */

/* --- Search results: found-count + sort bar --- */
.search-found-info {
  font-family: 'Inter', sans-serif;
  color: var(--umid-ink-muted);
}
.search-found-info strong {
  color: var(--umid-navy);
  font-family: 'Plus Jakarta Sans', sans-serif;
}
#search-order {
  border-radius: 8px;
  border-color: var(--umid-border);
}

/* --- Filter sidebar --- */
#search-filter h4 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: var(--umid-ink);
}
#search-filter .list-group-item {
  padding-left: 0;
  padding-right: 0;
}
#search-filter strong {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  color: var(--umid-ink);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .03em;
}
#search-filter .form-check-input:checked {
  background-color: var(--umid-navy);
  border-color: var(--umid-navy);
}
#search-filter .form-check-label {
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  color: var(--umid-ink-muted);
}
#search-filter .form-control {
  border-radius: 6px;
  border-color: var(--umid-border);
  font-size: 13px;
}
.irs--flat .irs-bar,
.irs--flat .irs-handle > i:first-child,
.irs--flat .irs-from, .irs--flat .irs-to, .irs--flat .irs-single {
  background-color: var(--umid-navy) !important;
}

/* --- Result cards --- */
.biblioResult .card.item {
  border-radius: 14px !important;
  box-shadow: 0 3px 12px rgba(0,42,92,0.07) !important;
  transition: box-shadow .18s ease, transform .18s ease;
  margin-bottom: 20px !important;
}
.biblioResult .card.item:hover {
  box-shadow: 0 10px 26px rgba(0,42,92,0.15) !important;
  transform: translateY(-3px);
}
.biblioResult .card-link {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  color: var(--umid-ink) !important;
  text-decoration: none;
}
.biblioResult .card-link:hover { color: var(--umid-navy) !important; }
.biblioResult img.rounded {
  border-radius: 10px !important;
  box-shadow: 0 4px 10px rgba(0,42,92,0.12);
}
.biblioResult .authors .btn-outline-secondary {
  border-radius: 100px !important;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--umid-navy) !important;
  border-color: var(--umid-border) !important;
  background: var(--umid-surface) !important;
}
.biblioResult .authors .btn-outline-secondary:hover {
  background: var(--umid-navy) !important;
  color: #fff !important;
}
.biblioResult dl.row dt {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  color: var(--umid-ink-muted);
  font-size: 12.5px;
}
.biblioResult dl.row dd {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--umid-ink);
}

/* --- Availability mini-widget on result cards --- */
.card.availability {
  border-radius: 12px !important;
  border: 1px solid var(--umid-border) !important;
  overflow: hidden;
}
.card.availability .availability-content {
  background: var(--umid-surface);
}
.card.availability .availability-content .label {
  font-family: 'Inter', sans-serif;
  font-size: 10.5px;
  color: var(--umid-ink-muted);
  text-transform: uppercase;
  letter-spacing: .03em;
}
.card.availability .availability-content .value {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--umid-navy);
}
.card.availability .add-to-chart {
  background: var(--umid-navy);
  color: #fff;
  padding: 6px;
  transition: background .15s ease;
}
.card.availability .add-to-chart:hover { background: var(--umid-orange); }
.card.availability .add-to-chart .label { color: rgba(255,255,255,0.85); font-size: 9.5px; }
.card.availability .add-to-chart .value { color: #fff; }

/* --- Pagination --- */
.biblioPaging .pagingList a,
.biblioPaging .pagingList b {
  display: inline-block;
  min-width: 32px;
  text-align: center;
  padding: 6px 10px;
  margin: 0 2px;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 13.5px;
  text-decoration: none;
}
.biblioPaging .pagingList b {
  background: var(--umid-navy);
  color: #fff;
}
.biblioPaging .pagingList a {
  color: var(--umid-navy);
  background: var(--umid-surface);
}
.biblioPaging .pagingList a:hover {
  background: var(--umid-navy);
  color: #fff;
}

/* --- Detail page: cover + actions --- */
.result-search .bg-grey-light {
  background: var(--umid-surface) !important;
  border-radius: 16px !important;
}
.result-search .bg-grey-light img.available {
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(0,42,92,0.16);
}
.bookMarkBook, a[data-target="#mediaSocialModal"] {
  border-radius: 100px;
  transition: background .15s ease, color .15s ease;
}
.bookMarkBook:hover, a[data-target="#mediaSocialModal"]:hover {
  background: var(--umid-surface);
  color: var(--umid-navy) !important;
}

/* --- Detail page: title block --- */
.blockquote h4 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  color: var(--umid-ink);
}
.blockquote-footer a {
  color: var(--umid-navy);
}
.blockquote {
  border-left: 4px solid var(--umid-orange);
  padding-left: 16px;
}
.lead {
  font-family: 'Inter', sans-serif;
  color: var(--umid-orange-dark);
  font-weight: 600;
}

/* --- Detail page: availability rows -> clean cards with status chip --- */
.flex-col > .w-100.flex.flex-row.w-full {
  border: 1px solid var(--umid-border) !important;
  border-radius: 10px;
  margin-bottom: 8px;
  overflow: hidden;
  background: #fff;
}
.flex-col > .w-100.flex.flex-row.w-full > div.border {
  border: none !important;
}
.availability-item {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 100px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 12px;
}
.availability-item.item-available {
  background: #E6F4EC;
  color: #1E8A4C;
}

/* --- Detail page: metadata definition list --- */
dl.row dt {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  color: var(--umid-ink-muted);
  font-size: 13px;
}
dl.row dd {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--umid-ink);
}
h5.mt-4 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  color: var(--umid-navy);
  border-bottom: 2px solid var(--umid-border);
  padding-bottom: 8px;
}

/* ---------------- Login page ---------------- */
#loginForm {
  max-width: 420px;
  margin: 24px auto 40px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(0,42,92,0.14);
  padding: 32px 32px 24px;
}
#loginForm .heading1 {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 12.5px;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--umid-ink-muted);
  margin-bottom: 6px;
}
#loginForm .login_input input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--umid-border);
  border-radius: 8px;
  padding: 10px 12px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  margin-bottom: 16px;
}
#loginForm .login_input input:focus {
  outline: none;
  border-color: var(--umid-navy);
  box-shadow: 0 0 0 3px rgba(0,85,177,0.14);
}
#loginForm .remember_forgot {
  margin-bottom: 16px;
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  color: var(--umid-ink-muted);
}
#loginForm .loginButton,
#loginForm .homeButton {
  border: none;
  border-radius: 8px;
  padding: 10px 22px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  cursor: pointer;
}
#loginForm .loginButton {
  background: var(--umid-orange);
  color: #fff;
}
#loginForm .loginButton:hover { background: var(--umid-orange-dark); }
#loginForm .homeButton {
  background: transparent;
  color: var(--umid-navy);
  border: 1px solid var(--umid-border);
  margin-left: 8px;
}
#loginForm .homeButton:hover { background: var(--umid-surface); }
section h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  color: var(--umid-navy);
  text-align: center;
}

/* Tidy up legacy .librarian row layout (image left, info right) 2026-08-26 */
.librarian {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	padding: 22px 0;
	border-bottom: 1px solid #E7ECF3;
}
.librarian:last-child {
	border-bottom: none;
}
.librarian .span2 {
	flex: 0 0 140px;
	width: 140px;
}
.librarian .span8 {
	flex: 1;
	min-width: 0;
}
.librarian .librarian-image img,
.librarian .span2 > div > img {
	width: 100%;
	border-radius: 10px;
	display: block;
}
.librarian .row-fluid {
	display: flex;
	gap: 10px;
	margin-bottom: 6px;
}
.librarian .key {
	font-weight: 700;
	width: 90px;
	flex-shrink: 0;
	color: #14213D;
}
.librarian .span7,
.librarian .span9 {
	color: #334155;
	word-break: break-word;
}
.librarian-social {
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (max-width: 600px) {
	.librarian {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.librarian .span8 { text-align: left; width: 100%; }
}
