:root {
  --red: #E60012;
  --blue: #00205B;
  --white: #FFFFFF;
  /* Slightly darker page background for better contrast */
  --light-bg: #eff0f2;
  /* Navbar/Footer dynamic offsets (default values) */
  --nav-h: 72px;
  --footer-h: 0px;
  --footer-gap: 0px; /* space above footer */
}

html, body {
  height: 100%;
}
/* Prevent horizontal layout shift when page scrollbars appear/disappear */
html {
  /* Reserve space for the vertical scrollbar to prevent layout shift */
  scrollbar-gutter: stable;
}
/* Always show a vertical scrollbar so width is consistent across steps */
body { overflow-y: scroll; }
@supports not (scrollbar-gutter: stable) {
  /* Fallback for older browsers: always show vertical scrollbar */
  html { overflow-y: scroll; }
}
body {
  font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--light-bg);
  color: #333;
  font-size: 0.95rem; /* Slightly smaller base font size */
  /* Ensure page content starts below fixed navbar */
  /* padding-top: var(--nav-h); */
  /* Sticky footer layout */
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Make main area take remaining height so footer sticks to bottom on short pages */
.site-main {
  flex: 1 0 auto;
  min-height: calc(100vh - var(--nav-h) - var(--footer-h) - var(--footer-gap));
  padding-bottom: var(--footer-gap);
}

footer {
  margin-top: auto;
}

/* Smaller footer gap for the home page only */
.page-home { --footer-gap: 24px; }

/* Larger screens: navbar is taller due to branding */
@media (min-width: 1200px) {
  :root { --nav-h: 96px; }
}

/* NAVBAR */
/* NAVBAR */

.navbar-brand span {
  color: #00205B; /* MARA Blue */
}

.nav-link {
  font-weight: 500;
  color: #00205B !important;
  margin: 0 0.5rem;
  transition: 0.3s;
  font-size: 0.95rem; /* Reduce navbar text size */
}
.nav-link:hover {
  color: #E60012 !important;
}

/* Keep navbar items on a single line */
.navbar-nav {
  flex-wrap: nowrap;
}
.navbar .nav-link,
.navbar .btn {
  white-space: nowrap;
}

/* Active page highlight */
.nav-link.active {
  color: #E60012 !important;
  font-weight: 600;
  border-bottom: 2px solid #E60012;
}

/* Navbar size adjustments to reduce vertical space */
.navbar {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.navbar .nav-link {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.navbar .btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
}

/* Show dropdown on hover */
.nav-item.dropdown:hover .dropdown-menu {
  display: block;
  margin-top: 0; /* optional: align menu nicely under the item */
}

/* Keep hover smooth */
.dropdown-menu {
  transition: all 0.2s ease-in-out;
  visibility: visible;
  opacity: 0;
}

.nav-item.dropdown:hover .dropdown-menu {
  opacity: 1;
}


.btn-outline-primary {
  border-color: #00205B;
  color: #00205B;
}
.btn-outline-primary:hover {
  background-color: #00205B;
  color: #fff;
}
.btn-primary{
  background-color:  #00205B;
  border-radius: 50rem;
  border: none;
}
.btn-primary:hover{
  background-color: #00205bcb;
}
.btn-secondary{
  border-radius: 50rem;
}
.btn-danger {
  background-color: #E60012;
  border-radius: 50rem;
  border: none;
}
.btn-danger:hover {
  background-color: #b5000e;
}
/* Make the section taller with full background image */
.about-bg {
    background: url('/static/images/MARAPORTRAIT.jpg') no-repeat center center/cover;
    min-height: 500px;        /* Increase section height */
    position: relative;
    border-radius: 20px;
}

/* Optional dark overlay to improve text visibility */
.about-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.4);   /* Adjust darkness */
    border-radius: 20px;
}

/* Ensure the text stays on top of the overlay */
.about-bg .content-box {
    position: relative;
    z-index: 2;
}

/* Make text white for readability */
.about-bg h2,
.about-bg p,
.about-bg h6,
.about-bg i {
    color: white !important;
}


/* HERO SECTION */
.hero {
  background: linear-gradient(120deg, #fcbbbb,#fff5f5 , #beccf8);
  text-align: center;
  padding: 6rem 2rem 4rem;
}
.hero h1 {
  font-weight: 700;
  color: var(--blue);
  font-size: 2.5rem;
}
.hero p {
  color: #555;
  max-width: 600px;
  margin: 1rem auto 2rem;
  font-size: 1.1rem;
}
.search-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  flex-wrap: wrap;
}
.search-box select,
.search-box input {
  border: 1px solid #ddd;
  border-radius: 25px;
  padding: 0.6rem 1rem;
  min-width: 150px;
  background: var(--white);
}
.search-btn {
  background: var(--red);
  color: var(--white);
  border-radius: 25px;
  padding: 0.6rem 1.5rem;
  border: none;
  font-weight: 500;
  transition: 0.3s;
}
.search-btn:hover {
  background: #b5000e;
}

/* FEATURES */
.features {
  background: var(--white);
  padding: 4rem 2rem;
}
.feature-box {
  text-align: center;
  padding: 2rem 1rem;
}
.feature-box i {
  font-size: 2.5rem;
  color: var(--red);
  margin-bottom: 1rem;
}
.feature-box h5 {
  font-weight: 600;
  color: var(--blue);
}
.feature-box p {
  color: #666;
  font-size: 0.95rem;
  max-width: 280px;
  margin: 0 auto;
}



/* HIGHLIGHTS */
.highlights img {
  border-radius: 1rem;
}
.highlights ul li {
  font-size: 0.95rem;
  color: #444;
}

/* ABOUT PREVIEW */
.about-preview {
  background: linear-gradient(90deg, #f8f9fa 60%, #ffffff 100%);
}
.about-preview h2 {
  color: #00205B;
}
.about-preview img {
  border-radius: 1rem;
}

/* FEATURED PROGRAMMES */
.featured-programmes {
  background: linear-gradient(135deg, #001A47 0%, #00205B 80%);
}
.featured-programmes .program-card {
  background: rgba(255,255,255,0.1);
  border-radius: 1rem;
  padding: 2rem;
  color: #fff;
}



