/* Original archived CSS remains the design authority. Only new content states. */
/* Filled buttons keep the original white label inside article link styles too. */
body .btn:is(.btn--pink, .btn--blue, .btn--gradient),
body .btn:is(.btn--pink, .btn--blue, .btn--gradient):is(:visited, :hover, :focus, :active) {
  color: #fff;
  text-decoration: none;
}
body .reception-js.btn--pink { font-weight: 700; }
body .reception-js.btn:focus-visible { outline: 2px solid #024b76; outline-offset: 4px; }
.clinic-care-points .advantages__item-value { font-size: clamp(18px, 2vw, 28px); line-height: 1.25; min-height: 2.5em; display: flex; align-items: center; justify-content: center; }
.clinic-care-points .advantages__item-text { font-size: 18px; line-height: 1.4; }
@media (max-width: 600px) {
  .clinic-care-points .advantages__item-value { font-size: clamp(18px, 5vw, 22px); }
  .clinic-care-points .advantages__item-text { font-size: 15px; }
}
.clinic-diagnostics-page .price__table-block { width: 100%; }
.clinic-diagnostics-page .ch_anchor_link { scroll-margin-top: 110px; }
.clinic-diagnostics-page .equipment-slider__img img { width: 100%; height: 210px; object-fit: contain; mix-blend-mode: multiply; }
.clinic-diagnostics-page ~ .bottom-blocks .footer-forms { padding-top: 48px; }
.clinic-languages { display: flex; align-items: center; gap: 8px; }
.clinic-mobile-language { display: none; }
.clinic-languages a { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; color: #287fa8; font-size: 12px; text-decoration: none; }
.clinic-languages a[aria-current] { font-weight: 700; border-bottom: 2px solid #db65bc; }
.clinic-languages a:focus-visible { outline: 2px solid #007fc2; outline-offset: 3px; }
.mobile-menu > .clinic-languages { padding: 12px 25px; }
.clinic-doctor-photo { min-height: 300px; background: #cbd8df; }
.specialists > .container > .head-block { margin-bottom: 36px; }
@media (max-width: 767px) {
  .specialists > .container > .head-block { margin-bottom: 28px; }
  .clinic-service-related .swiper-wrapper { align-items: flex-start; }
  .clinic-service-related .swiper-slide,
  .clinic-service-related .methodology-item,
  .clinic-service-related .methodology-item__inner { height: auto; }
  .clinic-service-related .methodology-item__btn-container { margin-bottom: 14px; }
}
.specialist-item--vertiacal .clinic-doctor-photo { height: 310px; }
.specialist-item__name, .specialist-item__position, .specialist-item__experience { overflow-wrap: anywhere; }
.services-main__item { white-space: normal; height: auto; }
.clinic-lenses { margin-top: 12px; font-size: 14px; line-height: 1.5; }
.clinic-price-value { font-variant-numeric: tabular-nums; }
/* Source tables hid the last discount column; the new catalog has two columns. */
.price-table .clinic-price-value:last-child { display: table-cell !important; }
.footer__adress a[href^="mailto:"] { overflow-wrap: anywhere; }
/* Article markup and components use the original service page styles. */
.clinic-service-page .content_block_fix { width: 100%; }
.clinic-service-page { display: block; }
.clinic-service-page .service-first-screen { align-items: flex-start; }
.clinic-service-page .clinic-service-description { margin: 0 0 28px; line-height: 1.5; }
.clinic-service-page .service-first-screen__img.clinic-service-photo { margin: 0; }
.clinic-service-page .service-first-screen__img img { width: 100%; height: auto; }
.clinic-service-page .service-first-screen__price { min-width: 0; }
.clinic-service-page .service-first-screen__price span { overflow-wrap: anywhere; }
.clinic-service-page .price__table-block { width: 100%; }
.clinic-service-page .clinic-service-section + .clinic-service-section { margin-top: 64px; }
.clinic-service-page .head-block__title { min-width: 0; overflow-wrap: anywhere; }
.clinic-service-page .clinic-service-section .head-block { margin-bottom: 32px; }
.clinic-service-page ~ .bottom-blocks .footer-forms { padding-top: 48px; }
.clinic-service-section { scroll-margin-top: 100px; }
.clinic-service-photo { max-width: 800px; margin: 30px auto; text-align: center; }
.clinic-service-photo img { display: block; width: 100%; height: auto; border-radius: 12px; }
.clinic-service-photo figcaption { margin-top: 8px; font-size: 12px; color: #747474; }
.clinic-service-price .price_block_dop_text a { overflow-wrap: anywhere; }
.clinic-service-related .methodology-item__img { aspect-ratio: 3 / 2; object-fit: cover; }
@media (max-width: 767px) {
  .clinic-diagnostics-page ~ .bottom-blocks .footer-forms { padding-top: 32px; }
  .clinic-service-section { scroll-margin-top: 130px; }
  .clinic-service-price .price__td:first-child { flex-wrap: wrap; }
  .clinic-service-price .clinic-lenses { flex-basis: 100%; }
}
@media (max-width: 767px) {
  .price-table .clinic-price-value:last-child { display: flex !important; }
  .clinic-mobile-language { display: block; margin-left: auto; }
  .header__row > .clinic-languages { margin-left: auto; margin-right: 10px; }
  .clinic-doctor-photo { min-height: 240px; }
}

/* Horizontal logo with a separate high-resolution eye symbol. */
.logo__image, .footer__logo-img {
  display: flex;
  align-items: center;
  gap: 20px;
  background: none;
  text-decoration: none;
}
.clinic-brand-symbol {
  display: block;
  width: 76px;
  height: 58px;
  flex: 0 0 76px;
  background: url('./images/svit-ochey-symbol-384.png') center / contain no-repeat;

}
.clinic-brand-copy { display: flex; flex-direction: column; align-items: flex-start; color: #193b70; min-width: 0; text-align: left; }
.clinic-brand-name { font-size: 26px; font-weight: 700; line-height: 1.1; text-transform: uppercase; white-space: nowrap; }
.clinic-brand-subtitle { font-size: 13px; line-height: 1.3; margin-top: 3px; white-space: nowrap; }
@media (max-width: 767px) {
  .logo__image { gap: 12px; }
  .header__logo .clinic-brand-name { font-size: 18px; }
  .header__logo .clinic-brand-subtitle { font-size: 10px; }
  .header__logo .clinic-brand-symbol { width: 54px; height: 42px; flex-basis: 54px; background-size: contain; background-position: center; }
}

@media (min-width: 768px) {
  .preheader_new .header__logo { width: 280px; height: 58px; }
  .footer__logo { width: 280px; }
  .footer__logo-img { flex-wrap: nowrap; }
}
@media (max-width: 767px) {
  .header__logo { width: 190px; flex-shrink: 0; }
  .header__row { flex-wrap: wrap; }
  .clinic-mobile-language { width: 100%; display: flex; justify-content: flex-end; }
}

@media (min-width: 1200px) {
  .footer__left { width: 280px; }
}
@media (max-width: 767px) {
  .footer__logo { width: 280px; height: 58px; }
  .footer__left { flex-wrap: wrap; gap: 20px; }
}


/* Stable scrolling: keep the header in document flow at every breakpoint. */
html { scroll-behavior: smooth; scroll-padding-top: var(--clinic-header-height, 116px); scrollbar-gutter: stable; }
body, body.fixed-header { padding-top: 0 !important; }
.wrapper { overflow: clip; }
.header, .header.sticky { position: sticky; top: 0; transform: none; transition: box-shadow 200ms ease; }
[id] { scroll-margin-top: 16px; }
.clinic-control-icon { width: 23px; height: 23px; fill: none !important; stroke: currentColor; }
.header__buttons-item-icon { color: #fff; }
.burger, .header__buttons-item-icon { cursor: pointer; }
.burger:focus-visible, .header__buttons-item-icon:focus-visible, .ch-contents a:focus-visible { outline: 2px solid #007fc2; outline-offset: 4px; }
.swiper-wrapper { transition-timing-function: cubic-bezier(.22, 1, .36, 1); }
[data-aos].aos-init { transition-duration: 800ms !important; transition-delay: 0ms !important; transition-timing-function: cubic-bezier(.22, 1, .36, 1) !important; }
[data-aos^="fade"].aos-init:not(.aos-animate) { transform: translate3d(0, 20px, 0); }
[data-aos]:not(.aos-init) { opacity: 1; transform: none; }
.clinic-motion-ready .clinic-home-hero { animation: clinic-hero-entry 1000ms cubic-bezier(.22, .61, .36, 1); }
@keyframes clinic-hero-entry { from { opacity: 0; transform: translate3d(0, 28px, 0); } to { opacity: 1; transform: none; } }
@keyframes clinic-hero-fade { from { opacity: .2; } to { opacity: 1; } }

@media (max-width: 1024px) {
  .header, .header.sticky { padding: 10px 0; }
  .preheader { display: none; }
  .header__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 12px; }
  .header__logo { display: block; grid-row: 1; grid-column: 1 / -1; width: auto; min-width: 0; max-width: none; padding-right: 56px; margin: 0; height: auto; }
  .header__logo .logo__image { gap: 10px; }
  .header__logo .clinic-brand-symbol { width: 48px; height: 40px; flex-basis: 48px; }
  .header__logo .clinic-brand-name { font-size: 18px; }
  .header__logo .clinic-brand-subtitle { font-size: 10px; white-space: normal; }
  .header__row .burger { grid-row: 1; grid-column: 2; justify-self: end; width: 44px; height: 44px; margin: 0; padding: 12px 10px; box-sizing: border-box; }
  .header__buttons { grid-row: 2; grid-column: 1; display: flex; gap: 10px; width: auto; margin: 0; }
  .header__buttons-item { margin: 0; }
  .header__buttons-item-icon { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
  .clinic-mobile-language { grid-row: 2; grid-column: 2; display: block; width: auto; margin: 0; }
  .clinic-mobile-language .clinic-languages { gap: 2px; }
  .clinic-mobile-language a { min-width: 38px; min-height: 44px; }
  .mobile-menu { position: fixed; top: var(--clinic-header-height, 116px); left: 0; right: 0; overflow-y: auto; height: calc(100dvh - var(--clinic-header-height, 116px)); max-height: calc(100dvh - var(--clinic-header-height, 116px)); overscroll-behavior-y: contain; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  .mobile-menu__dropdown-icon .icon { width: 14px; height: 9px; }
  .mobile-menu.clinic-menu-open { display: block; animation: clinic-menu-in 220ms ease-out; }
  .mobile-menu__nav a { overflow-wrap: anywhere; }
  .mobile-menu__nav > ul > li > a { min-height: 44px; box-sizing: border-box; padding-right: 64px; }
  .mobile-menu__dropdown-icon { min-width: 40px; min-height: 40px; }
  .mobile-buttons { max-width: calc(100vw - 32px); }
  .block_contents .container { padding-right: 15px; }
  .block_contents .ch-contents { overflow: visible; display: block; }
  .block_contents .ch-contents > div { display: flex; flex-wrap: wrap; gap: 10px; max-width: 100%; }
  .block_contents .ch-contents > div > div { min-width: 0; max-width: 100%; margin: 0; }
  .block_contents .ch-contents a { white-space: normal; overflow-wrap: anywhere; max-width: 100%; min-height: 44px; box-sizing: border-box; padding: 11px 18px; line-height: 1.4; }
  .items-menu { overflow: visible; }
  .items-menu__inner { flex-wrap: wrap; gap: 10px; padding: 0 15px; }
  .items-menu__inner li { min-width: 0; max-width: 100%; }
  .items-menu__item { margin: 0; min-height: 44px; white-space: normal; }
  .service-menu { overflow: visible; }
  .service-menu__inner, .service-menu__inner > ul { flex-wrap: wrap; min-width: 0; max-width: 100%; gap: 10px; }
  .service-menu__inner > ul > li { padding: 0; min-width: 0; max-width: 100%; }
}
@keyframes clinic-menu-in { from { opacity: .5; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

@media (max-width: 767px) {
  .clinic-service-page .clinic-service-section + .clinic-service-section { margin-top: 48px; }
  .clinic-service-page .clinic-service-section .head-block { margin-bottom: 24px; }
  .clinic-service-page ~ .bottom-blocks .footer-forms { padding-top: 32px; }
  main, .container, .content-block, .content_block, .content_block2 { min-width: 0; }
  main h1 { font-size: clamp(28px, 7.5vw, 36px); line-height: 1.18; overflow-wrap: anywhere; }
  main h2, .head-block__title, .block-text-title__title { line-height: 1.2; overflow-wrap: anywhere; }
  p, .price__link, .equipment-slider__name, .equipment-slider__text, .block__item__title { overflow-wrap: anywhere; }
  .btn { max-width: 100%; box-sizing: border-box; white-space: normal; height: auto; min-height: 44px; line-height: 1.35; }
  .main-slider__stock, .main-slider__stock-value, .main-slider__stock-text { max-width: 100%; overflow-wrap: anywhere; }
  .main-slider__stock-value { line-height: 1.25; }
  .main-slider .swiper-slide { height: auto; }
  .main-slider__item { box-sizing: border-box; }
  .main-slider__btn { padding-left: 20px; padding-right: 20px; }
  .main-slider__arrow { min-width: 44px; min-height: 44px; }
  .head-block { min-width: 0; }
  .head-block__btn-mobile-block, .main-page .head-block__btn-mobile-block { width: fit-content; max-width: 100%; min-width: 0; padding: 0 8px; box-sizing: border-box; }
  .head-block__btn-mobile-block::before, .head-block__btn-mobile-block::after { min-width: 0; flex-shrink: 1; }
  .head-block__title { min-width: 0; }
  .price__table-block { max-width: 100%; }
  .price__td, .price__th { min-width: 0; overflow-wrap: anywhere; }
  .price__link { max-width: 100%; }
  .price_block_dop { max-width: 100%; box-sizing: border-box; flex-wrap: wrap; gap: 12px; }
  .price_block_dop > * { min-width: 0; max-width: 100%; }
  .form__input, .form__textarea, input[type="search"] { font-size: 16px; max-width: 100%; box-sizing: border-box; }
  .preview-status { line-height: 1.5; overflow-wrap: anywhere; }
  .fancybox-content { max-width: calc(100vw - 24px); box-sizing: border-box; }
  .b-modal { max-width: calc(100vw - 24px); box-sizing: border-box; }
  .b-modal input, .b-modal textarea { font-size: 16px; line-height: 1.4; }
  .footer__left, .footer__right, .footer__menu, .footer__adress { min-width: 0; max-width: 100%; }
  .footer__logo { max-width: 100%; }
  .footer .clinic-brand-subtitle { white-space: normal; }
  .footer { padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  .clinic-service-photo { margin: 24px 0; }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-clinic-motion="full"]) { scroll-behavior: auto; }
  html:not([data-clinic-motion="full"]) [data-aos].aos-init { opacity: 1 !important; transform: none !important; transition: none !important; }
  html:not([data-clinic-motion="full"]) .swiper-wrapper { transition-duration: 0ms !important; }
  html:not([data-clinic-motion="full"]) .mobile-menu.clinic-menu-open { animation: none; }
  html:not([data-clinic-motion="full"]).clinic-motion-ready .clinic-home-hero { animation-name: clinic-hero-fade; animation-duration: 650ms; }
}

.clinic-about-photo { display: block; }
.clinic-about-photo img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
