/* === Appended: Form Feedback & Extras === */

.form-feedback {
  font-size: 0.85rem;
  padding: 10px 14px;
  border-radius: var(--radius);
  display: none;
  margin-top: 4px;
}
.form-feedback:not(:empty) { display: block; }

.form-success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.form-error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

/* Contact form inside dark section uses lighter variants */
#contact .form-success { background: rgba(40,167,69,0.15); color: #6fcf97; border-color: rgba(40,167,69,0.3); }
#contact .form-error   { background: rgba(204,17,34,0.15); color: #ff7b87; border-color: rgba(204,17,34,0.3); }

/* Btn small */
.btn-sm { padding: 10px 18px; font-size: 0.85rem; }

/* Accessibility: focus-visible rings */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 2px;
}

/* Skip to content */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 8px;
  background: var(--red);
  color: var(--white);
  padding: 8px 16px;
  border-radius: var(--radius);
  font-weight: 600;
  z-index: 9999;
}
.skip-link:focus { left: 8px; }
