/* Сумісність верстки Eyes2Eyes з CS-Cart (розмітка блоків і штатні стилі responsive) */

/* межа блоків теми: не створює бокс, але дає точку для скидання базових стилів CS-Cart */
.e2e-scope {
    display: contents;
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    font-style: normal;
    font-size: medium;
    font-weight: normal;
    line-height: normal;
    color: CanvasText;
}
/* responsive задає div/p/li/a/h1-h6 шрифт Open Sans 13px, колір і жирність — повертаємо до поведінки браузера,
   як у статичній верстці; класи верстки (специфічність 0,1,0) далі перекривають це як завжди */
:where(.e2e-scope) :is(div, p, li, a, span, ul, ol, h1, h2, h3, h4, h5, h6, button, input, textarea, label, strong, b):where(:not([class*="ty-icon"])) {
    font-family: revert;
    font-size: revert;
    font-weight: revert;
    font-style: revert;
    line-height: revert;
    color: revert;
    text-indent: revert;
    list-style: revert;
    text-decoration: revert;
}
:where(.e2e-scope) :is(p, li) {
    padding: 0;
}
:where(.e2e-scope) :is(h1, h2, h3, h4, h5, h6) {
    margin: 0;
}
:where(.e2e-scope) a {
    text-decoration: none;
}

/* форма «в кошик / в обране» обгортає картку — не ламає flex-розкладку */
.item > form {
    display: contents;
}
.item__media-link {
    display: contents;
}

/* CS-Cart pads square and landscape product thumbnails with white; blend the
   padding into the warm card background so it does not form visible strips. */
.products-wrap .item__media .item__img,
.catalog-wrap__list .item__media .item__img {
    mix-blend-mode: multiply;
    transition: transform .36s cubic-bezier(.2, .7, .2, 1);
}
.products-wrap .item__media:is(:hover, :focus-within) .item__img,
.catalog-wrap__list .item__media:is(:hover, :focus-within) .item__img {
    transform: scale(1.035);
}
/* Match white padding inside CS-Cart's large product images to the page. */
.product-wrap__media {
    background-color: #f4f1ea;
}
.product-wrap__media .product-wrap__img,
.product-wrap__thumbs .item img {
    mix-blend-mode: multiply;
}
.product-wrap__thumbs .item {
    background-color: #f4f1ea;
}
@media (prefers-reduced-motion: reduce) {
    .products-wrap .item__media .item__img,
    .catalog-wrap__list .item__media .item__img {
        transition: none;
    }
}

/* форма товару обгортає колонку інформації — не ламає сітку сторінки товару */
.product-wrap__form {
    display: contents;
}
.product-wrap__doses input[type="radio"] {
    display: none;
}

/* кошик: поле кількості й посилання замість span/p статики */
.cart-wrap .item__qty input.item__count {
    /* The design's 6px-wide static span clips editable input values. */
    width: 3ch;
    min-width: 3ch;
    flex: 0 0 3ch;
    height: auto;
    min-height: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    padding: 0;
    text-align: center;
    font: inherit;
    line-height: inherit;
    color: inherit;
}
.cart-wrap .item__image,
.cart-wrap .item__title {
    display: block;
}
.cart-wrap .item__title {
    color: inherit;
}
.cart-wrap .item__image .item__img--empty {
    height: 100%;
}

/* порівняння: посилання «прибрати» під карткою */
.compare-wrap .item__remove {
    align-self: flex-start;
    font-size: 12px;
    line-height: 16px;
    text-decoration: underline;
    color: #7A7872;
}

/* штатні сторінки CS-Cart (профіль, вхід, оформлення) у сітці теми: span16.e2e-native з рядками bootstrap */
.row-fluid:has(> .e2e-native) {
    display: block;
    margin: 0;
    background-color: #F4F1EA;
}
.e2e-native {
    float: none;
    width: auto;
    max-width: 1230px;
    margin: 0 auto;
    padding: 32px 15px 64px;
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #2A2A2A;
}
.e2e-native :is(div, p, li, span, label, td, th):not([class*="icon"]):not([class*="flag"]) {
    font-family: inherit;
}
/* якщо основний контент — шаблон теми (порівняння тощо), обгортка не заважає: без фону, полів і bootstrap-боксів */
.row-fluid:has(> .e2e-native > .row-fluid > .main-content-grid > .e2e-scope) {
    display: contents;
}
.e2e-native:has(> .row-fluid > .main-content-grid > .e2e-scope),
.e2e-native:has(> .row-fluid > .main-content-grid > .e2e-scope) > .row-fluid,
.e2e-native:has(> .row-fluid > .main-content-grid > .e2e-scope) > .row-fluid > [class*="span"] {
    display: contents;
}
.e2e-native :is(h1, h2, h3).ty-mainbox-title,
.e2e-native .ty-mainbox-title,
.e2e-native h1 {
    margin: 0 0 24px;
    font-size: 40px;
    font-weight: 290;
    line-height: 1.05;
    letter-spacing: -.8px;
    text-transform: uppercase;
    color: #2A2A2A;
}
.e2e-native h2,
.e2e-native h3,
.e2e-native .ty-subheader {
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: none;
    color: #2A2A2A;
}
/* лише штатна розмітка: блоки теми всередині (.e2e-scope) мають власні стилі посилань і кнопок */
.e2e-native a:not(.e2e-scope a):not(.ty-btn) {
    color: #2A2A2A;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.e2e-native a:not(.e2e-scope a):not(.ty-btn):hover {
    color: #7A7872;
}
/* кнопки CS-Cart у стилі кнопок верстки */
.e2e-native :is(.ty-btn, .ty-btn__primary, .ty-btn__secondary, .ty-btn__tertiary, button[type="submit"]):not(.btn) {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 43px;
    padding: 0 32px;
    border: 0;
    border-radius: 4px;
    background: #2A2A2A;
    box-shadow: none;
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    font-size: 13px;
    font-weight: 522;
    line-height: 24px;
    text-transform: uppercase;
    text-decoration: none;
    text-shadow: none;
    color: #F4F1EA;
}
.e2e-native :is(.ty-btn__secondary, .ty-btn__tertiary):not(.btn) {
    border: 1px solid #2A2A2A;
    background: transparent;
    color: #2A2A2A;
}
.e2e-native :is(.ty-btn, .ty-btn__primary, button[type="submit"]):not(.btn):hover {
    background: #000;
    color: #F4F1EA;
}
/* поля форм CS-Cart у стилі полів оформлення */
.e2e-native :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], select, textarea):not([class*="item__"]) {
    height: 44px;
    padding: 0 15px;
    border: 1px solid #EAE6DF;
    border-radius: 4px;
    background: #fff;
    box-shadow: none;
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    font-size: 15px;
    color: #0D0D0D;
}
.e2e-native textarea:not([class*="item__"]) {
    height: auto;
    min-height: 110px;
    padding: 12px 15px;
}
.e2e-native :is(input, select, textarea):focus {
    border-color: #2A2A2A;
    outline: none;
}
.e2e-native .ty-control-group__title,
.e2e-native label {
    font-size: 13px;
    font-weight: 522;
    color: #7A7872;
}
.e2e-native .ty-login__filed,
.e2e-native .buttons-container {
    border-radius: 8px;
    background: transparent;
}

/* товар без фото — нейтральна заглушка того ж розміру */
.item__img--empty {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #EBE8E3;
}

/* картка напрямку клікабельна цілком */
.directions-wrap .item__link {
    position: absolute;
    inset: 0;
    z-index: 3;
}

/* перемикач мови в шапці */
.header-wrap__langs {
    position: relative;
    display: flex;
}
.header-wrap__lang-list {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    z-index: 5;
    display: flex;
    flex-direction: column;
    min-width: 72px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    border-radius: 4px;
    background-color: #F7F2ED;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -4px);
    transition: opacity .3s, visibility .3s, transform .3s;
}
.header-wrap__langs.is-open .header-wrap__lang-list,
.header-wrap__langs:focus-within .header-wrap__lang-list {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}
.header-wrap__lang-list a,
.footer-wrap__lang-list a {
    display: block;
    padding: 4px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    text-transform: uppercase;
    color: #7A7872;
}
.header-wrap__lang-list a:hover,
.header-wrap__lang-list a.is-active,
.footer-wrap__lang-list a:hover,
.footer-wrap__lang-list a.is-active {
    color: #2A2A2A;
}

/* як і кнопка мови у статиці, перемикач у шапці ховається разом з нею */
@media (max-width: 991px) {
    .header-wrap__langs {
        display: none;
    }
}

/* службовий контейнер відповіді форми підвалу не займає місця, поки порожній */
#e2e_call_request_result:empty {
    display: none;
}

/* перемикач мови в підвалі */
.footer-wrap__langs {
    position: relative;
}
.footer-wrap__lang-list {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    z-index: 5;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    border-radius: 4px;
    background-color: #F7F2ED;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s;
}
.footer-wrap__langs.is-open .footer-wrap__lang-list,
.footer-wrap__langs:focus-within .footer-wrap__lang-list {
    opacity: 1;
    visibility: visible;
}

/* обгортки локації (шапка, контент із блоків теми, підвал) не створюють боксів — поля секцій схлопуються, як у статиці */
.e2e-location,
.tygh-content {
    display: contents;
}
.tygh-content::before,
.tygh-content::after {
    display: none;
}
.ty-tygh {
    overflow: visible;
}

/* bootstrap-.row з responsive (margin-left -25px, clearfix) — у верстці .row лише рядок таблиці */
:where(.e2e-scope) .row {
    margin-left: 0;
}
:where(.e2e-scope) .row::before,
:where(.e2e-scope) .row::after {
    content: none;
    display: none;
}

/* у статиці відступ підвалу обнуляється сусідським селектором (.fetal + .footer тощо);
   у CS-Cart підвал в іншій обгортці — повторюємо через :has() */
body:has(.fetal) .footer {
    padding-top: 8px;
}
body:has(.aging) .footer,
body:has(.statya) .footer,
body:has(.posts) .footer,
body:has(.related) .footer,
body:has(.pagination) .footer {
    padding-top: 0;
}
@media (max-width: 767px) {
    body:has(.fetal) .footer {
        padding-top: 0;
    }
}

