/* Shared fixes from the approved medimportservice.ru register. Existing brand tokens are retained. */
:root {
  --ui-control-height: 48px;
  --ui-control-radius: 14px;
  --ui-z-header: 60;
  --ui-z-widget: 70;
  --ui-z-panel: 80;
  --ui-z-dialog: 100;
}
body :is(a,button,input,textarea,select):focus-visible { outline: 3px solid var(--blue-400); outline-offset: 3px; }
body :is(button,.btn):disabled { cursor: not-allowed; opacity: var(--disabled-opacity); }
body :is(.btn,.form__submit,.cart-form__submit) { min-height: var(--ui-control-height); height: auto; border-radius: var(--ui-control-radius); white-space: normal; text-align: center; line-height: 1.3; }
body :is(.form__input,.form__select,.cart-form__input) { min-height: var(--ui-control-height); border-radius: var(--ui-control-radius); font: inherit; }
body :is(.form__textarea,.cart-form__textarea) { border-radius: var(--ui-control-radius); font: inherit; line-height: 1.5; }
body :is(input,textarea)::placeholder { color: var(--gray-500); opacity: 1; }
body :is(h1,h2,h3,.section__title,.modal__title) { overflow-wrap: anywhere; }
body .site-sticky { z-index: var(--ui-z-header); }
body .header__inner { min-width: 0; }
body .header__cart-btn,body .header__search-btn { flex-shrink: 0; }
body .promo-strip__text { display: block; overflow: visible; -webkit-line-clamp: unset; line-clamp: unset; }
body .socials__link[data-compare-link] { position: relative; }
body .socials__count { position: absolute; right: -5px; top: -6px; min-width: 18px; height: 18px; padding: 0 4px; background: var(--blue-400); color: white; border-radius: 9px; font-size: 11px; font-weight: 700; text-align: center; line-height: 18px; }
body .socials__count[hidden] { display: none; }
body .home-hero-static__benefits { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 620px; gap: 20px; }
body .home-hero-static__benefit { min-width: 0; align-items: center; gap: 12px; line-height: 1.35; }
body .home-hero-static__benefit-icon { width: 42px; height: 42px; flex-basis: 42px; box-shadow: none; }
body .home-hero-static__benefit-icon svg { width: 24px; height: 24px; }
body .home-hero-static__btn,body .home-hero-static__catalog-link { height: auto; max-height: none; min-height: 56px; padding-block: 16px; white-space: normal; line-height: 1.35; }
body .home-hero-static__content { overflow: visible; }
body .main-about__title { margin-bottom: 28px; letter-spacing: -.02em; line-height: 1.18; }
body .main-about__content { column-gap: clamp(24px,4vw,64px); row-gap: 20px; }
body .main-about__link { justify-self: start; align-self: start; grid-column: 1; grid-row: 4; margin-top: 8px; }
body .section__footer { display: flex; justify-content: flex-start; margin-top: 28px; }
body .task-list__items { align-items: stretch; gap: 20px; }
body .task-list__item { height: 100%; border-radius: var(--ui-control-radius); padding: 24px; }
body .task-list__icon,body .advantages__icon { width: 44px; height: 44px; object-fit: contain; flex-shrink: 0; }
body .advantages__items { align-items: stretch; }
body .advantages__item { height: 100%; padding: 24px; border-radius: var(--ui-control-radius); }
body .inline-form__inner { padding: clamp(24px,4vw,56px); gap: 28px; }
body .brands__item { display: flex; align-items: center; justify-content: center; height: 76px; }
body .brands__image { width: 100%; height: 64px; object-fit: contain; object-position: center; opacity: 1; }
body .brand-detail__title { color: var(--gray-700); margin-bottom: 28px; line-height: 1.2; }
body .footer__links { display: flex; padding-block: 24px; gap: 24px; font-size: 16px; }
body .card-product { display: flex; flex-direction: column; height: 100%; border-radius: var(--ui-control-radius); }
body .card-product__title,body .card-product__title-link { display: block; height: auto; max-height: none; overflow: visible; -webkit-line-clamp: unset; line-clamp: unset; white-space: normal; overflow-wrap: anywhere; line-height: 1.35; }
body .card-product__description { display: block; min-height: 0; max-height: none; height: auto; overflow: visible; -webkit-line-clamp: unset; line-clamp: unset; line-height: 1.45; }
body .card-product__info { gap: 16px; }
body .card-product__purchase { margin-top: auto; gap: 10px; }
body .card-product__price { min-height: 29px; line-height: 1.3; }
body .card-product__price--request { font-size: 18px; }
body .card-product__availability { min-height: 28px; white-space: normal; text-transform: none; }
body :is(.card-product__availability--in-stock,.product-detail__availability--in-stock) { color: #067647; }
body :is(.card-product__availability--on-order,.product-detail__availability--on-order) { color: #9a3412; text-transform: none; }
body .card-product__actions--cart { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
body .card-product__sub-actions { display: contents; }
body :is(.card-product__btn-cart,.card-product__actions-btn) { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-width: 0; min-height: var(--ui-control-height); height: auto; padding: 12px 10px; border-radius: var(--ui-control-radius); font-size: 14px; line-height: 1.3; white-space: normal; }
body .card-product__btn-cart { background: var(--blue-400); color: white; border: 1px solid var(--blue-400); box-shadow: none; }
body .card-product__actions-btn.btn--outline { background: transparent; color: var(--blue-400); border: 1px solid var(--blue-400); box-shadow: none; }
body .card-product__btn-cart svg { width: 18px; height: 18px; flex: 0 0 18px; }
body .card-product__discontinued { grid-column: 1/-1; }
body .reviews__item { cursor: default; height: auto; min-height: 100%; }
body .reviews__description { display: block; overflow: hidden; line-height: 1.5; max-height: 9em; -webkit-line-clamp: unset; line-clamp: unset; }
body .reviews__item.is-expanded .reviews__description { max-height: none; overflow: visible; }
body .reviews__toggle { margin-top: 14px; min-height: 44px; color: var(--blue-400); text-decoration: underline; font-size: 15px; }
body .modal { z-index: var(--ui-z-dialog); padding: 16px; }
body .modal__content { display: flex; flex-direction: column; overflow: hidden; width: min(680px,100%); max-height: calc(100dvh - 32px); border-radius: var(--ui-control-radius); padding: 0; }
body .modal__close { position: relative; top: auto; right: auto; margin: 8px 8px 0 auto; width: 44px; height: 44px; min-width: 44px; min-height: 44px; flex-shrink: 0; }
body .modal__body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 clamp(20px,4vw,40px) 32px; }
body .modal__title { font-family: var(--font-family); font-size: clamp(22px,3vw,28px); }
body .form__input,body .form__textarea,body .form__select { font-family: var(--font-family); }
body .b24-form { font-family: var(--font-family); }
body .b24-window-popup .b24-window-popup-wrapper { border-radius: var(--ui-control-radius) !important; }
body .b24-window-popup .b24-window-close { min-width: 44px; min-height: 44px; }
body .b24-window-popup :is(.b24-form-control,.b24-form-btn) { border-radius: var(--ui-control-radius); font-family: var(--font-family); }
body .cart-drawer { z-index: var(--ui-z-dialog); }
body .cart-drawer__close { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
body .contact-widget { z-index: var(--ui-z-widget); bottom: max(20px,env(safe-area-inset-bottom)); }
body.ui-overlay-open :is(.contact-widget,.cookie-notice) { visibility: hidden; pointer-events: none; }
body .product-filter.is-active { z-index: var(--ui-z-panel); }
body .product-filter__header,body .product-filter__footer { flex-shrink: 0; }
body .product-filter__body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
body .product-comparison__table-outer { min-width: 0; max-width: 100%; }
body .product-comparison__table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
body .product-comparison__table { min-width: 100%; width: max-content; }
body :is(.product-comparison__th,.product-comparison__td) { min-width: 250px; max-width: 320px; vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
body :is(.product-comparison__th--param,.product-comparison__td--param) { position: sticky; left: 0; z-index: 2; min-width: 180px; max-width: 180px; background: var(--gray-200); }
body .product-comparison__picture { display: flex; align-items: center; justify-content: center; height: 140px; margin-bottom: 16px; }
body .product-comparison__picture img { max-width: 100%; height: 100%; object-fit: contain; }
body .product-comparison__price { margin-block: 14px; color: var(--gray-700); font-weight: 700; font-size: 18px; }
body .product-comparison__request { width: 100%; min-height: 44px; font-size: 14px; padding: 10px; }
body .product-comparison__remove { display: block; width: 44px; height: 44px; margin-left: auto; color: var(--gray-700); font-size: 28px; }
body .product-comparison__scroll-hint { display: none; margin-bottom: 12px; color: var(--gray-500); font-size: 14px; }
body .product-detail__purchase { min-width: 0; }
body .product-detail__actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; }
body .product-detail__price { min-width: 0; overflow-wrap: anywhere; }
body :is(.product-detail__btn,.product-detail__btn--cart) { min-height: var(--ui-control-height); height: auto; border-radius: var(--ui-control-radius); white-space: normal; line-height: 1.35; }
@media(max-width:1399px) {
 body .header { position: relative; }
 body .header__burger { display: block !important; }
 body .header__inner { gap: 12px; }
 body .header__nav { position: absolute; top: 100%; left: 0; right: 0; display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 16px 24px; background: var(--white); box-shadow: var(--shadow); visibility: hidden; opacity: 0; pointer-events: none; max-height: calc(100dvh - 150px); overflow-y: auto; }
 body .header__nav.is-active { visibility: visible; opacity: 1; pointer-events: auto; z-index: 1; }
 body .nav-header__list { flex-direction: column; align-items: stretch; gap: 4px; }
 body .nav-header__link { display: flex; align-items: center; min-height: 44px; padding: 10px 12px; white-space: normal; }
 body .header__logo { margin-right: auto; }
 body .header__phone { margin-left: 0; }
}
@media(max-width:768px) {
 body .promo-strip__inner { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; min-height: 0; gap: 6px; padding: 10px 0; text-align: left; }
 body .promo-strip__text { font-size: 12px; line-height: 1.4; }
 body .promo-strip__link { display: inline-block; min-height: 24px; font-size: 12px; }
 body .home-hero-static__benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; width: 100%; }
 body .home-hero-static__title { line-height: 1.16; font-size: clamp(28px,7.8vw,38px); }
 body .main-about__title { font-size: clamp(26px,6vw,36px); }
 body .main-about__link { margin-top: 20px; }
 body .task-list__item,body .advantages__item { padding: 20px; }
 body .product-comparison__scroll-hint { display: block; }
 body :is(.product-comparison__th--param,.product-comparison__td--param) { min-width: 130px; max-width: 130px; }
 body .product-detail__actions { flex-direction: column; }
}
@media(max-width:430px) {
 body .header__inner { gap: 4px; }
 body .header__logo { flex-basis: 76px; width: 76px; }
 body :is(.header__phone,.header__search-btn,.header__cart-btn,.header__burger) { width: 40px; min-width: 40px; height: 44px; }
 body .header__btn { display: none !important; }
 body .card-product__actions--cart { grid-template-columns: 1fr; }
 body .modal { padding: 8px; }
 body .modal__content { max-height: calc(100dvh - 16px); }
}
@media(prefers-reduced-motion:reduce) {
 body :is(.modal,.card-product,.header__nav,.contact-widget,.btn) { transition: none; animation: none; }
}

body:has(.cookie-notice--visible) .contact-widget { bottom: var(--cookie-notice-clearance,240px); }
body .header__mobile-callback { display: none; }
@media(max-width:1399px){body .header__mobile-callback {display: flex; width: min(100%,320px); min-height: 48px;}}

/* Product purchase controls and the two distinct final sections. */
body .product-detail__title { overflow-wrap: anywhere; line-height: 1.2; }
body .product-detail__subtitle { max-width: 75ch; line-height: 1.5; }
body .product-detail__purchase-info { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
body .product-detail__purchase-info .product-detail__price { white-space: normal; flex: 0 1 auto; }
body .product-detail__manager-note { max-width: 100%; flex: 1 1 220px; }
body .product-detail__reserved-notice { flex-basis: 100%; }
body .product-detail__buttons { display: flex; flex-direction: column; gap: 12px; }
body .product-detail__cart-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 0; }
body .product-detail__qty-control { height: 48px; border-radius: var(--ui-control-radius); flex-shrink: 0; }
body .product-detail__btn { min-height: 48px; padding: 12px 18px; flex: initial; }
body .product-detail__cart-row .product-detail__btn { flex: 1 1 160px; }
body .product-detail__buttons > .product-detail__btn { width: 100%; }
body .product-detail__tab { border-radius: var(--ui-control-radius); min-height: 48px; }
body .product-detail__tab-pane { line-height: 1.6; }
body .product-detail__prop-row { gap: 16px; padding: 16px; border-radius: 8px; align-items: start; }
body :is(.product-detail__prop-name,.product-detail__prop-value) { min-width: 0; overflow-wrap: anywhere; line-height: 1.5; }
body .product-detail__tab-pane table { width: 100%; border-collapse: collapse; table-layout: fixed; }
body .product-detail__tab-pane :is(th,td) { padding: 12px; border: 1px solid var(--gray-100); text-align: left; overflow-wrap: anywhere; }
body .product-partner { background: var(--gray-200); color: var(--gray-700); }
body .product-partner :is(.section__title--white,.section__header-text--white,.advantages__title,.advantages__description) { color: var(--gray-700); }
body .product-final-cta { margin-top: 32px; }
body .product-final-cta .cta-form--dark { background: #06154b; }
body .product-final-cta .cta-form__title { max-width: 900px; font-size: clamp(26px,4vw,44px); line-height: 1.2; overflow-wrap: anywhere; }
body .product-final-cta :is(.cta-form__title,.cta-form__text) br { display: none; }
body .product-final-cta .cta-form__btn { white-space: normal; height: auto; min-height: 48px; padding-block: 16px; line-height: 1.35; }
body .cart-drawer__item-unit-price { color: var(--gray-500); font-size: 13px; line-height: 1.4; margin-top: 8px; }
body .cart-drawer__unknown-notice { padding: 12px; margin: 12px 0; color: var(--gray-700); background: var(--gray-200); border-radius: var(--ui-control-radius); font-size: 14px; line-height: 1.5; }
body .cart-drawer__unknown-notice[hidden] { display: none; }
body .b24-window-popup :is(.b24-form-wrapper,.b24-form-control,.b24-form-btn,.b24-form-header-title) { font-family: var(--font-family) !important; }
@media(max-width:1024px) {
 body .product-filter { height: 100dvh; overflow: hidden; }
 body .product-filter__body { flex: 1 1 auto; }
}
@media(max-width:768px) {
 body .product-detail__manager-note { flex-basis: 100%; }
 body .product-detail__prop-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
 body .product-final-cta .cta-form__actions { align-items: stretch; }
}
@media(max-width:430px) {
 body .product-detail__cart-row { flex-direction: column; }
 body .product-detail__cart-row .product-detail__btn { flex: initial; width: 100%; }
 body .product-detail__qty-control { align-self: flex-start; }
}

body .product-detail__btn { font-size: 16px; line-height: 1.25; box-sizing: border-box; }

body .card-product__purchase { justify-content: flex-start; }

/* Comparison headings use a light surface for photographs and readable prices. */
body .compare-page .product-comparison__table-outer { display: block; }
body .compare-page .product-comparison__table-wrap { width: 100%; }
body .compare-page .product-comparison__table thead { background: var(--white); }
body .compare-page .product-comparison__th { background: var(--white); color: var(--gray-700); padding: 16px; }
body .compare-page .product-comparison__model-name { color: var(--blue-400); }
body .product-comparison__th--param { color: var(--gray-700); }
body .product-partner .advantages__icon svg { filter: brightness(0); opacity: .75; }
@media(max-width:768px) {
 body .compare-page :is(.product-comparison__th--param,.product-comparison__td--param) { width: 130px; min-width: 130px; max-width: 130px; padding: 12px; font-size: 14px; }
}

body:has(.header__nav.is-active) :is(.cookie-notice,.contact-widget) { visibility: hidden; pointer-events: none; }

body .compare-page { --compare-parameter-width: 180px; --compare-product-width: 280px; }
body .compare-page .product-comparison__table { table-layout: fixed; }
body .compare-page :is(.product-comparison__th,.product-comparison__td) { width: var(--compare-product-width); min-width: var(--compare-product-width); max-width: var(--compare-product-width); }
body .compare-page :is(.product-comparison__th--param,.product-comparison__td--param) { width: var(--compare-parameter-width); min-width: var(--compare-parameter-width); max-width: var(--compare-parameter-width); }
@media(max-width:768px) {
 body .compare-page { --compare-parameter-width: 110px; --compare-product-width: min(280px,calc(100vw - 152px)); }
}
