/* Shifobakhsh 46.48 — public doctors carousel only */
.doctors-section{position:relative;isolation:isolate;overflow:hidden;padding:72px 0 78px;background:linear-gradient(145deg,#f0f9f7 0%,#f8fcfc 55%,#eaf6f5 100%)}
.doctors-section:before,.doctors-section:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
.doctors-section:before{width:410px;height:410px;right:-180px;top:-210px;background:radial-gradient(circle,rgba(16,153,139,.14),transparent 70%)}
.doctors-section:after{width:380px;height:380px;left:-230px;bottom:-200px;background:radial-gradient(circle,rgba(43,161,184,.11),transparent 70%)}
.doctors-section .sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}
.doctors-section .sectionhead h2{letter-spacing:-.035em}
.doctors-section .sectionhead .kicker{letter-spacing:.14em}
.doctors-carousel-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.doctors-carousel-controls button{display:grid;place-items:center;width:45px;height:45px;padding:0;border:1px solid #c5e2dd;border-radius:50%;background:#fff;color:#117f77;font-size:23px;box-shadow:0 5px 18px rgba(18,91,84,.08);cursor:pointer;transition:background .22s,color .22s,transform .22s,box-shadow .22s,border-color .22s}
.doctors-carousel-controls button:not(:disabled):hover{background:#0b9487;color:#fff;border-color:#0b9487;transform:translateY(-3px);box-shadow:0 9px 22px rgba(11,148,135,.22)}
.doctors-carousel-controls button:focus-visible,.doctors-carousel-track:focus-visible,.doctors-carousel-dots button:focus-visible{outline:3px solid #1aa99a;outline-offset:3px}
.doctors-carousel-controls button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}
.doctors-carousel-track{display:flex;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:3px;scroll-behavior:smooth;scrollbar-width:none;padding:9px 4px 27px;margin:0 -4px;-webkit-overflow-scrolling:touch}
.doctors-carousel-track::-webkit-scrollbar{display:none}
.doctor-card{position:relative;flex:0 0 calc((100% - 60px)/4);min-width:0;scroll-snap-align:start;overflow:hidden;border:1px solid #e1eeeb;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(18,67,70,.07);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;animation:doctor-card-enter .65s both;animation-delay:calc(var(--doctor-order,0) * 75ms)}
.doctor-card:hover{transform:translateY(-7px);border-color:#b5ded7;box-shadow:0 18px 36px rgba(18,91,84,.16)}
.doctor-card:before{content:"";position:absolute;z-index:2;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#14a898,#56c8ba);opacity:0;transition:opacity .25s}
.doctor-card:hover:before{opacity:1}
.doctor-card img,.doctor-card .doctor-placeholder{display:block;width:100%;height:252px;object-fit:cover;object-position:center top;background:#e2f3f0;transition:transform .5s ease,filter .35s ease}
.doctor-card:hover img{transform:scale(1.045);filter:saturate(1.05)}
.doctor-card .doctor-placeholder{display:grid;place-items:center;font-size:60px;color:#149d90;background:linear-gradient(145deg,#e3f5f1,#cfe9e4)}
.doctor-card-body{position:relative;z-index:3;min-height:145px;padding:19px 19px 21px;background:#fff}
.doctor-card h3{margin:0 0 10px;color:#173b42;font-size:17px;line-height:1.4;font-weight:750;overflow-wrap:anywhere}
.doctor-card p{margin:7px 0;color:#5e7b82;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.doctor-card .doctor-years{display:inline-block;margin-top:10px;padding:6px 10px;border-radius:30px;background:#e7f7f2;color:#087c70;font-size:12px;font-weight:700}
.doctors-carousel-footer{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:3px}
.doctors-carousel-dots{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px}
.doctors-carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:#b9d7d2;cursor:pointer;transition:width .22s,background .22s}
.doctors-carousel-dots button[aria-current="true"]{width:25px;background:#0c9488}
.doctors-carousel-status{color:#5a7c80;font-size:12px;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
@keyframes doctor-card-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:960px){.doctors-section{padding:58px 0 64px}.doctor-card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:600px){.doctors-section{padding:46px 0 55px}.doctors-section .sectionhead{align-items:center;gap:10px}.doctors-carousel-controls button{width:39px;height:39px;font-size:20px}.doctors-carousel-track{gap:14px}.doctor-card{flex-basis:84%}.doctor-card img,.doctor-card .doctor-placeholder{height:275px}.doctor-card-body{min-height:135px;padding:17px}}
@media(prefers-reduced-motion:reduce){.doctors-carousel-track{scroll-behavior:auto}.doctor-card{animation:none;transition:none}.doctor-card:hover{transform:none}.doctor-card img,.doctors-carousel-controls button,.doctors-carousel-dots button{transition:none}.doctor-card:hover img{transform:none}}


/* Шаг 46.49: имя и специальность поверх нижней части фотографии. */
.doctors-section .doctor-card{
  height:320px;
  background:#123d43;
  isolation:isolate;
}
.doctors-section .doctor-card img,
.doctors-section .doctor-card .doctor-placeholder{
  width:100%;height:100%;object-fit:cover;object-position:center top;
}
.doctors-section .doctor-card::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(5,25,33,.03) 25%,rgba(4,28,35,.24) 52%,rgba(3,26,34,.88) 100%);
  transition:background .35s ease,opacity .35s ease;
}
.doctors-section .doctor-card:hover::after{
  background:linear-gradient(to bottom,rgba(5,25,33,.23) 0%,rgba(4,28,35,.40) 46%,rgba(3,26,34,.94) 100%);
}
.doctors-section .doctor-card:hover img{
  transform:scale(1.045);filter:brightness(.83) saturate(1.03);
}
.doctors-section .doctor-card-body{
  position:absolute;z-index:3;left:0;right:0;bottom:0;
  min-height:0;padding:36px 18px 19px;background:transparent;
  pointer-events:none;
}
.doctors-section .doctor-card h3{
  margin:0 0 6px;color:#fff;font-size:18px;line-height:1.3;
  font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.doctors-section .doctor-card p{
  margin:5px 0 0;color:#e6f7f5;font-size:13px;line-height:1.4;
  text-shadow:0 1px 5px rgba(0,0,0,.3);
}
.doctors-section .doctor-card .doctor-years{
  margin-top:9px;padding:5px 10px;color:#fff;
  background:rgba(20,168,152,.65);border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
}
@media(max-width:600px){
  .doctors-section .doctor-card{height:340px}
  .doctors-section .doctor-card-body{padding:36px 17px 18px}
}
@media(prefers-reduced-motion:reduce){
  .doctors-section .doctor-card:hover img{transform:none}
}


/* Шаг 46.50 — усиленные правила для существующей HTML-разметки. */
body.public-site #doctors .doctors-carousel-track > .doctor-card {
  position: relative;
  display: block;
  height: 350px;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(17,139,128,.20);
  border-radius: 20px;
  background: #153c41;
  isolation: isolate;
  box-shadow: 0 12px 30px rgba(10,67,68,.13);
}
body.public-site #doctors .doctor-card > img,
body.public-site #doctors .doctor-card > .doctor-placeholder {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center 22%;
  transition: transform .5s ease, filter .4s ease;
}
body.public-site #doctors .doctor-card > .doctor-placeholder {
  display: grid;
  place-items: center;
}
body.public-site #doctors .doctor-card::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(5,24,29,.03) 22%, rgba(5,24,29,.15) 46%, rgba(5,24,29,.92) 100%);
  opacity: 1;
  transition: background .35s ease;
}
body.public-site #doctors .doctor-card > .doctor-card-body {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 46px 20px 20px;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #fff;
  pointer-events: none;
}
body.public-site #doctors .doctor-card .doctor-card-body h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.32;
  text-shadow: 0 2px 10px rgba(0,0,0,.5);
}
body.public-site #doctors .doctor-card .doctor-card-body p {
  margin: 5px 0 0;
  color: #ecfffb;
  font-size: 13px;
  line-height: 1.45;
  text-shadow: 0 1px 7px rgba(0,0,0,.55);
}
body.public-site #doctors .doctor-card .doctor-card-body .doctor-years {
  display: inline-block;
  margin-top: 10px;
  padding: 5px 10px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 99px;
  background: rgba(13,139,130,.76);
  backdrop-filter: blur(5px);
}
@media (hover: hover) {
  body.public-site #doctors .doctor-card:hover > img {
    transform: scale(1.055);
    filter: brightness(.78) saturate(1.04);
  }
  body.public-site #doctors .doctor-card:hover::after {
    background: linear-gradient(180deg, rgba(5,24,29,.18) 0%, rgba(5,24,29,.36) 48%, rgba(5,24,29,.95) 100%);
  }
}
@media (max-width: 600px) {
  body.public-site #doctors .doctors-carousel-track > .doctor-card { height: 345px; }
  body.public-site #doctors .doctor-card > .doctor-card-body { padding: 40px 17px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body.public-site #doctors .doctor-card > img { transition: none; }
  body.public-site #doctors .doctor-card:hover > img { transform: none; }
}


/* Шаг 46.51 — карточки врачей компактнее на 40% (ширина и высота). */
body.public-site .doctors-section .doctors-carousel-track { gap: 14px; }
body.public-site .doctors-section .doctors-carousel-track > .doctor-card {
  flex: 0 0 calc((100% - 60px) / 4 * .60);
  height: 192px;
  min-height: 0;
}
body.public-site .doctors-section .doctor-card-body {
  padding: 25px 11px 10px;
}
body.public-site .doctors-section .doctor-card h3 {
  font-size: 14px;
  line-height: 1.25;
  margin-bottom: 3px;
}
body.public-site .doctors-section .doctor-card p {
  font-size: 11px;
  line-height: 1.25;
  margin-top: 3px;
}
body.public-site .doctors-section .doctor-card .doctor-years {
  padding: 3px 7px;
  margin-top: 5px;
  font-size: 10px;
}
@media (max-width: 960px) {
  body.public-site .doctors-section .doctors-carousel-track > .doctor-card {
    flex-basis: calc((100% - 20px) / 2 * .60);
  }
}
@media (max-width: 600px) {
  body.public-site .doctors-section .doctors-carousel-track > .doctor-card {
    flex-basis: 60%;
    height: 204px;
  }
}


/* Шаг 46.52: фотографии без затемнения, включая наведение. */
body.public-site #doctors .doctors-carousel-track > .doctor-card::after {
  content: none;
  display: none;
}
body.public-site #doctors .doctors-carousel-track > .doctor-card > img {
  filter: none;
}
body.public-site #doctors .doctors-carousel-track > .doctor-card:hover > img {
  filter: none;
}
/* Подложка только под подписью, чтобы имя читалось без затемнения фотографии. */
body.public-site #doctors .doctors-carousel-track > .doctor-card > .doctor-card-body {
  background: rgba(10, 57, 60, .72);
  padding: 9px 11px 10px;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