/* ---------- оформлення замовлення (lite checkout у стилі макета «Доставка») ---------- */
.cart--checkout-head {
    padding-bottom: 0;
}
.e2e-checkout {
    padding-top: 40px;
}
.e2e-checkout > .row-fluid {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}
.e2e-checkout > .row-fluid::before,
.e2e-checkout > .row-fluid::after {
    content: none;
}
.e2e-checkout .e2e-checkout__main {
    flex: 1 0 0;
    min-width: 0;
    width: auto;
    margin: 0;
}
.e2e-checkout .e2e-checkout__side {
    flex: 0 0 384px;
    width: 384px;
    margin: 0;
    position: sticky;
    top: 130px;
}
.e2e-checkout .litecheckout__page-title,
.e2e-checkout .litecheckout__submit-order {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
.e2e-checkout .litecheckout__submit-order:has(.litecheckout__terms, .ty-gdpr-agreement) {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
}
.e2e-checkout .litecheckout__submit-order .ty-btn,
.e2e-checkout .litecheckout__submit-order button[type="submit"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
.e2e-checkout .litecheckout__step-title,
.e2e-checkout .ty-litecheckout__customer-title {
    margin: 0 0 24px;
    font-size: 40px;
    font-weight: 290;
    line-height: 1.02;
    letter-spacing: -.8px;
    text-transform: uppercase;
    color: #2A2A2A;
}
.e2e-checkout .litecheckout__field {
    padding: 0 8px 16px;
}
.e2e-checkout .litecheckout__input {
    height: 55px;
    padding: 20px 15px 0;
    border: 1px solid #EAE6DF;
    border-radius: 4px;
    background: transparent;
    box-shadow: none;
    font-size: 15px;
    color: #0D0D0D;
}
.e2e-checkout .litecheckout__input--textarea {
    height: 110px;
    padding-top: 22px;
}
.e2e-checkout .litecheckout__input:focus {
    border-color: #2A2A2A;
}
.e2e-checkout .litecheckout__label {
    left: 15px;
    font-size: 13px;
    color: #AEAEB2;
}
.e2e-checkout .litecheckout__field--input .litecheckout__label,
.e2e-checkout .litecheckout__input:not(:placeholder-shown) + .litecheckout__label {
    font-size: 11px;
}
/* способи доставки й оплати — картки, як «Курьер / Самовывоз» у макеті (картка — це label) */
.e2e-checkout .litecheckout__group:has(> .litecheckout__shipping-method) {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;
}
.e2e-checkout .litecheckout__shipping-method {
    flex: 1 0 200px;
    width: auto;
    max-width: none;
    padding: 0;
}
.e2e-checkout .litecheckout__shipping-method__wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    height: 100%;
    margin: 0;
    padding: 23px;
    border: 1px solid #EAE6DF;
    border-radius: 8px;
    background: transparent;
    box-shadow: none;
    text-align: left;
    color: #2A2A2A;
    transition: background-color .3s, border-color .3s, color .3s;
}
.e2e-checkout .litecheckout__shipping-method__wrapper:hover {
    border-color: #2A2A2A;
}
.e2e-checkout .litecheckout__shipping-method__radio:checked + .litecheckout__shipping-method__wrapper {
    border-color: #2A2A2A;
    background: #2A2A2A;
    color: #F4F1EA;
}
.e2e-checkout .litecheckout__shipping-method__wrapper * {
    color: inherit;
}
.e2e-checkout .litecheckout__shipping-method__title {
    font-size: 15px;
    font-weight: 376;
    line-height: 23px;
    text-transform: none;
}
.e2e-checkout .litecheckout__shipping-method__text,
.e2e-checkout .litecheckout__shipping-method__delivery-time {
    font-size: 13px;
    font-weight: 522;
    line-height: 24px;
    text-transform: uppercase;
}
.e2e-checkout .ty-checkout__terms,
.e2e-checkout .litecheckout__terms,
.e2e-checkout .ty-gdpr-agreement {
    border: 0;
    background: transparent;
    font-size: 13px;
    font-weight: 522;
    text-transform: uppercase;
    color: #7A7872;
}
.e2e-checkout-summary {
    display: block;
}
@media (max-width: 991px) {
    .e2e-checkout > .row-fluid {
        flex-direction: column;
    }
    .e2e-checkout .e2e-checkout__main,
    .e2e-checkout .e2e-checkout__side {
        flex: none;
        width: 100%;
        position: static;
    }
    .e2e-checkout .e2e-checkout__side .cart-wrap__summary {
        width: 100%;
    }
}
@media (max-width: 767px) {
    .e2e-checkout .litecheckout__step-title,
    .e2e-checkout .ty-litecheckout__customer-title {
        font-size: 28px;
    }
    .e2e-checkout .litecheckout__field {
        width: 100%;
    }
}

/* спливаючі сповіщення CS-Cart у палітрі сайту */
.cm-notification-content.notification-content {
    border: 0;
    border-radius: 8px;
    background: #2A2A2A;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    text-shadow: none;
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #F4F1EA;
}
.cm-notification-content.notification-content strong {
    color: #F4F1EA;
}
.cm-notification-content.alert-error {
    background: #D42027;
}
.cm-notification-content .cm-notification-close {
    color: #F4F1EA;
    opacity: .7;
}

/* службовий контейнер відповіді форм заявки на лендингах */
.e2e-form-result:empty {
    display: none;
}

/* bootstrap-.container з responsive: фіксована ширина і clearfix-псевдоелементи (у flex-контейнерах стають елементами) */
:where(.e2e-scope) .container {
    width: auto;
}
:where(.e2e-scope) .container::before,
:where(.e2e-scope) .container::after {
    content: none;
    display: none;
}

/* ---------- згода на cookies (Klaro, аддон GDPR) у стилі сайту ---------- */
#klaro .klaro {
    --font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    --title-font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    --border-radius: 4px;
    --green1: #2A2A2A;
    --green2: #000;
    --green3: #2A2A2A;
    --blue1: #2A2A2A;
    --dark1: #F4F1EA;
    --dark2: #EAE6DF;
    --dark3: #7A7872;
    --light1: #2A2A2A;
    --light2: #7A7872;
    --light3: #7A7872;
    --white1: #F4F1EA;
    --white2: #F4F1EA;
    --white3: #F4F1EA;
    --button-text-color: #F4F1EA;
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    color: #2A2A2A;
}
#klaro .klaro .cookie-notice:not(.cookie-modal-notice) {
    right: 24px;
    bottom: 24px;
    width: 400px;
    max-width: calc(100vw - 32px);
    border: 1px solid #EAE6DF;
    border-radius: 8px;
    background-color: #F4F1EA;
    box-shadow: 0 12px 40px rgba(42, 42, 42, .14);
}
#klaro .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body {
    padding: 24px;
}
#klaro .klaro .cookie-notice .cn-body p {
    margin: 0 0 20px;
    font-size: 14px;
    font-weight: 376;
    line-height: 1.5;
    color: #2A2A2A;
}
#klaro .klaro .cookie-notice .cn-body .cn-ok {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    margin: 0;
}
#klaro .klaro .cn-learn-more,
#klaro .klaro .cookie-modal .cm-caret a,
#klaro .klaro .cookie-modal .cm-header a {
    font-size: 13px;
    font-weight: 522;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
    color: #7A7872;
    transition: color .3s;
}
#klaro .klaro .cn-learn-more:hover,
#klaro .klaro .cookie-modal .cm-caret a:hover,
#klaro .klaro .cookie-modal .cm-header a:hover {
    color: #2A2A2A;
}
#klaro .klaro .cm-btn {
    min-height: 40px;
    margin: 0;
    padding: 0 24px;
    border: 1px solid #2A2A2A;
    border-radius: 4px;
    background-color: #2A2A2A;
    box-shadow: 0 4px 7px rgba(0, 0, 0, .11);
    font-family: inherit;
    font-size: 13px;
    font-weight: 522;
    line-height: 38px;
    text-transform: uppercase;
    color: #F4F1EA;
    cursor: pointer;
    transition: background-color .3s, color .3s;
}
@media (hover: hover) {
    #klaro .klaro .cm-btn:hover {
        background-color: #000;
    }
}
#klaro .klaro .cm-btn.cm-btn-decline,
#klaro .klaro .cm-btn.cm-btn-accept {
    background-color: transparent;
    box-shadow: none;
    color: #2A2A2A;
}
@media (hover: hover) {
    #klaro .klaro .cm-btn.cm-btn-decline:hover,
    #klaro .klaro .cm-btn.cm-btn-accept:hover {
        background-color: #2A2A2A;
        color: #F4F1EA;
    }
}
/* стилі сайту обнуляють padding у li — повертаємо місце під перемикач */
#klaro .klaro .cookie-modal .cm-purposes li.cm-purpose,
#klaro .klaro .cookie-modal .cm-services li.cm-service {
    position: relative;
    padding: 12px 0 12px 60px;
}
#klaro .klaro .cookie-modal .cm-list-label .cm-switch {
    top: 12px;
}
#klaro .klaro .cookie-modal .cm-services .cm-content {
    margin-top: 8px;
}
/* вікно налаштувань */
#klaro .klaro .cookie-modal .cm-bg {
    background: rgba(13, 13, 13, .45);
}
#klaro .klaro .cookie-modal .cm-modal.cm-klaro {
    border: 1px solid #EAE6DF;
    border-radius: 8px;
    background-color: #F4F1EA;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
    color: #2A2A2A;
}
#klaro .klaro .cookie-modal .cm-header,
#klaro .klaro .cookie-modal .cm-body,
#klaro .klaro .cookie-modal .cm-footer {
    padding: 24px 32px;
    border-color: #EAE6DF;
}
#klaro .klaro .cookie-modal .cm-header h1.title {
    margin: 0 32px 12px 0;
    font-size: 28px;
    font-weight: 290;
    line-height: 1.1;
    letter-spacing: -.5px;
    text-transform: uppercase;
    color: #2A2A2A;
}
#klaro .klaro .cookie-modal .cm-header p,
#klaro .klaro .cookie-modal .cm-list-description,
#klaro .klaro .cookie-modal .purposes {
    font-size: 13px;
    font-weight: 376;
    line-height: 1.5;
    color: #7A7872;
}
#klaro .klaro .cookie-modal .hide {
    top: 24px;
    right: 24px;
}
#klaro .klaro .cookie-modal .hide svg {
    stroke: #2A2A2A;
}
#klaro .klaro .cookie-modal .cm-list-title {
    font-size: 15px;
    font-weight: 522;
    color: #2A2A2A;
}
#klaro .klaro .cookie-modal .cm-required {
    font-size: 12px;
    color: #7A7872;
}
#klaro .klaro .cookie-modal .cm-purpose + .cm-purpose,
#klaro .klaro .cookie-modal .cm-service + .cm-service {
    border-top: 1px solid #EAE6DF;
}
#klaro .klaro .cookie-modal .cm-list-input + .cm-list-label .slider {
    background-color: #D9D4CB;
}
#klaro .klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider,
#klaro .klaro .cookie-modal .cm-list-input.required:checked + .cm-list-label .slider,
#klaro .klaro .cookie-modal .cm-list-input.half-checked:checked + .cm-list-label .slider {
    background-color: #2A2A2A;
}
#klaro .klaro .cookie-modal .cm-list-input.required + .cm-list-label .slider {
    opacity: .5;
}
#klaro .klaro .cookie-modal .cm-footer-buttons {
    gap: 12px;
}
#klaro .klaro .cookie-modal .cm-powered-by {
    display: none;
}
@media (max-width: 767px) {
    #klaro .klaro .cookie-notice:not(.cookie-modal-notice) {
        right: 16px;
        bottom: 16px;
        left: 16px;
        width: auto;
    }
    #klaro .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body {
        padding: 20px;
    }
    #klaro .klaro .cookie-modal .cm-header,
    #klaro .klaro .cookie-modal .cm-body,
    #klaro .klaro .cookie-modal .cm-footer {
        padding: 20px;
    }
    #klaro .klaro .cookie-modal .cm-header h1.title {
        font-size: 22px;
    }
    #klaro .klaro .cookie-modal .cm-footer-buttons {
        flex-direction: column;
        align-items: stretch;
    }
    #klaro .klaro .cm-btn {
        width: 100%;
        line-height: 1.2;
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

/* ---------- меню акаунта в шапці ---------- */
.header-wrap__account .header-wrap__action {
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
}
.header-wrap__account .header-wrap__account-list {
    right: -12px;
    left: auto;
    min-width: 200px;
    transform: translateY(-4px);
}
.header-wrap__account.is-open .header-wrap__account-list,
.header-wrap__account:focus-within .header-wrap__account-list {
    transform: translateY(0);
}
.header-wrap__account-list a {
    padding: 8px 20px;
    white-space: nowrap;
}
@media (max-width: 991px) {
    .header-wrap__langs.header-wrap__account {
        display: flex;
    }
}

