/* =========================
  Global Styles
========================= */
body {
    font-family: 'Inter', sans-serif;
    color: #222;
    background-color: #fff;
}

h1, h2, h3, h4, h5 {
    font-family: 'Playfair Display', serif;
    color: #111;
}

/* =========================
  Navbar
========================= */
.navbar-brand img {
    max-height: 50px;
}

/* =========================
  Hero Section
========================= */
.hero {
    background: url('../images/Homepage.png') center center/cover no-repeat;
    color: #fff;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
    padding: 100px 15px;
}

/* =========================
  Carousel / Banner
========================= */
.carousel-caption h5 {
    font-weight: 700;
}

.carousel-caption p a {
    text-decoration: none;
}

/* =========================
  News Cards
========================= */
.card:hover {
    transform: translateY(-5px);
    transition: all 0.3s ease;
}

/* =========================
  Gallery
========================= */
.gallery-img {
    cursor: pointer;
    transition: transform 0.2s ease;
}
.gallery-img:hover {
    transform: scale(1.05);
}

/* =========================
  Footer
========================= */
footer a {
    text-decoration: underline;
}

footer p, footer small {
    margin: 0;
}

/* =========================
  Constitution Page
========================= */
.constitution-text {
    max-height: 800px;
    overflow-y: auto;
}


/* Outer list - single letters */
ol.alpha-list {
    counter-reset: outer-counter;
    padding-left: 2rem;
}

ol.alpha-list > li {
    counter-increment: outer-counter;
    list-style: none;
    position: relative;
    margin-bottom: 0.5rem;
}

ol.alpha-list > li::before {
    content: counter(outer-counter, lower-alpha) ". ";
    position: absolute;
    left: -2rem;
}

/* Inner nested list - double letters */
ol.alpha-list li ol.double-alpha-list {
    counter-reset: inner-counter;
    padding-left: 2rem;
}

ol.alpha-list li ol.double-alpha-list > li {
    counter-increment: inner-counter;
    list-style: none;
    position: relative;
    margin-bottom: 0.3rem;
}

ol.alpha-list li ol.double-alpha-list > li::before {
    /* repeat letter twice for aa, bb, cc */
    content: counter(inner-counter, lower-alpha) counter(inner-counter, lower-alpha) ". ";
    position: absolute;
    left: -2rem;
}

/*
.navbar-nav {
  overflow-x: auto;
  white-space: nowrap;
}
.navbar-nav .nav-item {
  flex: 0 0 auto;
} */

.scrollable-nav {
  flex-wrap: nowrap;          /* keep links in one line */
  overflow-x: auto;           /* allow horizontal scroll on small screens */
  -webkit-overflow-scrolling: touch;
}

.scrollable-nav::-webkit-scrollbar {
  display: none;              /* hide scrollbar */
}

.scrollable-nav .nav-item {
  flex: 0 0 auto;             /* prevent shrinking */
}

.scrollable-nav .nav-link {
  color: #ffffff !important;
  font-weight: 500;
}

.scrollable-nav .nav-link:hover {
  text-decoration: underline;
}


/* Performance cards */
.performance-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-size: 0.95rem;
  height: auto; /* card height adapts to content */
}

/* Image scales down fully, no cropping 
.performance-card img {
  width: 100%;
  height: auto;          /* keeps aspect ratio */
  max-height: 200px;     /* optional limit for big images */
  object-fit: contain;   /* ensures the whole image is visible */
}

*/

/* Card body takes only the space it needs 
.performance-card .card-body {
  padding: 0.5rem 0.8rem;
}
*/