/* Grape & Sour Shoptet theme
   Desktop custom navigation, native tablet/mobile navigation.
   Homepage rules are scoped to body.type-index.
*/

body {
  background: #f5f0e6 !important;
  color: #151515;
}

.top-navigation-bar {
  display: none !important;
}

.btn-primary {
  background: #171717 !important;
  border-color: #171717 !important;
  border-radius: 0 !important;
  color: #fff !important;
}

#header {
  background: #f5f0e6 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, .1) !important;
  box-shadow: none !important;
}

.search-form {
  background: rgba(255, 255, 255, .78) !important;
  border: 1px solid #d5cec4 !important;
  border-radius: 4px !important;
}

.search-form input {
  background: transparent !important;
}

/* Shared storefront surfaces */

#header .site-name,
#header .site-name a {
  background: transparent !important;
}

#header .site-name img {
  mix-blend-mode: multiply !important;
}

#footer #signature {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

body:not(.type-index) #content-wrapper {
  background: #f5f0e6 !important;
}

body:not(.type-index) .breadcrumbs {
  margin-bottom: 18px !important;
  color: #756f67 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body:not(.type-index) .breadcrumbs a,
body:not(.type-index) .breadcrumbs span {
  color: inherit !important;
}

body:not(.type-index) .breadcrumbs a:hover {
  color: #b50f2f !important;
}

body:not(.type-index) h1,
body:not(.type-index) h2,
body:not(.type-index) h3,
body:not(.type-index) h4 {
  color: #171717 !important;
  letter-spacing: 0 !important;
}

body:not(.type-index) a {
  text-underline-offset: 3px;
}

body:not(.type-index) .btn,
body:not(.type-index) button.btn {
  min-height: 46px !important;
  padding: 12px 18px !important;
  background: #171717 !important;
  border: 1px solid #171717 !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease !important;
}

body:not(.type-index) .btn:hover,
body:not(.type-index) button.btn:hover {
  background: #b50f2f !important;
  border-color: #b50f2f !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

body:not(.type-index) .form-control {
  min-height: 48px !important;
  background: #fff !important;
  border: 1px solid #cfc8bd !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #171717 !important;
}

body:not(.type-index) .form-control:focus {
  border-color: #171717 !important;
  box-shadow: inset 3px 0 0 #b50f2f !important;
}

/* Category and manufacturer listings */

body.type-category .category-top {
  margin: 0 0 34px !important;
  padding: 4px 0 0 22px !important;
  border-left: 4px solid #b50f2f !important;
}

body.type-category .category-title {
  margin: 0 0 13px !important;
  font-size: 40px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
}

body.type-category .category-perex {
  max-width: 860px !important;
  color: #4f4a44 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

body.type-category .category-perex p:last-child {
  margin-bottom: 0 !important;
}

body.type-category .category-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 50px !important;
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #d9d2c8 !important;
}

body.type-category .category-header .pagination-wrapper,
body.type-category .category-header .pagination-count {
  color: #756f67 !important;
  font-size: 13px !important;
}

body.type-category .listSorting select {
  min-height: 42px !important;
  background-color: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #171717 !important;
  border-radius: 0 !important;
  color: #171717 !important;
  font-weight: 700 !important;
}

/* Unified left sidebar: categories, filters, payments and top products.
   Keep the same visual language on category pages and product/event detail pages. */

body:not(.type-index) .sidebar.sidebar-left {
  color: #151515 !important;
}

body:not(.type-index) .sidebar.sidebar-left .box {
  margin: 0 0 26px !important;
  padding: 0 0 24px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #d9d2c8 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #151515 !important;
}

body:not(.type-index) .sidebar.sidebar-left .box:last-child {
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
}

/* Kill Shoptet's coloured/default box variants inside the left sidebar. */
body:not(.type-index) .sidebar.sidebar-left .box-bg-variant,
body:not(.type-index) .sidebar.sidebar-left .box-bg-default,
body:not(.type-index) .sidebar.sidebar-left .box-sm {
  background: transparent !important;
  border-right: 0 !important;
  border-left: 0 !important;
  box-shadow: none !important;
}

body:not(.type-index) .sidebar.sidebar-left .box h4,
body:not(.type-index) .sidebar.sidebar-left .box .box-heading,
body:not(.type-index) .sidebar.sidebar-left .topic > a,
body:not(.type-index) .sidebar.sidebar-left .topic > span {
  margin: 0 0 11px !important;
  padding: 0 !important;
  color: #151515 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body:not(.type-index) .sidebar.sidebar-left .categories,
body:not(.type-index) .sidebar.sidebar-left .categories ul {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  list-style: none !important;
}

body:not(.type-index) .sidebar.sidebar-left .categories li {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body:not(.type-index) .sidebar.sidebar-left .categories a {
  display: block !important;
  padding: 7px 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #282522 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body:not(.type-index) .sidebar.sidebar-left .categories a:hover,
body:not(.type-index) .sidebar.sidebar-left .categories .active > a,
body:not(.type-index) .sidebar.sidebar-left .categories a.active {
  background: transparent !important;
  color: #b50f2f !important;
}

body:not(.type-index) .sidebar.sidebar-left .categories ul a {
  padding-left: 14px !important;
  color: #5f5952 !important;
  font-size: 13px !important;
}

body:not(.type-index) .sidebar.sidebar-left .categories ul ul a {
  padding-left: 28px !important;
}

body:not(.type-index) .sidebar.sidebar-left .slider-wrapper {
  padding: 8px 2px 0 !important;
  background: transparent !important;
}

body:not(.type-index) .sidebar.sidebar-left .box-filters .filter-section,
body:not(.type-index) .sidebar.sidebar-left .box-filters .filter-section-parametric,
body:not(.type-index) .sidebar.sidebar-left .box-filters form {
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.type-index) .sidebar.sidebar-left .box-onlinePayments img {
  max-width: 100% !important;
  max-height: 36px !important;
  width: auto !important;
  filter: grayscale(1) contrast(1.05) !important;
}

body:not(.type-index) .sidebar.sidebar-left .box-topProducts .product,
body:not(.type-index) .sidebar.sidebar-left .box-topProducts .product > div,
body:not(.type-index) .sidebar.sidebar-left .box-topProducts .product-inner {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.type-index) .sidebar.sidebar-left .box-topProducts a {
  color: #151515 !important;
  text-decoration: none !important;
}

body:not(.type-index) .sidebar.sidebar-left .box-topProducts a:hover {
  color: #b50f2f !important;
}

body.type-category .products-block {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
}

body.type-category .products-block > .product {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.type-category .products-block > .product > .p {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 520px !important;
  padding: 18px !important;
  background: #fff !important;
  border: 1px solid #ded8ce !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body.type-category .products-block > .product > .p:hover {
  border-color: #aaa39a !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .07) !important;
  transform: translateY(-3px) !important;
}

body.type-category .products-block .p > .image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 255px !important;
  margin: 0 0 18px !important;
  background: #fbfaf7 !important;
}

body.type-category .products-block .p > .image img {
  display: block !important;
  width: auto !important;
  height: 225px !important;
  max-width: 88% !important;
  object-fit: contain !important;
  transition: transform .2s ease !important;
}

body.type-category .products-block .p:hover > .image img {
  transform: scale(1.025) !important;
}

body.type-category .products-block .p-in,
body.type-category .products-block .p-in-in,
body.type-category .products-block .p-bottom,
body.type-category .products-block .p-tools,
body.type-category .products-block .pr-action {
  position: static !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
}

body.type-category .products-block .p-in {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

body.type-category .products-block .p-in-in {
  flex: 1 1 auto !important;
}

body.type-category .products-block .name {
  display: block !important;
  min-height: 44px !important;
  margin: 0 0 9px !important;
  color: #171717 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.type-category .products-block .availability {
  margin: 0 0 10px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

body.type-category .products-block .availability span {
  color: #536047 !important;
}

body.type-category .products-block .p-bottom {
  margin-top: auto !important;
}

body.type-category .products-block .prices {
  margin: 7px 0 15px !important;
}

body.type-category .products-block .price-final strong {
  color: #171717 !important;
  font-size: 21px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

body.type-category .products-block .pr-action {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
}

body.type-category .products-block .quantity {
  display: grid !important;
  grid-template-columns: 32px 32px 32px !important;
  width: 96px !important;
  min-width: 96px !important;
  height: 46px !important;
  border: 1px solid #cfc8bd !important;
  border-right: 0 !important;
}

body.type-category .products-block .quantity input,
body.type-category .products-block .quantity button {
  width: 32px !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 0 !important;
  color: #171717 !important;
  font-size: 15px !important;
  transform: none !important;
}

body.type-category .products-block .btn-cart {
  width: 100% !important;
  min-width: 0 !important;
}

body.type-category .products-block .p-code {
  top: 13px !important;
  right: 13px !important;
  color: #918a81 !important;
  font-size: 10px !important;
}

body.type-category .products-block .flags {
  top: 12px !important;
  left: 12px !important;
}

body.type-category .products-block .flag {
  padding: 5px 7px !important;
  background: #b50f2f !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

body.type-category .products-block .flag-tip {
  background: #171717 !important;
}

body.type-category .subcategories {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 0 34px !important;
}

body.type-category .subcategories li {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.type-category .subcategories li a {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  height: 100% !important;
  padding: 16px !important;
  background: #fff !important;
  border: 1px solid #ded8ce !important;
  color: #171717 !important;
  text-decoration: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body.type-category .subcategories li a:hover {
  border-color: #aaa39a !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .06) !important;
  transform: translateY(-2px) !important;
}

body.type-category .subcategories .image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 104px !important;
  height: 78px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #fbfaf7 !important;
}

body.type-category .subcategories .image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.type-category .subcategories .text {
  color: #171717 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

/* Product detail */

body.type-detail .p-detail-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
  gap: 34px !important;
  height: auto !important;
  margin: 0 0 48px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.type-detail .p-image-wrapper,
body.type-detail .p-data-wrapper {
  float: none !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
}

body.type-detail .p-image-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 500px !important;
  padding: 26px !important;
  background: #fff !important;
  border: 1px solid #ded8ce !important;
}

body.type-detail .p-image,
body.type-detail .p-main-image,
body.type-detail .p-main-image img {
  max-height: 445px !important;
}

body.type-detail .p-main-image img {
  width: 100% !important;
  object-fit: contain !important;
}

body.type-detail .p-data-wrapper {
  align-self: center !important;
  padding: 22px 0 !important;
}

body.type-detail .p-detail-inner-header h1 {
  max-width: 620px !important;
  margin: 0 0 14px !important;
  font-size: 36px !important;
  line-height: 1.06 !important;
  font-weight: 900 !important;
}

body.type-detail .brand-wrapper {
  margin: 0 0 24px !important;
  color: #756f67 !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.type-detail .brand-wrapper a {
  color: #171717 !important;
  font-weight: 800 !important;
}

body.type-detail .p-short-description {
  margin: 0 0 24px !important;
  color: #3f3b36 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

body.type-detail .p-short-description p {
  margin: 0 !important;
}

body.type-detail .detail-parameters {
  margin: 0 0 24px !important;
  padding: 12px 0 !important;
  border: 0 !important;
  border-top: 1px solid #ded8ce !important;
  border-bottom: 1px solid #ded8ce !important;
}

body.type-detail .detail-parameters th,
body.type-detail .detail-parameters td {
  padding: 6px 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #756f67 !important;
  font-size: 13px !important;
}

body.type-detail .detail-parameters th {
  width: 110px !important;
  font-weight: 600 !important;
}

body.type-detail .availability-label {
  color: #536047 !important;
  font-weight: 800 !important;
}

body.type-detail .p-to-cart-block {
  display: grid !important;
  grid-template-columns: minmax(120px, 1fr) auto minmax(180px, 220px) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 18px !important;
  background: #f7f4ee !important;
  border: 1px solid #ded8ce !important;
}

body.type-detail .p-final-price-wrapper {
  width: auto !important;
  height: auto !important;
}

body.type-detail .p-final-price-wrapper .price-final {
  color: #171717 !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

body.type-detail .add-to-cart {
  width: auto !important;
  height: auto !important;
}

body.type-detail .add-to-cart .quantity {
  display: grid !important;
  grid-template-columns: 44px 54px 44px !important;
  grid-template-areas: "minus input plus" !important;
  width: 142px !important;
  height: 48px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid #cfc8bd !important;
}

body.type-detail .add-to-cart .quantity .increase-tooltip,
body.type-detail .add-to-cart .quantity .decrease-tooltip {
  display: none !important;
}

body.type-detail .add-to-cart .quantity label {
  grid-area: input !important;
  width: 54px !important;
  height: 46px !important;
  margin: 0 !important;
}

body.type-detail .add-to-cart .quantity .amount {
  width: 54px !important;
  height: 46px !important;
  padding: 0 !important;
  background: #fff !important;
  border: 0 !important;
  color: #171717 !important;
  font-size: 16px !important;
  line-height: 46px !important;
  font-weight: 800 !important;
  text-align: center !important;
  appearance: textfield !important;
}

body.type-detail .add-to-cart .quantity .increase,
body.type-detail .add-to-cart .quantity .decrease {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 44px !important;
  height: 46px !important;
  padding: 0 !important;
  background: #f7f4ee !important;
  border: 0 !important;
  color: #171717 !important;
  font-size: 21px !important;
  line-height: 46px !important;
}

body.type-detail .add-to-cart .quantity .decrease {
  grid-area: minus !important;
  border-right: 1px solid #ded8ce !important;
}

body.type-detail .add-to-cart .quantity .increase {
  grid-area: plus !important;
  border-left: 1px solid #ded8ce !important;
}

body.type-detail .add-to-cart-button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  white-space: nowrap !important;
}

body.type-detail .add-to-cart .quantity .increase:hover,
body.type-detail .add-to-cart .quantity .decrease:hover {
  background: #ede7dd !important;
}

body.type-detail .p-detail-tabs {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 0 34px !important;
  border-bottom: 1px solid #d9d2c8 !important;
}

body.type-detail .p-detail-tabs .shp-tab-link {
  padding: 15px 20px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
  color: #756f67 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

body.type-detail .p-detail-tabs .active .shp-tab-link {
  border-bottom-color: #b50f2f !important;
  color: #171717 !important;
}

body.type-detail .description-inner {
  max-width: 820px !important;
  margin: 0 auto !important;
  color: #3f3b36 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

body.type-detail .description-inner h2 {
  margin: 0 0 26px !important;
  font-size: 30px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}

body.type-detail .description-inner h3 {
  margin: 32px 0 12px !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}

/* Event products use editorial photography, not the white bottle-image stage. */

body.id-752.type-detail .p-detail-inner {
  align-items: start !important;
}

body.id-752.type-detail .p-image-wrapper {
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
}

body.id-752.type-detail .p-image {
  width: 100% !important;
  max-height: none !important;
  padding: 0 !important;
}

body.id-752.type-detail .p-main-image,
body.id-752.type-detail .p-main-image img {
  width: 100% !important;
  max-height: none !important;
}

body.id-752.type-detail .p-main-image img {
  display: block !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
}

body.id-752.type-detail .p-to-cart-block {
  background: #eee7dc !important;
  border-color: #d4c9bb !important;
}

body.type-detail .description-inner hr {
  margin: 30px 0 !important;
  border-color: #d9d2c8 !important;
}

/* Content pages and contact form */

body.type-page .pageArticleDetail {
  max-width: 1040px !important;
  margin: 0 auto !important;
  color: #3f3b36 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

body.type-page .pageArticleDetail > header h1 {
  margin: 0 0 22px !important;
  font-size: 42px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
}

body.in-kontakty .pageArticleDetail [itemprop="about"] > h1 {
  display: none !important;
}

body.in-kontakty .contact-form {
  width: 100% !important;
  max-width: 620px !important;
  margin: 30px 0 46px !important;
  padding: 28px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border: 1px solid #ded8ce !important;
}

body.in-kontakty .contact-form fieldset {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.in-kontakty .contact-form .form-group {
  margin-bottom: 18px !important;
}

body.in-kontakty .contact-form label {
  margin-bottom: 7px !important;
  color: #171717 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body.in-kontakty .contact-form textarea.form-control {
  min-height: 170px !important;
  resize: vertical !important;
}

body.in-kontakty .contact-form .consents {
  color: #756f67 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

body.in-kontakty .pageArticleDetail h2 {
  margin: 34px 0 10px !important;
  font-size: 23px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}

body.in-kontakty .pageArticleDetail hr {
  margin: 28px 0 !important;
  border-color: #d9d2c8 !important;
}

/* System messages use compact toasts instead of full-width overlays. */

.messages,
.msg-wrapper {
  position: fixed !important;
  top: 16px !important;
  right: auto !important;
  left: 50% !important;
  width: min(620px, calc(100% - 32px)) !important;
  transform: translateX(-50%) !important;
  z-index: 1003 !important;
  pointer-events: none !important;
}

.messages .msg,
.msg-wrapper .msg {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 14px 46px 14px 18px !important;
  border: 1px solid !important;
  border-left-width: 4px !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 32px rgba(21, 21, 21, .14) !important;
  color: #151515 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

.messages .msg-success,
.messages .msg-notice,
.msg-wrapper .msg-success,
.msg-wrapper .msg-notice {
  background: #f1f7ec !important;
  border-color: #a5c98b !important;
  border-left-color: #3c840f !important;
  color: #2f6718 !important;
}

.messages .msg-error,
.msg-wrapper .msg-error {
  background: #fff1ef !important;
  border-color: #e0aaa5 !important;
  border-left-color: #b83b34 !important;
  color: #922f29 !important;
}

.messages .msg-warning,
.msg-wrapper .msg-warning {
  background: #fff7e9 !important;
  border-color: #e1bd7e !important;
  border-left-color: #b66a12 !important;
  color: #7b470c !important;
}

.messages .msg-info,
.msg-wrapper .msg-info {
  background: #eef4f7 !important;
  border-color: #a9c2cf !important;
  border-left-color: #3f7089 !important;
  color: #285267 !important;
}

.messages .msg a,
.msg-wrapper .msg a {
  color: inherit !important;
  text-decoration: underline !important;
}

/* Cart and checkout presentation; native forms and flow stay intact. */

body.ordering-process #content-wrapper {
  padding-top: 34px !important;
  padding-bottom: 60px !important;
}

body.ordering-process .cart-wrapper {
  max-width: 1180px !important;
  margin: 0 auto !important;
}

body.ordering-process .cart-header {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 760px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 4px auto 34px !important;
  padding: 0 !important;
  overflow: visible !important;
  list-style: none !important;
}

body.ordering-process .cart-header .step {
  position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 62px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 10px !important;
  text-align: center !important;
}

body.ordering-process .cart-header .step:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 17px !important;
  left: 50% !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 1px !important;
  background: #d8d1c7 !important;
}

body.ordering-process .cart-header .step > a,
body.ordering-process .cart-header .step > strong {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  color: #686159 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.ordering-process .cart-header .step > a::before,
body.ordering-process .cart-header .step > strong::before {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #cbc3b8 !important;
  border-radius: 50% !important;
  color: #686159 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  box-shadow: 0 0 0 5px #f5f0e6 !important;
}

body.ordering-process .cart-header .step.active > a,
body.ordering-process .cart-header .step.active > strong {
  color: #151515 !important;
}

body.ordering-process .cart-header .step.active > a::before,
body.ordering-process .cart-header .step.active > strong::before {
  background: #b8102e !important;
  border-color: #b8102e !important;
  color: #fff !important;
}

body.ordering-process .cart-header .step span {
  display: block !important;
  max-width: 170px !important;
  padding: 0 !important;
  background: transparent !important;
  color: inherit !important;
  text-decoration: none !important;
}

body.ordering-process .cart-header .step span::after {
  display: none !important;
}

body.ordering-process .cart-header .step > a:hover {
  color: #b8102e !important;
  text-decoration: none !important;
}

body.ordering-process .cart-heading {
  margin: 0 0 30px !important;
  font-size: 38px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  text-align: left !important;
}

body.ordering-process .cart-content {
  height: 100% !important;
  padding: 26px !important;
  background: #fff !important;
  border: 1px solid #ded8ce !important;
}

body.ordering-process .cart-content .box {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.ordering-process .empty-cart-boxes h3,
body.ordering-process .cart-content .h4 {
  margin: 0 0 17px !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

body.ordering-process .empty-cart-boxes ul,
body.ordering-process .contact-box ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.ordering-process .empty-cart-boxes li,
body.ordering-process .contact-box li {
  margin: 0 0 8px !important;
}

body.ordering-process .empty-cart-boxes a,
body.ordering-process .contact-box a {
  color: #171717 !important;
  font-weight: 700 !important;
}

body.ordering-process .cart-table,
body.ordering-process .cart-table tr,
body.ordering-process .cart-table td {
  background: #fff !important;
  border-color: #ded8ce !important;
}

body.in-kosik .cart-inner {
  background: transparent !important;
}

body.in-kosik .summary {
  display: flex !important;
  justify-content: flex-end !important;
  margin: 20px 0 0 !important;
}

body.in-kosik .summary > .col-md-4 {
  float: none !important;
  width: min(430px, 100%) !important;
  padding: 0 !important;
}

body.in-kosik .summary .price-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px 22px !important;
  align-items: baseline !important;
  margin: 0 !important;
  padding: 22px 24px !important;
  background: #fff !important;
  border: 1px solid #ded8ce !important;
}

body.in-kosik .summary .price-label,
body.in-kosik .summary .price {
  margin: 0 !important;
  text-align: left !important;
}

body.in-kosik .summary .price {
  text-align: right !important;
}

body.in-kosik .summary .price-primary {
  color: #151515 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

body.in-kosik .summary .price-secondary {
  color: #777066 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body.in-kosik .next-step--cart,
body.ordering-process .next-step--step-1 {
  display: grid !important;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important;
  gap: 10px !important;
  margin-top: 10px !important;
}

body.in-kosik .next-step--cart .btn,
body.ordering-process .next-step--step-1 .btn {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 13px 16px !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.in-kosik .next-step--cart .next-step-back,
body.ordering-process .next-step--step-1 .next-step-back {
  background: #fff !important;
  border: 1px solid #151515 !important;
  color: #151515 !important;
}

body.in-kosik .next-step--cart .next-step-forward,
body.ordering-process .next-step--step-1 .next-step-forward {
  background: #151515 !important;
  border: 1px solid #151515 !important;
  color: #fff !important;
}

body.in-krok-1 .cart-row,
body.in-krok-2 .cart-row {
  margin: 0 !important;
  background: #f5f0e6 !important;
}

body.in-krok-1 .cart-row::before,
body.in-krok-1 .cart-row::after,
body.in-krok-2 .cart-row::before,
body.in-krok-2 .cart-row::after {
  display: none !important;
  content: none !important;
}

body.in-krok-1 .co-box,
body.in-krok-2 .co-box {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.in-krok-1 .co-box:last-child,
body.in-krok-2 .co-box:last-child {
  margin-bottom: 0 !important;
}

body.in-krok-1 .co-box > h2,
body.in-krok-2 .co-box > h2,
body.in-krok-1 .order-summary-inner > h2,
body.in-krok-2 .order-summary-inner > h2 {
  margin: 0 0 16px !important;
  color: #151515 !important;
  font-size: 21px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body.in-krok-1 .shipping-billing-table,
body.in-krok-2 .shipping-billing-table {
  display: grid !important;
  gap: 9px !important;
}

body.in-krok-1 .co-delivery-method + .co-payment-method,
body.in-krok-2 .co-delivery-method + .co-payment-method {
  margin-top: 32px !important;
}

body.in-krok-1 .shipping-billing-table .radio-wrapper,
body.in-krok-2 .shipping-billing-table .radio-wrapper {
  position: relative !important;
  display: flex !important;
  align-items: stretch !important;
  min-height: 76px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f5f0e6 !important;
  border: 1px solid #ded8ce !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

body.in-krok-1 .shipping-billing-table .radio-wrapper.active,
body.in-krok-2 .shipping-billing-table .radio-wrapper.active {
  background: #fff !important;
  border-color: #c9939e !important;
  box-shadow: inset 4px 0 0 #b8102e !important;
}

body.in-krok-1 .shipping-billing-table .radio-wrapper input[type="radio"],
body.in-krok-2 .shipping-billing-table .radio-wrapper input[type="radio"] {
  position: absolute !important;
  top: 50% !important;
  left: 20px !important;
  z-index: 2 !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
}

body.in-krok-1 .shipping-billing-table .radio-wrapper > label,
body.in-krok-2 .shipping-billing-table .radio-wrapper > label {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 76px !important;
  margin: 0 !important;
  padding: 15px 18px 15px 58px !important;
  background: transparent !important;
  cursor: pointer !important;
}

body.in-krok-1 #checkoutContent,
body.in-krok-2 #checkoutContent {
  padding: 0 !important;
  background: #f5f0e6 !important;
  border: 0 !important;
}

body.in-krok-1 .shipping-billing-name,
body.in-krok-2 .shipping-billing-name {
  color: #151515 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

body.in-krok-1 .sublabel-description,
body.in-krok-2 .sublabel-description {
  margin-top: 4px !important;
  color: #777066 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body.in-krok-1 .payment-shipping-price,
body.in-krok-2 .payment-shipping-price {
  color: #3c840f !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body.in-krok-1 #checkoutSidebar .cart-content,
body.in-krok-2 #checkoutSidebar .cart-content {
  padding: 22px !important;
  background: #f5f0e6 !important;
}

body.in-krok-1 .checkout-box,
body.in-krok-2 .checkout-box {
  margin-bottom: 20px !important;
}

body.in-krok-1 .toggle-contacts,
body.in-krok-2 .toggle-contacts {
  min-height: 46px !important;
  background: #f5f0e6 !important;
  border: 1px solid #ded8ce !important;
  color: #151515 !important;
}

body.in-krok-1 .order-summary-item,
body.in-krok-2 .order-summary-item,
body.in-krok-1 .recapitulation-single,
body.in-krok-2 .recapitulation-single {
  border-color: #e3ddd4 !important;
}

body.in-krok-1 .order-summary-item[data-micro="cartItem"],
body.in-krok-2 .order-summary-item[data-micro="cartItem"] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 12px !important;
  align-items: start !important;
}

body.in-krok-1 .order-summary-item .cart-item-name,
body.in-krok-2 .order-summary-item .cart-item-name {
  min-width: 0 !important;
}

body.in-krok-1 .order-summary-item .cart-item-name a,
body.in-krok-2 .order-summary-item .cart-item-name a {
  color: #151515 !important;
  font-weight: 800 !important;
}

body.in-krok-1 .order-summary-item.price .price-wrapper,
body.in-krok-2 .order-summary-item.price .price-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 6px 16px !important;
  align-items: baseline !important;
}

body.in-krok-1 .order-summary-item.price .price-primary,
body.in-krok-2 .order-summary-item.price .price-primary {
  font-size: 18px !important;
  font-weight: 900 !important;
}

@media (min-width: 768px) {
  body.in-kosik .cart-table,
  body.in-kosik .cart-table tbody {
    display: block !important;
    width: 100% !important;
  }

  body.in-kosik .cart-table-header {
    display: none !important;
  }

  body.in-kosik .cart-table tr.removeable {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 110px minmax(240px, 1fr) 105px 150px 115px 105px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 148px !important;
    padding: 18px !important;
    background: #fff !important;
    border: 1px solid #ded8ce !important;
  }

  body.in-kosik .cart-table tr.removeable > td {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 10px !important;
    border: 0 !important;
  }

  body.in-kosik .cart-table tr.removeable > .p-name {
    align-items: flex-start !important;
    justify-content: center !important;
    flex-direction: column !important;
  }

  body.in-kosik .cart-p-image img {
    width: 92px !important;
    height: 92px !important;
    object-fit: cover !important;
    border: 1px solid #ded8ce !important;
  }

  body.in-kosik .p-name .main-link {
    color: #151515 !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  body.in-kosik .product-table-name-footer,
  body.in-kosik .p-name > .delete-cart-item {
    display: none !important;
  }

  body.in-kosik .p-availability .availability-label {
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  body.in-kosik .p-quantity .quantity {
    min-width: 138px !important;
    height: 48px !important;
    border: 1px solid #cbc3b8 !important;
  }

  body.in-kosik .p-price .price-final,
  body.in-kosik .p-total .price-final {
    color: #151515 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
  }

  body.in-kosik .p-total {
    flex-direction: column !important;
    gap: 12px !important;
  }

  body.in-kosik .p-total .remove-item {
    position: static !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 auto !important;
    background: #f5f0e6 !important;
    border: 1px solid #ded8ce !important;
  }
}

@media (min-width: 992px) {
  body.in-krok-1 .cart-row,
  body.in-krok-2 .cart-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 390px !important;
    gap: 24px !important;
    align-items: start !important;
  }

  body.in-krok-1 #checkoutContent,
  body.in-krok-1 #checkoutSidebar,
  body.in-krok-2 #checkoutContent,
  body.in-krok-2 #checkoutSidebar {
    float: none !important;
    width: auto !important;
    background: #f5f0e6 !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  body.in-krok-1 #checkoutSidebar,
  body.in-krok-2 #checkoutSidebar {
    position: sticky !important;
    top: 18px !important;
  }
}

@media (min-width: 992px) {
  body.type-category .content-wrapper-in,
  body.type-detail .content-wrapper-in {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 34px !important;
  }

  body.type-category .sidebar,
  body.type-detail .sidebar,
  body.type-category #content,
  body.type-detail #content {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .header-top {
    min-height: 76px !important;
    height: 76px !important;
    padding: 0 !important;
    background: #f5f0e6 !important;
  }

  .header-top-wrapper {
    display: flex !important;
    align-items: center !important;
    width: 1218px !important;
    max-width: calc(100% - 48px) !important;
    min-height: 76px !important;
    height: 76px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #header .site-name {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 32px 0 0 !important;
  }

  #header .site-name img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 145px !important;
    max-height: 54px !important;
  }

  .header-top-wrapper > .search {
    display: flex !important;
    flex: 0 1 230px !important;
    justify-content: center !important;
    width: 230px !important;
    max-width: 230px !important;
    margin: 0 24px 0 auto !important;
    padding: 0 !important;
  }

  .header-top-wrapper > .search .search-form {
    width: 100% !important;
    height: 44px !important;
    max-width: none !important;
    margin: 0 !important;
    box-shadow: none !important;
    transition: border-color .16s ease, box-shadow .16s ease !important;
  }

  .header-top-wrapper > .search .search-form:focus-within {
    border-color: #928a7e !important;
    box-shadow: 0 0 0 3px rgba(181, 15, 47, .08) !important;
  }

  .header-top-wrapper > .search .search-input {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 14px 0 44px !important;
    background: transparent !important;
    border: 0 !important;
    color: #171717 !important;
    font-size: 14px !important;
    line-height: 42px !important;
  }

  .header-top-wrapper > .search .search-input::placeholder {
    color: #756f67 !important;
    opacity: 1 !important;
  }

  .header-top-wrapper > .search .search-input-icon {
    top: 1px !important;
    left: 2px !important;
    width: 40px !important;
    height: 40px !important;
    color: #171717 !important;
    font-size: 21px !important;
    transform: none !important;
  }

  .header-top-wrapper > .navigation-buttons {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .navigation-buttons > a[data-testid="linkSearchIcon"],
  .navigation-buttons > a[data-testid="hamburgerMenu"] {
    display: none !important;
  }

  .navigation-buttons > a.cart-count {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    min-width: 124px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    gap: 10px !important;
    white-space: nowrap !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 4px !important;
    color: #151515 !important;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
  }

  .navigation-buttons > a.cart-count span {
    white-space: nowrap !important;
  }

  .navigation-buttons > a.cart-count:hover,
  .navigation-buttons > a.cart-count.active,
  .navigation-buttons > a.cart-count[aria-expanded="true"] {
    background: #171717 !important;
    border-color: #171717 !important;
    color: #fff !important;
  }

  #cart-widget.cart-widget {
    width: 420px !important;
    max-width: calc(100vw - 32px) !important;
    background: #fff !important;
    border: 1px solid #d8d1c7 !important;
    border-radius: 4px !important;
    box-shadow: 0 18px 46px rgba(23, 23, 23, .14) !important;
  }

  #cart-widget .cart-widget-inner {
    padding: 0 !important;
  }

  #cart-widget .cart-widget-product {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "image name price"
      "image amount delete" !important;
    align-items: center !important;
    gap: 8px 12px !important;
    padding: 16px !important;
    border-bottom: 1px solid #e5dfd6 !important;
  }

  #cart-widget .cart-widget-product-image {
    grid-area: image !important;
  }

  #cart-widget .cart-widget-product-image,
  #cart-widget .cart-widget-product-image img {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
  }

  #cart-widget .cart-widget-product-name {
    grid-area: name !important;
    color: #171717 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
  }

  #cart-widget .cart-widget-product-amount {
    grid-area: amount !important;
  }

  #cart-widget .cart-widget-product-price {
    grid-area: price !important;
    white-space: nowrap !important;
  }

  #cart-widget .cart-widget-product-delete {
    grid-area: delete !important;
  }

  #cart-widget .cart-widget-product-unit {
    display: none !important;
  }

  #cart-widget .quantity {
    display: grid !important;
    grid-template-columns: 36px 46px 36px !important;
    grid-template-areas: "minus input plus" !important;
    width: 118px !important;
    height: 38px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #d5cec4 !important;
  }

  #cart-widget .quantity .increase-tooltip,
  #cart-widget .quantity .decrease-tooltip {
    display: none !important;
  }

  #cart-widget .quantity label {
    grid-area: input !important;
    width: 46px !important;
    height: 36px !important;
    margin: 0 !important;
  }

  #cart-widget .quantity .amount {
    width: 46px !important;
    height: 36px !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: center !important;
  }

  #cart-widget .quantity .increase,
  #cart-widget .quantity .decrease {
    position: static !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    background: #f7f4ee !important;
    border: 0 !important;
    color: #171717 !important;
  }

  #cart-widget .quantity .decrease {
    grid-area: minus !important;
    border-right: 1px solid #e2dcd2 !important;
  }

  #cart-widget .quantity .increase {
    grid-area: plus !important;
    border-left: 1px solid #e2dcd2 !important;
  }

  #cart-widget .cart-widget-bottom {
    padding: 0 !important;
    background: #fbfaf7 !important;
  }

  #cart-widget .cart-widget-button {
    padding: 16px !important;
    text-align: right !important;
  }

  #cart-widget .cart-widget-button .btn {
    min-height: 44px !important;
    padding: 0 20px !important;
    background: #171717 !important;
    border-color: #171717 !important;
    color: #fff !important;
  }

  body:not(.gs-menu-ready) .header-bottom {
    display: block !important;
  }

  body.gs-menu-ready .header-bottom {
    display: none !important;
  }

  #content-wrapper {
    margin-top: 0 !important;
  }

  #header,
  .header-top {
    overflow: visible !important;
  }

  .gs-desktop-nav {
    position: relative !important;
    z-index: 1000 !important;
    display: block !important;
    flex: 0 0 auto !important;
    height: 76px !important;
    margin: 0 30px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
  }

  .gs-desktop-nav > .navigationActions {
    display: none !important;
  }

  .gs-desktop-nav > .menu-level-1 {
    display: flex !important;
    align-items: center !important;
    height: 76px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 24px !important;
    overflow: visible !important;
    list-style: none !important;
  }

  .gs-desktop-nav li {
    list-style: none !important;
  }

  .gs-desktop-nav > .menu-level-1 > li {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    height: 76px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .gs-desktop-nav > .menu-level-1 > li > a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    height: 76px !important;
    padding: 0 !important;
    color: #151515 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    transition: color .16s ease !important;
  }

  .gs-desktop-nav > .menu-level-1 > li > a:hover,
  .gs-desktop-nav > .menu-level-1 > li.is-open > a {
    color: #b50f2f !important;
    opacity: 1 !important;
  }

  .gs-desktop-nav > .menu-level-1 > li > a::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 17px !important;
    left: 0 !important;
    height: 2px !important;
    background: #b50f2f !important;
    transform: scaleX(0) !important;
    transform-origin: left center !important;
    transition: transform .16s ease !important;
  }

  .gs-desktop-nav > .menu-level-1 > li > a:hover::after,
  .gs-desktop-nav > .menu-level-1 > li.is-open > a::after {
    transform: scaleX(1) !important;
  }

  .gs-desktop-nav .submenu-arrow {
    width: 8px !important;
    height: 8px !important;
    margin: -4px 0 0 10px !important;
    background: transparent !important;
    border: solid currentColor !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
    transition: margin .16s ease, transform .16s ease !important;
  }

  .gs-desktop-nav .submenu-arrow::before,
  .gs-desktop-nav .submenu-arrow::after {
    display: none !important;
  }

  .gs-desktop-nav > .menu-level-1 > li.is-open > a .submenu-arrow {
    margin-top: 4px !important;
    transform: rotate(225deg) !important;
  }

  .gs-desktop-nav > .menu-level-1 > li > .menu-level-2 {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 9999 !important;
    display: none !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 136px !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: calc(100vw - 48px) !important;
    margin: 0 !important;
    padding: 7px !important;
    gap: 7px !important;
    overflow: visible !important;
    background: #f5f0e6 !important;
    border: 1px solid #d9d2c8 !important;
    border-top: 2px solid #b50f2f !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .14) !important;
  }

  .gs-desktop-nav > .menu-level-1 > li:hover > .menu-level-2,
  .gs-desktop-nav > .menu-level-1 > li.is-open > .menu-level-2 {
    display: grid !important;
  }

  .gs-desktop-nav > .menu-level-1 > li > .menu-level-2 > li {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 136px !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #ded8ce !important;
    box-shadow: none !important;
    transform: translateY(0) !important;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
  }

  .gs-desktop-nav > .menu-level-1 > li > .menu-level-2 > li:hover {
    border-color: #b50f2f !important;
    box-shadow: 0 9px 20px rgba(0, 0, 0, .1) !important;
    transform: translateY(-2px) !important;
  }

  .gs-desktop-nav .menu-level-2 .menu-image {
    display: block !important;
    flex: 0 0 92px !important;
    width: 134px !important;
    height: 92px !important;
    min-height: 92px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #eee8de !important;
  }

  .gs-desktop-nav .menu-level-2 .menu-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    border: 0 !important;
    transition: transform .22s ease !important;
  }

  .gs-desktop-nav .menu-level-2 > li:hover .menu-image img {
    transform: scale(1.035) !important;
  }

  .gs-desktop-nav .menu-level-2 > li > div {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .gs-desktop-nav .menu-level-2 > li > div > a,
  .gs-desktop-nav .menu-level-2 > li > a:not(.menu-image) {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 9px 10px 10px !important;
    color: #151515 !important;
    background: #fff !important;
    font-size: 11px !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: normal !important;
    transition: color .16s ease !important;
  }

  .gs-desktop-nav .menu-level-2 > li > div > a:hover,
  .gs-desktop-nav .menu-level-2 > li > a:not(.menu-image):hover {
    background: #fff !important;
    color: #b50f2f !important;
    transform: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .header-top-wrapper {
    max-width: calc(100% - 32px) !important;
  }

  #header .site-name {
    margin-right: 20px !important;
  }

  .gs-desktop-nav {
    margin-right: 20px !important;
  }

  .gs-desktop-nav > .menu-level-1 {
    gap: 16px !important;
  }

  .header-top-wrapper > .search {
    flex-basis: 180px !important;
    width: 180px !important;
    margin-right: 20px !important;
  }

  .navigation-buttons > a.cart-count {
    min-width: 100px !important;
  }
}