/* ---------- штатні сторінки: бокова колонка, вхід, акаунт, таблиці, порожні стани ---------- */
.e2e-native > .row-fluid {
    display: flex;
    flex-wrap: wrap;
    gap: 32px 64px;
}
.e2e-native > .row-fluid::before,
.e2e-native > .row-fluid::after {
    content: none;
}
.e2e-native > .row-fluid > .main-content-grid.span8 {
    flex: 1 1 520px;
    width: auto;
    max-width: 640px;
    margin: 0;
}
.e2e-native > .row-fluid > .main-content-grid.span16 {
    flex: 1 1 100%;
    width: auto;
    margin: 0;
}
.e2e-native > .row-fluid > .e2e-native-side {
    flex: 0 1 420px;
    width: auto;
    margin: 64px 0 0;
}
.e2e-native :is(.ty-login-info, .ty-account-benefits, .ty-account-detail) {
    padding: 32px;
    border: 1px solid #EAE6DF;
    border-radius: 8px;
    background: #F7F2ED;
    font-size: 14px;
    line-height: 1.6;
    color: #7A7872;
}
.e2e-native :is(.ty-login-info, .ty-account-benefits, .ty-account-detail) h4 {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    color: #2A2A2A;
}
.e2e-native :is(.ty-login-info, .ty-account-benefits, .ty-account-detail) :is(ul, p) {
    margin: 0 0 12px;
}
.e2e-native :is(.ty-account-benefits, .ty-account-detail) ul {
    padding-left: 18px;
}
.e2e-native :is(.ty-account-benefits, .ty-account-detail) li {
    margin-bottom: 6px;
}
.e2e-native .ty-login-info__txt a {
    display: inline-flex;
    align-items: center;
    min-height: 43px;
    margin-top: 8px;
    padding: 0 32px;
    border: 1px solid #2A2A2A;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 522;
    text-transform: uppercase;
    text-decoration: none;
    color: #2A2A2A;
}
.e2e-native .ty-login-info__txt a:hover {
    background: #2A2A2A;
    color: #F4F1EA;
}
/* заглушка аватара в деталях акаунта */
.e2e-native .ty-account-detail img,
.e2e-native .ty-account-detail [class*="avatar"],
.e2e-native .ty-account-detail [class*="image"] {
    display: none;
}
.e2e-native .ty-control-group {
    margin-bottom: 20px;
}
.e2e-native .ty-control-group__title,
.e2e-native .ty-control-group__label {
    display: block;
    margin-bottom: 8px;
}
.e2e-native :is(input[type="text"], input[type="email"], input[type="password"]):not([class*="item__"]) {
    width: 100%;
}
.e2e-native .ty-password-forgot {
    position: relative;
}
.e2e-native .ty-password-forgot__a {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 13px;
}
.e2e-native .ty-login .buttons-container {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    padding: 8px 0 0;
}
.e2e-native .ty-account .buttons-container,
.e2e-native .ty-profile-field .buttons-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    padding: 8px 0 0;
}
.e2e-native .buttons-container :is(.ty-float-right, .ty-float-left) {
    float: none;
}
.e2e-native .ty-profile-field .buttons-container .ty-btn + .ty-btn {
    border: 1px solid #2A2A2A;
    background: transparent;
    color: #2A2A2A;
}
.e2e-native input[type="checkbox"]:not(.e2e-scope *),
.e2e-native input[type="radio"]:not(.e2e-scope *) {
    width: 16px;
    height: 16px;
    margin: 0 8px 0 0;
    accent-color: #2A2A2A;
    vertical-align: -3px;
}
.e2e-native .ty-login__remember-me-label {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    color: #2A2A2A;
}
.e2e-native .ty-profile-field__item {
    margin-bottom: 20px;
}
.e2e-native .ty-account h3,
.e2e-native .ty-profile-field h3,
.e2e-native .ty-subheader {
    margin: 32px 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #EAE6DF;
    font-size: 13px;
    font-weight: 522;
    letter-spacing: .5px;
    text-transform: uppercase;
}
/* пошук і таблиця замовлень */
.e2e-native .ty-section {
    margin-bottom: 24px;
    border: 1px solid #EAE6DF;
    border-radius: 8px;
    background: #F7F2ED;
}
.e2e-native .ty-section__title {
    padding: 14px 20px;
    border: 0;
    background: transparent;
    font-size: 13px;
    font-weight: 522;
    text-transform: uppercase;
    color: #2A2A2A;
    cursor: pointer;
}
.e2e-native .ty-section__body {
    padding: 0 20px 20px;
}
.e2e-native .ty-table {
    width: 100%;
    border: 1px solid #EAE6DF;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}
.e2e-native .ty-table th {
    padding: 14px 16px;
    border: 0;
    border-bottom: 1px solid #EAE6DF;
    background: #F7F2ED;
    font-size: 12px;
    font-weight: 522;
    text-align: left;
    text-transform: uppercase;
    color: #7A7872;
}
.e2e-native .ty-table th a {
    text-decoration: none;
    color: #7A7872;
}
.e2e-native .ty-table td {
    padding: 14px 16px;
    border: 0;
    border-bottom: 1px solid #F1EEEA;
    font-size: 14px;
    color: #2A2A2A;
}
.e2e-native .ty-table tr:last-child td {
    border-bottom: 0;
}
.e2e-native .ty-table .ty-table__no-items,
.e2e-native .ty-no-items {
    padding: 40px 20px;
    border: 0;
    background: transparent;
    font-size: 15px;
    text-align: center;
    color: #7A7872;
}
/* порожнє обране: замість сірих плиток «Пусто» — текст (його виводить JS/шаблон) і кнопка */
.e2e-native .ty-wish-list-empty {
    display: none;
}
.e2e-native .ty-wish-list__continue {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 0;
}
/* 404 */
.e2e-native .ty-exception {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 32px 80px;
    padding: 64px 0;
}
.e2e-native .ty-exception__code {
    float: none;
    width: auto;
    margin: 0;
    font-size: 120px;
    font-weight: 290;
    line-height: 1;
    letter-spacing: -2px;
    color: #2A2A2A;
}
.e2e-native .ty-exception__code-txt {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    font-weight: 522;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #7A7872;
}
.e2e-native .ty-exception__title-info {
    float: none;
    flex: 1 1 360px;
    margin: 0;
    padding: 0;
}
.e2e-native .ty-exception__title {
    margin: 0 0 16px;
    font-size: 40px;
    font-weight: 290;
    line-height: 1.05;
    text-transform: uppercase;
    color: #2A2A2A;
}
.e2e-native .ty-exception__info {
    margin: 0 0 4px;
    font-size: 14px;
    color: #7A7872;
}
.e2e-native .ty-exception__links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}
.e2e-native .ty-exception__links-item {
    margin: 0;
    padding: 0;
    border: 0;
}
.e2e-native .ty-exception__links-a {
    display: inline-flex;
    align-items: center;
    min-height: 43px;
    padding: 0 32px;
    border: 1px solid #2A2A2A;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 522;
    text-transform: uppercase;
    text-decoration: none;
    color: #2A2A2A;
    cursor: pointer;
}
.e2e-native .ty-exception__links-item:first-child .ty-exception__links-a {
    background: #2A2A2A;
    color: #F4F1EA;
}
@media (max-width: 767px) {
    .e2e-native {
        padding: 24px 16px 48px;
    }
    .e2e-native :is(h1, .ty-mainbox-title),
    .e2e-native .ty-exception__title {
        font-size: 28px;
    }
    .e2e-native > .row-fluid > .e2e-native-side {
        margin-top: 0;
    }
    .e2e-native :is(.ty-login-info, .ty-account-benefits, .ty-account-detail) {
        padding: 24px;
    }
    .e2e-native .ty-exception__code {
        font-size: 80px;
    }
    .e2e-native .ty-table {
        display: block;
        overflow-x: auto;
    }
}

/* оформлення: «Доставка в» — заголовок окремим рядком, місто / регіон / країна в один ряд */
.e2e-checkout #litecheckout_step_location > .litecheckout__group {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 24px;
}
.e2e-checkout #litecheckout_step_location .litecheckout__item {
    flex: 0 0 100%;
    width: 100%;
    padding: 0 8px;
}
.e2e-checkout #litecheckout_step_location .litecheckout__field {
    flex: 1 1 0;
    min-width: 160px;
    width: auto;
}
.e2e-checkout #litecheckout_step_location .litecheckout__field--fill {
    flex: 2 1 0;
}
.e2e-checkout .litecheckout__input--selectable,
.e2e-checkout select.litecheckout__input {
    height: 55px;
    padding: 0 40px 0 15px;
    border: 1px solid #EAE6DF;
    border-radius: 4px;
    background-color: #fff;
    font-size: 15px;
    color: #0D0D0D;
}
.e2e-checkout .litecheckout__shipping-method__wrapper + p,
.e2e-checkout .litecheckout__shipping-method ~ .litecheckout__item p,
.e2e-checkout .litecheckout__group .ty-wysiwyg-content {
    font-size: 13px;
    line-height: 1.5;
    color: #7A7872;
}

/* обране у стилі теми */
.e2e-wishlist .products-wrap {
    padding-top: 32px;
}
.e2e-wishlist__buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 24px;
    margin-top: 40px;
}
.e2e-wishlist__buttons .cart-wrap__checkout {
    width: auto;
}
.e2e-wishlist__clear {
    min-height: 49px;
    padding: 0 32px;
    border: 1px solid #2A2A2A;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 522;
    text-transform: uppercase;
    color: #2A2A2A;
}
.e2e-wishlist__clear:hover {
    background: #2A2A2A;
    color: #F4F1EA;
}
.cart-wrap__empty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding-top: 32px;
}
.cart-wrap__empty .cart-wrap__subhead {
    display: block;
    margin: 0;
    font-size: 18px;
    color: #2A2A2A;
}
.cart-wrap__empty .cart-wrap__checkout {
    width: auto;
}

.compare-wrap__empty {
    padding: 32px 0 16px;
    font-size: 18px;
    color: #2A2A2A;
}

/* кнопки дій у таблиці замовлень — компактні */
.e2e-native .ty-table :is(.ty-btn, button, a.ty-btn) {
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid #2A2A2A;
    background: transparent;
    box-shadow: none;
    font-size: 12px;
    color: #2A2A2A;
}
.e2e-native .ty-table :is(.ty-btn, button, a.ty-btn):hover {
    background: #2A2A2A;
    color: #F4F1EA;
}
.e2e-native .ty-table .ty-btn .ty-icon,
.e2e-native .ty-table button .ty-icon {
    color: inherit;
}
/* вкладки (деталі замовлення) */
.e2e-native .ty-tabs {
    margin: 24px 0;
    border-bottom: 1px solid #EAE6DF;
}
.e2e-native .ty-tabs__list {
    display: flex;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.e2e-native .ty-tabs__item {
    margin: 0 0 -1px;
    padding: 0;
    border: 0;
    background: none;
}
.e2e-native .ty-tabs__a,
.e2e-native .ty-tabs__item span {
    display: block;
    padding: 12px 0;
    border: 0;
    border-bottom: 2px solid transparent;
    background: none;
    font-size: 13px;
    font-weight: 522;
    text-transform: uppercase;
    text-decoration: none;
    color: #7A7872;
}
.e2e-native .ty-tabs__item.active .ty-tabs__a,
.e2e-native .ty-tabs__item.active span {
    border-bottom-color: #2A2A2A;
    color: #2A2A2A;
}
.e2e-native .ty-orders-detail__status,
.e2e-native [class*="status"] .ty-status {
    font-size: 13px;
    font-weight: 522;
    text-transform: uppercase;
}
/* посилання в текстових сторінках і статтях */
.article-wrap__content a {
    color: #2A2A2A;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.article-wrap__content a:hover {
    color: #7A7872;
}

/* мобільний акордеон вкладок (jQuery UI) */
.e2e-native .ui-accordion-header {
    margin: 16px 0 0;
    padding: 12px 0;
    border: 0;
    border-bottom: 1px solid #EAE6DF;
    border-radius: 0;
    background: transparent;
    font-size: 13px;
    font-weight: 522;
    text-transform: uppercase;
    color: #2A2A2A;
}
.e2e-native .ui-accordion-content {
    border: 0;
    background: transparent;
}

/* ---------- попап «товар додано в кошик / в обране» (розширене сповіщення CS-Cart) ---------- */
.cm-notification-content-extended.notification-content-extended {
    left: 50%;
    width: 480px;
    max-width: calc(100vw - 32px);
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #EAE6DF;
    border-radius: 8px;
    background: #F4F1EA;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
    transform: translateX(-50%);
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    color: #2A2A2A;
}
.notification-content-extended .cm-notification-content-extended-title {
    position: relative;
    margin: 0;
    padding: 24px 64px 16px 24px;
    border: 0;
    background: transparent;
    font-family: inherit;
    font-size: 20px;
    font-weight: 290;
    line-height: 1.2;
    letter-spacing: -.3px;
    text-transform: uppercase;
    color: #2A2A2A;
}
.notification-content-extended .cm-notification-content-extended-title .cm-notification-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 32px;
    height: 32px;
    margin: 0;
    border-radius: 50%;
    background: #EBE8E3;
    opacity: 1;
    cursor: pointer;
    transition: background-color .3s;
}
.notification-content-extended .cm-notification-content-extended-title .cm-notification-close::before,
.notification-content-extended .cm-notification-content-extended-title .cm-notification-close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 1.5px;
    background: #2A2A2A;
    transform: translate(-50%, -50%) rotate(45deg);
    transition: background-color .3s;
}
.notification-content-extended .cm-notification-content-extended-title .cm-notification-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.notification-content-extended .cm-notification-content-extended-title .cm-notification-close:hover {
    background: #2A2A2A;
}
.notification-content-extended .cm-notification-content-extended-title .cm-notification-close:hover::before,
.notification-content-extended .cm-notification-content-extended-title .cm-notification-close:hover::after {
    background: #F4F1EA;
}
.notification-content-extended .notification-body-extended {
    padding: 0;
    background: transparent;
}
.notification-content-extended .ty-product-notification__body {
    padding: 0 24px;
}
.notification-content-extended .ty-product-notification__item {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 16px 0;
    border-top: 1px solid #EAE6DF;
}
.notification-content-extended .ty-product-notification__item::before,
.notification-content-extended .ty-product-notification__item::after,
.notification-content-extended .ty-product-notification__content::before,
.notification-content-extended .ty-product-notification__content::after {
    content: none;
}
.notification-content-extended .ty-product-notification__image {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    margin: 0;
    border-radius: 4px;
    background: #fff;
    object-fit: contain;
}
.notification-content-extended .ty-product-notification__content {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 16px;
    min-width: 0;
    margin: 0;
    padding: 0;
}
.notification-content-extended .ty-product-notification__product-name {
    font-size: 15px;
    font-weight: 561;
    line-height: 1.5;
    text-decoration: none;
    color: #0D0D0D;
}
.notification-content-extended .ty-product-notification__product-name:hover {
    color: #7A7872;
}
.notification-content-extended .ty-product-notification__price {
    float: none;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    color: #2A2A2A;
}
.notification-content-extended .ty-product-notification__price span {
    font: inherit;
    color: inherit;
}
.notification-content-extended .ty-product-notification__total-info {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding: 16px 0;
    border-top: 1px solid #EAE6DF;
    font-size: 13px;
    color: #7A7872;
}
.notification-content-extended .ty-product-notification__total-info::before,
.notification-content-extended .ty-product-notification__total-info::after {
    content: none;
}
.notification-content-extended .ty-product-notification__amount,
.notification-content-extended .ty-product-notification__subtotal {
    float: none;
    text-align: left;
}
.notification-content-extended .ty-product-notification__subtotal {
    text-align: right;
    color: #2A2A2A;
}
.notification-content-extended .ty-product-notification__subtotal span {
    font: inherit;
}
.notification-content-extended .ty-product-notification__buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
    margin: 0;
    padding: 16px 24px 24px;
    border-top: 1px solid #EAE6DF;
    background: transparent;
}
.notification-content-extended .ty-product-notification__buttons::before,
.notification-content-extended .ty-product-notification__buttons::after {
    content: none;
}
.notification-content-extended .ty-product-notification__buttons > div {
    float: none;
    display: flex;
    margin: 0;
}
.notification-content-extended .ty-product-notification__buttons .ty-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 43px;
    margin: 0;
    padding: 0 24px;
    border: 1px solid #2A2A2A;
    border-radius: 4px;
    background: #2A2A2A;
    box-shadow: none;
    font-family: inherit;
    font-size: 13px;
    font-weight: 522;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
    text-shadow: none;
    color: #F4F1EA;
    transition: background-color .3s, color .3s;
}
.notification-content-extended .ty-product-notification__buttons .ty-btn.cm-notification-close {
    opacity: 1;
}
.notification-content-extended .ty-product-notification__buttons .ty-btn:hover {
    background: #000;
    color: #F4F1EA;
}
.notification-content-extended .ty-product-notification__buttons .ty-btn__secondary:not(:only-child),
.notification-content-extended .ty-product-notification__buttons .ty-float-left .ty-btn {
    background: transparent;
    color: #2A2A2A;
}
.notification-content-extended .ty-product-notification__buttons .ty-float-left .ty-btn:hover {
    background: #2A2A2A;
    color: #F4F1EA;
}
@media (max-width: 575px) {
    .notification-content-extended .ty-product-notification__buttons > div,
    .notification-content-extended .ty-product-notification__buttons .ty-btn {
        width: 100%;
    }
}

