.product-badge.product-badge_custom>.badge {
    background-color: #2aabee !important;
}

.r-footer-main__logo {
    width: 180px;
}
/* JustGrill: «Сообщить о поступлении» (карточка товара, плитки каталога) и один «Нет в наличии» вместо строк по складам */
.jg-notify { margin: 12px 0; }
.jg-notify__open, .jg-notify__send { width: 100%; }
.jg-notify__form { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; padding: 16px 18px; border: 1px solid #e3e3e3; border-radius: 10px; background: #fafafa; }
.jg-notify__form[hidden], .jg-notify__open[hidden] { display: none !important; }
.jg-notify__text { margin: 0; font-size: 14px; line-height: 1.4; color: #555; }
.jg-notify__text_done { padding: 14px 16px; border: 1px solid #cfe8d0; border-radius: 10px; background: #f3faf3; color: #2e7d32; }
.jg-notify__input { width: 100%; box-sizing: border-box; }
.jg-notify .jg-notify__hp, .jg-modal .jg-notify__hp { position: absolute !important; left: -9999px !important; top: auto !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; opacity: 0 !important; pointer-events: none; }
.jg-notify__consent { display: grid; grid-template-columns: 16px 1fr; gap: 8px; align-items: start; font-size: 12px; line-height: 1.4; color: #666; }
.jg-notify .jg-notify__consent input[type=checkbox], .jg-modal .jg-notify__consent input[type=checkbox] { position: static !important; opacity: 1 !important; appearance: checkbox; -webkit-appearance: checkbox; width: 16px !important; height: 16px !important; min-width: 16px; margin: 1px 0 0; }
.jg-notify__msg { font-size: 13px; min-height: 18px; color: #2e7d32; }
.jg-notify__msg_error { color: #d93a3a; }

/* строки по складам: если нигде нет — одна строка «Нет в наличии» без названий складов */
.jg-stock-collapsed .product-skus-stocks__sku-stock-name { display: none !important; }
.jg-stock-collapsed .product-skus-stocks__sku-stock:not(:first-child) { display: none !important; }

/* кнопка на плитке каталога */
.jg-notify__tile { display: block; width: 100%; margin-top: 8px; padding: 8px 10px; border: 1px solid #e8662c; border-radius: 8px; background: transparent; color: #e8662c; font: inherit; font-size: 13px; line-height: 1.2; cursor: pointer; }
.jg-notify__tile:hover { background: #fff3ec; }

/* окно формы (каталог) */
.jg-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0, 0, 0, .45); }
.jg-modal__box { position: relative; width: 100%; max-width: 420px; max-height: 92vh; overflow: auto; padding: 22px 20px 20px; border-radius: 14px; background: #fff; box-shadow: 0 10px 40px rgba(0, 0, 0, .25); }
.jg-modal__title { margin: 0 28px 12px 0; font-weight: 600; font-size: 16px; line-height: 1.3; }
.jg-modal__close { position: absolute; right: 10px; top: 6px; width: 32px; height: 32px; border: 0; background: transparent; font-size: 26px; line-height: 1; cursor: pointer; color: #777; }
.jg-modal .jg-notify__form { margin-top: 0; padding: 0; border: 0; background: transparent; }
body.jg-modal-open { overflow: hidden; }

/* JustGrill: блок «Доставка» в карточке товара (плагин dp): простые строки «способ — дата и цена», пометка про ориентировочный расчёт */
.dp-product__group-title { display: none !important; }
.dp-product__header { text-align: left !important; margin-bottom: 4px; }
.dp-product__service-row { display: flex !important; justify-content: space-between; align-items: baseline; gap: 4px 14px; padding: 9px 0; border-top: 1px solid #efefef; line-height: 1.4; }
.dp-product__service > .dp-product__service-row:first-of-type { border-top: 0; }
.dp-product__service-title { flex: 1 1 auto; min-width: 0; font-weight: 500; }
.dp-product__service-calculation { flex: 0 0 auto; }
.dp-product__service-rates { display: flex !important; flex-wrap: wrap; justify-content: flex-end; align-items: baseline; gap: 0 10px; text-align: right; }
.dp-product__service-col-line { display: inline !important; }
.dp-product__service-estimated { color: #6f6f6f; font-size: 13px; }
.dp-product__service-price { font-weight: 600; }
.dp-product__service-estimated::before, .dp-product__service-price::before, .dp-product__service-rates::before, .dp-cost::before, .dp-cost_value::before { content: none !important; }
.dp-product .jg-free { color: #1f8a43 !important; }
.jg-dp-note { margin-top: 8px; padding-top: 8px; border-top: 1px solid #efefef; font-size: 12px; line-height: 1.5; color: #6f6f6f; }
.jg-dp-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.jg-dp-note a:hover { color: #F25A22; }

.dp-product .jg-manager { color: #6f6f6f; font-size: 13px; text-align: right; }

/* ===== JustGrill: окно «Ваш город?» (SEO-регионы) — один раз; в корзине блок города скрыт ===== */
html:not(.jg-city-ask) .shop-regions-confirm-window { display: none !important; }
.header-middle-bar__container_checkout .header-middle-bar__container-region { display: none !important; }
/* cookie-плашка: прозрачный отступ снизу (под нижнее меню) не перехватывает нажатия; на телефоне кнопка «Понятно» под текстом слева, справа место под кнопку чата */
.info-panel-container_cookie { pointer-events: none; }
.info-panel-container_cookie .info-panel { pointer-events: auto; }
@media (max-width: 767px) {
  .info-panel-container_cookie .cookie-panel__container { flex-direction: column !important; align-items: flex-start !important; gap: 10px; padding-right: 84px; }
  .info-panel-container_cookie .cookie-panel__button-container { margin: 0 15px !important; }
  .info-panel-container_cookie .cookie-panel__close-button { min-height: 36px; padding: 0 20px !important; }
}

/* ===== JustGrill: оформление заказа (копия темы novashop_cart, на живой сайт не включено) ===== */
.order-page__container { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px; align-items: start; }
.order-page__container > .order-page__form-container { order: 1; width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important; padding: 0 !important; }
.order-page__container > .order-page__cart-container { order: 2; position: sticky; top: 16px; width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important; padding: 0 !important; }
.order-page__cart-container .slider-block { display: none !important; }            /* «Рекомендуем» — не на странице оформления */
.order-page__cart-container .order-page__header, .order-page__form-container .order-page__header { margin-bottom: 14px; }

/* форма: один белый блок, шаги разделены линиями */
.order-page__form.block_secondary, .order-page__form .block__content { background: transparent !important; box-shadow: none !important; padding: 0 !important; border: 0 !important; }
.order-page__form-container .wa-form-content { background: #fff; border-radius: 16px; padding: 6px 28px 10px; }
.order-page__form-container .wa-step-section { padding: 24px 0 !important; margin: 0 !important; border: 0; }
.order-page__form-container .wa-step-section + .wa-step-section { border-top: 1px solid #ececec; }
.order-page__form-container .wa-form-content { counter-reset: jgstep; }
.order-page__form-container .wa-step-auth-section .wa-section-header,
.order-page__form-container .wa-step-region-section .wa-section-header,
.order-page__form-container .wa-step-payment-section .wa-section-header { counter-increment: jgstep; display: flex; align-items: center; gap: 12px; }
.order-page__form-container .wa-step-auth-section .wa-section-header::before,
.order-page__form-container .wa-step-region-section .wa-section-header::before,
.order-page__form-container .wa-step-payment-section .wa-section-header::before { content: counter(jgstep); display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #1b1b1b; color: #fff; font-size: 13px; font-weight: 600; flex: none; }

/* желаемое время доставки скрыто (решение владельца) */
.jg-hide { display: none !important; }

@media (max-width: 960px) {
  .order-page__container { grid-template-columns: 1fr; gap: 16px; }
  .order-page__container > .order-page__cart-container { order: -1; position: static; }
  .order-page__form-container .wa-form-content { padding: 4px 18px 8px; border-radius: 14px; }
}

/* итерация 2: фон страницы, поля, карточки доставки, карточка заказа */
body:has(.order-page) { background: #f5f5f5; }
.order-page__cart-container .order-page__block .block__content { background: #fff; border-radius: 16px; padding: 22px 24px; }
.order-page__cart-container .order-page__block { background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; }
.order-page__header .title { font-size: 28px; line-height: 1.2; font-weight: 600; letter-spacing: -.01em; }
#js-order-form input[type=text], #js-order-form input[type=tel], #js-order-form input[type=email], #js-order-form input[type=password], #js-order-form textarea, #js-order-form select {
  background: #f5f5f5 !important; border: 1.5px solid transparent !important; border-radius: 14px !important; min-height: 48px; padding: 0 16px; font-size: 15px; transition: border-color .18s cubic-bezier(.22,1,.36,1), background-color .18s cubic-bezier(.22,1,.36,1); box-shadow: none !important; }
#js-order-form textarea { min-height: 84px; padding: 12px 16px; }
#js-order-form input:hover, #js-order-form textarea:hover { background: #efefef !important; }
#js-order-form input:focus, #js-order-form textarea:focus, #js-order-form select:focus { background: #fff !important; border-color: #F25A22 !important; outline: none; }
#js-order-form .wa-type-wrapper { border: 1.5px solid #ececec !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; transition: border-color .18s cubic-bezier(.22,1,.36,1), background-color .18s cubic-bezier(.22,1,.36,1); }
#js-order-form .wa-type-wrapper:hover { border-color: #d9d9d9 !important; }
#js-order-form .wa-type-wrapper.is-active { border-color: #F25A22 !important; background: #fffaf7 !important; }
#js-order-form .wa-type-wrapper .wa-price { font-weight: 600; }
#js-order-form .wa-step-confirm-section .wa-section-body { padding: 0; }

/* итерация 3: оплата, итог и кнопка, свёрнутая карточка заказа на телефоне */
#js-order-form .wa-methods-list { display: grid; gap: 10px; }
#js-order-form .wa-method-wrapper { margin: 0 !important; }
#js-order-form .wa-method-wrapper .wa-method { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 1.5px solid #ececec; border-radius: 14px; background: #fff; cursor: pointer; transition: border-color .18s cubic-bezier(.22,1,.36,1), background-color .18s cubic-bezier(.22,1,.36,1); }
#js-order-form .wa-method-wrapper:hover .wa-method { border-color: #d9d9d9; }
#js-order-form .wa-method-wrapper:has(input:checked) .wa-method { border-color: #F25A22; background: #fffaf7; }
#js-order-form .wa-method-body { flex: 1; min-width: 0; }
#js-order-form .wa-method .wa-image-wrapper img { max-height: 22px; width: auto; }
#js-order-form .wa-method-arrow { display: none; }
#js-order-form .wa-total-section { background: #f7f7f7; border-radius: 14px; padding: 16px 18px; }
#js-order-form .wa-total-section .wa-item { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 4px 0; }
#js-order-form .wa-total-section .wa-item .wa-name { color: #666; }
#js-order-form .wa-total-section .wa-item-total { margin-top: 6px; padding-top: 12px; border-top: 1px solid #e6e6e6; }
#js-order-form .wa-total-section .wa-item-total .wa-name { color: #1b1b1b; font-size: 16px; font-weight: 600; }
#js-order-form .wa-total-section .wa-item-total .wa-value { font-size: 22px; font-weight: 700; }
#js-order-form .wa-submit-button { width: 100%; height: 54px; border-radius: 16px; font-size: 19px; font-weight: 700; }
.jg-cart-bar { display: none; }
@media (max-width: 960px) {
  .jg-cart-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 16px 18px; border: 0; border-radius: 14px; background: #fff; color: #1b1b1b; font: inherit; font-size: 16px; font-weight: 600; text-align: left; cursor: pointer; }
  .jg-cart-bar b { margin-left: auto; font-weight: 700; white-space: nowrap; }
  .jg-cart-bar span { color: #bf4a12; font-size: 13px; font-weight: 500; white-space: nowrap; }
  .order-page__cart-container.jg-cart-closed > :not(.jg-cart-bar) { display: none !important; }
  .order-page__cart-container.jg-cart-open .jg-cart-bar { margin-bottom: 10px; }
  #js-order-form .wa-total-section { padding: 14px 16px; }
}

/* итерация 4: заголовок не обрезается, вход в аккаунт мельче */
.order-page__form-container .order-page__header, .order-page__cart-container .order-page__header { height: auto !important; min-height: 0 !important; overflow: visible !important; }
.order-page__form-container .order-page__header .title { margin: 0 !important; line-height: 1.2 !important; }
#js-order-form .wa-step-auth-section .wa-section-header { flex-wrap: wrap; row-gap: 4px; }
#js-order-form .wa-step-auth-section .wa-section-header a, #js-order-form .wa-step-auth-section .wa-section-header .wa-link { font-size: 13px; }
/* форма ядра сдвинута вверх на ~30px относительно своего блока: даём заголовку место */
.order-page__form-container .order-page__header { margin-bottom: 46px !important; }
#js-order-form .wa-details-rates-section .wa-cell-value-description { display: none !important; }   /* «выбрать удобное время» — время доставки скрыто */
@media (max-width: 640px) {
  #js-order-form .wa-methods-list { grid-template-columns: 1fr !important; }
  #js-order-form .wa-methods-list .wa-method-wrapper { width: 100% !important; max-width: none !important; flex: none !important; }
}

/* итерация 5: карточки типов доставки одного размера, цена и срок серым */
#js-order-form .wa-types-list { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; gap: 12px !important; align-items: stretch; }
#js-order-form .wa-type-wrapper { width: auto !important; min-height: 112px; padding: 14px 16px !important; display: flex; flex-direction: column; }
#js-order-form .wa-type-wrapper .wa-name, #js-order-form .wa-type-wrapper .wa-name a { font-size: 15px; font-weight: 600; color: #1b1b1b; }
#js-order-form .wa-type-wrapper .wa-date, #js-order-form .wa-type-wrapper .wa-price { margin-top: 4px; font-size: 13px; font-weight: 400 !important; color: #666 !important; }
#js-order-form .wa-type-wrapper .wa-date { margin-top: auto; padding-top: 8px; }
/* предпросмотр способов оплаты до выбора доставки */
.order-page__form-container .jg-pay-preview .wa-section-header { counter-increment: jgstep; display: flex; align-items: center; gap: 12px; }
.order-page__form-container .jg-pay-preview .wa-section-header::before { content: counter(jgstep); display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #1b1b1b; color: #fff; font-size: 13px; font-weight: 600; flex: none; }
.jg-pay-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 10px; padding: 0; list-style: none; }
.jg-pay-list li { padding: 8px 14px; border: 1.5px solid #ececec; border-radius: 999px; font-size: 14px; color: #1b1b1b; background: #fff; }
.jg-pay-note { margin: 0; font-size: 13px; color: #666; }

/* итерация 6: по замечаниям владельца (Краснодар) */
/* один блок суммы: итоги остаются внизу формы, в карточке «Ваш заказ» — только товары и сертификат */
.order-page__cart-container .order-cart-info, .order-page__cart-container .row-value { display: none !important; }
/* после выбора ПВЗ: без часов работы и фото пункта */
#js-order-form .wa-schedule-wrapper, #js-order-form .wa-photos-section { display: none !important; }
/* оплата в формате макета: один столбец, компактные строки */
#js-order-form .wa-methods-list { grid-template-columns: 1fr !important; gap: 8px !important; }
#js-order-form .wa-methods-list .wa-method-wrapper { width: 100% !important; max-width: none !important; flex: none !important; }
#js-order-form .wa-method-wrapper .wa-method { align-items: center; padding: 12px 16px; }
#js-order-form .wa-method-body { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; }
#js-order-form .wa-method-body .wa-image-wrapper { flex: none; display: flex; align-items: center; }
#js-order-form .wa-method-body .wa-image-wrapper img { max-height: 20px; max-width: 48px; }
#js-order-form .wa-method-body .wa-payment-name, #js-order-form .wa-method-body .wa-payment-name a { font-size: 15px; font-weight: 600; color: #1b1b1b; text-decoration: none; }
#js-order-form .wa-method-body .wa-description { flex-basis: 100%; margin: 0; font-size: 13px; line-height: 1.4; color: #666; }
#js-order-form .wa-method-body .wa-description a { color: inherit; }

/* итерация 7: один блок суммы как у BeGrill — справа «Товары / Доставка / Итого» и кнопка (ПК); на телефоне итог и кнопка внизу формы */
.order-page__cart-container .wa-cart-details .wa-column-price { display: none !important; }   /* итог корзины; цена товара остаётся */
.jg-summary { display: none; }
@media (min-width: 961px) {
  .jg-summary { display: block; margin-top: 16px; padding: 18px 20px; background: #fff; border-radius: 16px; }
  .jg-summary__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 4px 0; color: #666; font-size: 15px; }
  .jg-summary__row b { color: #1b1b1b; font-weight: 500; white-space: nowrap; }
  .jg-summary__row_total { margin-top: 8px; padding-top: 12px; border-top: 1px solid #ececec; color: #1b1b1b; font-size: 16px; font-weight: 600; }
  .jg-summary__row_total b { font-size: 24px; font-weight: 700; }
  .jg-summary__btn { display: block; width: 100%; height: 54px; margin-top: 14px; border: 0; border-radius: 16px; background: #f25a22; color: #fff; font: inherit; font-size: 17px; font-weight: 600; cursor: pointer; }
  .jg-summary__btn:hover { background: #e04c16; }
  .jg-summary__btn[disabled] { opacity: .5; cursor: default; }
  .jg-summary__note { margin: 10px 0 0; font-size: 12px; line-height: 1.4; color: #888; }
  #js-order-form .wa-step-confirm-section .wa-total-section,
  #js-order-form .wa-step-confirm-section .wa-actions-section { display: none !important; }
}
/* телефон: в карточке типа доставки срок и цена слева, без пустого места */
@media (max-width: 640px) {
  #js-order-form .wa-type-wrapper { min-height: 0; }
  #js-order-form .wa-type-wrapper .wa-date, #js-order-form .wa-type-wrapper .wa-price { align-self: flex-start !important; text-align: left !important; float: none !important; position: static !important; margin-left: 0 !important; width: auto !important; }
  #js-order-form .wa-type-wrapper .wa-date { margin-top: 6px; padding-top: 0; }
}

/* итерация 8: карточка «Ваш заказ» компактнее, сертификат спокойнее, итог не обрезается при прокрутке */
.order-page__cart-container .block__content { padding: 16px 18px !important; }
.order-page__cart-container .order-page__header { margin-bottom: 10px !important; }
.order-page__cart-container .order-page__header .title { font-size: 24px; }
.order-page__cart-container .wa-product { padding-bottom: 12px !important; }
.order-page__cart-container .wa-product + .wa-product { padding-top: 12px !important; border-top: 1px solid #f0f0f0; }
@media (min-width: 961px) {
  .order-page__cart-container .wa-column-image { width: 64px !important; flex: none !important; margin-right: 12px !important; }
  .order-page__cart-container .wa-image-section, .order-page__cart-container .wa-image-section a { width: 64px !important; height: 64px !important; }
  .order-page__cart-container .wa-image-section img { max-width: 64px !important; max-height: 64px !important; }
  .order-page__cart-container .wa-column-main { flex-wrap: wrap !important; align-items: center; row-gap: 8px; }
  .order-page__cart-container .wa-column-details { flex: 1 1 100% !important; width: 100% !important; }
  .order-page__cart-container .wa-details .wa-name { font-size: 14px; line-height: 1.35; }
  .order-page__cart-container .wa-column-quantity { margin: 0 !important; }
  .order-page__cart-container .wa-column-price { margin-left: auto !important; display: flex !important; align-items: center; gap: 10px; width: auto !important; }
  .order-page__cart-container .wa-column-price .wa-price-section { order: 2; }
  .order-page__cart-container .wa-column-price .wa-price-total { font-size: 16px; font-weight: 700; white-space: nowrap; }
  .order-page__cart-container .wa-column-price .wa-add-actions { margin: 0 !important; order: 1; }
}
.order-page__cart-container .wa-cart-details { margin-top: 4px !important; padding-top: 12px; border-top: 1px solid #f0f0f0; }
.order-page__cart-container .wa-coupon-section .giftcertificates-form { margin: 0 0 8px !important; }
.order-page__cart-container .giftcertificates-field { display: flex; gap: 8px; }
.order-page__cart-container .giftcertificates-code-input { height: 36px !important; padding: 6px 14px !important; background: #f5f5f5 !important; border: 0 !important; border-radius: 10px !important; font-size: 14px !important; }
.order-page__cart-container .giftcertificates-submit-button { height: 36px !important; margin: 0 !important; padding: 0 14px !important; background: transparent !important; color: #1b1b1b !important; border: 1px solid #dcdcdc !important; border-radius: 10px !important; font-size: 14px !important; font-weight: 500 !important; box-shadow: none !important; }
.order-page__cart-container .giftcertificates-submit-button:hover { border-color: #b5b5b5 !important; }
.order-page__cart-container .wa-order-bonus { font-size: 12px; line-height: 1.4; color: #888; }
.order-page__cart-container .wa-order-bonus strong { color: #555; font-weight: 600; }
@media (min-width: 961px) {
  .jg-summary { margin-top: 12px !important; padding: 12px 0 0 !important; border-top: 1px solid #f0f0f0; border-radius: 0 !important; }
}
