/* fb 08.10 п.14/21c/22–28: native entity layout. */
.s101-entity-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:stretch}.s101-entity-main{min-width:0}.s101-profile{position:sticky;top:var(--s101-header-bottom,88px);border:1px solid #d9e8ef;border-radius:18px;padding:18px;background:#fff}.s101-profile h2{font-size:20px}.s101-profile .btn{display:flex;width:100%;margin-top:12px;justify-content:center}.s101-geo-row{margin:12px 0}.s101-geo-row small{display:block;color:#657581;margin-bottom:6px}.t-d,.t-m{display:inline-flex;gap:6px;align-items:center;border-radius:14px;padding:5px 9px;background:#edf7fd;font-size:14px;max-width:100%;overflow-wrap:anywhere;margin:3px 0}.t-m.l1{--lc:#d65353}.t-m.l2{--lc:#267abd}.t-m.l3{--lc:#36945f}.t-d{color:#287bb4}.t-m{color:var(--lc,#287bb4)}.t-d .i,.t-m .i{width:18px;height:18px;flex:none}.s101-doctor-rating{margin-top:20px;border-top:1px solid #d9e8ef;padding-top:12px}.s101-doctor-rating h3{font-size:18px}.s101-doctor-rating .s101-vote-form{display:flex;flex-wrap:wrap;gap:8px}.s101-location{display:flex;gap:16px;padding:16px;border:1px solid #d9e8ef;border-radius:16px;margin:12px 0}.s101-location-photo{flex:0 0 120px}.s101-location-photo img{width:120px;height:100px;object-fit:cover;border-radius:12px}.s101-location>div{min-width:0}.s101-location h3{margin:0}.s101-characteristics,.s101-directions{padding:18px;border:1px solid #d9e8ef;border-radius:16px;margin:20px 0}.s101-directions .i{width:20px;height:20px;margin-right:8px}.cx-gallery-stage{position:relative;aspect-ratio:16/10;background:#eef6fa;border-radius:16px;overflow:hidden}.cx-slide{display:none;width:100%;height:100%}.cx-slide.on{display:block}.cx-slide img{width:100%;height:100%;object-fit:contain}.cx-prev,.cx-next{position:absolute;top:45%;width:40px;height:40px;border:0;border-radius:50%;background:#fff;font-size:28px;cursor:pointer}.cx-prev{left:12px}.cx-next{right:12px}.cx-counter{position:absolute;bottom:12px;right:12px;background:#fff;padding:5px 10px;border-radius:10px}.cx-thumbs{display:flex;gap:8px;overflow:auto;margin-top:10px}.cx-thumbs button{flex:none;padding:2px;border:2px solid transparent;background:none;border-radius:10px;cursor:pointer}.cx-thumbs button.on{border-color:#2f9b73}.cx-thumbs img{width:76px;height:58px;object-fit:cover;border-radius:6px}.cx-dots{display:flex;justify-content:center;gap:6px;margin:10px 0;flex-wrap:wrap}.cx-dots button{width:8px;height:8px;border-radius:50%;border:0;background:#a4c1d0;padding:0}.cx-dots button.on{background:#2f9b73}.cx-gal-w.one .cx-thumbs,.cx-gal-w.one .cx-dots,.cx-gal-w.one .cx-prev,.cx-gal-w.one .cx-next,.cx-gal-w.one .cx-counter{display:none}
@media(max-width:900px){.s101-entity-layout{grid-template-columns:minmax(0,1fr)}.s101-entity-aside{grid-row:1}.s101-profile{position:static}.s101-location-photo{flex-basis:90px}.s101-location-photo img{width:90px;height:85px}}
.s101-entity-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;margin:22px 0 32px;align-items:start}.s101-entity-hero.no-photo{grid-template-columns:1fr}.s101-entity-hero .s101-clinic-gallery{min-width:0}.s101-entity-hero .s101-clinic-gallery>h2{display:none}.s101-hero-info{min-width:0}.s101-hero-info h1{font-size:clamp(26px,3vw,40px);line-height:1.16;color:var(--ink);margin:14px 0 18px}.s101-hero-rating{margin:14px 0}.s101-hero-rating a{text-decoration:underline}.s101-hero-prices{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.s101-hero-prices span{border:1px solid var(--line2);border-radius:20px;padding:5px 10px}.s101-hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.s101-doctor-photo{min-width:0}.s101-doctor-photo img{width:100%;max-height:540px;object-fit:contain;border-radius:18px;background:var(--paper)}.s101-clinic-prices{margin:20px 0}.s101-clinic-prices .kc-pr{width:100%}.s101-clinic-prices .kc-pr table{width:100%}.s101-profile{background:linear-gradient(140deg,#fff,#f5faff)}.s101-hero-info .s101-geo-row>div{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:700px){.s101-entity-hero{grid-template-columns:1fr;gap:20px}.s101-hero-buttons .btn{flex:1 1 160px}.s101-doctor-photo img{max-height:390px}.s101-entity-hero .cx-gallery-stage{aspect-ratio:4/3}}

/* ccs return 08.10: native doctor portrait fills its panel; absent clinic photo leaves no reserved column. */
.s101-doctor-photo img{height:auto;object-fit:cover;object-position:center top}.s101-location.no-photo>div{width:100%}

/* p37: compact doctor sidebar; native data and appointment handlers retained. */
.s101-doctor-layout{position:relative;grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;margin-top:22px}
.s101-doctor-layout .s101-entity-hero{margin-top:0;gap:24px}
.s101-doctor-aside .s101-profile{padding:18px;top:var(--s101-header-bottom,88px)}
.s101-doctor-aside .s101-profile h2{margin:0 0 12px;font-size:20px;line-height:1.25}
.s101-doctor-specialties{margin:0 0 14px;font-size:14px;line-height:1.45}
.s101-compact-rating{font-size:14px;line-height:1.45;margin:12px 0}
.s101-compact-rating>span{color:#e4b124;letter-spacing:1px}.s101-compact-rating a{text-decoration:underline}
.s101-compact-clinic{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.45;margin:14px 0}
.s101-compact-clinic>.i{flex:none;width:18px;height:18px;margin-top:2px}.s101-compact-clinic>div{min-width:0}.s101-compact-clinic a{font-weight:600}.s101-compact-clinic small{display:block;color:#657581;margin-top:4px;overflow-wrap:anywhere}
.s101-compact-geo{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0;font-size:12px}
.s101-doctor-compact-actions .btn{font-size:14px;min-height:44px;margin-top:10px}
.s101-doctor-mobile-actions{display:none}
@media(max-width:900px){.s101-doctor-layout{grid-template-columns:minmax(0,1fr)}.s101-doctor-aside{grid-row:1}.s101-doctor-aside .s101-profile{position:static}.s101-doctor-aside-detail{display:none}.s101-doctor-specialties{margin-bottom:0}.s101-doctor-mobile-actions{position:fixed;display:flex;gap:8px;bottom:0;left:0;right:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 18px #17496618;z-index:80}.s101-doctor-mobile-actions .btn{flex:1;min-width:0;min-height:44px;font-size:13px;padding:9px 6px;justify-content:center;text-align:center}.s101-doctor-layout{padding-bottom:80px}}