@media (min-width: 992px) and (max-width: 1399px) {
  body.type-detail .p-to-cart-block {
    grid-template-columns: 142px minmax(0, 1fr) !important;
  }

  body.type-detail .p-final-price-wrapper {
    grid-column: 1 / -1 !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  #header .container {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .header-top {
    min-height: 70px !important;
    padding: 0 !important;
  }

  #header .site-name img {
    max-width: 130px !important;
    max-height: 48px !important;
  }

  .gs-desktop-nav {
    display: none !important;
  }

  body.type-category .content-wrapper-in,
  body.type-detail .content-wrapper-in {
    display: block !important;
  }

  body.type-category .sidebar,
  body.type-detail .sidebar {
    display: grid !important;
    float: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 0 28px !important;
    gap: 18px !important;
  }

  body.type-detail .sidebar {
    display: none !important;
  }

  body.type-category #content,
  body.type-detail #content {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.type-category .sidebar .box,
  body.type-detail .sidebar .box {
    margin: 0 !important;
  }

  body.type-category .products-block {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.type-category .subcategories {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.type-detail .p-detail-inner {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    gap: 26px !important;
    padding: 0 !important;
  }

  body.type-detail .p-image-wrapper {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    min-height: 380px !important;
    padding: 20px !important;
    gap: 16px !important;
  }

  body.type-detail .p-detail-inner-header-mobile {
    width: 100% !important;
    margin: 0 !important;
  }

  body.type-detail .p-detail-inner-header-mobile .h1 {
    margin: 0 0 8px !important;
    font-size: 28px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
  }

  body.type-detail .p-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
  }

  body.type-detail .p-data-wrapper {
    padding: 14px 0 !important;
  }

  body.type-detail .p-detail-inner-header h1 {
    font-size: 31px !important;
  }

  body.type-detail .p-to-cart-block {
    grid-template-columns: auto minmax(170px, 1fr) !important;
  }

  body.type-detail .p-final-price-wrapper {
    grid-column: 1 / -1 !important;
  }
}