@media (max-width: 600px) {
  body.public-site #doctors .doctors-carousel-track > .doctor-card > .doctor-card-body {
    padding: 9px 11px 10px;
  }
}


/* Шаг 46.53 — ровная нижняя подложка и карточки на 20% ниже. */
body.public-site #doctors .doctors-carousel-track > .doctor-card {
  height: 154px !important; /* 192px × 0.8 */
  min-height: 0 !important;
  border-radius: 15px;
}
body.public-site #doctors .doctors-carousel-track > .doctor-card > img,
body.public-site #doctors .doctors-carousel-track > .doctor-card > .doctor-placeholder {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center top;
  filter: none !important;
}
body.public-site #doctors .doctors-carousel-track > .doctor-card::after {
  content: none !important;
  display: none !important;
}
/* Одна ровная прямоугольная полоса без размытия и градиента. */
body.public-site #doctors .doctors-carousel-track > .doctor-card > .doctor-card-body {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 3;
  box-sizing: border-box;
  width: 100%;
  min-height: 0 !important;
  padding: 7px 9px 8px !important;
  background: rgba(8, 65, 69, .82) !important;
  background-image: none !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.public-site #doctors .doctor-card .doctor-card-body h3 {
  margin: 0 0 3px;
  font-size: 12px;
  line-height: 1.2;
  color: #fff;
}
body.public-site #doctors .doctor-card .doctor-card-body p {
  margin: 2px 0 0;
  font-size: 10px;
  line-height: 1.2;
  color: #effffb;
}
body.public-site #doctors .doctor-card .doctor-card-body .doctor-years {
  margin-top: 4px;
  padding: 2px 6px;
  font-size: 9px;
}
@media (max-width: 600px) {
  body.public-site #doctors .doctors-carousel-track > .doctor-card {
    height: 163px !important; /* 204px × 0.8 */
  }
}


