/* ===== OMU PRESTIGE PHASE3 FINAL START ===== */
:root {
  --omu-ink: #0b1f3a;
  --omu-ink-2: #1d4f7a;
  --omu-muted: #617287;
  --omu-line: rgba(15, 23, 42, 0.08);
  --omu-line-strong: rgba(23, 78, 166, 0.18);
  --omu-accent: #174ea6;
  --omu-accent-2: #2563eb;
  --omu-green: #84bc2a;
  --omu-gold: #c8a55b;
  --omu-surface: #ffffff;
  --omu-surface-soft: #f7fafc;
  --omu-shadow-sm: 0 10px 24px rgba(11, 31, 58, 0.07);
  --omu-shadow-md: 0 18px 42px rgba(11, 31, 58, 0.12);
  --omu-shadow-lg: 0 24px 54px rgba(11, 31, 58, 0.16);
  --omu-radius-lg: 18px;
  --omu-radius-xl: 24px;
  --omu-radius-2xl: 32px;
}

html, body {
  background: linear-gradient(180deg, #f8fafc 0%, #f3f7fb 100%) !important;
  color: var(--omu-ink) !important;
}

body {
  font-feature-settings: "kern" 1;
}

/* ===== Navbar ===== */
.navbar,
header .navbar,
ds-themed-header .navbar {
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(248,250,252,.98) 100%) !important;
  border-bottom: 1px solid var(--omu-line) !important;
  box-shadow: 0 14px 30px rgba(11,31,58,.08) !important;
}

.navbar::after,
header .navbar::after,
ds-themed-header .navbar::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px 0;
  height: 4px;
  background: linear-gradient(90deg, var(--omu-green) 0%, #96ca3a 50%, var(--omu-gold) 100%);
}

.navbar .nav-link,
.navbar-brand,
.dropdownLogin,
.navbar .dropdown-item {
  font-weight: 700 !important;
}

.omu-header-brand__title {
  color: var(--omu-ink) !important;
  font-weight: 900 !important;
}

.omu-header-brand__subtitle {
  color: var(--omu-ink-2) !important;
  font-weight: 700 !important;
}

/* ===== Common typography ===== */
main h1,
main h2,
main h3,
main h4 {
  color: var(--omu-ink) !important;
  letter-spacing: -.02em !important;
}

main h1 {
  font-weight: 900 !important;
  line-height: 1.18 !important;
}

main h2 {
  font-weight: 900 !important;
  font-size: clamp(1.7rem, 3vw, 2.35rem) !important;
}

main .lead,
main .text-muted,
main p.text-muted,
main small {
  color: var(--omu-muted) !important;
}

/* ===== Search bar ===== */
main .input-group {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border: 1px solid rgba(23,78,166,.16) !important;
  border-radius: 999px !important;
  box-shadow: 0 16px 34px rgba(11,31,58,.09) !important;
  padding: .35rem !important;
}

main .form-control,
main input[type="text"],
main input.form-control {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--omu-ink) !important;
  min-height: 58px !important;
  border-radius: 999px !important;
  font-size: 1.05rem !important;
  padding-inline: 1.15rem !important;
}

main .search-button,
main button[type="submit"],
main .btn-primary {
  min-height: 56px !important;
  border-radius: 18px !important;
  font-weight: 800 !important;
  padding-inline: 1.45rem !important;
  background: linear-gradient(135deg, var(--omu-accent) 0%, var(--omu-accent-2) 100%) !important;
  border-color: var(--omu-accent) !important;
  box-shadow: 0 12px 26px rgba(23,78,166,.22) !important;
}

main .search-button:hover,
main button[type="submit"]:hover,
main .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 32px rgba(23,78,166,.28) !important;
}

/* ===== Community cards ===== */
main .omu-community-card {
  position: relative !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border: 1px solid var(--omu-line) !important;
  border-radius: var(--omu-radius-2xl) !important;
  box-shadow: var(--omu-shadow-md) !important;
  margin-bottom: 1rem !important;
  overflow: hidden !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

main .omu-community-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--omu-shadow-lg) !important;
  border-color: var(--omu-line-strong) !important;
}

main .omu-community-card-link {
  position: relative !important;
  display: block !important;
  padding: 1.2rem 1.25rem !important;
  text-decoration: none !important;
  color: #1f6f98 !important;
  font-weight: 800 !important;
  line-height: 1.6 !important;
  font-size: 1.1rem !important;
}

main .omu-community-card-link::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, var(--omu-accent) 0%, var(--omu-accent-2) 100%);
}

main .omu-community-card-link:hover {
  color: var(--omu-accent) !important;
}