body.type-index .carousel-wrapper,
body.type-index .carousel {
  margin-top: 0 !important;
}

body.type-index #carousel,
body.type-index #carousel .carousel-inner {
  height: 620px !important;
  min-height: 620px !important;
  overflow: hidden !important;
}

body.type-index .carousel-inner,
body.type-index .carousel-inner .item {
  border-radius: 0 !important;
}

body.type-index #carousel .item > a {
  position: relative !important;
}

body.type-index #carousel .item > a {
  display: block !important;
  overflow: hidden !important;
}

body.type-index #carousel .item img {
  width: 100% !important;
  height: 620px !important;
  min-height: 0 !important;
  object-fit: cover !important;
}

body.type-index #carousel .item > a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(10, 10, 10, .72) 0%, rgba(10, 10, 10, .48) 36%, rgba(10, 10, 10, .12) 70%, rgba(10, 10, 10, 0) 100%);
  pointer-events: none;
}

body.type-index #carousel .extended-banner-texts {
  position: absolute !important;
  top: 50% !important;
  left: 5% !important;
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: min(520px, 58%) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  background: transparent !important;
  color: #fff !important;
  text-align: left !important;
  transform: translateY(-50%) !important;
}

body.type-index #carousel .extended-banner-title {
  position: static !important;
  inset: auto !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 52px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .22) !important;
}

