html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  background-color: #faf8f4;
  color: #2b2b28;
}
h1, h2, .font-display {
  font-family: 'Lora', Georgia, 'Times New Roman', serif;
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f1f0eb; }
::-webkit-scrollbar-thumb { background: #cbd0c8; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #a7b0ba; }

@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes slide-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-in { animation: fade-in 0.3s ease-out; }
.animate-slide-up { animation: slide-up 0.4s ease-out; }

/* Мелкая надпись-рубрикатор в духе референса: "УСЛУГИ", "НЕВРОЛОГИЯ" и т.д. */
.eyebrow {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  color: #8b9099;
}
.eyebrow::before { content: ''; width: 1.25rem; height: 1px; background-color: #35526a; display: inline-block; }

/* Кнопки — прямоугольные, разреженный трекинг, в духе референса */
.btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem;
  font-weight: 600; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase;
  border-radius: 0.25rem; transition: all 0.2s;
  background-color: #2b4257; color: white; padding: 0.85rem 1.75rem;
  border: 1px solid #2b4257; cursor: pointer;
}
.btn-primary:hover { background-color: #223447; border-color: #223447; }
.btn-primary:disabled { opacity: 0.6; cursor: not-allowed; }

.btn-secondary {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem;
  font-weight: 600; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase;
  border-radius: 0.25rem; transition: all 0.2s;
  background-color: white; color: #2b4257; border: 1px solid #d8d5cc; padding: 0.85rem 1.75rem;
  cursor: pointer;
}
.btn-secondary:hover { border-color: #2b4257; }

/* Текстовая ссылка с подчёркиванием — "ПОДРОБНЕЕ ОБ УСЛУГЕ" */
.link-underline {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.8rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  color: #2b4257; border-bottom: 1px solid #2b4257; padding-bottom: 0.2rem; transition: opacity 0.2s;
}
.link-underline:hover { opacity: 0.65; }

.card { background-color: white; border-radius: 0.5rem; border: 1px solid #e9e6dd; box-shadow: none; }
.card-hover { background-color: white; border-radius: 0.5rem; border: 1px solid #e9e6dd; box-shadow: none; transition: all 0.2s; }
.card-hover:hover { border-color: #2b4257; transform: translateY(-2px); }

.input {
  width: 100%; border: 1px solid #d8d5cc; border-radius: 0.375rem; padding: 0.75rem 1rem;
  color: #2b2b28; background-color: white; transition: all 0.2s; font-size: 0.95rem;
}
.input:focus { outline: none; border-color: #2b4257; box-shadow: 0 0 0 3px rgba(43, 66, 87, 0.12); }
.input::placeholder { color: #9ca3af; }

.badge { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.3rem 0.75rem; border-radius: 0.25rem; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
.badge-primary { background-color: #e1eaf1; color: #2b4257; }
.badge-success { background-color: #d1fae5; color: #047857; }
.badge-warning { background-color: #fef3c7; color: #b45309; }
.badge-gray { background-color: #f1f0eb; color: #6b6f66; }

/* тонкая иконка-линия в колонках "что мы лечим" / "почему выбирают нас" */
.line-icon {
  width: 2.75rem; height: 2.75rem; display: flex; align-items: center; justify-content: center;
  color: #2b4257;
}
.line-icon svg { width: 100%; height: 100%; }

/* Админ-панель — сохраняем прежний вид, не меняем */
.admin-nav-link { display: flex; align-items: center; gap: 0.625rem; padding: 0.625rem 0.75rem; border-radius: 0.75rem; font-size: 0.875rem; font-weight: 500; color: #4b5563; white-space: nowrap; }
.admin-nav-link:hover { background-color: #f9fafb; }
.admin-nav-link.active { background-color: #0d9488; color: white; }