/* ===== Психологическая студия «Равновесие» — custom styles ===== */

:root {
  --rv-primary: #0b76b8;      /* брендовый синий (из логотипа) */
  --rv-primary-dark: #075a8c;
  --rv-accent: #2bb3e0;       /* голубой акцент */
  --rv-soft: #eef6fb;         /* мягкий фон секций */
  --rv-text: #2b3a45;
  --rv-muted: #6b7c89;
}

html { scroll-behavior: smooth; }

body {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  color: var(--rv-text);
  line-height: 1.65;
}

h1, h2, h3, h4, h5 { font-weight: 700; color: var(--rv-primary-dark); }

a { color: var(--rv-primary); }
a:hover { color: var(--rv-primary-dark); }

/* ---- Navbar ---- */
.navbar-brand img { height: 42px; width: auto; }
.navbar-brand span { font-weight: 700; letter-spacing: .5px; color: var(--rv-primary-dark); }
.navbar .nav-link { font-weight: 500; color: var(--rv-text); }
.navbar .nav-link:hover,
.navbar .nav-link.active { color: var(--rv-primary); }

/* ---- Hero ---- */
.hero {
  background: linear-gradient(135deg, var(--rv-soft) 0%, #ffffff 100%);
  padding: 4rem 0;
}
.hero h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); }
.hero .lead { color: var(--rv-muted); }

/* ---- Section helpers ---- */
.section { padding: 3.5rem 0; }
.section-soft { background: var(--rv-soft); }
.section-title { margin-bottom: 2rem; }

/* ---- Cards ---- */
.card {
  border: none;
  border-radius: 1rem;
  box-shadow: 0 6px 22px rgba(11, 118, 184, .08);
  transition: transform .2s ease, box-shadow .2s ease;
  overflow: hidden;
  height: 100%;
}
.card:hover { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(11, 118, 184, .16); }
.card-img-top { aspect-ratio: 4 / 3; object-fit: cover; background: var(--rv-soft); }
.specialist-photo { aspect-ratio: 3 / 4; object-fit: cover; }

/* ---- Buttons ---- */
.btn-rv { background: var(--rv-primary); border-color: var(--rv-primary); color: #fff; }
.btn-rv:hover { background: var(--rv-primary-dark); border-color: var(--rv-primary-dark); color: #fff; }
.btn-outline-rv { color: var(--rv-primary); border-color: var(--rv-primary); }
.btn-outline-rv:hover { background: var(--rv-primary); color: #fff; }

/* ---- Contact / hours ---- */
.contact-icon { color: var(--rv-primary); font-size: 1.4rem; }
.hours-table th { color: var(--rv-primary-dark); }
.map-embed { border: 0; width: 100%; height: 420px; border-radius: 1rem; }

/* ---- Footer ---- */
footer.site-footer {
  background: var(--rv-primary-dark);
  color: #dceaf3;
}
footer.site-footer a { color: #fff; text-decoration: none; }
footer.site-footer a:hover { color: var(--rv-accent); }
footer.site-footer h5 { color: #fff; }

/* ---- Bio page ---- */
.bio-list li { margin-bottom: .4rem; }
