/* Mateen platform accessibility — WCAG 2.2 AA helpers */

.mateen-skip-link {
  position: absolute;
  inset-inline-start: 0.75rem;
  top: 0.75rem;
  z-index: 10000;
  padding: 0.65rem 1rem;
  border-radius: 8px;
  background: #1b2a3a;
  color: #fff !important;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none !important;
  transform: translateY(-120%);
  transition: transform 0.2s ease;
}

.mateen-skip-link:focus,
.mateen-skip-link:focus-visible {
  transform: translateY(0);
  outline: 3px solid #fec32e;
  outline-offset: 2px;
}

#main-content:focus {
  outline: none;
}

:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid #3b668e !important;
  outline-offset: 2px !important;
}

body.landing-container :where(.mf-btn-gold, .ui-button-success):focus-visible {
  outline-color: #1b2a3a !important;
}

.ui-messages,
.ui-message,
.p-message,
[role="alert"] {
  scroll-margin-top: 5rem;
}

/* Touch targets for compact controls */
.mateen-home-upm .mf-upm-tab,
.mateen-home-upm .mf-upm-story-filters button,
.mateen-home-upm .mf-upm-badge {
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mateen-home-upm .mf-upm-trust-badges .mf-upm-badge {
  min-width: auto;
  padding-inline: 0.95rem;
}

/* Contrast helpers */
.mateen-home-upm .mf-muted,
.mateen-home-upm .mf-lead,
.mateen-home-upm .mf-upm-sub {
  color: #3d4f61 !important;
}

.mateen-home-upm .mf-upm-cta-pills li {
  color: rgba(245, 247, 250, 0.92) !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Wizard step buttons */
.wizard-form .btn-steps {
  cursor: pointer;
}
.wizard-form .btn-steps:focus-visible {
  outline: 3px solid #3b668e;
  outline-offset: 2px;
}
.wizard-form .btn-steps[aria-disabled="true"] {
  cursor: not-allowed;
}

/* Admin layout landmarks */
.layout-content:focus {
  outline: none;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Newsletter email — main.css uses #A6A7B7 on #fff (~2.3:1); force WCAG AA */
#footerFrm\:subscribeEmail,
input[id$="subscribeEmail"].ui-inputfield,
.subscribeForm .field .form-control.ui-inputfield {
  color: #1b2a3a !important;
  background: #fff !important;
}

#footerFrm\:subscribeEmail::placeholder,
input[id$="subscribeEmail"].ui-inputfield::placeholder,
.subscribeForm .field .form-control.ui-inputfield::placeholder {
  color: #4a5c6e !important;
  opacity: 1 !important;
}
