/* Nelson's Directory — accessibility patches
 * Focus indicators, screen-reader-only helper, status message styling.
 */

.nelsons-dir-compare-btn:focus,
.nelsons-dir-compare-btn:focus-visible,
.nd-faq-remove:focus,
.nd-faq-remove:focus-visible,
.nd-faq-add:focus,
.nd-faq-add:focus-visible,
.nd-wizard-pill:focus,
.nd-wizard-pill:focus-visible,
.nelsons-dir-booking-form button:focus,
.nelsons-dir-booking-form button:focus-visible,
.nd-alert-toggle:focus,
.nd-alert-toggle:focus-visible,
.nd-alert-delete:focus,
.nd-alert-delete:focus-visible,
.nd-booking-btn:focus,
.nd-booking-btn:focus-visible,
.nd-save-search-form button:focus,
.nd-save-search-form button:focus-visible,
#nelsons-dir-compare-clear:focus,
#nelsons-dir-compare-clear:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}

/* Visible focus on form inputs across the plugin's surfaces */
.nelsons-dashboard-input:focus,
.nelsons-dashboard-select:focus,
.nelsons-dashboard-textarea:focus {
  outline: 2px solid #1976d2;
  outline-offset: 1px;
}

/* Screen-reader-only helper (matches WP core .screen-reader-text) */
.nelsons-dir-sr-only {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* Status / success / error message colors — AA compliant */
.nd-save-search-msg[data-state="success"],
.nelsons-dir-booking-msg[data-state="success"] {
  color: #0a4620;
}
.nd-save-search-msg[data-state="error"],
.nelsons-dir-booking-msg[data-state="error"] {
  color: #8a0000;
}

/* Analytics stat-grid at 320px viewport */
@media (max-width: 600px) {
  .nd-stat-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Wizard pill — keep keyboard focus visible against the active background */
.nd-wizard-pill[aria-selected="true"]:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -3px;
}
