.doctor-profile { --dpr-blue: #109fff; --dpr-ink: #24292f; --dpr-muted: #676b71; --dpr-ground: #fff; color: var(--dpr-ink); background: var(--dpr-ground); font: 16px/1.5 Roboto-Regular, 'Segoe UI', Arial, sans-serif; padding-bottom: 0; }
body.doctor-profile-page { overflow: visible; }
.doctor-profile *, .doctor-profile *::before, .doctor-profile *::after { box-sizing: border-box; }
.doctor-profile ::selection { background: #cdeaff; color: #24292f; }
.doctor-profile a { color: inherit; text-decoration: none; }
.doctor-profile a:visited:not(.dpr-button):not(.is-active), .doctor-profile a:active:not(.dpr-button):not(.is-active) { color: inherit !important; }
.doctor-profile button, .doctor-profile input { font: inherit; }
.doctor-profile button { cursor: pointer; }
.doctor-profile button:disabled { cursor: default; opacity: .45; }
.doctor-profile :is(a,button,input,summary,audio,[tabindex]):focus-visible { outline: 3px solid #075ba7; outline-offset: 4px; }
.doctor-profile :is(h1,h2,h3) { color: var(--dpr-ink); font-family: Roboto-Medium, Roboto, Arial, sans-serif; font-weight: 500; text-transform: none; letter-spacing: 0; }
.doctor-profile h1 { margin: 22px 0 10px; font-size: clamp(26px,2.45vw,42px); line-height: 1.16; text-wrap: balance; }
.doctor-profile h2 { margin: 0 0 28px; font-size: 26px; line-height: 1.25; }
.doctor-profile h3 { margin: 0 0 16px; font-size: 19px; line-height: 1.3; }
.doctor-profile p { margin: 0 0 16px; }
.doctor-profile svg { flex: 0 0 25px; width: 25px; height: 25px; }
.dpr-shell { margin-inline: auto; }
.dpr-breadcrumbs { padding: 18px 0 30px; font-size: 18px; }
.dpr-breadcrumbs .breadcrumbs { padding: 0; margin: 0; }
.dpr-layout { display: grid; grid-template-columns: minmax(290px,350px) minmax(0,1fr); align-items: start; gap: 30px; }
.dpr-sidebar, .dpr-content { min-width: 0; }
.dpr-sidebar-track { align-self: stretch; min-width: 0; }
.dpr-sidebar { position: sticky; top: var(--dpr-sidebar-top, 206px); }
.dpr-portrait { position: relative; aspect-ratio: 533/622; overflow: hidden; border-radius: 22px; background: #dfe7ed; }
.dpr-portrait > img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.dpr-video-button { position: absolute; z-index: 2; top: 18px; right: 23px; width: 56px; height: 56px; padding: 0; border: 8px solid #b9def0; border-radius: 50%; display: grid; place-items: center; background: var(--dpr-blue); color: white !important; transition: transform .18s cubic-bezier(.16,1,.3,1), filter .18s ease-out; }
.dpr-video-button:hover { transform: scale(1.05); filter: brightness(.94); }
.dpr-video-player { position: absolute; z-index: 3; inset: 0; background: #101820; clip-path: inset(0 0 0 100% round 22px); transition: clip-path .34s cubic-bezier(.16,1,.3,1); }
.dpr-video-player.is-open { clip-path: inset(0 round 22px); }
.dpr-video-player.is-closing { transition-duration: .22s; }
.dpr-video-player iframe { display: block; width: 100%; height: 100%; border: 0; background: #101820; }
.dpr-video-close { position: absolute; z-index: 1; top: 16px; right: 16px; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: rgba(16,24,32,.82); box-shadow: 0 4px 14px rgba(0,0,0,.22); color: #fff; }
.dpr-video-close span::before, .dpr-video-close span::after { content: ''; position: absolute; top: 20px; left: 11px; width: 20px; height: 2px; border-radius: 2px; background: currentColor; transform: rotate(45deg); }
.dpr-video-close span::after { transform: rotate(-45deg); }
.dpr-button, .doctor-profile .bw-btn-primary { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 12px 22px; background: linear-gradient(110deg, #075ba7 0%, #168bce 100%); color: white; border: 0; border-radius: 10px; text-align: center; font-family: Roboto-Regular, 'Segoe UI', Arial, sans-serif; font-size: 15px; font-weight: 400; line-height: 1.3; text-transform: none; transition: filter .18s ease-out; }
.dpr-sidebar > .dpr-button { margin-top: 16px; }
.doctor-profile .dpr-sidebar > .dpr-button:not(.dpr-button-soft) { color: #fff; }
.dpr-sidebar > .dpr-button + .dpr-button { margin-top: 13px; }
.doctor-profile .dpr-button-soft { background: #d8ecfa; color: #0785d7; }
.dpr-button:hover, .doctor-profile .bw-btn-primary:hover { background: linear-gradient(110deg, #075ba7 0%, #168bce 100%); filter: none; color: white; }
.dpr-button-soft:hover { background: #c7e4f8; color: #075ba7; }
.dpr-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding-top: 18px; margin-top: 18px; border-top: 1px solid #d9e3ef; }
.doctor-profile .dpr-nav a,
.doctor-profile .dpr-nav a:link,
.doctor-profile .dpr-nav a:visited,
.doctor-profile .dpr-nav a:hover,
.doctor-profile .dpr-nav a:focus,
.doctor-profile .dpr-nav a:active { display: flex; min-height: 44px; align-items: center; justify-content: center; border-radius: 10px; background: #fff; padding: 9px 12px; color: var(--dpr-muted) !important; font-family: Roboto-Regular, 'Segoe UI', Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 1.2; text-align: center; }
.doctor-profile .dpr-nav a:hover { background: #dcefff; }
.doctor-profile .dpr-nav a.is-active,
.doctor-profile .dpr-nav a.is-active:link,
.doctor-profile .dpr-nav a.is-active:visited,
.doctor-profile .dpr-nav a.is-active:hover,
.doctor-profile .dpr-nav a.is-active:focus,
.doctor-profile .dpr-nav a.is-active:active { background: linear-gradient(110deg, #075ba7 0%, #168bce 100%); color: #fff !important; }
.dpr-content { display: grid; gap: 30px; }
.dpr-panel { background: #fff; border: 1px solid #dfe7ef; border-radius: 22px; box-shadow: 0 14px 34px rgba(31,73,108,.09); padding: 40px; min-width: 0; scroll-margin-top: 210px; }
.dpr-badges { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; }
.dpr-badges:empty { display: none; }
.dpr-badge { display: inline-flex; align-items: center; gap: 10px; min-height: 45px; padding: 8px 18px; border: 1px solid #d5dfef; border-radius: 999px; color: var(--dpr-muted) !important; font-size: 14px; }
.dpr-badge svg { color: var(--dpr-blue); }
.dpr-badge[aria-label^="Рейтинг"] svg { color: #ffc43c; }
.dpr-rating-stars { position: relative; display: block; width: 117px; height: 22px; }
.dpr-rating-stars > span, .dpr-rating-fill > span { display: flex; gap: 2px; width: 117px; }
.dpr-rating-stars svg { width: 22px; height: 22px; flex-basis: 22px; }
.dpr-badge .dpr-rating-stars > span:first-child svg { color: #dce2e8; }
.dpr-rating-fill { position: absolute; top: 0; left: 0; height: 22px; overflow: hidden; }
.dpr-rating strong { font-weight: 500; font-variant-numeric: tabular-nums; }
.dpr-specialty { color: var(--dpr-muted); font-size: 17px; }
.dpr-facts { display: flex; flex-wrap: wrap; gap: 22px 40px; margin: 36px 0 23px; }
.dpr-facts dt { color: var(--dpr-muted); font-size: 14px; font-weight: 400; margin-bottom: 6px; }
.dpr-facts dd { margin: 0; font: 17px/1.4 Roboto-Medium, Roboto, sans-serif; }
.dpr-addresses > p { color: var(--dpr-muted); font-size: 14px; margin-bottom: 8px; }
.dpr-addresses a { display: flex; align-items: center; gap: 12px; margin-top: 5px; font-size: 17px; }
.dpr-addresses svg { color: var(--dpr-blue); }
.dpr-addresses strong { font-weight: 500; font-family: Roboto-Medium, Roboto, sans-serif; }
.dpr-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 30px; }
.dpr-section-heading h2 { margin: 0; }
.dpr-arrows { display: flex; gap: 10px; flex: 0 0 auto; }
.dpr-arrows button { border: 0; border-radius: 50%; width: 45px; height: 45px; background: var(--dpr-ground); color: var(--dpr-muted); display: grid; place-items: center; padding: 10px; }
.dpr-arrows button:hover { background: linear-gradient(110deg,#075ba7 0%,#168bce 100%); color: #fff; }
.dpr-arrows svg { width: 20px; height: 20px; }
.dpr-booking-help { font-size: 13px; color: var(--dpr-muted); margin: 22px 0 0 !important; }
.dpr-booking-help a { color: #087bbf; white-space: nowrap; }
.dpr-awards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; }
.dpr-award { min-height: 244px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; padding: 26px; background: white; border: 1px solid #dfe7ef; border-radius: 22px; box-shadow: 0 12px 28px rgba(31,73,108,.08); }
.dpr-award img { width: 92px; height: 92px; object-fit: contain; margin-bottom: 28px; }
.dpr-award p { margin: 0; font-size: 14px; line-height: 1.4; color: var(--dpr-muted); }
.dpr-prose { color: var(--dpr-muted); overflow-wrap: anywhere; }
.dpr-prose p, .dpr-prose li { line-height: 1.5; }
.dpr-prose ul, .dpr-prose ol { padding-left: 25px; margin: 0 0 20px; }
.dpr-prose li + li { margin-top: 10px; }
.dpr-prose > h2:not(:first-child) { margin-top: 40px; }
.dpr-prose > :last-child { margin-bottom: 0; }
.dpr-prose a { color: #087bbf; text-decoration: underline; text-underline-offset: 3px; }
.dpr-treatment-cloud { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 9px; padding: 0; margin: 0; list-style: none; }
.dpr-treatment-cloud li { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: 8px 16px; border: 1px solid #e1e7ed; border-radius: 999px; color: #222c45; background: #f2f5f7; font: 400 12px/1.4 'Roboto-Regular', 'Segoe UI', Arial, sans-serif; }
.dpr-treatment-plus { display: grid; place-items: center; flex: 0 0 26px; width: 26px; height: 26px; margin-right: 8px; border-radius: 50%; background: var(--cloud-accent); color: #fff; }
.dpr-treatment-plus svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.7; fill: none; }
.dpr-treatment-cloud [data-accent="green"] { --cloud-accent: #168f78; }
.dpr-treatment-cloud [data-accent="magenta"] { --cloud-accent: #d71968; }
.dpr-treatment-cloud [data-accent="violet"] { --cloud-accent: #7656b5; }
.dpr-treatment-cloud [data-accent="orange"] { --cloud-accent: #dc7834; }
.dpr-treatment-cloud [data-accent="blue"] { --cloud-accent: #0878ba; }
.dpr-certificates { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.dpr-certificates img { width: 100%; aspect-ratio: 3/4; object-fit: contain; }
.dpr-certificates a { display: block; cursor: zoom-in; }
body.dpr-gallery-open { overflow: hidden; }
.dpr-certificate-gallery { position: fixed; z-index: 5000; inset: 0; display: grid; grid-template-columns: 58px minmax(0,1fr) 58px; align-items: center; gap: 16px; padding: 72px 24px 28px; background: rgba(13,24,34,.92); }
.dpr-certificate-gallery[hidden] { display: none !important; }
.dpr-certificate-gallery__figure { min-width: 0; height: calc(100vh - 110px); margin: 0; display: grid; grid-template-rows: minmax(0,1fr) auto; place-items: center; gap: 12px; }
.dpr-certificate-gallery__figure img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 4px; background: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.35); }
.dpr-certificate-gallery__count { color: #fff; font-size: 14px; }
.dpr-certificate-gallery__close, .dpr-certificate-gallery__arrow { display: grid; place-items: center; border: 0; color: #fff; background: rgba(255,255,255,.13); }
.dpr-certificate-gallery__close:hover, .dpr-certificate-gallery__arrow:hover { color: #fff; background: linear-gradient(110deg,#075ba7 0%,#168bce 100%); }
.dpr-certificate-gallery__close { position: absolute; top: 18px; right: 22px; width: 44px; height: 44px; border-radius: 50%; font-size: 28px; line-height: 1; }
.dpr-certificate-gallery__arrow { width: 58px; height: 58px; border-radius: 50%; font-size: 34px; line-height: 1; }
@media (max-width: 767px) {
    .dpr-certificate-gallery { grid-template-columns: 38px minmax(0,1fr) 38px; gap: 6px; padding: 64px 8px 18px; }
    .dpr-certificate-gallery__figure { height: calc(100vh - 88px); }
    .dpr-certificate-gallery__arrow { width: 38px; height: 44px; font-size: 26px; }
    .dpr-certificate-gallery__close { top: 10px; right: 12px; width: 40px; height: 40px; }
}
.dpr-prices > div { display: flex; justify-content: space-between; gap: 24px; padding: 22px 0; border-bottom: 1px solid #e3eaf2; }
.dpr-prices > div:first-child { padding-top: 0; }
.dpr-prices > div:last-child { border: 0; padding-bottom: 0; }
.dpr-prices strong { flex-shrink: 0; white-space: nowrap; font-size: 16px; }
.dpr-prices a:hover { color: #087bbf; }
.dpr-work-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dpr-work-pair img { width: 100%; border-radius: 12px; }
.dpr-work-pair span { display: block; margin-top: 10px; color: var(--dpr-muted); }
.dpr-panel figure { margin: 0 0 24px; }
.dpr-panel figcaption { margin-top: 12px; }
.dpr-articles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.dpr-articles img { width: 100%; aspect-ratio: 3/2; object-fit: cover; margin-bottom: 20px; border-radius: 12px; }
.dpr-reviews { padding: 90px 0; scroll-margin-top: 210px; }
.dpr-reviews h2 { font-size: 38px; }
.dpr-reviews > .dpr-section-heading { margin-bottom: 50px; }
.dpr-review-controls { display: flex; align-items: center; gap: 30px; }
.dpr-review-controls > button, .dpr-read-more { border: 0; background: transparent; padding: 0; color: #0785d7; text-align: left; }
.dpr-reviews .dpr-arrows button { background: #fff; width: 62px; height: 62px; }
.dpr-review-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 60px)/3); align-items: start; gap: 30px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; padding-bottom: 12px; }
.dpr-review-track::-webkit-scrollbar { display: none; }
.dpr-review-track.is-expanded { grid-auto-flow: row; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: visible; }
.dpr-review-column { min-width: 0; scroll-snap-align: start; }
.dpr-review-card { padding: 30px; background: #fff; border: 1px solid #dfe7ef; border-radius: 22px; box-shadow: 0 12px 28px rgba(31,73,108,.08); }
.dpr-review-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 25px; min-height: 28px; }
.dpr-review-top img { object-fit: contain; max-width: 44%; }
.dpr-stars { width: 115px; height: 24px; }
.dpr-review-logo { width: 156px; height: 28px; }
.dpr-review-text { position: relative; display: block; height: 12em; max-height: 12em; overflow: hidden; color: var(--dpr-muted); line-height: 1.5; }
.dpr-review-text > * { margin: 0 !important; }
.dpr-review-text > * + * { margin-top: .55em !important; }
.dpr-review-text.is-open { height: auto; max-height: none; overflow: visible; }
.dpr-read-more { font-size: 14px; margin-top: 10px; }
.dpr-review-meta { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid #dfe7ef; border-radius: 22px; box-shadow: 0 10px 24px rgba(31,73,108,.07); padding: 26px 30px; margin-top: 10px; min-height: 115px; }
.dpr-review-meta > img { width: 62px; height: 62px; border-radius: 50%; object-fit: cover; object-position: top; flex: 0 0 auto; }
.dpr-review-meta strong { font-weight: 400; line-height: 1.3; font-size: 15px; }
.dpr-review-meta a { text-decoration: underline; text-underline-offset: 3px; }
.dpr-review-by { display: flex; gap: 12px 22px; flex-wrap: wrap; margin-top: 10px; color: var(--dpr-muted); font-size: 13px; }
.dpr-review-by span { display: flex; align-items: center; gap: 10px; }
.dpr-review-by svg { color: var(--dpr-blue); }
.dpr-audio-card { padding: 30px; background: #fff; border: 1px solid #dfe7ef; border-radius: 22px; box-shadow: 0 12px 28px rgba(31,73,108,.08); margin-bottom: 10px; }
.dpr-audio-card audio { width: 100%; display: block; accent-color: var(--dpr-blue); }
.dpr-audio-card audio[hidden] { display: none; }
.dpr-audio-player { display: flex; align-items: center; gap: 14px; min-height: 60px; }
.dpr-audio-play { display: grid; place-items: center; flex: 0 0 52px; width: 52px; height: 52px; padding: 14px; border: 0; border-radius: 50%; background: #e5f5ff; color: var(--dpr-blue); }
.dpr-audio-progress { min-width: 0; width: 100%; accent-color: var(--dpr-blue); cursor: pointer; }
.dpr-audio-timeline { position: relative; width: 100%; min-width: 0; height: 48px; }
.dpr-audio-timeline svg { display: block; width: 100%; height: 48px; stroke: var(--dpr-blue); stroke-width: 2; stroke-linecap: round; }
.dpr-audio-timeline .dpr-audio-progress { position: absolute; inset: 0; margin: 0; opacity: .01; height: 48px; }
.dpr-audio-timeline:focus-within { outline: 3px solid #075ba7; outline-offset: 4px; border-radius: 5px; }
.dpr-audio-time { color: var(--dpr-muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.dpr-audio-rating { display: flex; align-items: center; gap: 5px; color: #9a6400; }
.dpr-audio-rating svg { color: #ffc43c; }
.dpr-audio-card small { display: block; margin-top: 12px; color: var(--dpr-muted); }
.dpr-map { margin: 30px 0; scroll-margin-top: 190px; }
.dpr-map-info { padding: 40px; background: linear-gradient(120deg,#075ba7 0%,#168bce 100%); border-radius: 22px; box-shadow: 0 14px 34px rgba(31,73,108,.16); }
.doctor-profile .dpr-map-info h2 { color: #fff; margin-bottom: 24px; }
.dpr-map-branches { display: grid; gap: 12px; }
.dpr-map-branches a { display: flex; align-items: center; gap: 13px; min-height: 74px; padding: 15px 18px; border-radius: 14px; background: #fff; color: var(--dpr-ink); box-shadow: 0 9px 22px rgba(0,48,91,.17); }
.dpr-map-branches a:hover { color: #075ba7; transform: translateY(-1px); }
.dpr-map-branches svg { color: #109fff; }
.dpr-map-canvas { min-width: 0; height: 500px; overflow: hidden; margin-top: 24px; border: 1px solid #d8e5ed; border-radius: 16px; background: #f5f8fb; }
.dpr-map-canvas > iframe, .dpr-map-canvas > ymaps { width: 100%; height: 100%; min-height: 500px; border: 0; display: block; }
/* Restyle the existing booking integration only inside the individual profile. */
.doctor-profile #booking-widget { margin: 0; padding: 0; max-width: none; min-height: 150px; box-shadow: none; border: 0; border-radius: 0; background: transparent; font-family: inherit; }
.doctor-profile .bw-hidden { display: none !important; }
.doctor-profile #bw-dates-header { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.dpr-booking-roadmap { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; padding: 0; margin: 0 0 28px; list-style: none; counter-reset: none; }
.dpr-booking-roadmap li { position: relative; display: flex; align-items: center; gap: 9px; min-width: 0; padding: 10px 12px; border-radius: 10px; background: #f3f6f8; color: #7a8289; font-size: 13px; line-height: 1.25; }
.dpr-booking-roadmap li + li::before { content: ''; position: absolute; left: -8px; top: 50%; width: 8px; height: 1px; background: #cbd7e0; }
.dpr-booking-roadmap span { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: #dce5eb; color: #55616b; font-weight: 600; }
.dpr-booking-roadmap strong { font-weight: 500; }
.dpr-booking-roadmap li.is-complete { background: #eaf5fc; color: #075ba7; }
.dpr-booking-roadmap li.is-complete span { background: #168bce; color: #fff; }
.dpr-booking-roadmap li.is-current { background: linear-gradient(110deg,#075ba7 0%,#168bce 100%); color: #fff; }
.dpr-booking-roadmap li.is-current span { background: #fff; color: #075ba7; }
.dpr-clinic-choice { margin: 0 0 24px; }
.dpr-clinic-choice-label { display: block; margin-bottom: 8px; color: var(--dpr-muted); font-size: 14px; }
.dpr-clinic-select { position: relative; }
.dpr-clinic-select-button { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 52px; padding: 11px 16px; border: 1px solid #b9cfdf; border-radius: 10px; background: #fff; color: var(--dpr-ink); font: 15px/1.3 Roboto-Regular,'Segoe UI',Arial,sans-serif; text-align: left; cursor: pointer; }
.dpr-clinic-select-button:hover { border-color: #168bce; background: #f7fbfe; }
.dpr-clinic-select-button:focus-visible { border-color: #168bce; outline: 3px solid rgba(22,139,206,.18); outline-offset: 2px; }
.dpr-clinic-select-button svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: #075ba7; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.dpr-clinic-select.is-open .dpr-clinic-select-button svg { transform: rotate(180deg); }
.dpr-clinic-options { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; right: 0; overflow: hidden; padding: 6px; border: 1px solid #d5dfef; border-radius: 12px; background: #fff; box-shadow: 0 14px 34px rgba(7,54,94,.16); }
.dpr-clinic-options[hidden] { display: none; }
.dpr-clinic-option { display: flex; width: 100%; padding: 11px 12px; border: 0; border-radius: 8px; background: transparent; color: var(--dpr-ink); font: 14px/1.35 Roboto-Regular,'Segoe UI',Arial,sans-serif; text-align: left; cursor: pointer; }
.dpr-clinic-option:hover, .dpr-clinic-option:focus-visible { outline: none; color: #075ba7; background: #eaf5fc; }
.dpr-clinic-option[aria-selected="true"] { color: #fff; background: linear-gradient(110deg,#075ba7 0%,#168bce 100%); }
.doctor-profile #booking-widget.is-clinic-pending :is(.dpr-date-carousel,.bw-slots-container,.bw-service-selector) { display: none !important; }
.dpr-date-carousel { display: grid; grid-template-columns: 45px minmax(0,1fr) 45px; align-items: center; gap: 12px; margin-bottom: 20px; }
.dpr-date-arrow { width: 45px; height: 45px; display: grid; place-items: center; padding: 10px; border: 1px solid #d5dfef; border-radius: 50%; background: #fff; color: #52606c; }
.dpr-date-arrow:hover { border-color: #168bce; background: #e8f4fc; color: #075ba7; }
.dpr-date-arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.doctor-profile .bw-dates-scroll { display: flex; gap: 13px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; margin: 0; padding: 0; }
.doctor-profile .bw-dates-scroll::-webkit-scrollbar { display: none; }
.doctor-profile .bw-date-card { flex: 0 0 calc((100% - 78px)/7); min-width: 0; min-height: 62px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 4px 5px; border: 1px solid #d5dfef; border-radius: 12px; color: var(--dpr-ink); background: #fff; font-size: 13px; scroll-snap-align: start; }
.doctor-profile .bw-date-day { font-size: 24px; line-height: 1.2; color: var(--dpr-blue); font-family: Roboto-Medium, Roboto, sans-serif; order: 2; }
.doctor-profile .bw-date-weekday { font-size: 12px; order: 1; text-transform: capitalize; }
.doctor-profile .dpr-date-month { order: 3; font-size: 14px; }
.doctor-profile .bw-date-card.active { background: linear-gradient(110deg, #075ba7 0%, #168bce 100%); border-color: #075ba7; box-shadow: 0 12px 25px rgba(7,91,167,.2); color: white; }
.doctor-profile .bw-date-card.active :is(.bw-date-day,.bw-date-weekday) { color: white; }
.doctor-profile .bw-slots-container { padding: 0; border: 0; background: none; box-shadow: none; margin-top: 12px; }
.doctor-profile #bw-slots-grid { box-shadow: none; border: 0; padding: 0; margin: 0; background: transparent; }
.doctor-profile .bw-clinic-group-header.dpr-single-clinic { display: none; }
.doctor-profile .bw-slots-header { display: none; }
.doctor-profile .bw-clinic-group-header { margin: 15px 0 12px; padding: 0; border: 0; background: none; }
.doctor-profile .bw-clinic-name { color: var(--dpr-ink); font-size: 14px; }
.doctor-profile .bw-clinic-address { color: var(--dpr-muted); font-size: 13px; }
.doctor-profile .bw-slots-inner-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
.doctor-profile .bw-slot-btn { border: 1px solid #d5dfef; background: #fff; border-radius: 999px; padding: 7px 8px; min-height: 44px; color: var(--dpr-ink); font-size: 15px; }
.doctor-profile .bw-slot-btn:hover { background: #eef7fd; border-color: #168bce; color: #075ba7; }
.doctor-profile .bw-slot-btn.is-selected { background: linear-gradient(110deg, #075ba7 0%, #168bce 100%); border-color: #075ba7; box-shadow: 0 8px 18px rgba(7,91,167,.18); color: white; }
.doctor-profile .dpr-book-submit { margin-top: 26px; width: min(426px,100%); }
.doctor-profile .dpr-book-submit-floating { position: fixed; z-index: 1100; right: max(24px,calc((100vw - 1420px)/2)); bottom: 24px; display: flex; width: min(426px,calc(100vw - 48px)); min-height: 54px; box-shadow: 0 10px 26px rgba(7,91,167,.28); }
.doctor-profile .dpr-book-submit-floating[hidden] { display: none !important; }
.dpr-booking-notice { position: fixed; z-index: 1200; left: 50%; bottom: 92px; width: min(520px,calc(100% - 32px)); padding: 13px 16px; border: 1px solid #f0c36b; border-radius: 10px; color: #5f4719; background: #fff8e7; box-shadow: 0 12px 30px rgba(64,49,19,.2); font-size: 14px; line-height: 1.4; transform: translateX(-50%); }
.dpr-booking-notice[hidden] { display: none !important; }
.doctor-profile .dpr-book-submit:hover, .doctor-profile .dpr-book-submit:focus { background: linear-gradient(110deg, #075ba7 0%, #168bce 100%) !important; color: #fff !important; filter: none; }
.dpr-local-booking-note { font-size: 14px; line-height: 1.4; color: var(--dpr-muted); margin: 0 0 18px !important; }
.dpr-booking-tools { display: flex; align-items: center; justify-content: flex-end; min-height: 44px; }
.dpr-load-more-mobile { display: none; }
.doctor-profile #bw-load-more-dates { min-height: 42px; padding: 8px 14px; color: #075ba7; background: #e8f4fc; border: 0; border-radius: 10px; font-size: 14px; margin: 0; white-space: nowrap; }
.doctor-profile #bw-load-more-dates:hover { background: #d6ebf9; }
.doctor-profile .bw-service-selector { margin-top: 24px; border: 0; border-top: 1px solid #e3eaf2; padding-top: 20px; }
.doctor-profile .bw-service-item-name { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.doctor-profile .dpr-referral-badge { display: inline-flex; flex: 0 0 auto; width: max-content; max-width: 100%; padding: 3px 8px; border: 1px solid #efd892; border-radius: 999px; color: #76520a; background: #fff2c9; font-size: 10px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.doctor-profile .bw-service-list { max-height: none; overflow: visible; }
.doctor-profile .bw-service-section-label { color: var(--dpr-muted); font-size: 12px; }
.doctor-profile .bw-service-item { border-radius: 12px; }
.doctor-profile .bw-service-item:hover { border-color: #168bce; background: #f5faff; box-shadow: 0 2px 10px rgba(7,91,167,.1); }
.doctor-profile .bw-service-item.checked { border-color: #168bce; background: #eef7fd; }
.doctor-profile .bw-service-item-checkbox { width: 17px; height: 17px; min-width: 17px; border-width: 1.5px; border-radius: 5px; }
.doctor-profile .bw-service-item-checkbox svg { width: 11px; height: 11px; flex: 0 0 11px; }
.doctor-profile .bw-service-item.checked .bw-service-item-checkbox { border-color: #075ba7; background: linear-gradient(110deg, #075ba7 0%, #168bce 100%); }
.doctor-profile .bw-service-totals-price { color: #075ba7; }
.doctor-profile .bw-service-item-name { font-size: 12px; }
.doctor-profile .bw-error-alert { background: #fff3e8; border: 0; color: #714313; border-radius: 14px; padding: 18px; font-size: 13px; }
.doctor-profile .bw-loader { position: static; min-height: 170px; background: transparent; }
.doctor-profile .bw-input { width: 100%; font-size: 14px; min-height: 52px; border-radius: 12px; caret-color: #075ba7; }
.doctor-profile .bw-checkbox-wrap { font-size: 13px; }
.doctor-profile .bw-checkbox-wrap a,
.doctor-profile .bw-checkbox-wrap a:visited,
.doctor-profile .bw-checkbox-wrap a:hover,
.doctor-profile .bw-checkbox-wrap a:active { color: #075ba7 !important; font-weight: 400; text-decoration-color: currentColor; }
.doctor-profile .bw-form label.dpr-field-label { display: block; font-size: 14px; color: var(--dpr-muted); }
.doctor-profile .bw-back-btn { font-size: 14px; color: #087bbf; }
@media (min-width: 1600px) { .dpr-summary { min-height: 420px; } }
@media (max-width: 1199px) {
    .doctor-profile { font-size: 16px; }
    .dpr-layout { grid-template-columns: minmax(270px,320px) minmax(0,1fr); }
    .dpr-layout, .dpr-content { gap: 24px; }
    .dpr-panel { padding: 28px; }
    .dpr-nav { gap: 8px; }
    .dpr-nav a { font-size: 13px; padding: 9px 10px; }
    .dpr-facts { gap: 18px 28px; }
    .dpr-facts dd, .dpr-addresses a, .dpr-specialty { font-size: 16px; }
    .dpr-awards { gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .dpr-award { min-height: 215px; }
    .dpr-review-track { grid-auto-columns: calc((100% - 24px)/2); gap: 24px; }
    .dpr-review-track.is-expanded { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .dpr-review-text { height: 12em; max-height: 12em; }
    .dpr-review-card, .dpr-review-meta { padding: 24px; }
    .doctor-profile .bw-slots-inner-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .doctor-profile .bw-date-card { flex-basis: calc((100% - 39px)/4); }
}
@media (max-width: 767px) {
    .dpr-sidebar-track { width: 100%; }
    .dpr-sidebar { position: static; }
    .doctor-profile { font-size: 15px; }
    .dpr-breadcrumbs { padding: 16px 0 20px; font-size: 13px; }
    .dpr-layout { display: flex; flex-direction: column; gap: 24px; }
    .dpr-sidebar, .dpr-content { width: 100%; }
    .dpr-portrait { max-height: 520px; aspect-ratio: 533/622; }
    .dpr-button { min-height: 50px; font-size: 14px; }
    .dpr-nav { margin-top: 18px; padding-top: 18px; gap: 8px; }
    .dpr-nav a { padding: 9px 8px; font-size: 13px; }
    .doctor-profile a { -webkit-tap-highlight-color: transparent; }
    .doctor-profile a:hover, .doctor-profile a:active { color: inherit !important; }
    .doctor-profile .dpr-nav a:hover:not(.is-active) { background: #f2f5f7; color: var(--dpr-muted) !important; }
    .doctor-profile .dpr-nav a.is-active { color: #fff !important; }
    .dpr-panel { padding: 24px 20px; border-radius: 20px; scroll-margin-top: 125px; }
    .doctor-profile h1 { font-size: 26px; }
    .doctor-profile h2 { font-size: 21px; margin-bottom: 22px; }
    .dpr-badge { font-size: 13px; min-height: 40px; padding: 7px 12px; }
    .dpr-facts { margin-top: 26px; gap: 20px; }
    .dpr-facts dt, .dpr-addresses > p { font-size: 13px; }
    .dpr-section-heading { gap: 12px; margin-bottom: 24px; flex-wrap: wrap; }
    .dpr-section-heading h2 { margin: 0; }
    .dpr-arrows { gap: 6px; }
    .dpr-arrows button { width: 36px; height: 36px; padding: 8px; }
    .dpr-awards { gap: 14px; }
    .dpr-award { padding: 20px; }
    .dpr-award p { font-size: 14px; }
    .dpr-certificates { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .dpr-prices > div { flex-direction: column; gap: 8px; }
    .dpr-articles { grid-template-columns: 1fr; }
    .dpr-reviews { padding: 54px 0; scroll-margin-top: 125px; }
    .dpr-reviews > .dpr-section-heading { flex-wrap: wrap; margin-bottom: 26px; }
    .dpr-review-controls { width: 100%; justify-content: space-between; }
    .dpr-reviews .dpr-arrows button { width: 44px; height: 44px; }
    .dpr-review-track { grid-auto-columns: 100%; gap: 16px; }
    .dpr-review-track.is-expanded { grid-template-columns: 1fr; }
    .dpr-review-text { height: 12em; max-height: 12em; }
    .dpr-review-card, .dpr-review-meta, .dpr-audio-card { padding: 24px; }
    .dpr-review-meta strong { font-size: 15px; }
    .dpr-review-by { font-size: 13px; }
    .dpr-map-info { padding: 24px 20px; }
    .dpr-map-canvas { height: 480px; }
    .dpr-map-canvas > iframe, .dpr-map-canvas > ymaps { min-height: 480px; }
    .dpr-booking-roadmap { grid-template-columns: 1fr; gap: 6px; }
    .dpr-booking-roadmap li { min-height: 42px; }
    .dpr-booking-roadmap li + li::before { display: none; }
    .dpr-date-carousel { grid-template-columns: 28px minmax(0,1fr) 28px; gap: 4px; }
    .dpr-date-arrow { width: 28px; height: 32px; padding: 5px; }
    .doctor-profile .bw-dates-scroll { gap: 4px; }
    .doctor-profile .bw-date-card { flex-basis: calc((100% - 24px)/7); min-width: 0; min-height: 46px; padding: 3px 1px; border-radius: 9px; font-size: 9px; }
    .doctor-profile .bw-date-weekday { font-size: 9px; }
    .doctor-profile .bw-date-day { font-size: 16px; }
    .doctor-profile .dpr-date-month { display: none; }
    .doctor-profile .bw-slots-inner-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
    .doctor-profile .bw-slot-btn { min-height: 40px; padding: 6px; font-size: 13px; }
    .dpr-load-more-mobile { display: flex; margin-top: 18px; align-items: center; justify-content: center; flex-direction: column; gap: 10px; text-align: center; }
    .dpr-load-more-mobile[hidden] { display: none !important; }
    .dpr-load-more-mobile p { margin: 0; color: var(--dpr-muted); font-size: 13px; line-height: 1.35; }
    .doctor-profile .dpr-load-more-mobile #bw-load-more-dates { min-width: 210px; min-height: 44px; }
    .doctor-profile .dpr-book-submit-floating { position: fixed; z-index: 1100; left: 16px; right: 16px; bottom: calc(var(--dpr-mobile-bottom-offset, var(--mobile-bottom-nav-height, 72px)) + 12px); display: flex; width: auto; max-width: 430px; min-height: 50px; margin: 0 auto; box-shadow: 0 10px 26px rgba(7,91,167,.28); }
    .doctor-profile .dpr-book-submit-floating[hidden] { display: none !important; }
    .dpr-booking-notice { left: 16px; right: 16px; bottom: calc(var(--dpr-mobile-bottom-offset, var(--mobile-bottom-nav-height, 72px)) + 74px); width: auto; max-width: 430px; margin: 0 auto; font-size: 13px; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .doctor-profile *, .doctor-profile *::before, .doctor-profile *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