body.type-index #carousel .extended-banner-text {
  position: static !important;
  inset: auto !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

body.type-index #carousel .extended-banner-link {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  min-height: 48px !important;
  padding: 13px 22px !important;
  background: #f5f0e6 !important;
  border: 1px solid #f5f0e6 !important;
  border-radius: 0 !important;
  color: #151515 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transition: background .18s ease, color .18s ease, transform .18s ease !important;
}

body.type-index #carousel .item > a:hover .extended-banner-link {
  background: #fff !important;
  color: #151515 !important;
  transform: translateX(4px) !important;
}

body.type-index .gs-hero-content {
  position: absolute !important;
  top: 50% !important;
  left: 5% !important;
  z-index: 10 !important;
  max-width: 650px !important;
  color: #fff !important;
  text-align: left !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

body.type-index .gs-hero-kicker {
  margin: 0 0 18px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

body.type-index .gs-hero-title {
  margin: 0 0 24px !important;
  color: #fff !important;
  font-size: 72px !important;
  line-height: .93 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body.type-index .gs-hero-subtitle {
  margin: 0 0 28px !important;
  color: #fff !important;
  font-size: 19px !important;
  line-height: 1.4 !important;
}

body.type-index .gs-hero-button {
  display: inline-block !important;
  padding: 15px 23px !important;
  background: #f5f0e6 !important;
  color: #151515 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  pointer-events: auto !important;
  transition: background .18s ease, transform .18s ease !important;
}

body.type-index .gs-hero-button:hover {
  background: #fff !important;
  transform: translateX(4px) !important;
}

body.type-index .carousel-caption,
body.type-index .carousel-caption * {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  text-shadow: none !important;
}

body.type-index #products-2 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 22px !important;
}

body.type-index #products-2 > .product {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.type-index #products-2 > .product > .p {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  padding: 20px !important;
  background: #fff !important;
  border: 1px solid #ded8ce !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body.type-index #products-2 > .product > .p:hover {
  border-color: #aaa39a !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .07) !important;
  transform: translateY(-4px) !important;
}

body.type-index #products-2 .p > .image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 260px !important;
  margin: 0 0 18px !important;
}