/* ---------- обране: серце в картці ---------- */
.item__fav {
    cursor: pointer;
}
.item__fav .item__fav-on,
.item__fav--active .item__fav-off {
    display: none;
}
.item__fav--active .item__fav-on {
    display: flex;
}
.item__fav.is-loading {
    opacity: .5;
    pointer-events: none;
}
/* область натискання більша за 12px-іконку */
.item__fav::after {
    content: '';
    position: absolute;
    inset: -10px;
}

/* ---------- коротке сповіщення ---------- */
.e2e-toast {
    position: fixed;
    bottom: 24px;
    left: 50%;
    z-index: 1100;
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: calc(100vw - 32px);
    padding: 14px 20px;
    border-radius: 8px;
    background: #2A2A2A;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #F4F1EA;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 12px);
    transition: opacity .3s, visibility .3s, transform .3s;
}
.e2e-toast.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}
.e2e-toast a {
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 522;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
    color: #F4F1EA;
}
.e2e-toast a:hover {
    color: #fff;
}

/* ---------- модалка (успішна заявка / помилка) ---------- */
.e2e-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s;
}
.e2e-modal.is-open {
    opacity: 1;
    visibility: visible;
}
.e2e-modal-lock {
    overflow: hidden;
}
.e2e-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(13, 13, 13, .45);
}
.e2e-modal__box {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 440px;
    max-width: 100%;
    padding: 40px 32px 32px;
    border: 1px solid #EAE6DF;
    border-radius: 8px;
    background: #F4F1EA;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    color: #2A2A2A;
    transform: translateY(12px);
    transition: transform .3s;
}
.e2e-modal.is-open .e2e-modal__box {
    transform: none;
}
.e2e-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #EBE8E3;
    cursor: pointer;
    transition: background-color .3s;
}
.e2e-modal__close::before,
.e2e-modal__close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 1.5px;
    background: #2A2A2A;
    transform: translate(-50%, -50%) rotate(45deg);
}
.e2e-modal__close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.e2e-modal__close:hover {
    background: #DDDBD5;
}
.e2e-modal__icon {
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #6C7556;
}
.e2e-modal__icon::after {
    content: '';
    position: absolute;
    top: 14px;
    left: 18px;
    width: 10px;
    height: 17px;
    border: solid #F4F1EA;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.e2e-modal--error .e2e-modal__icon {
    background: #D42027;
}
.e2e-modal--error .e2e-modal__icon::after {
    top: 12px;
    left: 23px;
    width: 2px;
    height: 16px;
    border: 0;
    background: #F4F1EA;
    box-shadow: 0 21px 0 #F4F1EA;
    transform: none;
}
.e2e-modal__title {
    margin: 8px 0 0;
    font-size: 28px;
    font-weight: 290;
    line-height: 1.1;
    letter-spacing: -.5px;
    text-transform: uppercase;
    color: #2A2A2A;
}
.e2e-modal__text {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    color: #7A7872;
}
.e2e-modal__btn {
    min-height: 49px;
    margin-top: 8px;
    padding: 0 32px;
    border: 0;
    border-radius: 4px;
    background: #2A2A2A;
    font-family: inherit;
    font-size: 13px;
    font-weight: 522;
    text-transform: uppercase;
    color: #F4F1EA;
    cursor: pointer;
    transition: background-color .3s;
}
.e2e-modal__btn:hover {
    background: #000;
}

/* ---------- помилки полів форм заявок ---------- */
form[data-e2e-lead] .is-error {
    flex-wrap: wrap;
    box-shadow: inset 0 0 0 1px #D42027;
}
.e2e-field-error {
    flex: 0 0 100%;
    display: block;
    padding: 0 0 8px;
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    text-align: left;
    text-transform: none;
    color: #D42027;
}
/* лендинг: текст помилки під полем, у проміжку між полями — поле не змінює висоту */
.order-wrap__form .item {
    position: relative;
}
.order-wrap__form .item.is-error {
    flex-wrap: nowrap;
}
.order-wrap__form .is-error .e2e-field-error {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    padding: 0;
    font-size: 11px;
    line-height: 14px;
    white-space: nowrap;
}
form[data-e2e-lead].is-sending [type="submit"] {
    opacity: .6;
    cursor: progress;
}
/* підвал: поле телефону з помилкою під рядком */
.footer .item__form {
    position: relative;
}
.footer .item__form.is-error,
.footer .item__form .is-error {
    box-shadow: none;
}
.footer .item__form .item__input[aria-invalid="true"] {
    color: #FF8A8A;
}
.footer .item__form .e2e-field-error {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    padding: 0;
    color: #FF8A8A;
}

/* ---------- каталог: стан завантаження AJAX ---------- */
.e2e-catalog-ajax {
    display: contents;
}
.e2e-catalog-ajax.is-loading .catalog-wrap__main {
    opacity: .45;
    pointer-events: none;
    transition: opacity .2s;
}

/* ---------- відгуки на сторінці товару (аддон product_reviews) у вузькій колонці акордеона ---------- */
.product-wrap__accordion .ty-product-reviews-view {
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    color: #2A2A2A;
}
.product-wrap__accordion .ty-product-reviews-view__main {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 8px 0 16px;
}
.product-wrap__accordion .ty-product-reviews-view__main-content {
    order: 2;
    width: auto;
    margin: 0;
}
.product-wrap__accordion .ty-product-review-reviews-sidebar {
    order: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: auto;
    margin: 0;
    padding: 24px;
    border: 1px solid #EAE6DF;
    border-radius: 8px;
    background: #F7F2ED;
}
/* зірки: сірий ряд + золотий поверх на ширину рейтингу */
.e2e-scope .ty-product-review-reviews-stars {
    --star: 14px;
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    width: calc((var(--star) + 2px) * 5);
    height: var(--star);
    margin: 0;
    background: url("../img/main/icon-star-empty.svg") repeat-x left center / calc(var(--star) + 2px) var(--star);
}
.e2e-scope .ty-product-review-reviews-stars::after {
    content: none;
}
.e2e-scope .ty-product-review-reviews-stars::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc((var(--star) + 2px) * var(--full, 0) + (var(--star) + 2px) * var(--half, 0) / 2);
    height: 100%;
    background: url("../img/main/icon-star.svg") repeat-x left center / calc(var(--star) + 2px) var(--star);
}
.e2e-scope .ty-product-review-reviews-stars[data-ca-product-review-reviews-stars-full="1"] { --full: 1; }
.e2e-scope .ty-product-review-reviews-stars[data-ca-product-review-reviews-stars-full="2"] { --full: 2; }
.e2e-scope .ty-product-review-reviews-stars[data-ca-product-review-reviews-stars-full="3"] { --full: 3; }
.e2e-scope .ty-product-review-reviews-stars[data-ca-product-review-reviews-stars-full="4"] { --full: 4; }
.e2e-scope .ty-product-review-reviews-stars[data-ca-product-review-reviews-stars-full="5"] { --full: 5; }
.e2e-scope .ty-product-review-reviews-stars[data-ca-product-review-reviews-stars-is-half="1"] { --half: 1; }
.e2e-scope .ty-product-review-reviews-stars--xlarge {
    --star: 20px;
}
/* зведення рейтингу */
.product-wrap__accordion .ty-product-review-product-rating {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
}
.product-wrap__accordion .ty-product-review-product-rating-overview {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    margin: 0;
}
.product-wrap__accordion .ty-product-review-product-rating-overview__primary {
    display: flex;
    align-items: center;
    gap: 12px;
}
.product-wrap__accordion .ty-product-review-product-rating-overview__rating {
    display: flex;
    align-items: baseline;
    gap: 4px;
}
.product-wrap__accordion .ty-product-review-product-rating-overview__rating-current {
    font-size: 28px;
    font-weight: 290;
    line-height: 1;
    color: #2A2A2A;
}
.product-wrap__accordion .ty-product-review-product-rating-overview__rating-out-of-five,
.product-wrap__accordion .ty-product-review-reviews-total-reviews {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    text-transform: uppercase;
    color: #7A7872;
}
.product-wrap__accordion .ty-product-review-product-stars-details {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
}
.product-wrap__accordion .ty-product-review-product-star-line {
    display: grid;
    grid-template-columns: 76px 1fr 36px;
    align-items: center;
    gap: 12px;
    margin: 0;
    font-size: 12px;
    line-height: 16px;
    color: #7A7872;
}
.product-wrap__accordion .ty-product-review-product-star-line__quantity {
    white-space: nowrap;
}
.product-wrap__accordion .ty-product-review-product-star-line__percentage {
    text-align: right;
}
.product-wrap__accordion .ty-product-review-product-star-line__line {
    width: 100%;
    height: 4px;
    margin: 0;
    border: 0;
    border-radius: 2px;
    background: #EAE6DF;
    appearance: none;
    -webkit-appearance: none;
    overflow: hidden;
}
.product-wrap__accordion .ty-product-review-product-star-line__line::-webkit-progress-bar {
    border-radius: 2px;
    background: #EAE6DF;
}
.product-wrap__accordion .ty-product-review-product-star-line__line::-webkit-progress-value {
    border-radius: 2px;
    background: #B69754;
}
.product-wrap__accordion .ty-product-review-product-star-line__line::-moz-progress-bar {
    border-radius: 2px;
    background: #B69754;
}
/* «Оставить отзыв» */
.product-wrap__accordion .ty-product-review-write-product-review {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
}
.product-wrap__accordion .ty-product-review-reviews-sidebar--with-reviews .ty-product-review-write-product-review {
    padding-top: 20px;
    border-top: 1px solid #EAE6DF;
}
.product-wrap__accordion .ty-product-review-write-product-review__title {
    margin: 0;
    font-size: 15px;
    font-weight: 561;
    line-height: 1.5;
    color: #0D0D0D;
}
.product-wrap__accordion .ty-product-review-write-product-review__description,
.product-wrap__accordion .ty-product-review-write-product-review__description p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #7A7872;
}
.e2e-scope .ty-product-review-write-product-review-button,
.e2e-scope .ty-product-review-write-product-review-button.ty-btn__secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 43px;
    margin: 8px 0 0;
    padding: 0 24px;
    border: 1px solid #2A2A2A;
    border-radius: 4px;
    background: transparent;
    box-shadow: none;
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    font-size: 13px;
    font-weight: 522;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
    text-shadow: none;
    color: #2A2A2A;
    transition: background-color .3s, color .3s;
}
.e2e-scope .ty-product-review-write-product-review-button:hover {
    background: #2A2A2A;
    color: #F4F1EA;
}
/* сортування й фільтр «С фото» */
.product-wrap__accordion .ty-product-review-reviews-navigation {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
}
.product-wrap__accordion .ty-sort-dropdown {
    position: relative;
    margin: 0;
}
.product-wrap__accordion .ty-sort-dropdown__wrapper {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border: 0;
    background: none;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    text-transform: uppercase;
    text-decoration: none;
    color: #2A2A2A;
    cursor: pointer;
}
.product-wrap__accordion .ty-sort-dropdown__icon {
    width: 8px;
    height: 5px;
    background: url("../img/main/icon-chevron-sort.svg") no-repeat center / 8px 5px;
}
.product-wrap__accordion .ty-sort-dropdown__icon::before {
    content: none;
}
.product-wrap__accordion .ty-sort-dropdown__content {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 5;
    min-width: 240px;
    margin: 0;
    padding: 8px 0;
    border: 0;
    border-radius: 4px;
    background: #F7F2ED;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
    list-style: none;
}
.product-wrap__accordion .ty-sort-dropdown__content-item {
    margin: 0;
    padding: 0;
}
.product-wrap__accordion .ty-sort-dropdown__content-item-a {
    display: block;
    padding: 6px 16px;
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
    color: #7A7872;
}
.product-wrap__accordion .ty-sort-dropdown__content-item-a:hover {
    color: #2A2A2A;
}
.product-wrap__accordion .ty-product-review-reviews-navigation__filter {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}
.product-wrap__accordion .ty-product-review-reviews-navigation__filter-checkbox {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #2A2A2A;
}
.product-wrap__accordion .ty-product-review-reviews-navigation__filter-link {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    text-transform: uppercase;
    text-decoration: none;
    color: #2A2A2A;
}
/* список відгуків */
.product-wrap__accordion .ty-product-review-view__posts {
    display: flex;
    flex-direction: column;
}
.product-wrap__accordion .ty-product-review-post {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 20px 0;
    border-top: 1px solid #EAE6DF;
}
.product-wrap__accordion .ty-product-review-post:last-child {
    padding-bottom: 0;
}
.product-wrap__accordion .ty-product-review-post-customer {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 16px;
    width: auto;
    margin: 0;
    padding: 0;
}
.product-wrap__accordion .ty-product-review-post-customer__address {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 10px;
    margin: 0;
    font-style: normal;
}
.product-wrap__accordion .ty-product-review-post-customer__name {
    font-size: 15px;
    font-weight: 561;
    line-height: 1.5;
    color: #0D0D0D;
}
.product-wrap__accordion .ty-product-review-post-customer__verified,
.product-wrap__accordion .ty-product-review-post-customer__date {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    text-transform: uppercase;
    color: #6C7556;
}
.product-wrap__accordion .ty-product-review-post-customer__date {
    color: #7A7872;
}
.product-wrap__accordion .ty-product-review-post-customer__verified .ty-icon {
    display: none;
}
.product-wrap__accordion .ty-product-review-post__content {
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}
.product-wrap__accordion .ty-product-review-post__content::before,
.product-wrap__accordion .ty-product-review-post__content::after {
    content: none;
}
.product-wrap__accordion .ty-product-review-post-header {
    margin: 0 0 8px;
}
.product-wrap__accordion .ty-product-review-post-message {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 14px;
    font-style: normal;
    line-height: 1.55;
    color: #2A2A2A;
}
.product-wrap__accordion .ty-product-review-post-message-section {
    margin: 0 0 8px;
}
.product-wrap__accordion .ty-product-review-post-message-section__title {
    margin: 0 0 2px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    text-transform: uppercase;
    color: #7A7872;
}
.product-wrap__accordion .ty-product-review-post-message-section__body {
    margin: 0;
}
.product-wrap__accordion .ty-content-more__btn {
    padding: 0;
    border: 0;
    background: none;
    font-size: 13px;
    text-decoration: underline;
    color: #2A2A2A;
    cursor: pointer;
}
.product-wrap__accordion .ty-product-review-post-footer {
    display: flex;
    justify-content: flex-end;
    margin: 0;
}
.product-wrap__accordion .ty-product-review-post-votes {
    display: flex;
    gap: 8px;
}
.product-wrap__accordion .ty-product-review-post-votes .ty-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid #EAE6DF;
    border-radius: 14px;
    background: transparent;
    box-shadow: none;
    font-size: 12px;
    line-height: 1;
    text-decoration: none;
    color: #7A7872;
}
.product-wrap__accordion .ty-product-review-post-votes .ty-btn:hover {
    border-color: #2A2A2A;
    color: #2A2A2A;
}
.product-wrap__accordion .ty-product-review-post-votes .ty-icon {
    width: 10px;
    height: 10px;
    background: url("../img/main/icon-chevron-down-sm.svg") no-repeat center / contain;
}
.product-wrap__accordion .ty-product-review-post-votes__up .ty-icon {
    transform: rotate(180deg);
}
.product-wrap__accordion .ty-product-review-post-votes .ty-icon::before {
    content: none;
}
.product-wrap__accordion .ty-product-reviews-view .ty-no-items {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font-size: 14px;
    text-align: left;
    color: #7A7872;
}