/* Шаг 46.54 — светлая подпись без затемнения, высота +20% к шагу 46.53. */
body.public-site #doctors .doctors-carousel-track > .doctor-card {
  height: 185px !important; /* 154 × 1.2 ≈ 185 */
  background: #fff !important;
  border-radius: 15px;
}
body.public-site #doctors .doctors-carousel-track > .doctor-card::after {
  content: none !important;
  display: none !important;
}
body.public-site #doctors .doctors-carousel-track > .doctor-card > img,
body.public-site #doctors .doctors-carousel-track > .doctor-card > .doctor-placeholder {
  height: calc(100% - 68px) !important;
  object-fit: cover;
  object-position: center top;
  filter: none !important;
}
body.public-site #doctors .doctors-carousel-track > .doctor-card:hover > img {
  filter: none !important;
}
body.public-site #doctors .doctors-carousel-track > .doctor-card > .doctor-card-body {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 68px !important;
  min-height: 0 !important;
  padding: 7px 10px !important;
  background: #fff !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  overflow: hidden;
  pointer-events: none;
}
body.public-site #doctors .doctor-card .doctor-card-body h3 {
  color: #163e43 !important;
  text-shadow: none !important;
  font-size: 12px;
  line-height: 1.15;
  margin: 0 0 3px;
}
body.public-site #doctors .doctor-card .doctor-card-body p {
  color: #536f76 !important;
  text-shadow: none !important;
  font-size: 10px;
  line-height: 1.15;
  margin: 2px 0 0;
}
body.public-site #doctors .doctor-card .doctor-card-body .doctor-years {
  color: #087c70 !important;
  background: #e7f7f2 !important;
  border: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  margin-top: 3px;
  padding: 2px 6px;
  font-size: 9px;
}
@media (max-width: 600px) {
  body.public-site #doctors .doctors-carousel-track > .doctor-card {
    height: 196px !important; /* 163 × 1.2 ≈ 196 */
  }
}