body.type-index #products-2 .p > .image img {
  display: block !important;
  width: auto !important;
  height: 230px !important;
  max-width: 90% !important;
  object-fit: contain !important;
  transition: transform .2s ease !important;
}

body.type-index #products-2 .p:hover > .image img {
  transform: scale(1.035) !important;
}

body.type-index #products-2 .p-in,
body.type-index #products-2 .p-in-in,
body.type-index #products-2 .p-bottom {
  position: static !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
}

body.type-index #products-2 .name {
  display: block !important;
  margin: 0 0 9px !important;
  color: #151515 !important;
  font-size: 17px !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.type-index #products-2 .ratings-wrapper {
  margin-bottom: 12px !important;
}

body.type-index #products-2 .availability,
body.type-index #products-2 .p-code,
body.type-index #products-2 .price-standard-wrapper,
body.type-index #products-2 .quantity,
body.type-index #products-2 .secondary-to-cart-btn {
  display: none !important;
}

body.type-index #products-2 .flag {
  padding: 5px 7px !important;
  border-radius: 0 !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

body.type-index #products-2 .p-bottom {
  margin-top: auto !important;
}

body.type-index #products-2 .offers {
  display: flex !important;
  flex-direction: column !important;
}

body.type-index #products-2 .prices {
  margin: 4px 0 14px !important;
}

