/* ARBI.RU — карточка специалиста: герой, вкладки, услуги. */
.profile-hero { padding: 18px 0 26px; }
.profile-hero__grid { gap: 26px; }
@media (min-width: 900px) {
  .profile-hero__grid { grid-template-columns: 260px minmax(0, 1fr); gap: 30px; }
}
.profile-hero__media { max-width: 260px; border-radius: var(--radius-md); }
.profile-hero__photo, .profile-hero__media .avatar { height: 310px; }
.profile-hero__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.profile-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--lime-100);
  color: var(--graphite-800);
  letter-spacing: .06em;
}
.profile-hero__tools { display: flex; gap: 8px; flex-wrap: wrap; }
.profile-tool {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line-300);
  border-radius: 999px;
  background: var(--paper);
  color: var(--graphite-700);
  font: inherit;
  font-size: var(--step-13);
  cursor: pointer;
}
.profile-tool:hover { border-color: var(--graphite-500); color: var(--graphite-900); background: var(--paper-warm); }
.profile-hero__title { margin-top: 2px; font-size: clamp(2.2rem, 4.8vw, 3.7rem); overflow-wrap: anywhere; }
.profile-hero__headline {
  margin: 8px 0 0;
  max-width: 40ch;
  color: var(--graphite-800);
  font-size: clamp(1.25rem, 2.2vw, 1.75rem);
  font-weight: 600;
  line-height: 1.25;
}
.profile-hero__status { margin-top: 12px; gap: 8px; }
.profile-availability {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #eefbd0;
  border-color: rgba(120, 160, 0, .35);
  color: #3d5c00;
  font-weight: 600;
}
.profile-availability__dot, .profile-online-dot {
  width: 8px; height: 8px; border-radius: 50%; background: #6f9b00; display: inline-block; flex: none;
}
.profile-hero__facts { gap: 10px 24px; margin-top: 15px; font-size: var(--step-15); }
.profile-hero__fact { gap: 8px; }
.profile-hero__fact .ico { width: 22px; height: 22px; color: var(--graphite-500); }
.profile-hero__fact--online { color: #3d5c00; font-weight: 600; background: #eefbd0; padding: 2px 8px; border-radius: 999px; }
.profile-hero__fact--rating b { color: var(--graphite-900); font-size: var(--step-16); }
.profile-hero__actions { margin-top: 18px; }

.profile-tabs a:first-child { border-bottom-color: transparent; color: var(--graphite-500); }
.profile-tabs a.is-active { border-bottom-color: var(--lime-500); color: var(--graphite-900); }
.profile-tabs a { padding: 13px 13px; }

.profile-practices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.profile-practice {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 78px;
  padding: 14px;
  border: 1px solid var(--line-200);
  border-radius: var(--radius-md);
  color: var(--graphite-900);
  text-decoration: none;
  font-size: var(--step-16);
  font-weight: 620;
  line-height: 1.25;
}
.profile-practice__icon {
  width: 42px; height: 42px; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 11px;
  background: rgba(255,255,255,.65);
}
.profile-practice--1 { background: #f0f8dc; border-color: #d5e8a7; }
.profile-practice--2 { background: #fff3df; border-color: #f0ddba; }
.profile-practice--3 { background: #eef4fb; border-color: #c9dcf2; }
.profile-practice:hover { border-color: var(--graphite-400); transform: translateY(-1px); }

.service-row { grid-template-columns: 38px minmax(0, 1fr) auto; }
.service-row__title { font-size: var(--step-16); }
.service-row__note { font-size: var(--step-12); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.service-row-wrap { display: grid; gap: 3px; }
.service-row__more {
  justify-self: end;
  display: inline-flex; align-items: center; gap: 3px;
  padding: 0 8px 4px 0;
  color: var(--graphite-500); font-size: var(--step-12);
  text-decoration: none;
}
.service-row__more:hover { color: var(--graphite-900); }
.service-row__price b { font-size: var(--step-22); }
.service-row:hover .service-row__more { color: var(--graphite-900); }

.profile-featured {
  box-shadow: 0 16px 38px rgba(24, 28, 16, .10), 0 2px 6px rgba(24, 28, 16, .04);
  border-color: var(--line-200);
  background: linear-gradient(180deg, #f7fbe9, var(--paper) 70%);
}
.profile-featured__title { font-size: clamp(1.45rem, 2.2vw, 1.95rem); }
.profile-featured__title a { color: inherit; text-decoration: none; }
.profile-featured__title a:hover { text-decoration: underline; text-decoration-color: var(--lime-500); }
.profile-featured__price { margin-top: 6px; }
.profile-featured .btn + .btn { margin-top: 8px; }
.profile-featured__link { margin-top: 10px; }

@media (max-width: 680px) {
  .profile-hero { padding-top: 14px; }
  .profile-hero__media, .profile-hero__photo, .profile-hero__media .avatar { max-width: 100%; }
  .profile-hero__media, .profile-hero__photo, .profile-hero__media .avatar { height: 280px; }
  .profile-hero__tools { width: 100%; }
  .profile-tool { flex: 1; justify-content: center; }
  .profile-practices { grid-template-columns: 1fr; }
  .service-row__note { white-space: normal; }
}

.profile-checklist .profile-check {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; flex: none; margin-top: 2px;
  border-radius: 50%; background: var(--lime-500); color: var(--graphite-900);
  font-size: 11px; font-weight: 700;
}
.profile-section[hidden] { display: none !important; }

/* Меньше пустоты между вкладками и первым блоком профиля. */
.profile-tabs + .section { padding-top: 14px; }
.profile-layout { padding-top: 0; }

/* Правки по референсу: кнопки, галочки, сайдбар, вкладки. */
.profile-layout { }
@media (min-width: 1100px) {
  .profile-layout { grid-template-columns: minmax(0, 1fr) 410px; }
}
.profile-featured { border-radius: 12px; }
.profile-featured__title { font-size: clamp(1.55rem, 2.3vw, 2.05rem); }
.profile-featured__price { font-weight: 800; letter-spacing: -0.03em; }
.profile-featured .btn { font-weight: 650; }
.profile-featured__discuss { display: flex; align-items: center; justify-content: space-between; font-weight: 720; }
.profile-featured__discuss .ico { flex: none; }
.profile-featured__note {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 11px 12px;
  border: 1px solid #dcebb7;
  border-radius: 10px;
  background: #f3f9e6;
  color: #425018;
  font-size: var(--step-12);
  line-height: 1.45;
}
.profile-featured__note .profile-check { margin-top: 0; }
.profile-checklist { gap: 9px; }
.profile-checklist li { align-items: flex-start; font-size: var(--step-14); }
.profile-checklist .profile-check,
.profile-featured__note .profile-check {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; flex: none; margin-top: 1px;
  border-radius: 50%; background: var(--lime-500); color: var(--graphite-900);
  font-size: 12px; font-weight: 800; line-height: 1;
}
.profile-checklist .profile-check .ico,
.profile-featured__note .profile-check .ico { width: 15px; height: 15px; color: var(--graphite-900); }
.profile-hero__firm {
  display: inline-flex; align-items: center; gap: 7px;
  margin-top: 13px; padding: 5px 9px 5px 0;
  color: var(--graphite-900); font-size: var(--step-15); font-weight: 650;
  text-decoration: none;
}
.profile-hero__firm:hover { text-decoration: underline; text-decoration-color: var(--lime-500); }
.profile-hero__firm .ico { color: var(--graphite-500); }
.profile-tool {
  border-radius: 10px;
  min-height: 42px;
  padding: 0 14px;
  color: var(--graphite-900);
  font-size: var(--step-14);
  font-weight: 650;
}
.profile-tool .ico { color: var(--graphite-900); }
.profile-tabs a {
  font-family: var(--font-ui);
  font-size: var(--step-15);
  font-weight: 620;
  letter-spacing: -0.01em;
}
.profile-tabs a.is-active {
  font-weight: 760;
  border-bottom-width: 3px;
}
.profile-section__head .eyebrow { font-size: var(--step-14); }

.profile-featured .btn { font-weight: 680; }
.profile-featured__discuss { font-weight: 720; }
.profile-featured__consult { display: grid; gap: 2px; line-height: 1.25; padding-top: 9px; padding-bottom: 9px; text-align: center; }
.profile-featured__consult small { font-size: var(--step-12); font-weight: 620; color: var(--graphite-600); }

.profile-featured .profile-featured__discuss { font-weight: 720; }