/* Шаг 46.55: высота +20%, больше врачей видно одновременно. */
body.public-site #doctors .doctors-carousel-track {
  gap: 12px !important;
  padding-bottom: 18px;
}
body.public-site #doctors .doctors-carousel-track > .doctor-card {
  height: 222px !important; /* 185px × 1.2 */
  flex: 0 0 calc((100% - 72px) / 7) !important;
  min-width: 0 !important;
}
body.public-site #doctors .doctors-carousel-track > .doctor-card > img,
body.public-site #doctors .doctors-carousel-track > .doctor-card > .doctor-placeholder {
  height: calc(100% - 68px) !important;
}
@media (max-width: 1200px) {
  body.public-site #doctors .doctors-carousel-track > .doctor-card {
    flex-basis: calc((100% - 60px) / 6) !important;
  }
}
@media (max-width: 950px) {
  body.public-site #doctors .doctors-carousel-track > .doctor-card {
    flex-basis: calc((100% - 36px) / 4) !important;
  }
}
@media (max-width: 650px) {
  body.public-site #doctors .doctors-carousel-track > .doctor-card {
    height: 235px !important; /* 196px × 1.2 */
    flex-basis: calc((100% - 12px) / 2) !important;
  }
}
@media (max-width: 380px) {
  body.public-site #doctors .doctors-carousel-track > .doctor-card {
    flex-basis: 72% !important;
  }
}
