/* Accessibility Styles - Phase 4 Modernization */

/* Fix dropdown menu z-index to appear above slider */
ul.dropdown {
  z-index: 1001;
}

/* Skip link - hidden until focused */
.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #000;
  color: #fff;
  padding: 8px 16px;
  z-index: 10000;
  text-decoration: none;
  font-weight: bold;
}

.skip-link:focus {
  top: 0;
}

/* Visually hidden - accessible to screen readers */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Focus styles for better keyboard navigation */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid #c00;
  outline-offset: 2px;
}

/* Ensure footer displays correctly as block element */
footer.footer {
  display: block;
  clear: both;
}

footer.footer p {
  margin: 0;
}

/* Distributor notice styling */
.distributor-notice {
  font-size: 0.9em;
  margin-top: 0.5em;
  color: #666;
}

.distributor-notice a {
  color: #c00;
  text-decoration: none;
}

.distributor-notice a:hover {
  text-decoration: underline;
}

/* FAQ section styling */
#home_faq {
  margin-top: 20px;
  background: #f9f9f9;
  border: 1px solid #ddd;
}

#home_faq h2.faq-toggle {
  margin: 0;
  padding: 15px;
  color: #333;
  cursor: pointer;
  position: relative;
  display: block;
  width: 100%;
  box-sizing: border-box;
  transition: background-color 0.2s, color 0.2s;
}

#home_faq h2.faq-toggle:hover {
  background-color: #f0f0f0;
  color: #c00;
}

#home_faq h2.faq-toggle::after {
  content: '+';
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4em;
  font-weight: normal;
  color: #c00;
}

#home_faq h2.faq-toggle.active::after {
  content: '−';
}

.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding: 0 15px;
}

.faq-content.open {
  max-height: 1500px;
  padding: 15px;
}

.faq-list {
  margin: 0;
  padding: 0;
}

.faq-list dt {
  font-weight: bold;
  color: #333;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #ddd;
}

.faq-list dt:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.faq-list dd {
  margin: 5px 0 0 0;
  padding: 0;
  color: #555;
  line-height: 1.5;
}

.faq-list dd a {
  color: #c00;
  text-decoration: none;
}

.faq-list dd a:hover {
  text-decoration: underline;
}

/* Category intro styling */
.category-intro {
  font-size: 0.95em;
  color: #444;
  line-height: 1.5;
  margin-top: 0.75em;
}

/* Parent site search link */
.parent-search-link {
  display: block;
  margin-top: 8px;
  font-size: 0.85em;
  color: #c00;
  text-decoration: none;
}

.parent-search-link:hover {
  text-decoration: underline;
}