body.type-index #products-2 .price-final strong {
  color: #151515 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

body.type-index #products-2 .p-tools,
body.type-index #products-2 .pr-action {
  width: 100% !important;
}

body.type-index #products-2 button.btn-cart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 13px 16px !important;
  background: #151515 !important;
  border: 1px solid #151515 !important;
  border-radius: 0 !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: background .16s ease, color .16s ease, transform .16s ease !important;
}

body.type-index #products-2 button.btn-cart:hover {
  background: #f5f0e6 !important;
  color: #151515 !important;
  transform: translateY(-2px) !important;
}

body.type-index #products-2 button.btn-cart:active {
  background: #151515 !important;
  color: #fff !important;
  transform: translateY(0) !important;
}

body.type-index #products-2 button.btn-cart .to-cart-text {
  display: inline !important;
  color: inherit !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
  body.type-index #carousel,
  body.type-index #carousel .carousel-inner {
    height: 560px !important;
    min-height: 560px !important;
  }

  body.type-index #carousel .item img {
    height: 560px !important;
  }

  body.type-index .gs-hero-title {
    font-size: 56px !important;
  }
}

@media (max-width: 767px) {
  #header .container {
    width: calc(100% - 28px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .header-top,
  .header-top-wrapper {
    min-height: 64px !important;
    height: 64px !important;
    padding: 0 !important;
  }

  #header .site-name img {
    max-width: 120px !important;
    max-height: 44px !important;
  }

  .gs-desktop-nav,
  .header-top-wrapper > .search {
    display: none !important;
  }

  body:not(.type-index) .breadcrumbs {
    margin-bottom: 14px !important;
  }

  body.type-category .category-top {
    margin-bottom: 24px !important;
    padding-left: 15px !important;
    border-left-width: 3px !important;
  }

  body.type-category .category-title {
    font-size: 30px !important;
  }

  body.type-category .category-perex {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  body.type-category .category-header {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  body.type-category .products-block,
  body.type-category .subcategories {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.type-category .products-block > .product > .p {
    min-height: 0 !important;
    padding: 15px !important;
  }

  body.type-category .products-block .p > .image {
    height: 230px !important;
  }

  body.type-category .products-block .p > .image img {
    height: 205px !important;
  }

  body.type-category .products-block .name {
    min-height: 0 !important;
  }

  body.type-detail .p-detail-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    margin-bottom: 30px !important;
    padding: 0 !important;
  }

  body.type-detail .p-image-wrapper {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    padding: 18px !important;
    gap: 18px !important;
  }

  body.type-detail .p-image,
  body.type-detail .p-main-image,
  body.type-detail .p-main-image img {
    max-height: 320px !important;
  }

  body.type-detail .p-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
  }

  body.type-detail .p-detail-inner-header-mobile {
    width: 100% !important;
    margin: 0 !important;
  }

  body.type-detail .p-detail-inner-header-mobile .h1 {
    margin: 0 0 10px !important;
    font-size: 28px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
  }

  body.type-detail .p-data-wrapper {
    padding: 0 !important;
  }

  body.type-detail .p-detail-inner-header h1 {
    font-size: 29px !important;
  }

  body.type-detail .p-to-cart-block {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    padding: 15px !important;
  }

  body.type-detail .add-to-cart {
    justify-self: end !important;
  }

  body.type-detail .add-to-cart-button {
    grid-column: 1 / -1 !important;
  }

  body.type-detail .p-detail-tabs {
    justify-content: flex-start !important;
    overflow-x: auto !important;
  }

  body.type-detail .p-detail-tabs .shp-tab-link {
    padding: 13px 12px !important;
    white-space: nowrap !important;
  }

  body.type-detail .description-inner h2 {
    font-size: 25px !important;
  }

  body.type-page .pageArticleDetail > header h1,
  body.ordering-process .cart-heading {
    font-size: 30px !important;
  }

  body.in-kontakty .contact-form {
    margin: 24px 0 36px !important;
    padding: 18px !important;
  }

  body.ordering-process #content-wrapper {
    padding-top: 22px !important;
    padding-bottom: 40px !important;
  }

  body.ordering-process .cart-content {
    margin-bottom: 14px !important;
    padding: 19px !important;
  }

  body.in-kosik .cart-table tr.removeable {
    margin-bottom: 14px !important;
    background: #fff !important;
    border: 1px solid #ded8ce !important;
  }

  body.in-kosik .cart-p-image img {
    width: 78px !important;
    height: 78px !important;
    object-fit: cover !important;
  }

  body.in-kosik .p-name .main-link {
    color: #151515 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  body.in-kosik .summary {
    display: block !important;
    margin-top: 14px !important;
  }

  body.in-kosik .summary > .col-md-4 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.in-kosik .summary .price-wrapper {
    padding: 18px !important;
  }

  body.in-kosik .next-step--cart {
    width: 100% !important;
  }

  body.in-kosik .next-step--cart,
  body.ordering-process .next-step--step-1 {
    grid-template-columns: 1fr !important;
  }

  body.in-kosik .next-step--cart .next-step-forward,
  body.ordering-process .next-step--step-1 .next-step-forward {
    grid-row: 1 !important;
  }

  body.in-krok-1 .shipping-billing-table .radio-wrapper,
  body.in-krok-2 .shipping-billing-table .radio-wrapper {
    min-height: 64px !important;
  }

  body.in-krok-1 .shipping-billing-table .radio-wrapper input[type="radio"],
  body.in-krok-2 .shipping-billing-table .radio-wrapper input[type="radio"] {
    left: 18px !important;
    width: 18px !important;
    height: 18px !important;
  }

  body.in-krok-1 .shipping-billing-table .radio-wrapper > label,
  body.in-krok-2 .shipping-billing-table .radio-wrapper > label {
    min-height: 64px !important;
    padding: 12px 14px 12px 52px !important;
  }

  body.in-krok-1 #checkoutSidebar .cart-content,
  body.in-krok-2 #checkoutSidebar .cart-content {
    padding: 18px !important;
    background: #f5f0e6 !important;
  }

  body.ordering-process .cart-header {
    margin-bottom: 24px !important;
  }

  body.ordering-process .cart-header .step {
    min-height: 70px !important;
    padding: 0 3px !important;
  }

  body.ordering-process .cart-header .step:not(:last-child)::after {
    top: 15px !important;
  }

  body.ordering-process .cart-header .step > a,
  body.ordering-process .cart-header .step > strong {
    gap: 9px !important;
    font-size: 12px !important;
  }

  body.ordering-process .cart-header .step > a::before,
  body.ordering-process .cart-header .step > strong::before {
    width: 30px !important;
    height: 30px !important;
    box-shadow: 0 0 0 4px #f5f0e6 !important;
  }

  body.type-index #carousel,
  body.type-index #carousel .carousel-inner {
    height: 540px !important;
    min-height: 540px !important;
  }

  body.type-index #carousel .item img {
    height: 540px !important;
    object-position: 63% center !important;
  }

  body.type-index #carousel .item > a::after {
    background: linear-gradient(90deg, rgba(10, 10, 10, .76) 0%, rgba(10, 10, 10, .5) 60%, rgba(10, 10, 10, .16) 100%);
  }

  body.type-index #carousel .extended-banner-texts {
    right: 24px !important;
    left: 24px !important;
    width: auto !important;
  }

  body.type-index #carousel .extended-banner-title {
    margin-bottom: 12px !important;
    font-size: 36px !important;
  }

  body.type-index #carousel .extended-banner-text {
    margin-bottom: 22px !important;
    font-size: 16px !important;
  }

  body.type-index #carousel .extended-banner-link {
    min-height: 46px !important;
    padding: 12px 18px !important;
    font-size: 12px !important;
  }

  body.type-index .gs-hero-content {
    right: 24px !important;
    left: 24px !important;
    max-width: none !important;
  }

  body.type-index .gs-hero-kicker {
    margin-bottom: 14px !important;
    font-size: 11px !important;
  }

  body.type-index .gs-hero-title {
    font-size: 40px !important;
    line-height: .96 !important;
  }

  body.type-index .gs-hero-subtitle {
    font-size: 16px !important;
  }

  body.type-index #products-2 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.type-index #products-2 > .product > .p {
    padding: 16px !important;
  }

  body.type-index #products-2 .p > .image {
    height: 220px !important;
  }

  body.type-index #products-2 .p > .image img {
    height: 195px !important;
  }
}

