.specialty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.specialty-public-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.specialty-public-card>img{width:100%;height:190px;object-fit:cover;background:var(--site-soft,#eff8fd)}
.specialty-card-content{display:flex;flex-direction:column;flex:1;padding:26px}
.specialty-card-content h3{font-size:21px;line-height:1.35;margin:0 0 14px;overflow-wrap:anywhere}
.specialty-card-content p{font-size:14px;color:var(--muted);margin:0 0 24px;overflow-wrap:anywhere}
.specialty-details-button{font:600 13px 'Segoe UI',Arial,sans-serif;text-align:left;cursor:pointer;border:0;border-top:1px solid var(--line);padding:18px 0 0;margin-top:auto;background:none;color:var(--blue);min-height:44px}
.public-specialty-dialog{color:var(--navy);width:min(720px,calc(100vw - 32px));max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:22px;overflow-y:auto;overscroll-behavior:contain}
.public-specialty-dialog::backdrop{background:#0c293d99;backdrop-filter:blur(3px)}
.public-specialty-dialog #publicSpecialtyBody>img{display:block;width:100%;height:260px;object-fit:cover}
.specialty-close{position:sticky;top:12px;float:right;margin:12px 12px -56px 0;z-index:1;border:1px solid var(--line);background:#fff;color:#18354b;border-radius:50%;width:44px;height:44px;font-size:28px;cursor:pointer}
.specialty-detail{padding:32px;overflow-wrap:anywhere}.specialty-detail h2{padding-right:30px;font-size:30px}.specialty-detail h3{font-size:18px;margin:28px 0 10px}
.specialty-detail p,.specialty-detail li{font-size:15px;color:var(--muted);line-height:1.8}.specialty-text{white-space:pre-line}.specialty-detail .button{margin-top:24px;line-height:1.5}
.services-public-page .doctor-avatar{width:96px;height:96px;flex-shrink:0;overflow:hidden}.doctor-photo{display:block;width:100%;height:100%;object-fit:cover}
.services-public-page .doctor-card .doctor-registration{display:block;margin-top:14px;color:var(--blue);font-size:12px}
.services-public-page .doctor-card .doctor-presentation{display:block;white-space:pre-line;font-size:14px;line-height:1.8;margin-top:14px;overflow-wrap:anywhere}
@media(max-width:1000px){.specialty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.specialty-grid{grid-template-columns:1fr}.specialty-detail{padding:24px}.public-specialty-dialog #publicSpecialtyBody>img{height:190px}.specialty-detail h2{font-size:26px}}
