/**
 * OSLGC - Oshimili South Local Government Council
 * Cassiopeia user.css override
 * Restrained government theme: deep navy primary, muted green accent
 */

/* Brand palette */
:root {
  --cassiopeia-color-primary: #1b365d; /* deep navy */
  --cassiopeia-color-hover: #12294a;   /* darker navy */
  --cassiopeia-color-brand: #ffffff;   /* site name in header */
  --oslgc-green: #5e8a5e;              /* muted green accent */
  --oslgc-green-dark: #476e47;
}

/* Primary buttons and badges in navy */
.btn-primary {
  --btn-bg: #1b365d;
  --btn-border-color: #1b365d;
  --btn-hover-bg: #12294a;
  --btn-hover-border-color: #12294a;
  --btn-active-bg: #12294a;
  --btn-active-border-color: #12294a;
  --btn-focus-shadow-rgb: 27, 54, 93;
}

.badge.bg-primary {
  background-color: #1b365d !important;
}

/* Content links: navy, green on hover */
.com-content a:not(.btn),
.com-tags a:not(.btn) {
  color: #1b365d;
}
.com-content a:not(.btn):hover,
.com-tags a:not(.btn):hover {
  color: var(--oslgc-green-dark);
}

/* Headings keep a sober navy */
h1, h2, h3, .page-header h1, .page-header h2 {
  color: #1b365d;
}

/* Muted green accent line above the footer */
.footer {
  border-top: 4px solid var(--oslgc-green);
}

/* Footer headings in soft white, links underlined on hover */
.footer h1, .footer h2, .footer h3, .footer h4 {
  color: #ffffff;
  font-size: 1.1rem;
}
.footer a {
  color: #d7e0ea;
}
.footer a:hover {
  color: #ffffff;
  text-decoration: underline;
}

/* Active menu item marker in green */
.metismenu.mod-menu .mm-active > a,
.mod-menu .active > a {
  box-shadow: inset 0 -3px 0 var(--oslgc-green);
}

/* Breadcrumb in navy */
.breadcrumb .breadcrumb-item a {
  color: #1b365d;
}

/* Pagination: navy current page */
.page-item.active .page-link {
  background-color: #1b365d;
  border-color: #1b365d;
}
.page-link {
  color: #1b365d;
}
.page-link:hover {
  color: #12294a;
}

/* Article info block: subtle green calendar/date accent */
.article-info .icon-calendar {
  color: var(--oslgc-green-dark);
}

/* Read more buttons stay navy but get a green underline accent */
.btn.btn-primary.readmore,
.com-content .readmore .btn-primary {
  border-bottom: 3px solid var(--oslgc-green);
}

/* Back-to-top button in navy */
#back-top a {
  background-color: #1b365d;
  border-color: #1b365d;
}

/* ============ OSLGC site rebuild layout ============ */

/* Hide Cassiopeia's default header brand block (we use the seal banner) */
.container-header .navbar-brand,
.container-header .site-description {
  display: none;
}
.container-header {
  padding-top: 0;
  padding-bottom: 0;
}

/* Top utility bar: date */
.oslgc-topbar {
  background: linear-gradient(135deg, #1b365d 0%, #12294a 100%);
  color: #ffffff;
  font-size: 0.85rem;
  padding: 0.35rem 1rem;
  text-align: left;
}
.oslgc-topbar #oslgc-date {
  letter-spacing: 0.02em;
}

/* Seal banner image: full-width white background, image centered.
   Breaks out of the header grid so white spans edge to edge. */
.header .grid-child.container-below-top {
  grid-column: 1 / -1;
  background: #ffffff;
  width: 100%;
  max-width: none;
}
.container-below-top .mod-custom {
  width: 100%;
}
.oslgc-banner {
  line-height: 0;
  background: #ffffff;
  width: 100%;
  text-align: center;
}
.oslgc-banner a {
  display: inline-block;
  line-height: 0;
}
.oslgc-banner img {
  width: 1213px;
  max-width: 100%;
  height: auto;
}

/* Slideshow */
.oslgc-slider {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  background: #0e1e33;
}
.oslgc-slides {
  position: relative;
  height: 400px;
  overflow: hidden;
}
.oslgc-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
}
.oslgc-slide.active {
  opacity: 1;
  z-index: 1;
}
.oslgc-slide img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
}
.oslgc-slide span {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(14, 30, 51, 0.72);
  color: #ffffff;
  font-size: 0.95rem;
  padding: 0.6rem 1rem;
}
.oslgc-slider-dots {
  position: absolute;
  bottom: 3.2rem;
  right: 1rem;
  z-index: 2;
  display: flex;
  gap: 0.4rem;
}
.oslgc-slider-dots button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.oslgc-slider-dots button.active {
  background: var(--oslgc-green);
  border-color: var(--oslgc-green);
}
@media (max-width: 768px) {
  .oslgc-slides { height: 220px; }
  .oslgc-slide img { height: 220px; }
}

/* Homepage section titles */
.oslgc-section-title {
  color: #1b365d;
  text-transform: uppercase;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  border-bottom: 3px solid var(--oslgc-green);
  padding-bottom: 0.4rem;
  margin-bottom: 1rem;
}

/* Footer block */
.oslgc-footer {
  text-align: center;
  padding: 1.5rem 1rem;
  color: #ffffff;
}
.oslgc-footer p {
  margin-bottom: 0.4rem;
}
.oslgc-footer a {
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.06em;
}
.oslgc-powered {
  font-size: 0.8rem;
}