/* =========================================================
   Grape & Sour — cart / checkout polish v2
   Warm editorial cards, stronger hierarchy, consistent accents.
   ========================================================= */

body.ordering-process {
  --gs-bg: #f5f0e6;
  --gs-surface: #fffdf9;
  --gs-surface-soft: #eee7dc;
  --gs-ink: #151515;
  --gs-muted: #756f67;
  --gs-line: #d9d2c8;
  --gs-red: #b8102e;
  --gs-green: #3c840f;
}

body.ordering-process #content-wrapper {
  background: var(--gs-bg) !important;
}

body.ordering-process .cart-wrapper {
  max-width: 1200px !important;
}

/* Progress steps */
body.ordering-process .cart-header {
  max-width: 720px !important;
  margin-top: 10px !important;
  margin-bottom: 38px !important;
}

body.ordering-process .cart-header .step:not(:last-child)::after {
  background: var(--gs-line) !important;
}

body.ordering-process .cart-header .step > a::before,
body.ordering-process .cart-header .step > strong::before {
  width: 36px !important;
  height: 36px !important;
  background: var(--gs-surface) !important;
  border-color: #c9c1b6 !important;
  box-shadow: 0 0 0 6px var(--gs-bg) !important;
}

body.ordering-process .cart-header .step.active > a::before,
body.ordering-process .cart-header .step.active > strong::before {
  background: var(--gs-red) !important;
  border-color: var(--gs-red) !important;
  color: #fff !important;
  box-shadow: 0 0 0 6px var(--gs-bg), 0 5px 14px rgba(184, 16, 46, .18) !important;
}

body.ordering-process .cart-header .step.active > a,
body.ordering-process .cart-header .step.active > strong {
  color: var(--gs-ink) !important;
}

/* =========================
   Cart — /kosik/
   ========================= */

body.in-kosik .cart-inner {
  max-width: 1160px !important;
  margin: 0 auto !important;
}

body.in-kosik .cart-table {
  background: transparent !important;
}

@media (min-width: 768px) {
  body.in-kosik .cart-table tr.removeable {
    grid-template-columns: 112px minmax(280px, 1fr) 110px 150px 120px 105px !important;
    min-height: 142px !important;
    padding: 18px 20px !important;
    background: var(--gs-surface) !important;
    border: 1px solid var(--gs-line) !important;
    box-shadow: 0 8px 24px rgba(21, 21, 21, .045) !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
  }

  body.in-kosik .cart-table tr.removeable:hover {
    border-color: #b8aea1 !important;
    box-shadow: 0 12px 30px rgba(21, 21, 21, .07) !important;
    transform: translateY(-2px) !important;
  }

  body.in-kosik .cart-table tr.removeable::before {
    content: "" !important;
    position: absolute !important;
    top: -1px !important;
    bottom: -1px !important;
    left: -1px !important;
    width: 4px !important;
    background: var(--gs-red) !important;
    opacity: 0 !important;
    transition: opacity .18s ease !important;
  }

  body.in-kosik .cart-table tr.removeable:hover::before {
    opacity: 1 !important;
  }

  body.in-kosik .cart-table tr.removeable > td {
    padding: 8px 12px !important;
  }

  body.in-kosik .cart-table tr.removeable > .p-name {
    padding-left: 18px !important;
  }

  body.in-kosik .cart-p-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 96px !important;
    height: 96px !important;
    overflow: hidden !important;
    background: #fbfaf7 !important;
    border: 1px solid #e4ddd3 !important;
  }

  body.in-kosik .cart-p-image img {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    object-fit: cover !important;
  }

  body.in-kosik .p-name .main-link {
    max-width: 520px !important;
    font-size: 17px !important;
    line-height: 1.28 !important;
    font-weight: 900 !important;
  }

  body.in-kosik .p-name .main-link:hover {
    color: var(--gs-red) !important;
  }

  body.in-kosik .p-availability .availability-label {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 26px !important;
    padding: 4px 9px !important;
    background: #eef5e9 !important;
    color: #3c771d !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
  }

  body.in-kosik .p-quantity .quantity {
    display: grid !important;
    grid-template-columns: 42px 52px 42px !important;
    width: 136px !important;
    min-width: 136px !important;
    height: 46px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #cfc8bd !important;
  }

  body.in-kosik .p-quantity .quantity input,
  body.in-kosik .p-quantity .quantity button,
  body.in-kosik .p-quantity .quantity .increase,
  body.in-kosik .p-quantity .quantity .decrease {
    min-width: 0 !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
    color: var(--gs-ink) !important;
    line-height: 44px !important;
    transform: none !important;
  }

  body.in-kosik .p-quantity .quantity .increase,
  body.in-kosik .p-quantity .quantity .decrease {
    background: #f7f3ec !important;
    font-size: 20px !important;
  }

  body.in-kosik .p-quantity .quantity .increase:hover,
  body.in-kosik .p-quantity .quantity .decrease:hover {
    background: #eee7dc !important;
  }

  body.in-kosik .p-price,
  body.in-kosik .p-total {
    border-left: 1px solid #ece6dd !important;
  }

  body.in-kosik .p-price .price-final,
  body.in-kosik .p-total .price-final {
    font-size: 16px !important;
    font-weight: 900 !important;
  }

  body.in-kosik .p-total .remove-item {
    display: grid !important;
    place-items: center !important;
    width: 32px !important;
    height: 32px !important;
    background: transparent !important;
    border: 1px solid #d8d1c7 !important;
    color: #756f67 !important;
    transition: background .16s ease, border-color .16s ease, color .16s ease !important;
  }

  body.in-kosik .p-total .remove-item:hover {
    background: #fff0f2 !important;
    border-color: #d8a2ad !important;
    color: var(--gs-red) !important;
  }
}

body.in-kosik .summary {
  margin-top: 18px !important;
}

body.in-kosik .summary > .col-md-4 {
  width: min(460px, 100%) !important;
}

body.in-kosik .summary .price-wrapper {
  position: relative !important;
  gap: 10px 24px !important;
  padding: 25px 26px 23px !important;
  background: var(--gs-surface-soft) !important;
  border: 1px solid #d6ccbf !important;
  border-top: 4px solid var(--gs-red) !important;
  box-shadow: 0 10px 26px rgba(21, 21, 21, .045) !important;
}

body.in-kosik .summary .price-primary {
  font-size: 19px !important;
}

body.in-kosik .summary .price-secondary {
  color: var(--gs-muted) !important;
}

body.in-kosik .next-step--cart {
  gap: 12px !important;
  margin-top: 12px !important;
}

body.in-kosik .next-step--cart .btn {
  min-height: 52px !important;
}

body.in-kosik .next-step--cart .next-step-back:hover {
  background: var(--gs-bg) !important;
  border-color: var(--gs-ink) !important;
  color: var(--gs-ink) !important;
}

body.in-kosik .next-step--cart .next-step-forward:hover {
  background: var(--gs-red) !important;
  border-color: var(--gs-red) !important;
  color: #fff !important;
}

/* =========================
   Checkout common
   ========================= */

body.in-krok-1 .cart-row,
body.in-krok-2 .cart-row {
  background: transparent !important;
}

body.in-krok-1 #checkoutContent,
body.in-krok-2 #checkoutContent {
  background: transparent !important;
}

body.in-krok-1 #checkoutContent .co-box,
body.in-krok-2 #checkoutContent .co-box {
  margin: 0 0 18px !important;
  padding: 26px 28px !important;
  background: var(--gs-surface) !important;
  border: 1px solid var(--gs-line) !important;
  box-shadow: 0 8px 24px rgba(21, 21, 21, .035) !important;
}