/* ---------- діалоги CS-Cart (jQuery UI): «Написать отзыв», вхід тощо ---------- */
.ui-widget-overlay {
    background: rgba(13, 13, 13, .45);
    opacity: 1;
}
.ui-dialog.ui-widget {
    max-width: calc(100vw - 32px);
    padding: 0;
    overflow: hidden;
    border: 1px solid #EAE6DF;
    border-radius: 8px;
    background: #F4F1EA;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
    font-family: 'Plus Jakarta Sans', 'Noto Sans Cyr', sans-serif;
    color: #2A2A2A;
}
.ui-dialog .ui-dialog-titlebar {
    position: relative;
    padding: 24px 64px 16px 24px;
    border: 0;
    border-bottom: 1px solid #EAE6DF;
    border-radius: 0;
    background: transparent;
}
.ui-dialog .ui-dialog-title {
    float: none;
    width: auto;
    margin: 0;
    font-family: inherit;
    font-size: 20px;
    font-weight: 290;
    line-height: 1.2;
    letter-spacing: -.3px;
    text-transform: uppercase;
    white-space: normal;
    color: #2A2A2A;
}
.ui-dialog .ui-dialog-titlebar-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 50%;
    background: #EBE8E3;
    font-size: 0;
    color: transparent;
    opacity: 1;
    transition: background-color .3s;
}
.ui-dialog .ui-dialog-titlebar-close .ui-icon,
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon-space {
    display: none;
}
.ui-dialog .ui-dialog-titlebar-close::before,
.ui-dialog .ui-dialog-titlebar-close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 1.5px;
    background: #2A2A2A;
    transform: translate(-50%, -50%) rotate(45deg);
}
.ui-dialog .ui-dialog-titlebar-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.ui-dialog .ui-dialog-titlebar-close:hover {
    background: #DDDBD5;
}
.ui-dialog .ui-dialog-content {
    padding: 0;
    background: transparent;
    font-family: inherit;
    font-size: 14px;
    color: #2A2A2A;
}
.ui-dialog .object-container {
    padding: 20px 24px;
    background: transparent;
}
.ui-dialog .ty-control-group {
    margin: 0 0 16px;
}
.ui-dialog .ty-control-group__title,
.ui-dialog .ty-product-review-new-product-review-customer__title {
    display: block;
    margin: 0 0 8px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    text-transform: uppercase;
    color: #7A7872;
}
.ui-dialog :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], textarea, select) {
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0 15px;
    border: 1px solid #EAE6DF;
    border-radius: 4px;
    background: #fff;
    box-shadow: none;
    font-family: inherit;
    font-size: 15px;
    color: #0D0D0D;
}
.ui-dialog textarea {
    height: 96px;
    padding: 12px 15px;
    resize: vertical;
}
.ui-dialog :is(input, textarea, select):focus {
    border-color: #2A2A2A;
    outline: none;
}
.ui-dialog :is(input, textarea)::placeholder {
    color: #AEAEB2;
}
.ui-dialog input[type="checkbox"],
.ui-dialog input[type="radio"]:not(.ty-visually-hidden) {
    width: 16px;
    height: 16px;
    margin: 0 8px 0 0;
    accent-color: #2A2A2A;
    vertical-align: -3px;
}
.ui-dialog .ty-product-review-new-product-review-customer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 8px 0 8px;
}
.ui-dialog .ty-product-review-new-product-review-customer__header .ty-product-review-write-product-review-button {
    width: auto;
    min-height: 32px;
    margin: 0;
    padding: 0 16px;
    border: 1px solid #2A2A2A;
    border-radius: 4px;
    background: transparent;
    font-size: 12px;
    font-weight: 522;
    text-transform: uppercase;
    text-decoration: none;
    color: #2A2A2A;
}
.ui-dialog .ty-product-review-new-product-review-additional label {
    display: flex;
    align-items: flex-start;
    font-size: 13px;
    line-height: 1.5;
    color: #2A2A2A;
}
.ui-dialog .ty-license-agreement__link {
    border: 0;
    text-decoration: underline;
    color: #2A2A2A;
    cursor: pointer;
}
.ui-dialog .ty-license-agreement__content {
    margin: 8px 0 0;
    padding: 12px 16px;
    border-radius: 4px;
    background: #EBE8E3;
    font-size: 13px;
    line-height: 1.5;
}
.ui-dialog .ty-license-agreement__content a {
    color: #2A2A2A;
}
/* вибір зірок у формі */
.ui-dialog .ty-product-review-rate__stars-label {
    color: #DDDBD5;
}
.ui-dialog .ty-product-review-rate__stars-label::before,
.ui-dialog .ty-product-review-rate__stars-radio:checked ~ .ty-product-review-rate__stars-label::before {
    color: inherit;
}
.ui-dialog .ty-product-review-rate__stars:hover .ty-product-review-rate__stars-label,
.ui-dialog .ty-product-review-rate__stars-radio:checked ~ .ty-product-review-rate__stars-label {
    color: #B69754;
}
.ui-dialog .ty-product-review-rate__stars-label:hover ~ .ty-product-review-rate__stars-label {
    color: #DDDBD5;
}
/* завантаження фото */
.ui-dialog .ty-fileuploader__drop-zone {
    padding: 20px;
    border: 1px dashed #DDDBD5;
    border-radius: 8px;
    background: #F7F2ED;
    color: #7A7872;
}
.ui-dialog .ty-fileuploader__drop-zone-description,
.ui-dialog .ty-fileuploader__drop-zone-text {
    font-size: 12px;
    line-height: 1.5;
    color: #7A7872;
}
.ui-dialog .ty-fileuploader__a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin: 8px 0;
    padding: 0 16px;
    border: 1px solid #2A2A2A;
    border-radius: 4px;
    background: transparent;
    font-size: 12px;
    font-weight: 522;
    text-transform: uppercase;
    color: #2A2A2A;
    cursor: pointer;
}
.ui-dialog .ty-fileuploader__a:hover {
    background: #2A2A2A;
    color: #F4F1EA;
}
.ui-dialog .ty-fileuploader__drop-zone-buttons {
    background: transparent;
}
/* нижня панель з кнопкою */
.ui-dialog .buttons-container,
.ui-dialog .ui-dialog-buttonpane,
.ui-dialog .ty-product-review-new-product-review__buttons {
    box-sizing: border-box;
    left: 0;
    right: 0;
    width: auto;
    margin: 0;
    padding: 16px 24px 24px;
    border: 0;
    border-top: 1px solid #EAE6DF;
    background: transparent;
}
.ui-dialog :is(.ty-btn__primary, .ty-btn__secondary, button[type="submit"]):not(.ui-dialog-titlebar-close):not(.ty-product-review-write-product-review-button) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 49px;
    margin: 0;
    padding: 0 32px;
    border: 0;
    border-radius: 4px;
    background: #2A2A2A;
    box-shadow: none;
    font-family: inherit;
    font-size: 13px;
    font-weight: 522;
    text-transform: uppercase;
    text-shadow: none;
    color: #F4F1EA;
    cursor: pointer;
    transition: background-color .3s;
}
.ui-dialog :is(.ty-btn__primary, .ty-btn__secondary, button[type="submit"]):not(.ui-dialog-titlebar-close):not(.ty-product-review-write-product-review-button):hover {
    background: #000;
}
.ui-dialog .cm-failed-label,
.ui-dialog .help-inline {
    font-size: 12px;
    color: #D42027;
}
.ui-dialog .cm-failed-field {
    border-color: #D42027 !important;
}
@media (max-width: 575px) {
    .ui-dialog.ui-widget {
        left: 16px !important;
        width: calc(100vw - 32px) !important;
    }
    .ui-dialog .object-container {
        padding: 16px;
    }
}

/* ---------- оформлення за макетом «Доставка» (408:2776 / 554:2470) ----------
   блоки lite checkout «розплющуються» в одну сітку: поля по два в ряд, далі способи доставки й оплати, згода */
