/* ============================================
FORM VALIDATION - WCAG AA
============================================ */
input.is-invalid,
textarea.is-invalid {
border-color: var(--med-danger) !important;
background-color: rgba(211, 47, 47, 0.05);
}
input.is-invalid + .field-error::before,
textarea.is-invalid + .field-error::before {
content: "⚠ ";
margin-right: 0.25rem;
}
.field-error {
display: block;
color: var(--med-danger);
font-size: 0.85rem;
margin-top: 0.5rem;
}
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
outline: 3px solid var(--med-focus);
outline-offset: 2px;
}
/* WCAG: Autofill в тёмной теме */
@media (prefers-color-scheme: dark) {
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
-webkit-text-fill-color: #ffffff;
-webkit-box-shadow: 0 0 0 1000px #151525 inset;
box-shadow: 0 0 0 1000px #151525 inset;
transition: background-color 5000s ease-in-out 0s;
}
}

/* Manual dark mode via class */
.dark-mode {
    color-scheme: dark;
}
.dark-mode, .dark-mode body {
    background: var(--med-dark-bg);
    color: var(--med-dark-text);
}
.dark-mode .med-card,
.dark-mode .doctor-card,
.dark-mode .review-card,
.dark-mode .quick-service-card,
.dark-mode details,
.dark-mode .service-item,
.dark-mode .license-image,
.dark-mode .glass-panel {
    background: var(--med-dark-bg-light);
    border-color: var(--med-dark-border);
}
.dark-mode .med-h1,
.dark-mode .med-h2,
.dark-mode h1, .dark-mode h2, .dark-mode h3, .dark-mode h4, .dark-mode h5, .dark-mode h6,
.dark-mode .med-subtitle,
.dark-mode .review-text,
.dark-mode .modal-content,
.dark-mode .acc-content {
    color: var(--med-dark-text);
}
.dark-mode .astra-child-search-input,
.dark-mode input,
.dark-mode textarea,
.dark-mode select {
    background: var(--med-dark-bg);
    color: var(--med-dark-text);
    border-color: var(--med-dark-border);
}
.dark-mode .astra-child-search-results,
.dark-mode .astra-child-toast {
    background: var(--med-dark-bg-light);
    border-color: var(--med-dark-border);
}
.dark-mode .filter-tab,
.dark-mode .pagination .page-numbers {
    color: var(--med-dark-text);
    background: var(--med-dark-bg);
    border-color: var(--med-dark-border);
}
.dark-mode .site-header.is-scrolled {
    background: rgba(10, 10, 20, 0.95);
}
.dark-mode .med-section {
    background: var(--med-dark-bg);
}
.dark-mode .modal-container,
.dark-mode .modal-header,
.dark-mode .modal-footer {
    background: var(--med-dark-bg-light);
    border-color: var(--med-dark-border);
}
.dark-mode .entry-content,
.dark-mode .ast-single-post .entry-content,
.dark-mode .ast-single-page .entry-content {
    color: var(--med-dark-text) !important;
    background: var(--med-dark-bg) !important;
}
.dark-mode .entry-content p,
.dark-mode .entry-content h1,
.dark-mode .entry-content h2,
.dark-mode .entry-content h3,
.dark-mode .entry-content li {
    color: var(--med-dark-text) !important;
}
