/* style.css  –  site-wide custom styles */

/* Base: full-height grid, no page scroll */
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}

/* 2-row grid:
   - Row 1: fixedTop (header+welcome+nav)
   - Row 2: scrollArea (main + footer), scrolls internally
*/
body {
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;        /* prevent window scroll; only scrollArea scrolls */
}

/* Scrollable content area (like demo.html bottom block) */
#oldscrollArea {
  overflow-y: auto;
  overflow-x: hidden;
}

#scrollArea {
  display: flex;
  flex-direction: column;
  height: 100%;        /* fills the grid row */
  overflow-y: auto;    /* this is your ONLY scrollbar */
}

#scrollArea main {
  flex: 1 0 auto;      /* grows to fill remaining space */
}

#scrollArea footer {
  flex-shrink: 0;      /* prevents footer from collapsing */
}

/* =====================
   Ellipses / Clamp Logic
   ===================== */
.clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  transition: background 0.2s;
}

.clamp-3:hover {
  background: #fffbea;
}

.clamp-3.expanded {
  -webkit-line-clamp: unset;
  overflow: visible;
  text-overflow: clip;
  background: #fffbea;
  cursor: zoom-out;
}

/* =====================
   Navbar z-index
   ===================== */
.navbar {
  z-index: 5000; /* stays above cards when scrolling */
}

/* =====================
   Navbar Link Colors
   ===================== */
.navbar .nav-link {
  color: #0a58ca !important;
}

.navbar .nav-link:hover {
  color: #063a85 !important;
}

/* ===== Fixed header block styling ===== */
/* ================================
   FIXED TOP (CLEANED & SAFE)
   ================================ */

#fixedTop {
  background: white;   /* needed for fixed layering */
  z-index: 6000;
}

/* Keep stacking sane */
#fixedTop > * {
  position: relative;
  z-index: 1;
}

/* Prevent unwanted vertical spacing */
#fixedTop section,
#fixedTop section .container {
  margin: 0;
  padding: 0;
}

/* Headings should not add vertical height */
#fixedTop h1,
#fixedTop h2 {
  margin: 0;
}

/* Paragraphs inside fixedTop should not push height */
#fixedTop p {
  margin: 0;
}

/* Navbar adjustments */
#fixedTop .navbar {
  margin-top: 0;
  border-bottom: 0;
}
