/* Doctor profile page (/doctors/{slug}) */
.profile-hero { padding: 34px 0 44px; background: linear-gradient(180deg, #eef8f4, #f6faf9); border-bottom: 1px solid #dcebe7; }
.profile-hero .container { max-width: 1208px; }
.profile-hero-card {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
  padding: 28px;
  background: #fff;
  border: 1px solid #dcebe7;
  border-radius: 24px;
  box-shadow: 0 20px 46px -28px rgba(10, 63, 58, .32);
}
.profile-photo {
  overflow: hidden;
  border: 8px solid #fff;
  border-radius: 24px;
  background: #d9eee7;
  box-shadow: 0 24px 50px rgba(10, 63, 58, .16);
}
.profile-photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.profile-kicker {
  display: inline-block;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--vc-mint);
  border: 1px solid var(--vc-line);
  color: #0a625a;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.profile-intro h1 { margin: 16px 0 14px; color: #173d3a; font-size: clamp(2.5rem, 4.5vw, 4.2rem); letter-spacing: -.03em; }
.profile-qualification { margin: 0 0 16px; color: #526d68; font-weight: 600; line-height: 1.5; }
.profile-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.profile-badges li {
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--vc-mint);
  border: 1px solid var(--vc-line);
  color: #0a625a;
  font-size: .86rem;
  font-weight: 600;
}

.profile-content { padding: 56px 0 72px; }
.profile-content .container { max-width: 1128px; }
.profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 480px);
  gap: 36px;
  align-items: start;
}
.profile-main h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); margin-bottom: 12px; }
.profile-bio { color: var(--vc-text); font-size: 1.02rem; }

.profile-expertise {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 22px 0 0;
  padding: 26px;
  list-style: none;
  border: 1px solid #dcebe7;
  border-radius: 18px;
}
.profile-expertise li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px;
  border: 1px solid #dcebe7;
  border-radius: 12px;
  background: #f6faf9;
  color: #0a3f3a;
  font-size: .92rem;
  font-weight: 700;
}
.profile-expertise li::before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #f0894f; }

.profile-details { display: grid; gap: 18px; margin-top: 18px; }
.profile-detail { padding: 20px; background: #f6faf9; border: 1px solid #dcebe7; border-radius: 16px; }
.profile-detail h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 1.05rem; }
.profile-detail h3::before {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--vc-mint);
  color: var(--vc-teal);
  font-size: .8rem;
}
.profile-detail--check h3::before { content: "✓"; }
.profile-detail--star h3::before { content: "✦"; }
.profile-detail--clock h3::before { content: "◷"; }
.profile-detail ul { margin: 0; padding-left: 20px; color: var(--vc-text); }
.profile-detail li { margin: 7px 0; }
.profile-detail p { margin: 0; }

/* Booking card */
.profile-booking {
  position: sticky;
  top: 112px;
  padding: 28px;
  border-radius: 22px;
  background: linear-gradient(160deg, var(--vc-ocean), var(--vc-deep));
  color: #e5f4ef;
  box-shadow: 0 24px 50px -24px rgba(10, 63, 58, .6);
  scroll-margin-top: 110px;
}
.profile-booking .vc-eyebrow { color: #9ee2cd; }
.profile-booking h2 { color: #fff; font-size: 1.7rem; margin-bottom: 8px; }
.profile-booking > p { color: #cfe9df; font-size: .94rem; }
.profile-booking .form-label,
.profile-booking .form-check-label { color: #fff; }
.profile-booking .form-check-label a { color: #fff; text-decoration: underline; }
.profile-booking .vc-required::after { color: #ffb4a1; }
.profile-booking .form-control,
.profile-booking .form-select { border-color: transparent; }
.profile-booking .vc-field-error { color: #ffd2c7; }
.profile-booking .btn-primary { margin-top: 4px; }

@media (max-width: 980px) {
  .profile-layout { grid-template-columns: 1fr; }
  .profile-booking { position: static; }
}
@media (max-width: 820px) {
  .profile-hero-card { grid-template-columns: 1fr; gap: 28px; padding: 20px; border-radius: 18px; }
  .profile-photo { max-width: 430px; width: 100%; margin: 0 auto; }
}
@media (max-width: 600px) {
  .profile-hero { padding: 18px 0 28px; }
  .profile-content { padding: 36px 0 54px; }
  .profile-qualification { font-size: .94rem; }
  .profile-expertise { grid-template-columns: 1fr; padding: 16px; }
  .profile-booking { padding: 22px 18px; }
}
