/* Reset some basics */
body, h1, h2, h3, h4, p, ul, li, a, button {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Body Styling */
body {
  font-family: Arial, sans-serif;
  line-height: 1.6;
  background-color: #f9f9f9;
  color: #333;
}

/* Skip Link */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.focus\:not-sr-only:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 1rem;
  padding: 0.5rem;
  background: #1d4ed8;
  color: white;
  z-index: 1000;
}

/* Header */
header {
  background-color: #1f2937;
  color: #ffffff;
  padding: 1rem;
  text-align: center;
}

/* Navigation */
nav {
  background-color: #f3f4f6;
  padding: 1.5rem;
}

nav h2 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

nav ul {
  list-style-type: none;
}

nav ul li {
  margin-bottom: 0.5rem;
}

nav a {
  color: #2563eb;
  text-decoration: underline;
}

nav a:hover,
nav a:focus {
  text-decoration: none;
}

/* Main Content */
main {
  padding: 1.5rem;
}

/* Footer */
footer {
  background-color: #e5e7eb;
  text-align: center;
  padding: 1rem;
  margin-top: 2rem;
}

/* FAQ Buttons */
.faq-button {
  background-color: #f3f4f6;
  padding: 1rem;
  width: 100%;
  text-align: left;
  border: none;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.3s;
}

.faq-button:hover,
.faq-button:focus {
  background-color: #e5e7eb;
  outline: 2px solid #2563eb;
}

.faq-button[aria-expanded="true"] {
  background-color: #dbeafe;
}

/* FAQ Content */
#mainContent > section > div > div {
  background-color: #ffffff;
}

/* Responsive */
@media (max-width: 600px) {
  nav, main {
    padding: 1rem;
  }
}