.e2e-checkout #litecheckout_payments_form > .litecheckout__group {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0 16px;
    margin: 0;
}
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div {
    flex: 0 0 100%;
    min-width: 0;
    order: 50;
}
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(#litecheckout_step_location, .shipping-address, #litecheckout_step_customer_info),
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(#litecheckout_step_location) > .litecheckout__container,
.e2e-checkout #litecheckout_step_location,
.e2e-checkout #litecheckout_step_location > .litecheckout__group,
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(.shipping-address) > .litecheckout__group,
.e2e-checkout #litecheckout_step_customer_info {
    display: contents;
}
/* заголовок «Доставка» + «Войти» в один рядок */
.e2e-checkout #litecheckout_step_location > .litecheckout__group > .litecheckout__item {
    flex: 1 1 auto;
    order: 1;
    width: auto;
    margin: 0 0 24px;
    padding: 0;
}
.e2e-checkout #litecheckout_step_location .litecheckout__step-title {
    margin: 0;
    font-size: 40px;
    font-weight: 290;
    line-height: 1.02;
    letter-spacing: -.8px;
    text-transform: uppercase;
    color: #2A2A2A;
}
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(.ty-litecheckout__customer-title) {
    flex: 0 0 auto;
    width: auto;
    order: 1;
    margin: 4px 0 24px auto;
}
.e2e-checkout .ty-litecheckout__customer-title {
    display: flex;
    margin: 0;
}
.e2e-checkout .ty-litecheckout__customer-title .litecheckout__item--fill {
    display: none;
}
.e2e-checkout .ty-litecheckout__customer-title .litecheckout__item {
    width: auto;
    margin: 0;
    padding: 0;
}
.e2e-checkout .ty-litecheckout__customer-title a.ty-btn.ty-btn__secondary {
    min-height: 36px;
    padding: 0 20px;
    border: 1px solid #2A2A2A;
    background: transparent;
    font-size: 12px;
    color: #2A2A2A;
}
.e2e-checkout .ty-litecheckout__customer-title a.ty-btn.ty-btn__secondary:hover {
    background: #2A2A2A;
    color: #F4F1EA;
}
/* поля: по два в ряд */
.e2e-checkout #litecheckout_payments_form .litecheckout__field:is(
    :has(#litecheckout_fullname),
    :has(.ty-field-phone-container),
    :has(#litecheckout_email),
    :has(#litecheckout_city),
    :has(#litecheckout_s_zipcode),
    :has(#litecheckout_s_address)
) {
    flex: 0 0 calc(50% - 8px);
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 0 0 16px;
}
.e2e-checkout .litecheckout__field:has(#litecheckout_fullname) { order: 2; }
.e2e-checkout .litecheckout__field:has(.ty-field-phone-container) { order: 3; }
.e2e-checkout .litecheckout__field:has(#litecheckout_email) { order: 4; }
.e2e-checkout .litecheckout__field:has(#litecheckout_city) { order: 5; }
.e2e-checkout .litecheckout__field:has(#litecheckout_s_zipcode) { order: 6; }
.e2e-checkout .litecheckout__field:has(#litecheckout_s_address) { order: 7; }
.e2e-checkout #litecheckout_autocomplete_dropdown { order: 8; }
/* Keep native country/region fields available: a new customer may have no location yet. */
.e2e-checkout #litecheckout_step_location .litecheckout__field:has(#litecheckout_state, #litecheckout_country) {
    display: block;
    flex: 0 0 calc(50% - 8px);
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 0 0 16px;
    order: 5;
}
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(#litecheckout_comment_to_shipping) {
    order: 9;
}
.e2e-checkout #litecheckout_comment_to_shipping {
    height: 96px;
}
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(#litecheckout_comment_to_shipping) .litecheckout__field,
.e2e-checkout .litecheckout__shippings .litecheckout__item,
.e2e-checkout #litecheckout_terms,
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(#litecheckout_terms) .litecheckout__item,
.e2e-checkout #litecheckout_use_billing_address_form .litecheckout__item {
    width: 100%;
    margin: 0;
    padding: 0;
}
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(.e2e-checkout-shipping) {
    order: 10;
    margin-top: 24px;
}
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(.e2e-checkout-payment) {
    order: 11;
    margin-top: 40px;
}
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(#litecheckout_use_billing_address_form) {
    order: 12;
    margin-top: 24px;
}
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(#litecheckout_terms) {
    order: 13;
    margin-top: 32px;
}
.e2e-checkout .litecheckout__group .litecheckout__group,
.e2e-checkout .litecheckout__container {
    margin: 0;
}
/* підзаголовки «Способ доставки / оплаты» */
.e2e-checkout .e2e-checkout__subtitle {
    margin: 0 0 24px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: none;
    color: #2A2A2A;
}
/* картки способів: дві в ряд */
.e2e-checkout .litecheckout__shippings > .litecheckout__group,
.e2e-checkout .litecheckout__payment-methods ~ .litecheckout__group,
.e2e-checkout #litecheckout_step_payment .litecheckout__section > .litecheckout__group:first-child {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.e2e-checkout .litecheckout__shipping-method {
    flex: 0 0 calc(50% - 8px);
    max-width: calc(50% - 8px);
    margin: 0;
    padding: 0;
}
.e2e-checkout .litecheckout__shipping-method__wrapper {
    position: relative;
    min-height: 136px;
    padding: 23px 56px 23px 23px;
}
/* «радіо» в куті картки, як у макеті */
.e2e-checkout .litecheckout__shipping-method__wrapper::after {
    content: '';
    position: absolute;
    top: 27px;
    right: 24px;
    width: 16px;
    height: 16px;
    border: 1px solid #EAE6DF;
    border-radius: 50%;
    box-sizing: border-box;
}
.e2e-checkout .litecheckout__shipping-method__radio:checked + .litecheckout__shipping-method__wrapper::after {
    border: 0;
    background: url('../img/main/icon-radio.svg') center / 100% no-repeat;
}
.e2e-checkout .litecheckout__shipping-method__title {
    margin: 0;
}
.e2e-checkout .litecheckout__shipping-method__title span {
    font-size: 18px;
    font-weight: 700;
}
.e2e-checkout .litecheckout__shipping-method__description,
.e2e-checkout .litecheckout__payment-instructions {
    margin: 16px 0 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #7A7872;
}
.e2e-checkout .litecheckout__shipping-method__description p {
    margin: 0;
}
/* згода й умови */
.e2e-checkout .litecheckout__terms {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.e2e-checkout .ty-checkout__terms {
    margin: 0;
    padding: 0;
}
.e2e-checkout .ty-checkout__terms label,
.e2e-checkout .ty-gdpr-agreement {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    font-size: 13px;
    font-weight: 522;
    line-height: 24px;
    text-transform: uppercase;
    color: #7A7872;
    cursor: pointer;
}
.e2e-checkout .ty-gdpr-agreement label {
    display: contents;
}
.e2e-checkout :is(.ty-checkout__terms, .ty-gdpr-agreement) input[type="checkbox"] {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 1px solid #EAE6DF;
    border-radius: 4px;
    background: #fff center / 10px no-repeat;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
.e2e-checkout :is(.ty-checkout__terms, .ty-gdpr-agreement) input[type="checkbox"]:checked {
    border-color: #2A2A2A;
    background-image: url('../img/main/icon-check-sm.svg');
}
.e2e-checkout .ty-license-agreement__link {
    border: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
    color: #7A7872;
    cursor: pointer;
}
.e2e-checkout .ty-license-agreement__link u {
    text-decoration: none;
}
.e2e-checkout .ty-license-agreement__content {
    margin: 8px 0 0 34px;
    padding: 12px 16px;
    border-radius: 4px;
    background: #EBE8E3;
    font-size: 13px;
    line-height: 1.5;
    text-transform: none;
    color: #2A2A2A;
}
.e2e-checkout .ty-address-switch {
    margin: 0;
    padding: 16px 20px;
    border: 1px solid #EAE6DF;
    border-radius: 8px;
    background: transparent;
}
@media (max-width: 767px) {
    .e2e-checkout #litecheckout_step_location .litecheckout__step-title {
        font-size: 18px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0;
        text-transform: none;
    }
    .e2e-checkout #litecheckout_step_location > .litecheckout__group > .litecheckout__item {
        margin-bottom: 16px;
    }
    .e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(.ty-litecheckout__customer-title) {
        margin: 0 0 16px auto;
    }
    .e2e-checkout #litecheckout_payments_form .litecheckout__field:is(
        :has(#litecheckout_fullname),
        :has(.ty-field-phone-container),
        :has(#litecheckout_email),
        :has(#litecheckout_city),
        :has(#litecheckout_s_zipcode),
        :has(#litecheckout_s_address)
    ) {
        flex-basis: 100%;
    }
    .e2e-checkout .e2e-checkout__subtitle {
        margin-bottom: 16px;
        font-size: 15px;
        font-weight: 376;
        line-height: 1.5;
    }
    .e2e-checkout .litecheckout__shipping-method {
        flex-basis: 100%;
        max-width: none;
    }
    .e2e-checkout .litecheckout__shipping-method__wrapper {
        min-height: 0;
        padding: 15px 48px 15px 15px;
    }
    .e2e-checkout .litecheckout__shipping-method__wrapper::after {
        top: 19px;
        right: 16px;
    }
    .e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(.e2e-checkout-payment) {
        margin-top: 32px;
    }
}
/* оформлення: доводка сітки */
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div {
    margin-left: 0;
    margin-right: 0;
}
.e2e-checkout #litecheckout_step_location > .litecheckout__group > .litecheckout__item {
    flex: 1 0 55%;
}
.e2e-checkout #litecheckout_terms .ty-checkout__terms > .cm-field-container > label,
.e2e-checkout #litecheckout_terms .ty-gdpr-agreement {
    position: relative;
    display: block;
    min-height: 24px;
    padding-left: 34px;
}
.e2e-checkout #litecheckout_terms :is(.ty-checkout__terms, .ty-gdpr-agreement) input[type="checkbox"] {
    position: absolute;
    top: 3px;
    left: 0;
}
.e2e-checkout .ty-address-switch {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.e2e-checkout .ty-address-switch::before,
.e2e-checkout .ty-address-switch::after {
    content: none;
}
.e2e-checkout .ty-address-switch .ty-profile-field__switch-label,
.e2e-checkout .ty-address-switch .ty-profile-field__switch-actions {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    text-align: left;
}
.e2e-checkout .ty-address-switch label {
    font-size: 13px;
    color: #2A2A2A;
}

/* діалог відгуку: доводка */
.ui-dialog .object-container {
    scrollbar-width: thin;
    scrollbar-color: #DDDBD5 transparent;
}
.ui-dialog .buttons-container.buttons-container-picker {
    padding-right: calc(24px + var(--e2e-sb, 0px));
}
.ui-dialog .ty-product-review-new-product-review-customer__header a.ty-btn.ty-btn__secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.ui-dialog .ty-product-review-new-product-review-customer__header a.ty-btn.ty-btn__secondary:hover {
    background: #2A2A2A;
    color: #F4F1EA;
}
.ui-dialog textarea {
    resize: none;
}
.ui-dialog .ty-product-review-new-product-review-message__title,
.ui-dialog .ty-product-review-new-product-review__media .ty-control-group {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    text-transform: uppercase;
    color: #7A7872;
}
.ui-dialog .ty-product-review-new-product-review__media .ty-control-group > div {
    margin-top: 8px;
    text-transform: none;
}
.ui-dialog .ty-product-review-new-product-review-additional .ty-control-group {
    margin-bottom: 12px;
}
.ui-dialog .ty-product-review-new-product-review-additional label {
    position: relative;
    display: block;
    min-height: 18px;
    padding-left: 30px;
    cursor: pointer;
}
.ui-dialog .ty-product-review-new-product-review-additional label::after {
    position: static;
    margin-left: 2px;
    color: #D42027;
}
.ui-dialog .ty-product-review-new-product-review-additional input[type="checkbox"] {
    position: absolute;
    top: 1px;
    left: 0;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 1px solid #DDDBD5;
    border-radius: 4px;
    background: #fff center / 10px no-repeat;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
.ui-dialog .ty-product-review-new-product-review-additional input[type="checkbox"]:checked {
    border-color: #2A2A2A;
    background-image: url('../img/main/icon-check-sm.svg');
}
.ui-dialog .ty-product-review-new-product-review-additional .ty-muted,
.ui-dialog .ty-product-review-new-product-review-additional small,
.ui-dialog .ty-product-review-new-product-review-additional p {
    font-size: 12px;
    line-height: 1.5;
    color: #7A7872;
}

/* оформлення ближче до макета: поля з плейсхолдером (без плаваючих підписів), порядок Имя|Телефон, Индекс|Адрес, Город|E-mail */
.e2e-checkout #litecheckout_payments_form .litecheckout__input:not(.litecheckout__input--textarea) {
    height: 55px;
    padding: 0 15px;
    background: transparent;
    font-size: 15px;
    font-weight: 376;
    line-height: 23px;
    color: #0D0D0D;
}
.e2e-checkout #litecheckout_payments_form .litecheckout__label {
    top: 50%;
    left: 16px;
    margin: 0;
    padding: 0;
    font-size: 15px;
    font-weight: 376;
    line-height: 23px;
    color: #AEAEB2;
    transform: translateY(-50%);
    pointer-events: none;
}
.e2e-checkout #litecheckout_payments_form .litecheckout__input:not(:placeholder-shown) + .litecheckout__label,
.e2e-checkout #litecheckout_payments_form .litecheckout__input:focus + .litecheckout__label,
.e2e-checkout #litecheckout_payments_form .litecheckout__field:has(input:not(:placeholder-shown)) .litecheckout__label {
    display: none;
}
.e2e-checkout .litecheckout__field:has(#litecheckout_s_zipcode) { order: 4; }
.e2e-checkout .litecheckout__field:has(#litecheckout_s_address) { order: 5; }
.e2e-checkout .litecheckout__field:has(#litecheckout_city) { order: 6; }
.e2e-checkout .litecheckout__field:has(#litecheckout_email) { order: 7; }
/* телефон: маска Грузії за замовчуванням, вибір країни не потрібен */
.e2e-checkout .ty-field-phone-container {
    display: block;
    width: 100%;
}

.e2e-checkout .ty-field-phone-container input {
    width: 100%;
    border-radius: 4px;
}
/* у макеті немає входу й приміток */
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(.ty-litecheckout__customer-title),
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(#litecheckout_comment_to_shipping) {
    display: none;
}
.e2e-checkout #litecheckout_step_location > .litecheckout__group > .litecheckout__item {
    flex: 0 0 100%;
}
.e2e-checkout .ty-field-phone-container {
    position: relative;
}
.e2e-checkout .ty-field-phone-container .ty-btn-group--phone-mask {
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}
.e2e-checkout .ty-field-phone-container input.litecheckout__input {
    width: 100%;
    border-right: 1px solid #EAE6DF;
}
/* поле має відступ знизу 16px — центруємо підпис по висоті інпута (55px) */
.e2e-checkout #litecheckout_payments_form .litecheckout__label {
    top: 27.5px;
}

/* ---------- оформлення 1:1 з макетом «Доставка» (408:2776) ---------- */
/* порядок полів: Имя | Телефон, Индекс | Адрес доставки, Город на всю ширину */
.e2e-checkout .litecheckout__field:has(#litecheckout_fullname) { order: 2; }
.e2e-checkout .litecheckout__field:has(.ty-field-phone-container) { order: 3; }
.e2e-checkout .litecheckout__field:has(#litecheckout_s_zipcode) { order: 4; }
.e2e-checkout .litecheckout__field:has(#litecheckout_s_address) { order: 5; }
.e2e-checkout #litecheckout_payments_form .litecheckout__field:has(#litecheckout_city) {
    order: 6;
    flex-basis: 100%;
}
/* у макеті немає зірочок обов'язкових полів */
.e2e-checkout #litecheckout_payments_form .litecheckout__label.cm-required::after,
.e2e-checkout #litecheckout_payments_form .litecheckout__label::after {
    content: none;
    display: none;
}
.e2e-checkout #litecheckout_payments_form .litecheckout__label {
    font-size: 15px;
}
/* у макеті на кроці «Доставка» немає оплати (єдиний спосіб вибраний за замовчуванням), юрособи, опису доставки й окремої галочки умов */
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(.e2e-checkout-payment),
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(#litecheckout_use_billing_address_form),
.e2e-checkout .litecheckout__shippings > .litecheckout__group:not(:first-of-type),
.e2e-checkout #litecheckout_terms .ty-checkout__terms:not(:has(.ty-gdpr-agreement)) {
    display: none;
}
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(.e2e-checkout-shipping) {
    margin-top: 24px;
}
.e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(#litecheckout_terms) {
    margin-top: 40px;
}
/* картки способів доставки */
.e2e-checkout .e2e-checkout__subtitle {
    margin-bottom: 24px;
}
.e2e-checkout .litecheckout__shipping-method__wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-height: 136px;
    padding: 23px 64px 23px 23px;
}
.e2e-checkout .litecheckout__shipping-method__wrapper::after {
    top: 27.5px;
    right: 24px;
}
.e2e-checkout .litecheckout__shipping-method__title {
    font-size: 15px;
    font-weight: 376;
    line-height: 23px;
    text-transform: none;
}
.e2e-checkout .litecheckout__shipping-method__delivery-time {
    margin: 0;
    font-size: 13px;
    font-weight: 522;
    line-height: 24px;
    text-transform: uppercase;
}
.e2e-checkout .litecheckout__shipping-method__price {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}
.e2e-checkout .litecheckout__shipping-method__price * {
    font: inherit;
}
/* згода: звичайний текст, як у макеті */
.e2e-checkout #litecheckout_terms .ty-gdpr-agreement {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-left: 0;
}
.e2e-checkout #litecheckout_terms .ty-gdpr-agreement input[type="checkbox"] {
    position: static;
}
.e2e-checkout #litecheckout_terms .ty-gdpr-agreement .ty-license-agreement__link {
    text-decoration: none;
    color: #7A7872;
}
.e2e-checkout #litecheckout_terms .ty-gdpr-agreement .ty-license-agreement__link u {
    text-decoration: none;
}
@media (max-width: 767px) {
    .e2e-checkout .litecheckout__shipping-method__wrapper {
        min-height: 0;
        padding: 15px 48px 15px 15px;
    }
    .e2e-checkout .litecheckout__shipping-method__wrapper::after {
        top: 19.5px;
        right: 16px;
    }
    .e2e-checkout .litecheckout__shipping-method__delivery-time {
        opacity: .8;
    }
    .e2e-checkout #litecheckout_payments_form > .litecheckout__group > div:has(#litecheckout_terms) {
        margin-top: 24px;
    }
}
/* e-mail на оформленні не обов'язковий і в макеті відсутній */
.e2e-checkout #litecheckout_payments_form .litecheckout__field:has(#litecheckout_email) {
    display: none;
}

/* Product cards with an existing presentation page lead to that page first. */
.catalog-wrap__list .item__details,
.products-wrap__list .item__details {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 4px;
    background: #2a2a2a;
    color: #f4f1ea;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}
.catalog-wrap__list .item__details:hover,
.catalog-wrap__list .item__details:focus-visible,
.products-wrap__list .item__details:hover,
.products-wrap__list .item__details:focus-visible {
    background: #000;
    color: #fff;
}
.catalog-wrap__list .item__details:focus-visible,
.products-wrap__list .item__details:focus-visible,
.product-wrap__landing:focus-visible {
    outline: 2px solid #2a2a2a;
    outline-offset: 3px;
}
.product-wrap__landing {
    align-self: flex-start;
    color: #7a7465;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.product-wrap__landing:hover {
    color: #2a2a2a;
}
@media (max-width: 767px) {
    .catalog-wrap__list .item__bottom:has(.item__details),
    .products-wrap__list .item__bottom:has(.item__details) {
        height: auto;
    }
    .catalog-wrap__list .item__details,
    .products-wrap__list .item__details {
        min-height: 40px;
    }
}
/* Existing explanation pages in the main navigation. */
.e2e-nav-menu {
  position: relative;
}
.e2e-nav-menu > summary {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #7a7872;
  cursor: pointer;
  list-style: none;
  font-size: 13px;
  font-weight: 522;
  line-height: 24px;
  font-kerning: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.e2e-nav-menu__chevron {
  display: block;
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
.e2e-nav-menu > summary::-webkit-details-marker {
  display: none;
}
.e2e-nav-menu > summary:hover,
.e2e-nav-menu > summary:focus-visible,
.e2e-nav-menu[open] > summary {
  color: #2a2a2a;
}
.e2e-nav-menu > summary:focus-visible,
.e2e-nav-menu__panel a:focus-visible {
  outline: 2px solid #2a2a2a;
  outline-offset: 3px;
}
.e2e-nav-menu__panel {
  position: absolute;
  top: calc(100% + 22px);
  left: -140px;
  z-index: 20;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  width: min(720px, calc(100vw - 32px));
  max-height: calc(100vh - 140px);
  overflow-y: auto;
  padding: 28px;
  border: 1px solid #eae6df;
  border-radius: 8px;
  background: #f7f2ed;
  box-shadow: 0 18px 40px rgba(42, 42, 42, .12);
}
.e2e-nav-menu__group {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.e2e-nav-menu__heading {
  padding-bottom: 8px;
  border-bottom: 1px solid #d9d5ce;
  color: #7a7872;
  font-size: 11px;
  line-height: 1.4;
  text-transform: uppercase;
}
.header-wrap__nav .e2e-nav-menu__panel a,
.e2e-nav-menu__panel a {
  color: #2a2a2a;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
  text-transform: none;
  white-space: normal;
}
.e2e-nav-menu__panel a:hover {
  color: #9b2025;
}
.e2e-nav-menu--mobile .e2e-nav-menu__chevron {
  margin-left: auto;
}
@media (max-width: 991px) {
  .e2e-nav-menu--mobile > summary {
    color: rgba(42, 42, 42, .8);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: none;
  }
  .e2e-nav-menu--mobile .e2e-nav-menu__panel {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: auto;
    max-height: none;
    overflow: visible;
    margin-top: 12px;
    padding: 16px 0 0 16px;
    border: 0;
    border-left: 1px solid #d9d5ce;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .e2e-nav-menu--mobile .e2e-nav-menu__panel a {
    font-size: 15px;
  }
}

/* Existing text presentations need the same purchase affordance as the custom landings. */
.e2e-scope .article-wrap__content .e2e-presentation-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 48px;
    padding: 14px 28px;
    border-radius: 4px;
    background: #2a2a2a;
    color: #f7f2ed;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    text-transform: uppercase;
}
.e2e-scope .article-wrap__content .e2e-presentation-cta:hover { background: #444; color: #f7f2ed; }
.e2e-scope .e2e-presentation-cta:focus-visible { outline: 2px solid #2a2a2a; outline-offset: 4px; }
@media (max-width: 767px) {
    .e2e-scope .article-wrap__content .e2e-presentation-cta { display: flex; width: 100%; }
}

/* The custom checkout header already supplies the accessible page title. */
body:has(.cart--checkout-head) .litecheckout__page-title{display:none}

/* Long localized delivery labels must remain inside their own reassurance item. */
.e2e-scope .product-wrap__features{gap:16px}
.e2e-scope .product-wrap__features .item{flex:1 1 0;min-width:0}
.e2e-scope .product-wrap__features .item span{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}

@media(min-width:768px){
    .footer-wrap .item__form{gap:8px;flex-wrap:wrap}
    .footer-wrap .item__input{flex:1 1 140px}
    .footer-wrap .item__submit{width:auto;max-width:100%;height:auto;min-height:23px;white-space:normal;overflow-wrap:anywhere}
}
/* Final FetalDNA package renders are 250 x 234, not the old cropped 200px images. */
.e2e-scope .packages-wrap__list .item__media{height:234px}
.e2e-scope .packages-wrap__list .item__img{height:auto;object-fit:contain}

/* Designer-supplied home hero video; glass card keeps its original position. */
.hero-wrap__media > .hero-wrap__photo[data-e2e-video-poster] {
    opacity: 1;
    animation: none;
}
.hero-wrap__video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
}
.hero-wrap__video.is-playing { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
    .hero-wrap__video { display: none; transition: none; }
}

/* Supplied ping-pong capsule video for the expertise/science section. */
.science-wrap__media { position: relative; }
.e2e-background-video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}
.e2e-background-video { opacity: 0; transition: opacity .35s ease; }
.e2e-background-video.is-playing { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
    .e2e-background-video { display: none; transition: none; }
}

/* Keep the client's related-product links accessible below articles on phones. */
@media (max-width: 991px) {
    .article-wrap--products { flex-direction: column; }
    .article-wrap__aside--products { display: flex; width: 100%; }
    .article-wrap__aside--products > :not(.article-card--protocol) { display: none; }
}

/* Client review: keep the existing language selectors usable on mobile. */
@media (max-width: 991px) {
    .e2e-scope .header .header-wrap__actions,
    .e2e-scope .header.header--supplement .header-wrap__actions,
    .e2e-scope .header.header--ucas .header-wrap__actions {
        display: flex !important;
    }
    .e2e-scope .header .header-wrap__langs:not(.header-wrap__account),
    .e2e-scope .header .header-wrap__lang {
        display: flex;
    }
    .e2e-scope .header .header-wrap__lang {
        align-items: center;
        justify-content: center;
        min-width: 44px;
        height: 44px;
    }
    .e2e-scope .header .header-wrap__lang-list a,
    .e2e-scope .footer .footer-wrap__lang-list a {
        display: flex;
        align-items: center;
        min-height: 44px;
    }
    .e2e-scope .header .header-wrap__lang-list {
        top: 100%;
    }
}
@media (max-width: 767px) {
    .e2e-scope .header .header-wrap__lang { gap: 6px; }
    .e2e-scope .header .header-wrap__lang > img:first-child { display: none; }
    .e2e-scope .header.header--supplement .header-wrap__content,
    .e2e-scope .header.header--ucas .header-wrap__content,
    body:has(.fetal, .statya) .e2e-scope .header .header-wrap__content { gap: 8px; }
    .e2e-scope .header--supplement .header-wrap__actions > :not(.header-wrap__langs:not(.header-wrap__account)),
    .e2e-scope .header--ucas .header-wrap__actions > :not(.header-wrap__langs:not(.header-wrap__account)),
    body:has(.fetal, .statya) .e2e-scope .header .header-wrap__actions > :not(.header-wrap__langs:not(.header-wrap__account)) { display: none; }
    .e2e-scope .footer .footer-wrap > .container {
        display: block;
        padding: 16px 24px;
    }
    .e2e-scope .footer .footer-wrap__legal { width: 100%; gap: 0; }
    .e2e-scope .footer .footer-wrap__legal > li:not(.footer-wrap__langs) { display: none; }
    .e2e-scope .footer .footer-wrap__lang { align-items: center; min-height: 44px; }
}


/* Global header CTA hover uses the designer's existing olive banner colour. */
.header .header-wrap__btn:hover { background-color: #6B7353; color: #F4F1EA; }

/* Two-column Confirmation Modal from designer frame 2126:9185. */
.e2e-quick-order {
    width: 928px;
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 32px);
    padding: 22px;
    border: 0;
    background: transparent;
    color: #2A2A2A;
    overflow-y: auto;
}
.e2e-quick-order::backdrop { background: rgba(0, 0, 0, .25); }
.e2e-quick-order__card { position: relative; display: grid; grid-template-columns: 330px minmax(0, 1fr); background: #F4F1EA; }
.e2e-quick-order__media { min-width: 0; overflow: hidden; }
.e2e-quick-order__media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.e2e-quick-order__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; padding: 28px 32px; margin: 0; }
.e2e-quick-order__field { display: flex; flex-direction: column; min-width: 0; gap: 16px; }
.e2e-quick-order__field > :is(span, label) { font-size: 11px; line-height: 16px; text-transform: uppercase; }
.e2e-quick-order__field--wide { grid-column: 1 / -1; }
.e2e-quick-order__field :is(input, select) { box-sizing: border-box; min-width: 0; width: 100%; height: 54px; padding: 0 16px; border: 0; border-radius: 4px; box-shadow: none; background-color: #EBE8E3; font: inherit; font-size: 15px; line-height: 23px; color: #7A7872; }
.e2e-quick-order__field select { appearance: auto; }
.e2e-quick-order__phone { display: flex; align-items: center; min-width: 0; border-radius: 4px; background: #EBE8E3; }
.e2e-quick-order__phone select { flex: 0 0 96px; width: 96px; padding-right: 4px; }
.e2e-quick-order__phone input { flex: 1; width: 0; padding-left: 4px; }
.e2e-quick-order__submit { width: 100%; min-height: 49px; background: #2A2A2A; color: #F4F1EA; font-size: 12px; line-height: 18px; }
.e2e-quick-order__submit:hover { background: #6B7353; }
.e2e-quick-order__note { font-size: 11px; line-height: 16px; text-transform: uppercase; }
.e2e-quick-order__prenatal { font-size: 13px; line-height: 20px; }
.e2e-quick-order__prenatal[hidden] { display: none; }
.e2e-quick-order__field :is(input, select):focus-visible { outline: 2px solid #6B7353; outline-offset: 2px; }
@media (max-width: 767px) {
    .e2e-quick-order__card { grid-template-columns: minmax(0, 1fr); }
    .e2e-quick-order__media { max-height: 180px; }
    .e2e-quick-order__form { padding: 24px; gap: 20px 16px; }
}
@media (max-width: 479px) {
    .e2e-quick-order__form { grid-template-columns: minmax(0, 1fr); padding: 20px; gap: 16px; }
    .e2e-quick-order__field { gap: 8px; }
}

.e2e-quick-order-lock { overflow: hidden; }
.e2e-quick-order__close {
    position: absolute;
    z-index: 1;
    top: -22px;
    right: -22px;
    width: 44px;
    height: 44px;
    padding: 8px;
    border: 0;
    border-radius: 50%;
    background: #F4F1EA;
    cursor: pointer;
}
.e2e-quick-order__close img { display: block; width: 28px; height: 28px; }
/* Keep the global quick action available at the existing mobile breakpoint. */
@media (max-width: 991px) {
    .header [data-e2e-quick-open] { display: flex; height: 32px; padding: 0 12px; font-size: 11px; line-height: 16px; }
    .header [data-e2e-quick-open] .header-wrap__full { display: none; }
    .header [data-e2e-quick-open] .header-wrap__short { display: inline; }
}
@media (max-width: 479px) {
    .header:has([data-e2e-quick-open]) .header-wrap__content,
    .header:has([data-e2e-quick-open]) .header-wrap__actions { gap: 8px; }
}

.e2e-quick-order button:focus-visible { outline: 2px solid #2A2A2A; outline-offset: 3px; }
.e2e-quick-order__field.is-error { box-shadow: none; }
.e2e-quick-order__field.is-error :is(input, .e2e-quick-order__phone) { box-shadow: inset 0 0 0 1px #D42027; }
.e2e-quick-order__field .e2e-field-error { padding: 0; font-size: 11px; line-height: 16px; }
.e2e-quick-order__form > [data-e2e-submit-error] { grid-column: 1 / -1; }

/* Reuse the existing registration-button radius and shadow. */
.e2e-quick-order__submit { border-radius: 4px; filter: drop-shadow(0 4px 7px rgba(0, 0, 0, .11)); }

/* Designer follow-up, 2026-10-14: green CTA hover, linked-photo zoom, smooth anchors. */
html { scroll-behavior: smooth; }
.e2e-scope #markers { scroll-margin-top: 110px; }

:is(.e2e-scope, .e2e-native) :is(.btn, .ty-btn, .ucas-button, .supplement-button, .e2e-presentation-cta),
.e2e-modal__btn,
.e2e-quick-order__submit {
    transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
:is(.e2e-scope, .e2e-native) :is(.btn, .ty-btn, .ucas-button, .supplement-button, .e2e-presentation-cta):not(:disabled):not(.disabled):where(:not(.header-wrap__lang, .footer-wrap__lang, .header-wrap__icon, .menu__close, .product-wrap__minus, .product-wrap__plus, .cart-wrap__list .item__minus, .cart-wrap__list .item__plus, .product-wrap__thumbs .item, .product-wrap__doses .item, .product-wrap__accordion .item__question, .products-wrap .item__fav, .catalog-wrap__list .item__fav)):is(:hover, :focus-visible),
.e2e-modal__btn:is(:hover, :focus-visible),
.e2e-quick-order__submit:is(:hover, :focus-visible) {
    /* Override the legacy per-page white/black/red CTA hover variants. */
    background: #6B7353 !important;
    border-color: #6B7353 !important;
    color: #F4F1EA !important;
}

/* Only linked photographs: navigation logos and decorative SVG/button icons stay still. */
:is(.e2e-scope, .e2e-native) a[href]:not(.btn):not(.ty-btn):not([class*="logo"]) img:not([src*=".svg"]):not([class*="icon"]):not([src*="/icon"]) {
    transition: transform .36s cubic-bezier(.2, .7, .2, 1);
    transform-origin: center;
}
:is(.e2e-scope, .e2e-native) a[href]:not(.btn):not(.ty-btn):not([class*="logo"]):has(> img:not([src*=".svg"]):not([class*="icon"]):not([src*="/icon"])) {
    overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
    :is(.e2e-scope, .e2e-native) a[href]:not(.btn):not(.ty-btn):not([class*="logo"]):hover img:not([src*=".svg"]):not([class*="icon"]):not([src*="/icon"]) {
        transform: scale(1.035);
    }
}
:is(.e2e-scope, .e2e-native) a[href]:not(.btn):not(.ty-btn):not([class*="logo"]):focus-visible img:not([src*=".svg"]):not([class*="icon"]):not([src*="/icon"]) {
    transform: scale(1.035);
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    :is(.e2e-scope, .e2e-native) :is(.btn, .ty-btn, .ucas-button, .supplement-button, .e2e-presentation-cta),
    .e2e-modal__btn, .e2e-quick-order__submit {
        transition: none;
    }
    :is(.e2e-scope, .e2e-native) a[href]:not(.btn):not(.ty-btn):not([class*="logo"]) img:not([src*=".svg"]):not([class*="icon"]):not([src*="/icon"]),
    .products-wrap .item__media:is(:hover, :focus-within) .item__img,
    .catalog-wrap__list .item__media:is(:hover, :focus-within) .item__img {
        transition: none;
        transform: none !important;
    }
}
@media (max-width: 767px) {
    .e2e-scope #markers { scroll-margin-top: 90px; }
}

/* Soft consultation dialog entrance; keep native focus and close behavior. */
.e2e-quick-order[open] {
    animation: e2e-quick-order-enter .28s cubic-bezier(.2, .7, .2, 1);
}
.e2e-quick-order[open]::backdrop {
    animation: e2e-quick-order-backdrop-enter .28s ease-out;
}
@keyframes e2e-quick-order-enter {
    from { opacity: 0; transform: translateY(10px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes e2e-quick-order-backdrop-enter {
    from { opacity: 0; }
    to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .e2e-quick-order[open],
    .e2e-quick-order[open]::backdrop {
        animation: none;
    }
}

/* Risk banner: light filled default, transparent outlined hover on the green panel. */
.e2e-scope .banner--risk .banner-wrap .banner-wrap__btn {
    transition: background-color .25s ease, color .25s ease, box-shadow .25s ease;
}
.e2e-scope .banner--risk .banner-wrap .banner-wrap__btn:is(:hover, :focus-visible) {
    background: transparent !important;
    color: #F4F1EA !important;
    border-color: transparent !important;
    box-shadow: inset 0 0 0 1px #F4F1EA;
}
@media (prefers-reduced-motion: reduce) {
    .e2e-scope .banner--risk .banner-wrap .banner-wrap__btn { transition: none; }
}

/* Client corrections, 18 October: visible checkout agreement in both states. */
.e2e-checkout #litecheckout_terms :is(.ty-checkout__terms, .ty-gdpr-agreement) input[type="checkbox"] {
    box-sizing: border-box;
    flex: 0 0 20px;
    width: 20px;
    min-width: 20px;
    height: 20px;
    min-height: 20px;
    border: 2px solid #5A7854;
    border-radius: 3px;
    background-color: #F4F1EA;
    opacity: 1;
    visibility: visible;
}
.e2e-checkout #litecheckout_terms :is(.ty-checkout__terms, .ty-gdpr-agreement) input[type="checkbox"]:checked {
    border-color: #2A2A2A;
    background-color: #F4F1EA;
    background-image: url('../img/main/icon-check-sm.svg');
    background-position: center;
    background-size: 12px;
    background-repeat: no-repeat;
}
.e2e-checkout #litecheckout_terms :is(.ty-checkout__terms, .ty-gdpr-agreement) input[type="checkbox"]:focus-visible {
    outline: 2px solid #5A7854;
    outline-offset: 3px;
}

/* Included delivery: native shipping selection remains available to checkout. */
.e2e-checkout .e2e-checkout__delivery-included {
    margin: 0;
    padding: 0;
    color: #2A2A2A;
    font-size: 16px;
    line-height: 1.5;
}
.e2e-checkout .e2e-checkout-shipping .e2e-shipping-included-method {
    display: none !important;
}
.e2e-checkout:has(#litecheckout_country option:checked:disabled) .e2e-checkout-shipping .ty-error-text {
    display: none;
}

/* The theme recalculates included delivery through native CS-Cart after address edits. */
.e2e-checkout .e2e-checkout-shipping #shipping_rates_list.litecheckout__overlay--active {
    min-height: 0;
    padding: 0;
}
.e2e-checkout .e2e-checkout-shipping #shipping_rates_list.litecheckout__overlay--active::after {
    display: none;
    content: none;
}
.e2e-checkout .e2e-checkout-shipping #shipping_rates_list.litecheckout__overlay--active .ty-error-text {
    display: none;
}

/* Language navigation keeps its transparent surface instead of the purchase CTA fill. */
.header .header-wrap__lang,
.footer .footer-wrap__lang {
    background: transparent;
    border-color: transparent;
}
.header .header-wrap__lang:is(:hover, :focus-visible),
.header .header-wrap__lang:is(:hover, :focus-visible) > span {
    color: #2A2A2A;
}
.header .header-wrap__lang:focus-visible,
.footer .footer-wrap__lang:focus-visible {
    outline: 2px solid #5A7854;
    outline-offset: 3px;
}

/* Utility controls retain their own surface and selected states, independently of CTA fills. */
.header .header-wrap__icon,
.menu .menu__close {
    background: transparent;
    border-color: transparent;
}
:is(.e2e-scope, .e2e-native) :where(.header-wrap__icon, .menu__close, .product-wrap__minus, .product-wrap__plus, .cart-wrap__list .item__minus, .cart-wrap__list .item__plus, .product-wrap__thumbs .item, .product-wrap__doses .item, .product-wrap__accordion .item__question, .products-wrap .item__fav, .catalog-wrap__list .item__fav):focus-visible {
    outline: 2px solid #5A7854;
    outline-offset: 3px;
}

/* Long localized checkout headings wrap within the mobile content width. */
@media (max-width: 767px) {
    .e2e-scope .cart-wrap__title {
        white-space: normal;
        overflow-wrap: anywhere;
    }
}
