/**
 * Единый UI витрины shop-gate: кнопки, поля, рамки.
 * Радиусы — CSS-переменные из ShopStorefrontTheme (storefront_shape).
 * Подключается после style_4.css, cards и product.
 */

body.shop-storefront .breadcrumb-wrap.shop-vitrine-breadcrumb {
  margin-bottom: 0;
  background: #fff;
  border-bottom: 1px solid #00000012;
}

body.shop-storefront .breadcrumb-wrap.shop-vitrine-breadcrumb .banner {
  padding: 10px 0 !important;
  min-height: 0 !important;
  background: none !important;
}

/* Цвета: --shop-accent, --shop-link, --shop-header-*, --shop-footer-* (+ --shop-link-color, --shop-btn-bg) */

body.shop-storefront .shop-vitrine-header--classic .shop-vitrine-top-header {
  background-color: var(--shop-header-bar, var(--theme-color)) !important;
}

body.shop-storefront .shop-vitrine-header--compact .shop-vitrine-top-header {
  background-color: var(--shop-header-bar-compact, #141418) !important;
}

body.shop-storefront .shop-vitrine-header .header-section,
body.shop-storefront .shop-vitrine-header .nav-wrap {
  background-color: var(--shop-header-surface, #fff) !important;
}

body.shop-storefront .shop-vitrine-header--classic .navbar-nav .nav-link,
body.shop-storefront .shop-vitrine-header--compact .navbar-nav .nav-link {
  color: var(--shop-header-nav, #262834) !important;
}

body.shop-storefront .footer-document > div {
  background-color: var(--shop-footer-bg, #1f2430) !important;
}

body.shop-storefront .footer-document .main-footer .content-box ul li .nav,
body.shop-storefront .footer-document .main-footer .content-box ul li .nav span,
body.shop-storefront .footer-document .sub-footer a,
body.shop-storefront .footer-document .sub-footer p,
body.shop-storefront .footer-document .sub-footer p a {
  color: var(--shop-footer-link, #f4f3f8) !important;
}

body.shop-storefront .footer-document .main-footer .content-box ul li span a,
body.shop-storefront .footer-document .main-footer .content-box ul li span a.shop-footer-disclaimer-link {
  color: var(--shop-footer-link, #f4f3f8) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.shop-storefront .footer-document .main-footer .content-box ul li .nav:hover,
body.shop-storefront .footer-document .main-footer .content-box ul li .nav:hover span,
body.shop-storefront .footer-document .sub-footer a:hover {
  color: color-mix(in srgb, var(--shop-footer-link, #fff) 82%, var(--shop-footer-heading, var(--theme-color))) !important;
}

body.shop-storefront .footer-document .main-footer .heading-footer.line-style::before {
  background-color: var(--shop-footer-heading, var(--shop-link-color, var(--theme-color))) !important;
}

body.shop-storefront .header-common .icon-menu .notification-label,
body.shop-storefront #colcartnumbers {
  background-color: var(--shop-btn-bg, var(--theme-color)) !important;
  color: #fff !important;
}

body.shop-storefront .header-common .icon-menu a svg,
body.shop-storefront .cart-button svg,
body.shop-storefront .tap-to-top-button svg,
body.shop-storefront .mobile-menu-footer a svg {
  stroke: var(--shop-link-color, var(--theme-color)) !important;
}

body.shop-storefront .shop-vitrine-breadcrumb .breadcrumb-box .breadcrumb li a {
  color: color-mix(in srgb, var(--shop-link-color, var(--theme-color)) 50%, #6f6a80) !important;
}

body.shop-storefront .shop-vitrine-breadcrumb .breadcrumb-box .breadcrumb li a:hover,
body.shop-storefront .shop-vitrine-breadcrumb .breadcrumb-box .breadcrumb li a:focus-visible {
  color: var(--shop-link-color, var(--theme-color)) !important;
  outline-color: var(--shop-link-color, var(--theme-color)) !important;
}

body.shop-storefront .shop-vitrine-breadcrumb .breadcrumb-box .breadcrumb li a i,
body.shop-storefront .shop-vitrine-breadcrumb .breadcrumb-box .breadcrumb li a svg {
  color: var(--shop-link-color, var(--theme-color)) !important;
  stroke: var(--shop-link-color, var(--theme-color)) !important;
}

body.shop-storefront .shop-vitrine-breadcrumb .breadcrumb-box .breadcrumb li.current a,
body.shop-storefront .shop-vitrine-breadcrumb .breadcrumb-box .breadcrumb li.current {
  color: var(--shop-btn-bg, var(--theme-color)) !important;
  background: color-mix(in srgb, var(--shop-btn-bg, var(--theme-color)) 14%, #f4f3f8) !important;
}

body.shop-storefront .shop-vitrine-breadcrumb .breadcrumb-box .breadcrumb li.current a:hover {
  color: var(--shop-btn-bg, var(--theme-color)) !important;
  text-decoration: none !important;
}

body.shop-storefront .footer-document .btn-style2.btn-theme {
  background-color: var(--shop-btn-bg, var(--theme-color)) !important;
  color: #fff !important;
}

body.shop-storefront .notification-wrap.addToCart h5 a {
  color: var(--shop-link-color, var(--theme-color)) !important;
}

body.shop-storefront main.main .content-box a:not(.btn-solid):not(.btn-special):not(.btn-style2):not(.filter-btn):not(.page-link):not(.addtocart-btn) {
  color: var(--shop-link-color, var(--theme-color)) !important;
}

body.shop-storefront main.main .content-box a:not(.btn-solid):not(.btn-special):not(.btn-style2):not(.filter-btn):not(.page-link):not(.addtocart-btn):hover {
  color: var(--shop-btn-bg, var(--theme-color)) !important;
}

body.shop-storefront .shop-page .pagination .page-link {
  display: block;
  color: #272238;
  background: #fff;
  border: 1px solid #2722381f;
  border-radius: 10px;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}

body.shop-storefront .shop-page .pagination li.active .page-link,
body.shop-storefront .shop-page .pagination .page-link.active,
body.shop-storefront .shop-page .pagination a.page-link.active {
  background-color: var(--shop-btn-bg, var(--theme-color)) !important;
  border-color: var(--shop-btn-bg, var(--theme-color)) !important;
  color: #fff !important;
}

body.shop-storefront .shop-page .pagination li a.page-link:hover {
  background: color-mix(in srgb, var(--shop-link-color, var(--theme-color)) 10%, #fff) !important;
  border-color: color-mix(in srgb, var(--shop-link-color, var(--theme-color)) 40%, #2722381f) !important;
  color: var(--shop-link-color, var(--theme-color)) !important;
}

/* style_4: section { padding-top: calc(3.4375vw + 34px) } — убираем «яму» под крошками */
body.shop-storefront main.main > section {
  padding-top: clamp(12px, 1.6vw, 20px) !important;
  padding-bottom: clamp(28px, 3.2vw, 42px) !important;
}

body.shop-storefront .breadcrumb-wrap + section,
body.shop-storefront .shop-vitrine-breadcrumb + section {
  padding-top: 0.75rem !important;
}

body.shop-storefront section.card-page,
body.shop-storefront section.detail-page {
  padding-top: 0.75rem !important;
}

body.shop-storefront section.pb-0 {
  padding-top: 0.75rem !important;
}

body.shop-storefront section.shop-page,
body.shop-storefront section.product-page,
body.shop-storefront section.catalog-page {
  padding-top: clamp(10px, 1.2vw, 16px) !important;
}

body.shop-storefront main.main {
  max-width: 100%;
  overflow-x: hidden;
}

/* Каталог без h2: поиск и тулбар в одну линию (без «ямы» под бывшим title-box) */
body.shop-storefront .shop-page.shop-vitrine-catalog--no-heading {
  padding-top: 10px !important;
}

body.shop-storefront .shop-page.shop-vitrine-catalog--no-heading .shop-vitrine-catalog-row {
  --bs-gutter-y: 0;
  align-items: flex-start !important;
}

body.shop-storefront .shop-page.shop-vitrine-catalog--no-heading .shop-vitrine-catalog-row > [class*="col"] {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.shop-storefront .shop-page.shop-vitrine-catalog--no-heading .sidebar-controll,
body.shop-storefront .shop-page.shop-vitrine-catalog--no-heading .sidebar-inner.sticky {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (min-width: 1200px) {
  body.shop-storefront .shop-page.shop-vitrine-catalog--no-heading .sidebar-inner.sticky {
    top: 88px;
  }
}

body.shop-storefront {
  --shop-radius-btn: 10px;
  --shop-radius-input: 8px;
  --shop-radius-card: 14px;
  --shop-radius-panel: 14px;
  --shop-radius-block: 12px;
}

/* ── Легаси style_4: декоративная полоска под кнопкой ── */
body.shop-storefront .btn-solid::after,
body.shop-storefront .btn-solid::before,
body.shop-storefront .btn-outline::after,
body.shop-storefront .checkout-btn::after,
body.shop-storefront .addtocart-btn::after,
body.shop-storefront .line-none::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}

body.shop-storefront .btn-solid:hover::after,
body.shop-storefront .addtocart-btn:hover::after {
  width: 0 !important;
}

/* ── Кнопки ── */
body.shop-storefront .btn-solid,
body.shop-storefront .btn-outline,
body.shop-storefront .checkout-btn,
body.shop-storefront .addtocart-btn,
body.shop-storefront button.btn-solid,
body.shop-storefront a.btn-solid {
  border-radius: var(--shop-radius-btn) !important;
}

body.shop-storefront .btn-solid,
body.shop-storefront .checkout-btn,
body.shop-storefront .addtocart-btn:not(.btn-outline) {
  background-color: var(--shop-btn-bg, var(--theme-color)) !important;
  border-color: var(--shop-btn-bg, var(--theme-color)) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--shop-btn-bg, #272238) 18%, transparent);
}

body.shop-storefront .btn-outline {
  border: 1px solid var(--shop-link-color, var(--theme-color)) !important;
  color: var(--shop-link-color, var(--theme-color)) !important;
  background: #fff !important;
}

/* ── Поля ввода ── */
body.shop-storefront input[type='text'],
body.shop-storefront input[type='email'],
body.shop-storefront input[type='tel'],
body.shop-storefront input[type='number'],
body.shop-storefront input[type='password'],
body.shop-storefront input[type='search'],
body.shop-storefront select,
body.shop-storefront textarea,
body.shop-storefront .custom-form input,
body.shop-storefront .custom-form select,
body.shop-storefront .custom-form textarea,
body.shop-storefront .form-pill input,
body.shop-storefront .form-pill select,
body.shop-storefront .form-pill textarea {
  border-radius: var(--shop-radius-input) !important;
}

body.shop-storefront .shop-page select,
body.shop-storefront .shop-page .toolbar select {
  border-radius: var(--shop-radius-input) !important;
  border: 1px solid #00000018 !important;
  background: #fff;
  padding: 0.25rem 0.5rem;
}

/* ── Карточки и панели ── */
body.shop-storefront .shop-page .product-card,
body.shop-storefront .product-slider-shop .product-card,
body.shop-storefront .grid-section .product-card {
  border-radius: 0 0 var(--shop-radius-card) var(--shop-radius-card) !important;
}

body.shop-storefront .product-page .product-detail-box,
body.shop-storefront .product-page .sidebar-box,
body.shop-storefront .product-page .product-media-stack {
  border-radius: var(--shop-radius-panel) !important;
}

body.shop-storefront .content-box.shop-vitrine-panel,
body.shop-storefront .banner .content-box.shop-vitrine-panel {
  border-radius: var(--shop-radius-block) !important;
}

body.shop-storefront .btn-style2 {
  border-radius: var(--shop-radius-btn) !important;
}

body.shop-storefront .cart-table,
body.shop-storefront .shop-cart-summary,
body.shop-storefront section.shop-page .sidebar-box {
  border-radius: var(--shop-radius-panel);
}

body.shop-storefront .seller-terms-text {
  border-radius: var(--shop-radius-input);
  border: 1px solid #00000012;
}

/* ── Карточки: кнопки наследуют общий радиус ── */
body.shop-storefront .product-card .mv-cart-row .btn-solid.addtocart-btn,
body.shop-storefront .product-card .mv-cart-row .addtocart-btn {
  border-radius: var(--shop-radius-btn) !important;
}

body.shop-storefront .product-page .product-detail-box .btn-group .addtocart-btn,
body.shop-storefront .product-page .product-detail-box .btn-group .btn-solid {
  border-radius: var(--shop-radius-btn) !important;
}

body.shop-storefront .product-page .mv-thumbs button {
  border-radius: var(--shop-radius-input) !important;
}

/* ── Touch / tablet: style_4 задаёт свои @media — дублируем с !important ── */
@media (max-width: 991.98px) {
  body.shop-storefront .shop-page .sidebar-controll.sidebar-responsive {
    position: fixed !important;
    top: 0 !important;
    left: -120% !important;
    bottom: 0 !important;
    width: min(320px, 100vw) !important;
    height: 100vh !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: 15px !important;
    z-index: 1006 !important;
    background: #fff !important;
    overflow-y: auto !important;
    transition: left 0.35s ease !important;
  }

  body.shop-storefront .shop-page .sidebar-controll.sidebar-responsive.show-menu {
    left: 0 !important;
  }

  body.shop-storefront .shop-page .row > .col-xl-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  body.shop-storefront .btn-solid,
  body.shop-storefront .btn-outline,
  body.shop-storefront .btn-special,
  body.shop-storefront .checkout-btn,
  body.shop-storefront .addtocart-btn,
  body.shop-storefront a.btn-solid,
  body.shop-storefront button.btn-solid {
    border-radius: var(--shop-radius-btn) !important;
    position: relative !important;
  }

  body.shop-storefront .btn-solid::after,
  body.shop-storefront .btn-outline::after,
  body.shop-storefront .btn-special::after,
  body.shop-storefront .checkout-btn::after,
  body.shop-storefront .addtocart-btn::after,
  body.shop-storefront .btn-solid::before,
  body.shop-storefront .btn-outline::before,
  body.shop-storefront .line-none::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
  }

  body.shop-storefront .btn-solid,
  body.shop-storefront .checkout-btn,
  body.shop-storefront .addtocart-btn:not(.btn-outline) {
    background-color: var(--shop-btn-bg, var(--theme-color)) !important;
    border-color: var(--shop-btn-bg, var(--theme-color)) !important;
    color: #fff !important;
  }

  body.shop-storefront .custom-form.form-pill .form-control,
  body.shop-storefront .form-pill input,
  body.shop-storefront .form-pill select,
  body.shop-storefront .form-pill textarea,
  body.shop-storefront .custom-form input,
  body.shop-storefront .custom-form select,
  body.shop-storefront .custom-form textarea {
    border-radius: var(--shop-radius-input) !important;
  }

  body.shop-storefront .grid-section .product-card .mv-cart-row .btn-solid.addtocart-btn,
  body.shop-storefront .grid-section .product-card .mv-cart-row .addtocart-btn,
  body.shop-storefront .product-slider-shop .product-card .mv-cart-row .addtocart-btn {
    width: 100% !important;
    max-width: 100% !important;
    border: 0 !important;
    border-radius: var(--shop-radius-btn) !important;
    background-color: var(--shop-btn-bg, var(--mv-accent-strong, #272238)) !important;
    box-shadow: 0 4px 14px color-mix(in srgb, var(--shop-btn-bg, #272238) 18%, transparent);
    min-height: 38px !important;
    margin-bottom: 0 !important;
  }

  body.shop-storefront .grid-section .product-card .mv-cart-row .addtocart-btn::after,
  body.shop-storefront .grid-section .product-card .mv-cart-row .btn-solid.addtocart-btn::after {
    display: none !important;
    content: none !important;
  }

  body.shop-storefront .product-page .view-product > [class*='col-'] {
    margin-bottom: 0.75rem;
  }

  body.shop-storefront .product-page .product-detail-box,
  body.shop-storefront .product-page .product-media-stack,
  body.shop-storefront .product-page .sidebar-box {
    margin-left: 0;
    margin-right: 0;
  }

  body.shop-storefront .card-page .cart .btn-solid.checkout-btn {
    width: 100%;
    justify-content: center;
  }

  body.shop-storefront .contact-section .round-wrap-content,
  body.shop-storefront .contact-section .replay-form,
  body.shop-storefront .contact-section .address-content {
    border-radius: var(--shop-radius-panel) !important;
  }

  body.shop-storefront .shop-vitrine-breadcrumb .banner {
    padding: 12px 0 !important;
  }

  body.shop-storefront .product-slider-shop.swiper {
    max-width: 100%;
    overflow: hidden;
  }

  body.shop-storefront .product-slider-shop .swiper-slide {
    height: auto;
    box-sizing: border-box;
  }

  body.shop-storefront .filter-btn.btn-solid {
    background-color: var(--shop-btn-bg, var(--theme-color)) !important;
    border-color: var(--shop-btn-bg, var(--theme-color)) !important;
    color: #fff !important;
    border-radius: var(--shop-radius-btn) !important;
  }

  body.shop-storefront a:not(.btn-solid):not(.addtocart-btn) {
    color: var(--shop-link-color, var(--theme-color));
  }

  body.shop-storefront .shop-page .toolbar select,
  body.shop-storefront .shop-page .toolbar .filter-btn {
    max-width: 100%;
  }
}

@media (max-width: 575.98px) {
  body.shop-storefront .product-page .product-option h2 {
    font-size: 1.2rem !important;
  }

  body.shop-storefront .product-page .product-option h3 {
    font-size: 0.95rem !important;
  }

  body.shop-storefront .shop-page .title-box .unique-heading {
    font-size: 1.25rem;
    line-height: 1.3;
  }

}

body.shop-storefront.mv-cookie-consent-pending {
  overflow: hidden;
}

body.shop-storefront .cookie-consent-overlay {
  position: fixed;
  inset: 0;
  z-index: 7;
  background: rgba(15, 15, 20, 0.45);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

body.shop-storefront .cookie-consent-overlay.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.shop-storefront .cookie-bar.cookies-bar-1 {
  max-width: 400px;
  width: min(400px, calc(100vw - 40px));
}

body.shop-storefront .cookie-bar.cookie-bar--mandatory {
  z-index: 9;
}

body.shop-storefront .cookie-bar.cookie-bar--mandatory.show {
  bottom: 20px;
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

body.shop-storefront .cookie-bar .cookie-legal-list {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  font-size: 13px;
  line-height: 1.45;
  text-align: left;
  color: #767676;
}

body.shop-storefront .cookie-bar .cookie-legal-list li {
  display: block;
  margin: 0;
}

body.shop-storefront .cookie-bar .cookie-legal-list li + li {
  margin-top: 4px;
}

body.shop-storefront .cookie-bar .cookie-legal-list a {
  color: var(--shop-link-color, var(--theme-color)) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: normal;
}
