/* Rich footer style used by Shared Resources, Honors page, and other pages */
/* WCAG AA Compliant: White text on dark background meets 8.59:1 contrast ratio */
.pmtnm-footer {
  background: linear-gradient(135deg, #183661 0%, #1e4070 100%) !important;
  color: #ffffff !important;
  margin-top: var(--spacing-xxl, 4rem) !important;
  padding: 32px 0 24px !important;
  box-shadow: 0 -4px 20px rgba(24, 54, 97, 0.15) !important;
  border-radius: 0 !important;
  text-align: left !important;
  width: 100% !important;
}
.pmtnm-footer * {
  color: #ffffff !important;
  background: transparent !important;
}
.pmtnm-footer .container,
.pmtnm-footer .footer-container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.pmtnm-footer .footer-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 32px; margin-bottom: 24px; }
.pmtnm-footer .footer-sections { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; margin-bottom: 24px; }
.pmtnm-footer .footer-content,
.pmtnm-footer .footer-section,
.pmtnm-footer .footer-section h3,
.pmtnm-footer .footer-section p,
.pmtnm-footer .footer-links,
.pmtnm-footer .footer-links li { text-align: left !important; }
.pmtnm-footer .footer-section h3 { color: #ffffff !important; font-size: 1.1rem; font-weight: 600; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.pmtnm-footer .footer-links { list-style: none; padding: 0; margin: 0; }
.pmtnm-footer .footer-links li { margin-bottom: 8px; }
.pmtnm-footer a { color: rgba(255, 255, 255, 0.85) !important; text-decoration: none !important; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 4px; border-radius: 4px; padding: 2px 4px; font-weight: 500; }
.pmtnm-footer a:hover { color: #ffffff !important; background: rgba(255, 255, 255, 0.1) !important; transform: translateX(2px); text-decoration: none !important; }
.pmtnm-footer .footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.2); padding-top: 24px; text-align: left; color: rgba(255, 255, 255, 0.75) !important; font-size: 0.9rem; }
.pmtnm-footer .footer-bottom p { margin: 0; line-height: 1.6; }
.pmtnm-footer .footer-logo { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; font-size: 1.2rem; font-weight: bold; color: #ffffff !important; }

/* Footer simple section styling */
.pmtnm-footer .footer-simple {
  margin-top: var(--spacing-lg, 1.5rem) !important;
  padding-top: var(--spacing-md, 1rem) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.pmtnm-footer .footer-simple p {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.pmtnm-footer .footer-simple a {
  color: rgba(255, 255, 255, 0.9) !important;
  text-decoration: underline !important;
  font-weight: 500 !important;
}

.pmtnm-footer .footer-simple a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

/* Ensure footer-bottom has proper styling */
.pmtnm-footer .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
  padding-top: 24px !important;
  text-align: left !important;
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 0.9rem !important;
  margin-top: var(--spacing-md, 1rem) !important;
}

.pmtnm-footer .footer-bottom p {
  margin: 0 0 0.5rem 0 !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.75) !important;
}

.pmtnm-footer .footer-bottom strong {
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: 600 !important;
}

.pmtnm-footer .footer-bottom em {
  color: rgba(255, 255, 255, 0.7) !important;
  font-style: italic !important;
}

/* Communities section styling */
.pmtnm-footer .communities {
  margin-top: var(--spacing-lg, 1.5rem) !important;
  padding-top: var(--spacing-md, 1rem) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.pmtnm-footer .communities h4 {
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
  text-align: left !important;
}

.pmtnm-footer .communities-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  text-align: left !important;
}

.pmtnm-footer .communities-links a {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
  padding: 6px 12px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
}

.pmtnm-footer .communities-links a:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 768px) {
  .pmtnm-footer .footer-content { grid-template-columns: 1fr; gap: 24px; }
  .pmtnm-footer { padding: 24px 0 !important; margin-top: var(--spacing-xl, 3rem) !important; }
  .pmtnm-footer .container,
  .pmtnm-footer .footer-container { padding: 0 16px !important; }
}