/* ===== Search / browse result cards ===== */
main .omu-search-card {
  position: relative !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border: 1px solid var(--omu-line) !important;
  border-radius: var(--omu-radius-xl) !important;
  box-shadow: var(--omu-shadow-md) !important;
  padding: 1.25rem !important;
  margin-bottom: 1.2rem !important;
  overflow: hidden !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

main .omu-search-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, var(--omu-accent) 0%, var(--omu-accent-2) 100%);
}

main .omu-search-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--omu-shadow-lg) !important;
  border-color: var(--omu-line-strong) !important;
}

main .omu-item-title-link {
  color: #1f6f98 !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

main .omu-item-title-link:hover {
  color: var(--omu-accent) !important;
}

main .omu-thumb-box,
main .thumbnail,
main .item-thumbnail,
main img.img-thumbnail {
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid var(--omu-line) !important;
  background: linear-gradient(180deg, #f8fafc 0%, #eef3f8 100%) !important;
  box-shadow: var(--omu-shadow-sm) !important;
}

/* ===== Item page ===== */
[data-omu-page="item"] main .omu-page-title {
  color: var(--omu-ink) !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  font-size: clamp(2rem, 4vw, 3.3rem) !important;
  margin-bottom: 1.15rem !important;
}

[data-omu-page="item"] main .omu-item-layout-row {
  display: grid !important;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap: 1.35rem !important;
  align-items: start !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

[data-omu-page="item"] main .omu-item-layout-row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  flex: initial !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

[data-omu-page="item"] main .omu-item-sidebar {
  align-self: start !important;
}

[data-omu-page="item"] main .omu-item-sidebar > * + * {
  margin-top: 1rem !important;
}

[data-omu-page="item"] main .omu-panel-card,
[data-omu-page="item"] main .omu-item-main .item-page-field-wrapper,
[data-omu-page="item"] main .omu-item-main .metadata,
[data-omu-page="item"] main .omu-item-main .item-page-section,
[data-omu-page="item"] main .omu-item-main .simple-view-element,
[data-omu-page="item"] main .omu-item-sidebar > * {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border: 1px solid var(--omu-line) !important;
  border-radius: var(--omu-radius-xl) !important;
  box-shadow: var(--omu-shadow-sm) !important;
  padding: 1.1rem 1.15rem !important;
}

[data-omu-page="item"] main .omu-item-main {
  min-width: 0 !important;
}

[data-omu-page="item"] main .item-page-field-wrapper h2,
[data-omu-page="item"] main .metadata h2,
[data-omu-page="item"] main .item-page-section h2,
[data-omu-page="item"] main .simple-view-element h2 {
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  margin-bottom: .7rem !important;
}

[data-omu-page="item"] main .item-page-field-wrapper,
[data-omu-page="item"] main .metadata,
[data-omu-page="item"] main .item-page-section,
[data-omu-page="item"] main .simple-view-element {
  margin-bottom: 1rem !important;
}

[data-omu-page="item"] main .simple-view-element,
[data-omu-page="item"] main .item-page-field-wrapper,
[data-omu-page="item"] main .metadata {
  line-height: 1.95 !important;
}

[data-omu-page="item"] main .badge {
  border-radius: 10px !important;
  font-weight: 800 !important;
  padding: .42rem .72rem !important;
}

[data-omu-page="item"] main .breadcrumb,
[data-omu-page="item"] main ol.breadcrumb {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border: 1px solid var(--omu-line) !important;
  border-radius: 16px !important;
  padding: .9rem 1rem !important;
  box-shadow: var(--omu-shadow-sm) !important;
}

/* ===== Footer ===== */
footer {
  margin-top: 3rem !important;
  padding-top: 1.5rem !important;
  padding-bottom: 1.2rem !important;
  border-top: 1px solid var(--omu-line) !important;
  background: linear-gradient(180deg, #41556f 0%, #32475f 100%) !important;
  color: #ffffff !important;
}

footer,
footer p,
footer a,
footer span,
footer small,
footer li {
  color: #ffffff !important;
}

footer a:hover {
  color: #dbeafe !important;
  text-decoration: none !important;
}

/* ===== Mobile ===== */
@media (max-width: 991.98px) {
  main h2 {
    font-size: 1.8rem !important;
  }

  main .form-control,
  main input[type="text"],
  main .search-button,
  main button[type="submit"],
  main .btn-primary {
    min-height: 50px !important;
  }

  [data-omu-page="item"] main .omu-item-layout-row {
    grid-template-columns: 1fr !important;
  }

  main .omu-search-card,
  main .omu-community-card {
    padding: 0 !important;
  }

  main .omu-search-card {
    padding: 1rem !important;
  }
}
/* ===== OMU PRESTIGE PHASE3 FINAL END ===== */