body.in-krok-1 #checkoutContent .co-box:last-child,
body.in-krok-2 #checkoutContent .co-box:last-child {
  margin-bottom: 0 !important;
}

body.in-krok-1 .co-box > h2,
body.in-krok-2 .co-box > h2 {
  margin-bottom: 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #e5dfd6 !important;
  font-size: 22px !important;
}

body.in-krok-1 .shipping-billing-table,
body.in-krok-2 .shipping-billing-table {
  gap: 10px !important;
}

body.in-krok-1 .shipping-billing-table .radio-wrapper,
body.in-krok-2 .shipping-billing-table .radio-wrapper {
  min-height: 72px !important;
  background: #f8f3eb !important;
  border-color: #ddd5ca !important;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body.in-krok-1 .shipping-billing-table .radio-wrapper:hover,
body.in-krok-2 .shipping-billing-table .radio-wrapper:hover {
  background: #fffaf4 !important;
  border-color: #c6b9aa !important;
  transform: translateY(-1px) !important;
}

body.in-krok-1 .shipping-billing-table .radio-wrapper.active,
body.in-krok-2 .shipping-billing-table .radio-wrapper.active {
  background: #fff !important;
  border-color: #d09aa5 !important;
  box-shadow: inset 4px 0 0 var(--gs-red) !important;
  transform: none !important;
}

body.in-krok-1 .shipping-billing-table .radio-wrapper input[type="radio"],
body.in-krok-2 .shipping-billing-table .radio-wrapper input[type="radio"] {
  top: 50% !important;
  left: 18px !important;
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--gs-red) !important;
  transform: translateY(-50%) !important;
}

body.in-krok-1 .shipping-billing-table .radio-wrapper > label,
body.in-krok-2 .shipping-billing-table .radio-wrapper > label {
  min-height: 72px !important;
  padding: 14px 18px 14px 54px !important;
}

body.in-krok-1 .shipping-billing-name,
body.in-krok-2 .shipping-billing-name {
  font-size: 14px !important;
  font-weight: 900 !important;
}

body.in-krok-1 .payment-shipping-price,
body.in-krok-2 .payment-shipping-price {
  color: var(--gs-green) !important;
  font-size: 11px !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
}

/* Checkout sidebar / recap */
body.in-krok-1 #checkoutSidebar,
body.in-krok-2 #checkoutSidebar {
  background: transparent !important;
}

body.in-krok-1 #checkoutSidebar .cart-content,
body.in-krok-2 #checkoutSidebar .cart-content {
  position: relative !important;
  padding: 20px !important;
  background: transparent !important;
  border: 1px solid #d8d0c5 !important;
  box-shadow: none !important;
}

body.in-krok-1 #checkoutSidebar .checkout-box,
body.in-krok-2 #checkoutSidebar .checkout-box {
  margin: 0 0 16px !important;
  padding: 20px !important;
  background: var(--gs-surface-soft) !important;
  border: 1px solid #d6ccbf !important;
}

body.in-krok-1 #checkoutSidebar .checkout-box:last-child,
body.in-krok-2 #checkoutSidebar .checkout-box:last-child {
  margin-bottom: 0 !important;
}

body.in-krok-1 #checkoutSidebar .order-summary-inner,
body.in-krok-2 #checkoutSidebar .order-summary-inner {
  padding: 0 !important;
  background: transparent !important;
}

body.in-krok-1 #checkoutSidebar .order-summary-inner > h2,
body.in-krok-2 #checkoutSidebar .order-summary-inner > h2 {
  margin-bottom: 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #d8cfc3 !important;
  font-size: 20px !important;
}

body.in-krok-1 .toggle-contacts,
body.in-krok-2 .toggle-contacts {
  min-height: 48px !important;
  padding: 0 16px !important;
  background: transparent !important;
  border: 1px solid #cfc5b8 !important;
  color: var(--gs-ink) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

body.in-krok-1 .toggle-contacts:hover,
body.in-krok-2 .toggle-contacts:hover,
body.in-krok-1 .toggle-contacts.active,
body.in-krok-2 .toggle-contacts.active {
  background: var(--gs-red) !important;
  border-color: var(--gs-red) !important;
  color: #fff !important;
}

body.in-krok-1 .order-summary-item,
body.in-krok-2 .order-summary-item,
body.in-krok-1 .recapitulation-single,
body.in-krok-2 .recapitulation-single {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  border-color: #d8cfc3 !important;
}

body.in-krok-1 .order-summary-item.price,
body.in-krok-2 .order-summary-item.price {
  margin-top: 4px !important;
  padding-top: 18px !important;
  border-top: 1px solid #cfc4b7 !important;
}

body.in-krok-1 .order-summary-item.price .price-primary,
body.in-krok-2 .order-summary-item.price .price-primary {
  font-size: 20px !important;
}

body.ordering-process .next-step--step-1 {
  gap: 12px !important;
  margin-top: 14px !important;
}

body.ordering-process .next-step--step-1 .btn {
  min-height: 52px !important;
}

body.ordering-process .next-step--step-1 .next-step-forward:hover {
  background: var(--gs-red) !important;
  border-color: var(--gs-red) !important;
}

/* =========================
   Step 2 — customer details
   ========================= */

body.in-krok-2 #checkoutContent .co-box:first-child {
  border-top: 4px solid var(--gs-red) !important;
}

body.in-krok-2 #checkoutContent .form-group {
  margin-bottom: 14px !important;
}

body.in-krok-2 #checkoutContent label {
  color: var(--gs-ink) !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}

body.in-krok-2 #checkoutContent .form-control {
  min-height: 50px !important;
  background: #fff !important;
  border: 1px solid #cfc7bc !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--gs-ink) !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

body.in-krok-2 #checkoutContent .form-control:hover {
  border-color: #aaa095 !important;
}

body.in-krok-2 #checkoutContent .form-control:focus {
  background: #fff !important;
  border-color: var(--gs-ink) !important;
  box-shadow: inset 4px 0 0 var(--gs-red) !important;
}

body.in-krok-2 #checkoutContent .login-wrapper,
body.in-krok-2 #checkoutContent .login-row,
body.in-krok-2 #checkoutContent .login-message {
  margin-bottom: 20px !important;
  padding: 16px 18px !important;
  background: #f7f3ec !important;
  border: 1px solid #e0d8cd !important;
  color: #4f4a44 !important;
}

body.in-krok-2 #checkoutContent input[type="checkbox"] {
  accent-color: var(--gs-red) !important;
}

/* Desktop layout — give checkout a little more presence */
@media (min-width: 992px) {
  body.in-krok-1 .cart-row,
  body.in-krok-2 .cart-row {
    grid-template-columns: minmax(0, 1fr) 400px !important;
    gap: 28px !important;
  }

  body.in-krok-1 #checkoutSidebar,
  body.in-krok-2 #checkoutSidebar {
    top: 22px !important;
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  body.in-krok-1 #checkoutContent .co-box,
  body.in-krok-2 #checkoutContent .co-box {
    padding: 22px !important;
  }

  body.in-krok-1 #checkoutSidebar .cart-content,
  body.in-krok-2 #checkoutSidebar .cart-content {
    margin-top: 18px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  body.ordering-process .cart-header {
    margin-bottom: 26px !important;
  }

  body.in-kosik .cart-table tr.removeable {
    position: relative !important;
    overflow: hidden !important;
    background: var(--gs-surface) !important;
    border: 1px solid var(--gs-line) !important;
    box-shadow: 0 7px 20px rgba(21, 21, 21, .04) !important;
  }

  body.in-kosik .cart-table tr.removeable::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 3px !important;
    background: var(--gs-red) !important;
  }

  body.in-kosik .summary .price-wrapper {
    padding: 20px !important;
  }

  body.in-krok-1 #checkoutContent .co-box,
  body.in-krok-2 #checkoutContent .co-box {
    margin-bottom: 14px !important;
    padding: 18px !important;
  }

  body.in-krok-1 .co-box > h2,
  body.in-krok-2 .co-box > h2 {
    font-size: 20px !important;
  }

  body.in-krok-1 .shipping-billing-table .radio-wrapper,
  body.in-krok-2 .shipping-billing-table .radio-wrapper {
    min-height: 66px !important;
  }

  body.in-krok-1 .shipping-billing-table .radio-wrapper > label,
  body.in-krok-2 .shipping-billing-table .radio-wrapper > label {
    min-height: 66px !important;
    padding: 12px 12px 12px 48px !important;
  }

  body.in-krok-1 .shipping-billing-table .radio-wrapper input[type="radio"],
  body.in-krok-2 .shipping-billing-table .radio-wrapper input[type="radio"] {
    left: 15px !important;
  }

  body.in-krok-1 #checkoutSidebar .cart-content,
  body.in-krok-2 #checkoutSidebar .cart-content {
    margin-top: 14px !important;
    padding: 14px !important;
  }

  body.in-krok-1 #checkoutSidebar .checkout-box,
  body.in-krok-2 #checkoutSidebar .checkout-box {
    padding: 17px !important;
  }
}
