/* =========================
   General Reset & Base
   ========================= */
body {
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: 18px;
  line-height: 1.6;
}

/* =========================
   Header
   ========================= */
header {
  background: #333;
  color: #fff;
  padding: 1rem;
  position: relative;
}

header h1 {
  margin: 0;
  font-size: 1rem;
}

/* =========================
   Hamburger Navigation Trigger
   ========================= */
.hamburger-nav {
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.menu-icon {
  font-size: 2rem;
  cursor: pointer;
  color: #fff;
  text-decoration: none;
}

/* =========================
   Overlay Menu
   ========================= */
#menu {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.9);
  z-index: 1000;
}

#menu .inner {
  text-align: center;
  max-width: 400px;
  margin: 5% auto;
  padding: 2rem;
  background: #222;
  border-radius: 6px;
  color: #fff;
  font-family: "Source Sans Pro", Arial, sans-serif;
}

#menu h2 {
  margin-top: 0;
  font-size: 1.5rem;
  border-bottom: 1px solid #444;
  padding-bottom: 0.5rem;
}

#menu .links {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

#menu .links li {
  margin: 1rem 0;
}

#menu .links a {
  display: block;
  color: #fff;
  text-decoration: none;
  font-size: 80%;
  margin: 12px 0;
}

#menu .links a:hover {
  color: #0ff;
}

#menu .close {
  display: block;
  margin-top: 2rem;
  text-align: center;
  color: #aaa;
  text-decoration: none;
}

body.is-menu-visible #menu {
  display: block;
}

/* =========================
   Panel Buttons
   ========================= */
.panel-buttons {
  text-align: center;
  margin: 1rem;
  background-color: inherit;
  padding: 0.5rem;
}

.panel-buttons button {
  margin: 0.5rem;
  padding: 0.5rem 1rem;
  cursor: pointer;
  border: 1px solid #ccc;
  background: #f9f9f9;
  color: #222;
  border-radius: 4px;
}

.panel-buttons button:hover {
  background: #555;
}

/* =========================
   Panels
   ========================= */
.panel {
  padding: 2rem;
  border-bottom: 1px solid #ccc;
}

#panel1 {
  background: #f9f9f9;
}

#panel2 {
  background: #e9f7ff;
}

.hidden {
  display: none;
}

/* =========================
   Footer
   ========================= */
footer {
  background: #333;
  color: #fff;
  text-align: center;
  padding: 1rem;
  font-size: 0.9rem;
}

/* =========================
   Responsive Tables
   ========================= */
table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  padding: 0.5rem;
  border: 1px solid #ccc;
  text-align: left;
  word-break: break-word;
}

@media (max-width: 600px) {
  body {
    font-size: 16px;
  }

  table, thead, tbody, th, td, tr {
    display: block;
  }
  thead {
    display: none;
  }
  tr {
    margin-bottom: 1rem;
    border-bottom: 2px solid #ddd;
  }
  td {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem;
  }
  td::before {
    content: attr(data-label);
    font-weight: bold;
    margin-right: 0.5rem;
  }

  /* Normalize details/summary and list indentation */
  details,
  summary {
    margin: 0;
    padding: 0;
  }

  summary {
    display: list-item;
    cursor: pointer;
  }

  details ul,
  details ol,
  ul,
  ol {
    margin-left: 0 !important;
    padding-left: 1rem !important;
    list-style-position: inside !important;
  }

  details li,
  ul li,
  ol li {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  ul ul,
  ol ol,
  ul ol,
  ol ul {
    padding-left: 1rem !important;
  }
}

/* === Financial Aid Checklist Links === */
.checklist-inline {
  font-size: 0.7em;
  text-align: center;
  margin-bottom: 6px;
}

.checklist-inline a {
  color: #555;
  text-decoration: none;
  margin: 0 6px;
}

.checklist-inline a:hover {
  color: #4b6cb7;
  text-decoration: underline;
}

.scholarship-list {
  list-style: disc;
  margin: 0.5em 0 1em 1.5em;
  padding: 0;
}

.scholarship-list li {
  margin: 0.25em 0;
  line-height: 1.3;
}

.scholarship-list a {
  color: #156082;
  text-decoration: underline;
}

.scholarship-list strong {
  color: #0F4761;
}

/* =========================
   PANEL 1 — HARD RESET + REBUILD
   ========================= */

/* wipe all margins inside panel1 */
#panel1 * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* rebuild spacing cleanly */
#panel1 h2 {
  margin-top: 2rem !important;
  margin-bottom: 0.35rem !important;
}

#panel1 h2:first-of-type {
  margin-top: 0 !important;
}

#panel1 p {
  margin-bottom: 0.35rem !important;
}
/* FINAL OVERRIDE: unify all .major sections */
h2.major {
  margin-top: 2rem !important;
  margin-bottom: 0.25rem !important;
}

h2.major + p {
  margin-top: 0 !important;
  margin-bottom: 0.35rem !important;
}
/* FINAL-FINAL OVERRIDE: spacing around .major blocks */
p + h2.major {
  margin-top: 2rem !important;      /* space above each major heading */
}

h2.major {
  margin-bottom: 0.25rem !important; /* space under heading */
}

h2.major + p {
  margin-top: 0 !important;          /* pull first paragraph tight to heading */
  margin-bottom: 0.35rem !important; /* consistent paragraph bottom */
}
