/* Public practitioner profile, shared by the directory and the private preview page. */
.vr-profile {
  --vr-forest: #18382c;
  --vr-forest-deep: #112b23;
  --vr-sage: #e4ebdf;
  --vr-sage-line: #c7d4c0;
  --vr-clay: #8a4630;
  --vr-clay-soft: #f4e6dc;
  --vr-clay-line: #e3c7b6;
  --vr-ochre: #c49743;
  --vr-ink: #30352f;
  --vr-muted: #6b7068;
  --vr-line: #e2ddd1;
  --vr-card: #ffffff;
  color: var(--vr-ink);
  font-family: "Avenir Next", Avenir, "Trebuchet MS", sans-serif;
  line-height: 1.5;
}
.vr-icon { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* Header */
.vr-profile-header { display: flex; gap: 16px; align-items: center; margin-bottom: 14px; }
.vr-profile-avatar { width: 68px; height: 68px; display: grid; place-items: center; flex: none; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #f1f5ee, #cddbc5); box-shadow: inset 0 0 0 1px var(--vr-sage-line); color: var(--vr-forest); font-family: Georgia, "Times New Roman", serif; font-size: 25px; }
.vr-profile h2 { margin: 0 0 2px; color: var(--vr-forest); font-family: Georgia, "Times New Roman", serif; font-size: 30px; font-weight: 500; line-height: 1.1; }
.vr-profile-practice { margin: 0; color: var(--vr-ink); font-size: 15px; }
.vr-profile-credential { margin: 1px 0 0; color: var(--vr-muted); font-size: 13px; }

/* Trust badges */
.vr-profile-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }
.vr-profile-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px 5px 8px; border-radius: 999px; background: var(--vr-sage); color: var(--vr-forest); font-size: 12px; font-weight: 700; }
.vr-profile-badge .vr-icon { width: 15px; height: 15px; stroke-width: 2.4; }
.vr-profile-badge.pending { padding-left: 11px; background: #f6edd6; color: #72551f; }
.vr-profile-badge.closed { padding-left: 11px; background: var(--vr-clay-soft); color: var(--vr-clay); }
.vr-profile-explain { margin-bottom: 4px; font-size: 13px; }
.vr-profile-explain summary { width: fit-content; color: var(--vr-forest); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.vr-profile-explain p { margin: 8px 0 0; padding: 10px 12px; border-radius: 10px; background: #f3f1ea; color: #53584f; }

/* Sections */
.vr-profile-section { margin-top: 22px; }
.vr-profile-heading { margin: 0 0 9px; color: var(--vr-clay); font-family: inherit; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.vr-profile-quote { position: relative; margin: 0; padding: 14px 16px 14px 20px; border-left: 3px solid var(--vr-ochre); border-radius: 4px 14px 14px 4px; background: #faf6ec; }
.vr-profile-quote p { margin: 0; color: #474c45; font-family: Georgia, "Times New Roman", serif; font-size: 17px; line-height: 1.55; white-space: pre-wrap; }

.vr-profile-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.vr-profile-tags li { padding: 6px 12px; border: 1px solid var(--vr-sage-line); border-radius: 999px; background: var(--vr-sage); color: var(--vr-forest); font-size: 13px; font-weight: 600; }
.vr-profile-also { margin: 9px 0 0; color: var(--vr-muted); font-size: 13px; }
.vr-profile-tags.warm li { border-color: var(--vr-clay-line); background: var(--vr-clay-soft); color: var(--vr-clay); }

.vr-profile-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.vr-profile-fact { display: flex; gap: 10px; align-items: flex-start; padding: 11px 12px; border: 1px solid var(--vr-line); border-radius: 12px; background: var(--vr-card); }
.vr-profile-fact .vr-icon { margin-top: 2px; color: var(--vr-forest); }
.vr-profile-fact-label { display: block; color: var(--vr-muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.vr-profile-fact-value { display: block; color: var(--vr-ink); font-size: 14px; overflow-wrap: anywhere; }

/* Booking */
.vr-profile-cta { margin-top: 24px; padding: 18px; border-radius: 16px; background: var(--vr-forest); color: #eef3ec; text-align: center; }
.vr-profile-cta-title { margin: 0 0 12px; color: white; font-family: Georgia, "Times New Roman", serif; font-size: 19px; }
.vr-profile-book { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 11px 24px; border-radius: 999px; background: linear-gradient(135deg, #c98959, #a96d45); color: white; font-size: 15px; font-weight: 700; text-decoration: none; }
.vr-profile-book:hover { background: linear-gradient(135deg, #d39566, #b5774d); }
.vr-profile-book:focus-visible { outline: 3px solid var(--vr-ochre); outline-offset: 3px; }
.vr-profile-book-note { margin: 10px 0 0; color: #c9d6cc; font-size: 12px; }

.vr-profile-report { display: block; margin: 16px auto 0; padding: 0; border: 0; background: none; color: var(--vr-muted); font-size: 12px; text-decoration: underline; cursor: pointer; }
.vr-profile-report:hover { color: var(--vr-clay); }

@media (max-width: 480px) {
  .vr-profile h2 { font-size: 25px; }
  .vr-profile-avatar { width: 58px; height: 58px; font-size: 21px; }
  .vr-profile-facts { grid-template-columns: 1fr; }
  .vr-profile-quote p { font-size: 16px; }
}
