/* NARKOLOG-UPDATE-01: scoped additions; original regional contacts and widgets remain intact. */
.doctor-call {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 56px;
  padding: 16px 24px;
  border: 2px solid transparent;
  border-radius: 8px;
  background: #f17732;
  color: #fff;
  font: inherit;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  white-space: normal;
  cursor: pointer;
}
.doctor-call:hover { background: #db6020; color: #fff; }
.doctor-call:focus-visible { outline: 3px solid #565acf; outline-offset: 4px; }
.doctor-call[aria-busy="true"] { cursor: progress; }
.callback-status { display: block; margin: 12px 0 0; font-size: 15px; line-height: 1.5; }
.callback-status a { color: #1f2278; text-decoration: underline; white-space: nowrap; }
/* NARKOLOG-UPDATE-01-R2: full stable viewport; the header remains in normal flow. */
.hero_updated {
  display: flex;
  align-items: center;
  --hero-header-height: 117px;
  min-height: calc(100vh - var(--hero-header-height));
  min-height: calc(100svh - var(--hero-header-height));
  height: auto;
  max-height: none;
  padding: 56px 0;
  background-position: center, center, right center;
  background-size: 100% 100%, 100% 100%, contain;
  background-color: #f7f7ff;
  overflow-wrap: anywhere;
  background-image: linear-gradient(to right, #f7f7ff 14%, rgba(247,247,255,0) 35%), linear-gradient(to bottom, #f7f7ff, rgba(247,247,255,0) 12%, rgba(247,247,255,0) 85%, #f7f7ff), url("../images/hero__desktop.png");
}
.hero_updated .hero__wrapper { width: 53%; max-width: 560px; }
.hero_updated .hero__title { max-width: 100%; margin-bottom: 24px; font-size: 42px; line-height: 1.16; }
.hero_updated .hero__emergency { width: 53%; max-width: 530px; }
.hero_updated .hero__emergency-title { margin: 0 0 12px; font-size: 24px; font-weight: 700; line-height: 1.3; color: #1f2278; }
.hero_updated .hero__emergency-text { margin: 0 0 24px; font-size: 19px; line-height: 1.5; }
.hero_updated .hero__emergency .doctor-call { font-size: 18px; }
.hero_updated > .container::before { display: none; }
@media (min-width: 1000px) and (max-height: 800px) {
  .hero_updated { padding: 40px 0; }
  .hero_updated .hero__title { font-size: 40px; line-height: 1.15; margin-bottom: 20px; }
  .hero_updated .title-label_mobile { margin-bottom: 18px; }
  .hero_updated .hero__emergency-text { font-size: 18px; line-height: 1.45; margin-bottom: 20px; }
}
@media (min-width: 768px) and (max-width: 999px) {
  .hero_updated { padding: 40px 0; }
  .hero_updated .hero__wrapper, .hero_updated .hero__emergency { width: 52%; }
  .hero_updated .hero__title { font-size: 32px; line-height: 1.18; margin-bottom: 20px; }
  .hero_updated .title-label_mobile { font-size: 16px; margin-bottom: 18px; }
  .hero_updated .hero__emergency-title { font-size: 21px; }
  .hero_updated .hero__emergency-text { font-size: 17px; margin-bottom: 20px; }
  .hero_updated .hero__emergency .doctor-call { font-size: 16px; }
}
@media (max-width: 767px) {
  .hero_updated { --hero-header-height: 107px; padding: 24px 0 28px; background-image: none; }
  .hero_updated > .container { display: grid; grid-template-areas: "intro" "portrait" "action"; row-gap: 16px; }
  .hero_updated .hero__wrapper { grid-area: intro; width: 100%; max-width: none; min-height: 0; justify-content: flex-start; }
  .hero_updated .hero__title { max-width: 100%; margin-bottom: 0; font-size: clamp(25px, 6.7vw, 29px); line-height: 1.16; }
  .hero_updated .hero__title br, .hero_updated .title-label_mobile br { display: none; }
  .hero_updated .title-label_mobile { max-width: 100%; padding: 0; margin-left: 0; margin-bottom: 10px; font-size: 13px; font-style: normal; line-height: 1.4; }
  .hero_updated > .container::before {
    content: "";
    display: block;
    grid-area: portrait;
    height: clamp(230px, 65vw, 300px);
    border-radius: 8px;
    background-image: url("../images/hero.png");
    background-size: min(100%, 480px) auto;
    background-position: center 55%;
    background-repeat: no-repeat;
  }
  .hero_updated .hero__emergency { grid-area: action; width: 100%; max-width: none; padding: 0; background: none; }
  .hero_updated .hero__emergency-title { font-size: 21px; margin-bottom: 12px; }
  .hero_updated .hero__emergency-text { font-size: 16px; line-height: 1.5; margin-bottom: 20px; }
  .hero_updated .hero__emergency .doctor-call { width: 100%; padding: 14px 76px 14px 14px; font-size: 16px; }
 }
@media (max-width: 359px) {
  .hero_updated { padding: 20px 0 24px; }
  .hero_updated > .container { row-gap: 12px; }
  .hero_updated .hero__title { font-size: 24px; }
  .hero_updated .title-label_mobile { font-size: 12.5px; }
  .hero_updated > .container::before { height: 190px; }
  .hero_updated .hero__emergency-title { font-size: 20px; }
  .hero_updated .hero__emergency-text { line-height: 1.4; }
}
.home-doctor .introduce { margin-top: 0 !important; }
.main__section.home-doctor { margin-top: 64px; }
.home-reviews { margin-bottom: 60px; }
.patient-reviews { width: 100%; min-width: 0; }
.patient-reviews .sw-app { width: 100%; max-width: 100%; min-width: 0; }
.container_service > .main__inner { min-width: 0; width: 100%; }
/* NARKOLOG-UPDATE-01-R3: 28 + 1px divider + 27 = 56px between service and contact groups. */
.container_service .side-menu__footer { margin-top: 28px; padding-top: 27px; }
.prices th[colspan] { background: #565acf; color: #fff; }
@media (max-width: 767px) {
  .doctor-call { font-size: 15px; padding: 14px 18px; }
  .main__section.home-doctor { margin-top: 40px; }
  /* 22 + 1px divider + 21 = 44px on mobile; link spacing stays unchanged. */
  .container_service .side-menu__footer { margin-top: 22px; padding-top: 21px; }
  .prices td, .prices th { padding: 10px; }
  .prices td:last-child, .prices th:last-child:not([colspan]) { width: 100px; white-space: nowrap; }
  .home-reviews { margin-bottom: 40px; }
}
/* Keep the floating Envybox control; decorative waves stay within its bounds. */
.callbackkiller.cbk-phone.cbk-phone-waves .cbk-phone-circle,
.callbackkiller.cbk-phone.cbk-phone-waves .cbk-phone-second_circle,
.callbackkiller.cbk-phone.cbk-phone-waves .cbk-phone-third_circle {
  animation-name: narkolog-phone-wave !important;
}
@keyframes narkolog-phone-wave {
  0%, 42.86% { opacity: .5; transform: scale(.6); }
  100% { opacity: 0; transform: scale(1); }
}
/* The original mobile price-banner filename is absent; use its existing regional banner asset. */
.hero-inner_prices { background-image: url("../images/hero-inner-prices_desktop.png"); }
/* Envybox's stock 340px minimum otherwise exceeds a 320px phone viewport. */
@media (max-width: 359px) {
  .callbackkiller.cbk-window { min-width: 0 !important; max-width: 100vw !important; }
  .cbk-window.callbackkiller-mobile .cbk-forms .cbk-form { max-width: calc(100vw - 40px) !important; }
}
