/* Generated by scripts/build-assets.js. Do not edit directly. */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap");

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
  background: var(--cafe-color-bg);
  color: var(--cafe-color-text);
  font-family: var(--cafe-font-body);
  font-size: 16px;
  line-height: 1.45;
}

@supports (overflow-x: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

img,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

button,
input,
select,
textarea {
  font: inherit;
}

a {
  color: inherit;
}

.screen-reader-text,
.skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link:focus {
  top: 12px;
  left: 12px;
  z-index: 1000;
  width: auto;
  height: auto;
  padding: 10px 14px;
  clip: auto;
  background: var(--cafe-color-text);
  color: #fff;
}

:root {
  --cafe-color-bg: #fffbf5;
  --cafe-color-surface: #fdf3e5;
  --cafe-color-surface-alt: #fcfdf0;
  --cafe-color-card: #ffffff;
  --cafe-color-border: #10392b;
  --cafe-color-text: #10392b;
  --cafe-color-muted: #3d4230;
  --cafe-color-accent: #10392b;
  --cafe-color-accent-dark: #08241a;
  --cafe-color-accent-contrast: #fdf3e5;
  --cafe-color-highlight: #fbd500;
  --cafe-color-success: #10392b;
  --cafe-color-danger: #a0002b;
  --cafe-font-body: "Work Sans", sans-serif;
  --cafe-font-heading: var(--cafe-font-body);
  --cafe-radius: 9px;
  --cafe-radius-small: 5px;
  --cafe-radius-pill: 180px;
  --cafe-container: 1744px;
  --cafe-container-gutter: 88px;
  --cafe-gap: 24px;
  --cafe-grid-gap: 20px;
  --cafe-section: 85px;
  --cafe-shadow: 0 12px 32px rgba(16, 57, 43, 0.08);
  --cafe-topbar-height: 48px;
  --cafe-button-height: 50px;
  --cafe-product-card-width: 420px;
  --cafe-product-card-height: 570px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 16px;
  color: var(--cafe-color-text);
  font-family: var(--cafe-font-heading);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

h1 {
  font-size: 76px;
  line-height: 1.07;
}

h2 {
  font-size: 42px;
}

h3 {
  font-size: 36px;
}

h4 {
  font-size: 32px;
}

h5 {
  font-size: 22px;
}

h6 {
  font-size: 18px;
  line-height: 1.2;
}

p {
  margin: 0 0 16px;
}

.text-small {
  font-size: 14px;
  line-height: 1.45;
}

.post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: var(--cafe-color-muted);
  font-size: 14px;
  line-height: 1.45;
}

.container {
  width: min(100% - 32px, var(--cafe-container));
  margin-inline: auto;
}

.container--narrow {
  width: min(100% - 32px, 820px);
}

.site-main {
  min-height: 60vh;
  overflow-x: hidden;
  overflow-x: clip;
}

.archive-loop {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--cafe-gap);
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--cafe-gap);
  padding: 0;
  margin: 0;
}

.button,
button.button,
.wp-block-button__link,
.product-card__add-to-cart,
.search-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--cafe-button-height);
  padding: 10px 18px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-pill);
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  cursor: pointer;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
}

.button:hover,
button.button:hover,
.wp-block-button__link:hover,
.product-card__add-to-cart:hover,
.search-form__submit:hover {
  background: var(--cafe-color-accent-dark);
  border-color: var(--cafe-color-accent-dark);
}

.is-disabled,
.button:disabled,
button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

label {
  display: inline-block;
  margin-bottom: 6px;
  font-weight: 700;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="password"],
select,
textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: #fff;
  color: var(--cafe-color-text);
}

textarea {
  min-height: 130px;
}

.search-form {
  display: flex;
  gap: 8px;
}

.quantity {
  display: inline-grid;
  grid-template-columns: 36px 64px 36px;
  align-items: stretch;
  max-width: 136px;
}

.quantity input.qty {
  min-height: 40px;
  border-radius: 0;
  text-align: center;
}

.quantity__button {
  border: 1px solid var(--cafe-color-border);
  background: var(--cafe-color-surface);
  cursor: pointer;
}

.quantity__button--minus {
  border-radius: var(--cafe-radius) 0 0 var(--cafe-radius);
}

.quantity__button--plus {
  border-radius: 0 var(--cafe-radius) var(--cafe-radius) 0;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--cafe-color-bg);
  border-bottom: 1px solid #10392B;
}

.site-topbar {
  height: var(--cafe-topbar-height);
  overflow: hidden;
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-family: var(--cafe-font-body);
  font-size: 14px;
  line-height: 1.45;
}

.site-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 56px;
  height: 100%;
  padding: 0 var(--cafe-container-gutter);
  white-space: nowrap;
}

.site-topbar__item {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 14px;
}

.site-topbar__item strong {
  font-weight: 700;
}

.site-topbar__icon {
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
}

.site-topbar__icon--delivery {
  width: 22px;
  height: 18px;
}

.site-topbar__icon--eko {
  width: 25px;
  height: 26px;
}

.site-topbar__icon--cafe {
  width: 22px;
  height: 22px;
}

.site-header__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  gap: 42px;
  align-items: center;
  min-height: 52px;
  padding-top: 28px;
  padding-bottom: 28px;
}

.site-header__brand {
  justify-self: start;
  min-width: 0;
  display: flex;
}

.site-header__nav {
  justify-self: center;
  min-width: 0;
}

.site-logo,
.custom-logo-link {
  display: inline-flex;
  align-items: center;
  color: var(--cafe-color-text);
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.site-logo__image,
.custom-logo-link img {
  width: auto;
  max-height: 42px;
}

.site-nav__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 42px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.mobile-menu__list,
.site-footer__menu,
.site-footer__legal {
  display: flex;
  gap: 20px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.site-nav__item {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.site-nav__item--has-mega,
.site-header__nav .site-nav__list > .menu-item-has-children {
  position: static;
}

.site-header__nav .site-nav__link,
.mobile-menu .site-nav__link,
.mobile-menu__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--cafe-color-text);
  font-family: var(--cafe-font-body);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.45;
  text-decoration: none;
  white-space: nowrap;
}

.site-header__nav .current-menu-item > .site-nav__link,
.site-header__nav .current-menu-parent > .site-nav__link,
.site-header__nav .current-menu-ancestor > .site-nav__link,
.site-header__nav .site-nav__item--has-mega:hover > .site-nav__link,
.site-header__nav .site-nav__item--has-mega:focus-within > .site-nav__link,
.site-header__nav .site-nav__item--has-mega.is-open > .site-nav__link,
.site-header__nav .site-nav__list > .menu-item-has-children:hover > .site-nav__link,
.site-header__nav .site-nav__list > .menu-item-has-children:focus-within > .site-nav__link,
.site-header__nav .site-nav__list > .menu-item-has-children.is-open > .site-nav__link {
  color: #10392B;
  font-family: "Work Sans", var(--cafe-font-body);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 145%;
}

.site-nav__arrow {
  display: inline-block;
  flex: 0 0 10px;
  width: 10px;
  height: 6px;
  margin-left: 0;
  background: url("../img/menu-chevron.svg") center / contain no-repeat;
}

.site-header__nav .site-nav__item--has-mega:hover > .site-nav__link .site-nav__arrow,
.site-header__nav .site-nav__item--has-mega:focus-within > .site-nav__link .site-nav__arrow,
.site-header__nav .site-nav__item--has-mega.is-open > .site-nav__link .site-nav__arrow,
.site-header__nav .site-nav__list > .menu-item-has-children:hover > .site-nav__link .site-nav__arrow,
.site-header__nav .site-nav__list > .menu-item-has-children:focus-within > .site-nav__link .site-nav__arrow,
.site-header__nav .site-nav__list > .menu-item-has-children.is-open > .site-nav__link .site-nav__arrow {
  transform: rotate(180deg);
}

.site-mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 30;
  display: none;
  width: min(100vw - 4px, var(--cafe-container));
  overflow: hidden;
  border: 1px solid #10392B;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: #fff;
  box-shadow: none;
  pointer-events: none;
  transform: translateX(-50%);
  visibility: hidden;
}

.site-nav__item--has-mega:hover > .site-mega-menu,
.site-nav__item--has-mega:focus-within > .site-mega-menu,
.site-nav__item--has-mega.is-open > .site-mega-menu,
.site-header__nav .site-nav__list > .menu-item-has-children:hover > .site-mega-menu,
.site-header__nav .site-nav__list > .menu-item-has-children:focus-within > .site-mega-menu,
.site-header__nav .site-nav__list > .menu-item-has-children.is-open > .site-mega-menu {
  display: block;
  pointer-events: auto;
  visibility: visible;
}

.site-mega-menu__inner {
  min-height: 137px;
  padding: 30px clamp(96px, 23.5vw, 420px) 28px;
}

.site-mega-menu__columns {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(52px, 7vw, 92px);
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}

.site-mega-menu__column.site-nav__item {
  display: block;
  min-width: 128px;
  position: static;
}

.site-header__nav .site-mega-menu__heading.site-nav__link {
  display: inline-flex;
  margin: 0 0 8px;
  color: #10392B;
  font-family: "Work Sans", var(--cafe-font-body);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 145%;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-mega-menu__links {
  display: block;
  padding: 0 0 0 14px;
  margin: 0;
  color: #10392B;
  list-style: disc;
}

.site-mega-menu__item.site-nav__item {
  display: list-item;
  position: static;
  margin: 0;
  padding: 0;
}

.site-mega-menu__item::marker {
  font-size: 9px;
}

.site-header__nav .site-mega-menu__link.site-nav__link {
  display: inline;
  color: #10392B;
  font-family: "Work Sans", var(--cafe-font-body);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 145%;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header__nav .site-mega-menu__heading.site-nav__link:hover,
.site-header__nav .site-mega-menu__heading.site-nav__link:focus,
.site-header__nav .site-mega-menu__link.site-nav__link:hover,
.site-header__nav .site-mega-menu__link.site-nav__link:focus {
  color: #10392B;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.site-header__nav .site-nav__item--coming-soon > .site-nav__link::after,
.mobile-menu .site-nav__item--coming-soon > .site-nav__link::after,
.mobile-menu .site-nav__item--coming-soon > .mobile-menu__row > .mobile-menu__link::after {
  content: "COOMING SOON";
  margin: 3px 0 0 8px;
  color: var(--cafe-color-text);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.45;
}

.site-header__nav .site-nav__item--promo > .site-nav__link,
.mobile-menu .site-nav__item--promo > .site-nav__link,
.mobile-menu .site-nav__item--promo > .mobile-menu__row > .mobile-menu__link {
  align-items: center;
  gap: 8px;
  color: var(--cafe-color-danger);
  font-weight: 700;
}

.site-header__nav .site-nav__item--promo > .site-nav__link::after,
.mobile-menu .site-nav__item--promo > .site-nav__link::after,
.mobile-menu .site-nav__item--promo > .mobile-menu__row > .mobile-menu__link::after {
  content: "";
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
  background: url("../img/promo.svg") center / contain no-repeat;
}

.site-header__actions {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 20px;
}

.site-header__action {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--cafe-color-text);
  cursor: pointer;
  text-decoration: none;
}

.site-header__action-icon {
  width: 20px;
  height: 20px !important;
  object-fit: contain;
}

.site-header__wishlist .site-header__action-icon {
  height: 17px;
}

.site-header__wishlist,
.site-header__cart {
  position: relative;
}

.site-header__count,
.site-header__cart-count {
  position: absolute;
  right: -11px;
  top: -10px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--cafe-color-text);
  color: var(--cafe-color-accent-contrast);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
}

.site-header__menu-toggle,
.cart-sidebar__close {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: #fff;
  color: var(--cafe-color-text);
  cursor: pointer;
  text-decoration: none;
}

.site-header__menu-toggle {
  display: none;
}

.site-header__menu-line {
  width: 18px;
  height: 2px;
  background: currentColor;
}

.site-header__search,
.mobile-menu,
.cart-sidebar {
  display: none;
}

.site-header__search.is-open,
.mobile-menu.is-open {
  display: block;
}

.site-header__search {
  padding: 16px 0;
  border-top: 1px solid var(--cafe-color-border);
}

.mobile-menu {
  max-height: calc(100vh - var(--cafe-topbar-height, 0px) - 80px);
  max-height: calc(100dvh - var(--cafe-topbar-height, 0px) - 80px);
  overflow-y: auto;
  padding: 0 clamp(18px, 5.4vw, 32px);
  border-top: 1px solid var(--cafe-color-border);
  background: #fff;
}

.mobile-menu__list {
  display: grid;
  gap: 0;
  padding: 8px 0 14px;
  margin: 0;
  list-style: none;
}

.mobile-menu__item {
  display: block;
  min-width: 0;
  border-bottom: 1px solid rgba(16, 57, 43, 0.16);
}

.mobile-menu__item:last-child {
  border-bottom: 0;
}

.mobile-menu__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 48px;
}

.mobile-menu__link {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 13px 0;
  color: #10392B;
  font-size: 15px;
  line-height: 1.35;
  white-space: normal;
}

.mobile-menu__item--depth-0 > .mobile-menu__row > .mobile-menu__link {
  font-weight: 700;
}

.mobile-menu__item--depth-1 > .mobile-menu__row {
  min-height: 42px;
  padding-left: 18px;
}

.mobile-menu__item--depth-2 > .mobile-menu__row {
  min-height: 38px;
  padding-left: 34px;
}

.mobile-menu__item--depth-1 > .mobile-menu__row > .mobile-menu__link,
.mobile-menu__item--depth-2 > .mobile-menu__row > .mobile-menu__link {
  padding: 9px 0;
  font-size: 14px;
  font-weight: 400;
}

.mobile-menu__toggle {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #10392B;
  cursor: pointer;
}

.mobile-menu__toggle::before {
  display: block;
  width: 11px;
  height: 7px;
  background: url("../img/menu-chevron.svg") center / contain no-repeat;
  content: "";
  transition: transform 160ms ease;
}

.mobile-menu__item.is-open > .mobile-menu__row > .mobile-menu__toggle::before {
  transform: rotate(180deg);
}

.mobile-menu__sub-list {
  display: none;
  padding: 0 0 8px;
  margin: 0;
  list-style: none;
}

.mobile-menu__item.is-open > .mobile-menu__sub-list {
  display: grid;
  gap: 0;
}

.mobile-menu__sub-list .mobile-menu__item {
  border-bottom: 0;
}

.cart-sidebar {
  position: fixed;
  inset: 0;
  z-index: 200;
  align-items: stretch;
  justify-content: flex-end;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 0;
  background: rgba(16, 57, 43, 0);
  opacity: 0;
  pointer-events: none;
  transition: background-color 180ms ease, opacity 180ms ease;
}

.cart-sidebar.is-open {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: stretch;
  background: rgba(16, 57, 43, 0.24);
  opacity: 1;
  pointer-events: auto;
}

body .cart-sidebar > .cart-sidebar__panel {
  box-sizing: border-box;
  display: grid;
  flex: 0 0 min(100%, 330px);
  grid-template-rows: auto minmax(0, 1fr);
  width: min(100%, 330px);
  min-width: 0;
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  height: 100dvh;
  min-height: 100dvh;
  max-height: 100dvh;
  margin-left: auto;
  overflow: hidden;
  border: 0;
  border-left: 1px solid var(--cafe-color-border);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  transform: translateX(24px);
  transition: transform 180ms ease;
}

body .cart-sidebar.is-open > .cart-sidebar__panel {
  transform: translateX(0);
}

.cart-sidebar__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 18px 18px 12px;
}

.cart-sidebar__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.cart-sidebar__close {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}

body .cart-sidebar .cart-sidebar__content {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
  padding: 0;
}

body .cart-sidebar .cart-sidebar__content > .widget_shopping_cart_content {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  min-height: 100%;
  width: 100%;
}

body .cart-sidebar .cart-sidebar__body {
  padding: 0 18px;
}

body .cart-sidebar .cart-sidebar__body--empty {
  display: grid;
  flex: 1 1 auto;
  min-height: 0;
  place-items: center;
  padding: 24px 18px;
}

body .cart-sidebar .woocommerce-mini-cart.cart-sidebar__items {
  display: grid;
  gap: 16px;
  padding: 0;
  margin: 0;
  list-style: none;
}

body .cart-sidebar .woocommerce-mini-cart-item.cart-sidebar__item {
  position: relative;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 76px;
  padding: 0 24px 0 0;
  border-bottom: 0;
  font-size: 14px;
  line-height: 1.3;
}

body .cart-sidebar .woocommerce-mini-cart-item.cart-sidebar__item.is-removing {
  display: none;
}

body .cart-sidebar .woocommerce-mini-cart-item.cart-sidebar__item::before,
body .cart-sidebar .woocommerce-mini-cart-item.cart-sidebar__item::after {
  display: none !important;
  content: none !important;
}

body .cart-sidebar .woocommerce-mini-cart-item.cart-sidebar__item a:not(.remove),
body .cart-sidebar .cart-sidebar__item-title {
  color: var(--cafe-color-text);
  font-weight: 700;
  text-decoration: none;
}

body .cart-sidebar .cart-sidebar__item-media,
body .cart-sidebar .cart-sidebar__item-media a {
  display: block;
  min-width: 0;
}

body .cart-sidebar .cart-sidebar__item-media {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
}

body .cart-sidebar .cart-sidebar__item-details {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

body .cart-sidebar .woocommerce-mini-cart-item.cart-sidebar__item img,
body .cart-sidebar .cart-sidebar__recommendation-image img {
  display: block;
  float: none !important;
  width: 82px;
  height: 76px;
  max-width: none;
  margin: 0;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  box-shadow: none;
  object-fit: contain;
}

body .cart-sidebar .woocommerce-mini-cart-item.cart-sidebar__item .cart-sidebar__item-remove.remove {
  position: absolute;
  top: -2px;
  right: 0;
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--cafe-color-text) !important;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
}

body .cart-sidebar .woocommerce-mini-cart-item.cart-sidebar__item .cart-sidebar__item-remove.remove:hover,
body .cart-sidebar .woocommerce-mini-cart-item.cart-sidebar__item .cart-sidebar__item-remove.remove:focus {
  background: transparent;
  color: var(--cafe-color-text) !important;
}

body .cart-sidebar .woocommerce-mini-cart-item.cart-sidebar__item .quantity {
  display: block;
  margin-top: 10px;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 700;
}

body .cart-sidebar .variation {
  margin: 6px 0 0;
  color: var(--cafe-color-muted);
  font-size: 13px;
  line-height: 1.35;
}

body .cart-sidebar .variation dt,
body .cart-sidebar .variation dd {
  display: inline;
  margin: 0;
}

body .cart-sidebar .cart-sidebar__subtotal-label {
  margin: 0;
  padding: 0 18px 8px;
  color: var(--cafe-color-muted);
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
}

body .cart-sidebar .woocommerce-mini-cart__total.total {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 14px 18px 15px;
  border-top: 1px solid var(--cafe-color-border);
  border-bottom: 1px solid var(--cafe-color-border);
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1.35;
}

body .cart-sidebar .woocommerce-mini-cart__total.total strong,
body .cart-sidebar .woocommerce-mini-cart__total.total .amount {
  font-weight: 700;
}

body .cart-sidebar .woocommerce-mini-cart__buttons.cart-sidebar__actions {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 12px 28px 20px;
}

body .cart-sidebar .woocommerce-mini-cart__buttons.cart-sidebar__actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 12px 14px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-small);
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

body .cart-sidebar .woocommerce-mini-cart__buttons.cart-sidebar__actions .button:hover,
body .cart-sidebar .woocommerce-mini-cart__buttons.cart-sidebar__actions .button:focus {
  border-color: var(--cafe-color-accent-dark);
  background: var(--cafe-color-accent-dark);
  color: var(--cafe-color-accent-contrast);
}

body .cart-sidebar .woocommerce-mini-cart__buttons.cart-sidebar__actions .cart-sidebar__cart-link {
  background: transparent;
  color: var(--cafe-color-accent);
}

body .cart-sidebar .woocommerce-mini-cart__buttons.cart-sidebar__actions .cart-sidebar__cart-link:hover,
body .cart-sidebar .woocommerce-mini-cart__buttons.cart-sidebar__actions .cart-sidebar__cart-link:focus {
  border-color: var(--cafe-color-accent-dark);
  background: transparent;
  color: var(--cafe-color-accent-dark);
}

body .cart-sidebar .woocommerce-mini-cart__empty-message {
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

body .cart-sidebar .cart-sidebar__empty-state {
  display: grid;
  justify-items: center;
  gap: 16px;
  width: 100%;
  color: var(--cafe-color-text);
}

body .cart-sidebar .cart-sidebar__empty-icon {
  width: 74px;
  height: 74px;
  color: var(--cafe-color-text);
}

body .cart-sidebar .cart-sidebar__recommendations {
  margin-top: auto;
  padding: 0 18px 20px;
}

body .cart-sidebar .cart-sidebar__recommendations-title {
  display: grid;
  grid-template-columns: minmax(16px, 1fr) auto minmax(16px, 1fr);
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  color: var(--cafe-color-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
  text-align: center;
}

body .cart-sidebar .cart-sidebar__recommendations-title::before,
body .cart-sidebar .cart-sidebar__recommendations-title::after {
  content: "";
  display: block;
  height: 1px;
  background: rgba(16, 57, 43, 0.45);
}

body .cart-sidebar .cart-sidebar__recommendations-list {
  display: flex;
  gap: 0;
  padding: 0;
  margin: 0;
  overflow-x: auto;
  list-style: none;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

body .cart-sidebar .cart-sidebar__recommendations-list::-webkit-scrollbar {
  display: none;
}

body .cart-sidebar .cart-sidebar__recommendation {
  display: grid;
  flex: 0 0 100%;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  scroll-snap-align: start;
}

body .cart-sidebar .cart-sidebar__recommendation--skeleton {
  min-height: 122px;
}

body .cart-sidebar .cart-sidebar__skeleton {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--cafe-radius-small);
  background: rgba(16, 57, 43, 0.08);
}

body .cart-sidebar .cart-sidebar__skeleton::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0));
  content: "";
  transform: translateX(-100%);
  animation: cart-sidebar-skeleton 1200ms ease-in-out infinite;
}

body .cart-sidebar .cart-sidebar__skeleton-image {
  width: 82px;
  height: 76px;
  border: 1px solid rgba(16, 57, 43, 0.18);
}

body .cart-sidebar .cart-sidebar__skeleton-copy {
  display: grid;
  align-content: start;
  gap: 9px;
}

body .cart-sidebar .cart-sidebar__skeleton-line {
  width: 72%;
  height: 12px;
}

body .cart-sidebar .cart-sidebar__skeleton-line--wide {
  width: 100%;
}

body .cart-sidebar .cart-sidebar__skeleton-button {
  width: 96px;
  height: 32px;
  margin-top: 4px;
}

@keyframes cart-sidebar-skeleton {
  100% {
    transform: translateX(100%);
  }
}

body .cart-sidebar .cart-sidebar__recommendation-title {
  display: block;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

body .cart-sidebar .cart-sidebar__recommendation-price {
  margin-top: 6px;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

body .cart-sidebar .cart-sidebar__recommendation-price ins {
  color: var(--cafe-color-danger);
  text-decoration: none;
}

body .cart-sidebar .cart-sidebar__recommendation-price del {
  margin-left: 3px;
  color: var(--cafe-color-muted);
  font-weight: 400;
}

body .cart-sidebar a.cart-sidebar__recommendation-button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 36px;
  margin-top: 10px;
  padding: 9px 12px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-small);
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

body .cart-sidebar a.cart-sidebar__recommendation-button.button:hover,
body .cart-sidebar a.cart-sidebar__recommendation-button.button:focus {
  border-color: var(--cafe-color-accent-dark);
  background: var(--cafe-color-accent-dark);
  color: var(--cafe-color-accent-contrast);
}

body .cart-sidebar .cart-sidebar__recommendations-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}

body .cart-sidebar .cart-sidebar__recommendations-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 1px solid rgba(16, 57, 43, 0.55);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}

body .cart-sidebar .cart-sidebar__recommendations-dot.is-active {
  background: var(--cafe-color-text);
}

body .cart-sidebar .cart-sidebar__continue {
  display: block;
  margin-top: 16px;
  color: var(--cafe-color-muted);
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
}

.footer-top {
  margin-top: 35px;
  overflow: hidden;
  color: var(--cafe-color-text);
}

.footer-top + .site-footer {
  margin-top: 0;
}

.block-marquee {
  height: 64px;
  overflow: hidden;
  background: var(--cafe-color-accent);
  color: var(--cafe-color-bg);
}

.block-marquee__track {
  display: flex;
  align-items: center;
  width: max-content;
  height: 100%;
  margin-left: -19px;
  animation: footer-top-marquee 160s linear infinite;
}

.block-marquee__set {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
}

.block-marquee__group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 60px;
  height: 30px;
  padding-right: 60px;
}

.block-marquee__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 30px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.block-marquee__icon {
  display: block;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
}

.block-newsletter {
  min-height: 225px;
  margin-top: -3px;
  background: #fffbf5 url("../img/footer-bg.png") center / cover no-repeat;
  border-bottom: 1px solid #10392B;
}

.block-newsletter__inner {
  display: grid;
  grid-template-columns:
    minmax(0, 448px)
    clamp(48px, 8.8vw, 169px)
    minmax(420px, 535px)
    clamp(40px, 6.875vw, 132px)
    minmax(320px, 393px);
  align-items: center;
  min-height: 225px;
}

.block-newsletter__content {
  grid-column: 1;
  min-width: 0;
}

.block-newsletter__title {
  margin: 0 0 14px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.block-newsletter__description {
  max-width: 448px;
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

.block-newsletter__form {
  grid-column: 3;
  width: 100%;
  min-width: 0;
}

.block-newsletter__fallback-form {
  width: 100%;
  margin: 0;
}

.block-newsletter__field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 131px;
  align-items: stretch;
  height: 70px;
  overflow: hidden;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-pill);
  background: #fff;
}

.block-newsletter__field input[type="email"] {
  width: 100%;
  min-height: 68px;
  padding: 0 29px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--cafe-color-text);
  font-size: 14px;
  line-height: 1.45;
}

.block-newsletter__field input[type="email"]::placeholder {
  color: var(--cafe-color-text);
  opacity: 1;
}

.block-newsletter__field button {
  min-height: 70px;
  padding: 8px 18px 8px;
  border: 0;
  border-radius: var(--cafe-radius-pill);
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.block-newsletter__field button:hover {
  background: var(--cafe-color-accent-dark);
}

.block-newsletter__consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 13px 0 0 6px;
  color: var(--cafe-color-text);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.45;
}

.block-newsletter__consent input[type="checkbox"] {
  flex: 0 0 10px;
  width: 10px;
  min-width: 10px;
  height: 10px;
  min-height: 10px;
  padding: 0;
  margin: 3px 0 0;
  appearance: none;
  border: 1px solid var(--cafe-color-accent);
  border-radius: 0;
  background: transparent;
}

.block-newsletter__consent input[type="checkbox"]:checked {
  background: var(--cafe-color-accent);
  box-shadow: inset 0 0 0 2px #fffbf5;
}

.block-newsletter__socials {
  display: flex;
  grid-column: 5;
  align-items: center;
  gap: 29px;
  min-width: 0;
}

.block-newsletter__social-link {
  display: grid;
  grid-template-columns: 60px 104px;
  align-items: center;
  gap: 18px;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
}

.block-newsletter__socials a.block-newsletter__social-link:hover .block-newsletter__social-text {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.block-newsletter__social-icon {
  display: block;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  border: 1px solid var(--cafe-color-text);
  border-radius: var(--cafe-radius);
  object-fit: contain;
}

.block-newsletter__social-icon[src$="footer-top-facebook.svg"] {
  padding: 14px 23px;
}

.block-newsletter__social-icon[src$="footer-top-instagram.svg"] {
  padding: 15px;
}

.block-newsletter__social-text {
  display: block;
  width: 104px;
}

@keyframes footer-top-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-marquee__track {
    animation: none;
  }
}

.site-footer {
  margin-top: var(--cafe-section);
  padding: 80px 0 104px;
  background: var(--cafe-color-bg);
  color: var(--cafe-color-text);
}

.site-footer__inner {
  display: grid;
  grid-template-columns: 296px minmax(160px, 508px) 230px 78px 220px 78px 210px;
  gap: 0;
  align-items: start;
}

.site-footer__column {
  min-width: 0;
}

.site-footer__column--contact {
  grid-column: 3;
  grid-row: 1;
  width: 230px;
}

.site-footer__column--menu {
  width: 100%;
}

.site-footer__column--shop {
  grid-column: 5;
  grid-row: 1;
  width: 220px;
}

.site-footer__column--important {
  grid-column: 7;
  grid-row: 1;
  width: 210px;
}

.site-footer__title {
  margin: 0 0 32px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.site-footer__menu {
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
  padding: 0;
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  list-style: none;
}

.site-footer__menu a,
.site-footer__contact-list a,
.site-footer__credit a {
  color: inherit;
  text-decoration: none;
}

.site-footer__menu a:hover,
.site-footer__contact-list a:hover,
.site-footer__credit a:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  grid-column: 1;
  grid-row: 1;
  align-items: flex-start;
  width: 296px;
  text-align: left;
}

.site-footer .site-logo,
.site-footer .custom-logo-link {
  display: inline-flex;
  width: 162px;
  height: 141px;
}

.site-footer .site-logo__image,
.site-footer .custom-logo-link img {
  display: block;
  width: 162px;
  height: 141px;
  max-width: none;
  max-height: none;
  object-fit: contain;
}

.site-footer__description {
  margin: 26px 0 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.site-footer__contact-list {
  display: grid;
  gap: 8px;
  font-size: 14px;
  line-height: 1.45;
}

.site-footer__phone {
  font-weight: 400;
}

.site-footer__email {
  overflow-wrap: anywhere;
  font-size: 16px;
  font-weight: 700;
}

.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 0;
  margin-top: 84px;
  font-size: 14px;
  line-height: 1.45;
}

.site-footer__bottom::before {
  content: none;
}

.site-footer__copy,
.site-footer__credit {
  margin: 0;
}

.site-footer__credit a {
  font-weight: 700;
}

@media (max-width: 1280px) {
  .block-newsletter__inner {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 535px);
    gap: 36px;
    padding-block: 44px;
  }

  .block-newsletter__content,
  .block-newsletter__form,
  .block-newsletter__socials {
    grid-column: auto;
  }

  .block-newsletter__socials {
    grid-column: 1 / -1;
  }

  .site-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 44px 64px;
  }

  .site-footer__brand {
    grid-column: 1 / -1;
    grid-row: auto;
    order: -1;
  }

  .site-footer__column--contact,
  .site-footer__column--shop,
  .site-footer__column--important {
    grid-column: auto;
    grid-row: auto;
  }

  .site-footer__column--contact {
    order: 1;
  }

  .site-footer__column--shop {
    order: 2;
  }

  .site-footer__column--important {
    order: 3;
  }
}

@media (max-width: 760px) {
  .block-marquee {
    height: 56px;
  }

  .block-marquee__group {
    gap: 36px;
    padding-right: 36px;
  }

  .block-marquee__text {
    font-size: 15px;
  }

  .block-marquee__icon {
    flex-basis: 24px;
    width: 24px;
    height: 24px;
  }

  .block-newsletter {
    min-height: 0;
  }

  .block-newsletter__inner {
    grid-template-columns: 1fr;
    gap: 28px;
    min-height: 0;
    padding-block: 40px;
  }

  .block-newsletter__title {
    font-size: 28px;
  }

  .block-newsletter__field {
    grid-template-columns: 1fr;
    height: auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    gap: 10px;
  }

  .block-newsletter__field input[type="email"],
  .block-newsletter__field button {
    min-height: 54px;
    border-radius: var(--cafe-radius-pill);
  }

  .block-newsletter__field input[type="email"] {
    border: 1px solid var(--cafe-color-accent);
    background: #fff;
  }

  .block-newsletter__socials {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .site-footer {
    padding: 36px 0 48px;
  }

  .site-footer__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .site-footer__brand {
    align-items: flex-start;
    justify-self: start;
    text-align: left;
  }

  .site-footer__bottom {
    gap: 8px;
    margin-top: 36px;
  }
}

.container--breadcrumbs {
  margin-top: 30px;
}

.breadcrumbs,
#breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  color: var(--cafe-color-text);
  font-family: var(--cafe-font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}

.breadcrumbs > span,
#breadcrumbs > span {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.breadcrumbs a,
#breadcrumbs a,
.breadcrumbs__link,
.breadcrumbs__current,
.breadcrumbs .breadcrumb_last,
#breadcrumbs .breadcrumb_last {
  color: var(--cafe-color-text);
  text-decoration: none;
}

.breadcrumbs a:hover,
.breadcrumbs a:focus,
#breadcrumbs a:hover,
#breadcrumbs a:focus {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.breadcrumbs__separator,
.breadcrumbs svg,
#breadcrumbs svg {
  flex: 0 0 auto;
  width: 4px;
  height: 7px;
  margin: 0;
  color: var(--cafe-color-text);
}

.breadcrumbs__separator path,
.breadcrumbs svg path,
#breadcrumbs svg path {
  fill: currentColor;
}

.breadcrumbs .breadcrumb_last,
#breadcrumbs .breadcrumb_last {
  overflow-wrap: anywhere;
}

.pagination,
.woocommerce-pagination {
  margin-top: 32px;
}

.pagination .nav-links,
.woocommerce-pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  padding: 0;
  list-style: none;
}

.page-numbers,
.pagination .page-numbers {
  display: inline-grid;
  min-width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  text-decoration: none;
}

.page-numbers.current {
  background: var(--cafe-color-text);
  color: #fff;
}

.archive-page {
  padding: var(--cafe-section) 0;
  color: var(--cafe-color-text);
}

.archive-page__header {
  margin-bottom: 48px;
  text-align: center;
}

.archive-page__title {
  margin: 0;
  font-size: 36px;
  line-height: 1;
}

.archive-page__description {
  max-width: 760px;
  margin: 18px auto 0;
}

.archive-page__categories {
  margin-top: 29px;
}

.archive-page__category-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.archive-page__category-item {
  display: flex;
  align-items: center;
}

.archive-page__category-item + .archive-page__category-item::before {
  content: "";
  width: 1px;
  height: 12px;
  margin: 0 25px;
  background: var(--cafe-color-text);
}

.archive-page__category-link {
  color: var(--cafe-color-text);
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
}

.archive-page__category-link:hover,
.archive-page__category-link.is-active {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.archive-page .archive-loop {
  gap: var(--cafe-section) 24px;
}

.post-card {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.post-card__image-link {
  display: block;
  overflow: hidden;
  aspect-ratio: 566 / 550;
  border-radius: var(--cafe-radius);
  background: var(--cafe-color-surface);
}

.post-card__image-link--placeholder {
  background:
    linear-gradient(135deg, rgba(16, 57, 43, 0.08), rgba(16, 57, 43, 0.02)),
    var(--cafe-color-surface);
}

.post-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.post-card__image-link:hover .post-card__image {
  transform: scale(1.03);
}

.post-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding: 18px 0 0;
}

.post-card__date {
  color: var(--cafe-color-text);
  font-size: 14px;
  line-height: 1.45;
}

.post-card__title {
  max-width: 512px;
  margin: 0;
  font-size: 22px;
  line-height: 1;
}

.post-card__title a {
  color: var(--cafe-color-text);
  text-decoration: none;
}

.post-card__title a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.post-card__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 105px;
  min-height: 44px;
  padding: 9px 26px;
  border: 1px solid var(--cafe-color-text);
  border-radius: var(--cafe-radius-small);
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
}

.post-card__more:hover {
  background: var(--cafe-color-text);
  color: var(--cafe-color-accent-contrast);
}

.archive-page .pagination {
  margin-top: var(--cafe-section);
}

.archive-page .pagination .nav-links {
  gap: 0;
}

.archive-page .page-numbers {
  min-width: 40px;
  height: 40px;
  border-radius: 0;
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1.45;
}

.archive-page .page-numbers + .page-numbers {
  margin-left: -1px;
}

.archive-page .page-numbers.current {
  color: var(--cafe-color-accent-contrast);
}

.single-post {
  padding: 0 0 96px;
  color: var(--cafe-color-text);
}

.single-post__container {
  margin-top: 70px;
  width: min(100% - 32px, 1446px);
}

.single-post__layout {
  display: grid;
  grid-template-columns: minmax(0, 836px) 464px;
  gap: 146px;
  align-items: start;
}

.single-post__article {
  min-width: 0;
}

.single-post__image {
  overflow: hidden;
  width: min(100%, 831px);
  aspect-ratio: 831 / 580;
  margin: 0 0 20px 5px;
  border-radius: 9px;
  background: var(--cafe-color-surface);
}

.single-post__image-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-post__header {
  margin: 0 0 30px 5px;
}

.single-post__meta,
.blog-sidebar__post-date {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}

.calendar-icon {
  flex: 0 0 auto;
  width: 15px;
  height: 17px;
  color: currentColor;
}

.single-post__title {
  max-width: 547px;
  margin: 14px 0 0;
  font-size: 32px;
  line-height: normal;
}

.single-post__content {
  width: min(100%, 836px);
  color: #000;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

.single-post__content > * {
  margin-top: 0;
  margin-bottom: 23px;
}

.single-post__content h2,
.single-post__content h3,
.single-post__content h4 {
  margin-top: 30px;
  margin-bottom: 20px;
  color: var(--cafe-color-text);
  font-size: 22px;
  line-height: normal;
}

.single-post__content h3 {
  font-size: 22px;
}

.single-post__content p {
  margin-bottom: 23px;
}

.single-post__content a {
  color: #000;
  text-underline-offset: 2px;
}

.single-post__content img {
  height: auto;
  border-radius: 9px;
}

.single-post__content .wp-block-image {
  width: min(100%, 831px);
  margin: 30px 0 46px 3px;
}

.single-post__content .wp-block-image img {
  display: block;
  width: 100%;
}

.single-post__nav {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  width: min(100%, 831px);
  margin: 44px 0 0 3px;
  padding-top: 24px;
  border-top: 1px solid rgba(16, 57, 43, 0.38);
}

.single-post__nav-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  text-decoration: none;
}

.single-post__nav-link--next {
  margin-left: auto;
  font-weight: 700;
}

.single-post__nav-link:hover,
.single-post__nav-link:focus {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.single-post__nav-arrow {
  font-size: 18px;
  line-height: 1;
}

.blog-sidebar {
  width: 464px;
  min-width: 0;
}

.blog-sidebar__section {
  padding: 0;
  border-bottom: 0;
}

.blog-sidebar__section--search {
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(16, 57, 43, 0.38);
}

.blog-sidebar__section--featured {
  margin-top: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(16, 57, 43, 0.38);
}

.blog-sidebar__section--categories {
  padding: 19px 0 30px;
  border-bottom: 1px solid rgba(16, 57, 43, 0.38);
}

.blog-sidebar__heading {
  margin: 0 0 22px;
  font-size: 32px;
  line-height: normal;
}

.blog-sidebar__section-title {
  margin: 0 0 24px;
  font-size: 22px;
  line-height: normal;
}

.blog-sidebar__section--categories .blog-sidebar__section-title {
  margin-bottom: 43px;
}

.blog-sidebar__search {
  display: grid;
  grid-template-columns: minmax(0, 405px) 59px;
  gap: 0;
  width: 464px;
}

.blog-sidebar__search-input {
  width: 100%;
  min-height: 55px;
  padding: 14px 22px;
  border: 1px solid var(--cafe-color-text);
  border-right: 0;
  border-radius: 0;
  background: transparent;
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1.45;
}

.blog-sidebar__search-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 55px;
  border: 1px solid var(--cafe-color-text);
  background: var(--cafe-color-text);
  cursor: pointer;
}

.blog-sidebar__search-submit img {
  width: 24px;
  height: 24px;
  filter: brightness(0) invert(1);
}

.blog-sidebar__posts {
  display: grid;
  gap: 15px;
}

.blog-sidebar__post {
  display: grid;
  grid-template-columns: 200px 215px;
  column-gap: 23px;
  align-items: start;
}

.blog-sidebar__post-image {
  display: block;
  overflow: hidden;
  aspect-ratio: 200 / 120;
  border-radius: 9px;
  background: var(--cafe-color-surface);
}

.blog-sidebar__post-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-sidebar__post-date {
  gap: 11px;
  font-size: 14px;
}

.blog-sidebar__post-date-icon {
  width: 11px;
  height: 12px;
}

.blog-sidebar__post-title {
  margin: 8px 0 0;
  font-size: 16px;
  line-height: 1.45;
}

.blog-sidebar__post-title a {
  color: var(--cafe-color-text);
  text-decoration: none;
}

.blog-sidebar__post-title a:hover,
.blog-sidebar__post-title a:focus {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.blog-sidebar__categories {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-sidebar__category-link {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1.45;
  text-decoration: none;
}

.blog-sidebar__category-link:hover,
.blog-sidebar__category-link:focus {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.blog-sidebar__category-count {
  color: rgba(16, 57, 43, 0.32);
}

@media (max-width: 1500px) {
  .single-post__layout {
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 64px;
  }

  .blog-sidebar,
  .blog-sidebar__search {
    width: 420px;
  }

  .blog-sidebar__search {
    grid-template-columns: minmax(0, 361px) 59px;
  }

  .blog-sidebar__post {
    grid-template-columns: 180px minmax(0, 1fr);
    column-gap: 20px;
  }
}

@media (max-width: 1024px) {
  .archive-page .archive-loop {
    gap: 64px 24px;
  }

  .single-post__layout {
    grid-template-columns: 1fr;
    gap: 64px;
  }

  .blog-sidebar,
  .blog-sidebar__search {
    width: min(100%, 464px);
  }

  .blog-sidebar__search {
    grid-template-columns: minmax(0, 1fr) 59px;
  }

  .blog-sidebar__post {
    grid-template-columns: 200px 215px;
    column-gap: 23px;
  }
}

@media (max-width: 760px) {
  .archive-page {
    padding: var(--cafe-section) 0;
  }

  .archive-page__header {
    margin-bottom: 36px;
  }

  .archive-page__title {
    font-size: 32px;
  }

  .archive-page__category-list {
    gap: 10px 18px;
  }

  .archive-page__category-item + .archive-page__category-item::before {
    display: none;
  }

  .archive-page .archive-loop {
    gap: 48px;
  }

  .archive-page .pagination {
    margin-top: var(--cafe-section);
  }

  .single-post {
    padding: 0 0 64px;
  }

  .single-post__container {
    width: min(100% - 32px, 620px);
  }

  .single-post__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .single-post__title {
    max-width: none;
    font-size: 28px;
  }

  .single-post__content {
    font-size: 14px;
  }

  .single-post__content h2 {
    font-size: 20px;
  }

  .single-post__content h3 {
    font-size: 18px;
  }

  .single-post__nav-link {
    font-size: 12px;
  }

  .blog-sidebar__heading {
    font-size: 28px;
  }

  .blog-sidebar__section-title,
  .blog-sidebar__post-title {
    font-size: 16px;
  }

  .blog-sidebar__category-link,
  .blog-sidebar__search-input {
    font-size: 14px;
  }

  .blog-sidebar__post {
    grid-template-columns: 42% minmax(0, 1fr);
    column-gap: 18px;
  }
}

.page-content__body > *:first-child {
  margin-top: 0;
}

.wishlist-page {
  padding: 0;
}

.wishlist-page .wishlist-page__section {
  margin: 0;
  padding: 40px 0 var(--cafe-section);
}

.wishlist-page__header {
  margin-bottom: 36px;
}

.wishlist-page__title {
  margin: 0;
  font-size: 36px;
  line-height: 1.1;
}

.wishlist-page__empty {
  display: grid;
  gap: 18px;
  justify-items: center;
  text-align: center;
}

.wishlist-page__empty.content-none {
  padding: 24px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.wishlist-page__empty p {
  margin: 0;
}

.wishlist-page__empty-icon {
  width: 74px;
  height: 74px;
  color: var(--cafe-color-text);
}

.wishlist-page__empty-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 184px !important;
  min-height: 52px !important;
  padding: 13px 26px !important;
  border: 1px solid var(--cafe-color-text) !important;
  border-radius: var(--cafe-radius-pill) !important;
  background: var(--cafe-color-text) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.wishlist-page__empty-link:hover,
.wishlist-page__empty-link:focus {
  border-color: var(--cafe-color-text) !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--cafe-color-text) !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}

.wishlist-page__empty-link:focus-visible {
  outline: 2px solid rgba(16, 57, 43, 0.32) !important;
  outline-offset: 3px !important;
}

.wishlist-page__grid {
  align-items: start;
}

.content-none {
  padding: 32px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: var(--cafe-color-surface);
}

.comments-area {
  padding-top: 40px;
  margin-top: 40px;
  border-top: 1px solid var(--cafe-color-border);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-warning,
.woocommerce-notice--success,
.woocommerce-notice--info,
.woocommerce-notice--warning,
.woocommerce-notice--error,
.wc-block-components-notice-banner {
  --cafe-notice-bg: #1f64b4;
  --cafe-notice-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 10h2v7h-2v-7Zm0-3h2v2h-2V7Zm1-5a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Z'/%3E%3C/svg%3E");

  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px 18px;
  box-sizing: border-box;
  width: min(100%, 1224px);
  min-height: 66px;
  padding: 19px 24px 19px 60px;
  border: 0;
  border-radius: 8px;
  margin: 32px auto 24px;
  background: var(--cafe-notice-bg);
  box-shadow: none;
  color: #fff;
  font-family: var(--cafe-font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
  list-style: none;
  clear: both;
}

.woocommerce-notices-wrapper:not(:empty) {
  width: min(100%, 1224px);
  margin: 32px auto 24px;
}

.woocommerce-notices-wrapper,
.woocommerce-notices-wrapper:focus,
.woocommerce-notices-wrapper:focus-visible {
  border: 0;
  box-shadow: none;
  outline: 0;
}

.woocommerce-message,
.woocommerce-message:focus,
.woocommerce-message:focus-visible,
.woocommerce-info,
.woocommerce-info:focus,
.woocommerce-info:focus-visible,
.woocommerce-error,
.woocommerce-error:focus,
.woocommerce-error:focus-visible,
.woocommerce-warning,
.woocommerce-warning:focus,
.woocommerce-warning:focus-visible {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.woocommerce-page-wrapper > .container--breadcrumbs + .woocommerce-notices-wrapper:not(:empty),
.woocommerce-page-wrapper > .container--breadcrumbs + .woocommerce-message,
.woocommerce-page-wrapper > .container--breadcrumbs + .woocommerce-info,
.woocommerce-page-wrapper > .container--breadcrumbs + .woocommerce-error,
.woocommerce-page-wrapper > .container--breadcrumbs + .woocommerce-warning,
.woocommerce-page-wrapper > .container--breadcrumbs + .woocommerce-notice--success,
.woocommerce-page-wrapper > .container--breadcrumbs + .woocommerce-notice--info,
.woocommerce-page-wrapper > .container--breadcrumbs + .woocommerce-notice--warning,
.woocommerce-page-wrapper > .container--breadcrumbs + .woocommerce-notice--error,
.woocommerce-page-wrapper > .container--breadcrumbs + .wc-block-components-notice-banner {
  margin-top: 30px;
}

.woocommerce-notices-wrapper:not(:empty) .woocommerce-message,
.woocommerce-notices-wrapper:not(:empty) .woocommerce-info,
.woocommerce-notices-wrapper:not(:empty) .woocommerce-error,
.woocommerce-notices-wrapper:not(:empty) .woocommerce-warning,
.woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--success,
.woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--info,
.woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--warning,
.woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--error,
.woocommerce-notices-wrapper:not(:empty) .wc-block-components-notice-banner {
  width: 100%;
  margin: 0;
}

.woocommerce-notices-wrapper:not(:empty) > * + * {
  margin-top: 12px;
}

.woocommerce-page-wrapper > .woocommerce-notices-wrapper:not(:empty),
.woocommerce-page-wrapper > .woocommerce-message,
.woocommerce-page-wrapper > .woocommerce-info,
.woocommerce-page-wrapper > .woocommerce-error,
.woocommerce-page-wrapper > .woocommerce-warning,
.woocommerce-page-wrapper > .woocommerce-notice--success,
.woocommerce-page-wrapper > .woocommerce-notice--info,
.woocommerce-page-wrapper > .woocommerce-notice--warning,
.woocommerce-page-wrapper > .woocommerce-notice--error,
.woocommerce-page-wrapper > .wc-block-components-notice-banner {
  width: min(100% - 32px, 1224px);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.woocommerce-warning::before,
.woocommerce-notice--success::before,
.woocommerce-notice--info::before,
.woocommerce-notice--warning::before,
.woocommerce-notice--error::before,
.wc-block-components-notice-banner::before {
  position: absolute;
  top: 50%;
  left: 24px;
  width: 20px;
  height: 20px;
  background: #fff;
  content: "" !important;
  transform: translateY(-50%);
  -webkit-mask: var(--cafe-notice-icon) center / contain no-repeat;
  mask: var(--cafe-notice-icon) center / contain no-repeat;
}

.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button),
.woocommerce-warning a:not(.button),
.woocommerce-notice--success a:not(.button),
.woocommerce-notice--info a:not(.button),
.woocommerce-notice--warning a:not(.button),
.woocommerce-notice--error a:not(.button),
.wc-block-components-notice-banner a:not(.button) {
  color: #fff;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-warning .button,
.woocommerce-message .wc-forward,
.woocommerce-info .wc-forward,
.woocommerce-error .wc-forward,
.woocommerce-warning .wc-forward,
.woocommerce-notice--success .button,
.woocommerce-notice--info .button,
.woocommerce-notice--warning .button,
.woocommerce-notice--error .button,
.woocommerce-notice--success .wc-forward,
.woocommerce-notice--info .wc-forward,
.woocommerce-notice--warning .wc-forward,
.woocommerce-notice--error .wc-forward,
.wc-block-components-notice-banner .button,
.wc-block-components-notice-banner .wc-forward,
.wc-block-components-notice-banner .wc-block-components-button {
  display: inline-flex !important;
  order: 2;
  flex: 0 0 auto;
  align-items: center !important;
  justify-content: center !important;
  align-self: center;
  float: none !important;
  height: 40px;
  min-height: 40px;
  max-width: min(280px, 45%);
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: var(--cafe-radius-pill) !important;
  margin: 0 0 0 auto;
  background: rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 13px;
  font-weight: 800;
  line-height: 1 !important;
  outline: 0;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  white-space: normal;
}

.woocommerce-message .button:hover,
.woocommerce-message .button:focus,
.woocommerce-info .button:hover,
.woocommerce-info .button:focus,
.woocommerce-error .button:hover,
.woocommerce-error .button:focus,
.woocommerce-warning .button:hover,
.woocommerce-warning .button:focus,
.woocommerce-message .wc-forward:hover,
.woocommerce-message .wc-forward:focus,
.woocommerce-info .wc-forward:hover,
.woocommerce-info .wc-forward:focus,
.woocommerce-error .wc-forward:hover,
.woocommerce-error .wc-forward:focus,
.woocommerce-warning .wc-forward:hover,
.woocommerce-warning .wc-forward:focus,
.woocommerce-notice--success .button:hover,
.woocommerce-notice--success .button:focus,
.woocommerce-notice--info .button:hover,
.woocommerce-notice--info .button:focus,
.woocommerce-notice--warning .button:hover,
.woocommerce-notice--warning .button:focus,
.woocommerce-notice--error .button:hover,
.woocommerce-notice--error .button:focus,
.woocommerce-notice--success .wc-forward:hover,
.woocommerce-notice--success .wc-forward:focus,
.woocommerce-notice--info .wc-forward:hover,
.woocommerce-notice--info .wc-forward:focus,
.woocommerce-notice--warning .wc-forward:hover,
.woocommerce-notice--warning .wc-forward:focus,
.woocommerce-notice--error .wc-forward:hover,
.woocommerce-notice--error .wc-forward:focus,
.wc-block-components-notice-banner .button:hover,
.wc-block-components-notice-banner .button:focus,
.wc-block-components-notice-banner .wc-forward:hover,
.wc-block-components-notice-banner .wc-forward:focus,
.wc-block-components-notice-banner .wc-block-components-button:hover,
.wc-block-components-notice-banner .wc-block-components-button:focus {
  background: rgba(255, 255, 255, 0.24) !important;
  outline: 0;
}

.woocommerce-error li {
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}

.woocommerce-error li + li {
  margin-top: 8px;
}

.wc-block-components-notice-banner > svg {
  display: none;
}

.wc-block-components-notice-banner .wc-block-components-notice-banner__content {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: center;
  min-width: 0;
  gap: 12px 18px;
  margin: 0;
}

.woocommerce-message {
  --cafe-notice-bg: var(--cafe-color-accent);
  --cafe-notice-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m9.55 15.15 8.48-8.49 1.42 1.42-9.9 9.9L4.5 12.93l1.41-1.41 3.64 3.63Z'/%3E%3C/svg%3E");
  justify-content: flex-start;
}

.woocommerce-message .button,
.woocommerce-message .wc-forward,
.woocommerce-info .button,
.woocommerce-info .wc-forward {
  position: static;
  order: 99 !important;
  margin: 0 0 0 auto !important;
  transform: none !important;
}

.woocommerce-info {
  --cafe-notice-bg: #1f64b4;
  --cafe-notice-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 10h2v7h-2v-7Zm0-3h2v2h-2V7Zm1-5a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Z'/%3E%3C/svg%3E");
}

.woocommerce-error {
  flex-wrap: wrap;
  --cafe-notice-bg: #a0002b;
  --cafe-notice-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m12 10.59 4.95-4.95 1.41 1.41L13.41 12l4.95 4.95-1.41 1.41L12 13.41l-4.95 4.95-1.41-1.41L10.59 12 5.64 7.05l1.41-1.41L12 10.59Z'/%3E%3C/svg%3E");
}

.woocommerce-warning,
.woocommerce-notice--warning,
.wc-block-components-notice-banner.is-warning {
  --cafe-notice-bg: #b95608;
  --cafe-notice-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 3 1.73 21h20.54L12 3Zm0 4.04L18.82 19H5.18L12 7.04ZM11 10h2v5h-2v-5Zm0 6h2v2h-2v-2Z'/%3E%3C/svg%3E");
}

.woocommerce-notice--success,
.wc-block-components-notice-banner.is-success {
  --cafe-notice-bg: var(--cafe-color-accent);
  --cafe-notice-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m9.55 15.15 8.48-8.49 1.42 1.42-9.9 9.9L4.5 12.93l1.41-1.41 3.64 3.63Z'/%3E%3C/svg%3E");
}

.woocommerce-notice--info,
.wc-block-components-notice-banner.is-info {
  --cafe-notice-bg: #1f64b4;
  --cafe-notice-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 10h2v7h-2v-7Zm0-3h2v2h-2V7Zm1-5a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Z'/%3E%3C/svg%3E");
}

.woocommerce-notice--error,
.wc-block-components-notice-banner.is-error {
  --cafe-notice-bg: #a0002b;
  --cafe-notice-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m12 10.59 4.95-4.95 1.41 1.41L13.41 12l4.95 4.95-1.41 1.41L12 13.41l-4.95 4.95-1.41-1.41L10.59 12 5.64 7.05l1.41-1.41L12 10.59Z'/%3E%3C/svg%3E");
}

.woocommerce table.shop_table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 14px;
  border-bottom: 1px solid var(--cafe-color-border);
  text-align: left;
}

@media (max-width: 760px) {
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error,
  .woocommerce-warning,
  .woocommerce-notice--success,
  .woocommerce-notice--info,
  .woocommerce-notice--warning,
  .woocommerce-notice--error,
  .wc-block-components-notice-banner {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding: 17px 16px 17px 50px;
    margin-top: 24px;
    font-size: 14px;
  }

  .woocommerce-notices-wrapper:not(:empty) {
    margin-top: 24px;
  }

  .woocommerce-message::before,
  .woocommerce-info::before,
  .woocommerce-error::before,
  .woocommerce-warning::before,
  .woocommerce-notice--success::before,
  .woocommerce-notice--info::before,
  .woocommerce-notice--warning::before,
  .woocommerce-notice--error::before,
  .wc-block-components-notice-banner::before {
    top: 50%;
    left: 20px;
    width: 16px;
    height: 16px;
  }

  .woocommerce-message .button,
  .woocommerce-info .button,
  .woocommerce-error .button,
  .woocommerce-warning .button,
  .woocommerce-message .wc-forward,
  .woocommerce-info .wc-forward,
  .woocommerce-error .wc-forward,
  .woocommerce-warning .wc-forward,
  .woocommerce-notice--success .button,
  .woocommerce-notice--info .button,
  .woocommerce-notice--warning .button,
  .woocommerce-notice--error .button,
  .woocommerce-notice--success .wc-forward,
  .woocommerce-notice--info .wc-forward,
  .woocommerce-notice--warning .wc-forward,
  .woocommerce-notice--error .wc-forward,
  .wc-block-components-notice-banner .button,
  .wc-block-components-notice-banner .wc-forward,
  .wc-block-components-notice-banner .wc-block-components-button {
    float: none;
    width: 100%;
    max-width: none;
    margin: 10px 0 0;
    align-self: stretch;
  }

  .woocommerce-message .button,
  .woocommerce-message .wc-forward {
    position: static;
    margin: 10px 0 0 !important;
    transform: none;
  }

  .wc-block-components-notice-banner .wc-block-components-notice-banner__content {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
}

.product-card-wrap {
  align-self: start;
  list-style: none;
}

.product-card,
.woocommerce .product-card {
  align-self: start;
  display: grid;
  grid-template-rows: auto auto;
  overflow: hidden;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: var(--cafe-color-card);
}

.product-card__image-wrap,
.woocommerce .product-card .product-card__image-wrap {
  position: relative;
  display: grid;
  aspect-ratio: 420 / 365;
  border-bottom: 1px solid var(--cafe-color-border);
  background: var(--cafe-color-surface-alt);
}

.product-card__image-link,
.woocommerce .product-card .product-card__image-link {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 16px 30px 0;
  overflow: hidden;
  background-color: #FFF;
}

.product-card__image-stack,
.woocommerce .product-card .product-card__image-stack {
  display: grid;
  place-items: center;
  width: 100%;
  height: 315px;
}

.product-card__image,
.woocommerce .product-card .product-card__image,
.woocommerce ul.products li.product .product-card__image {
  grid-area: 1 / 1;
  display: block;
  width: 100%;
  height: 315px;
  margin: 0;
  box-shadow: none;
  object-fit: contain;
  transition: opacity 220ms ease;
}

.product-card__image--hover,
.woocommerce .product-card .product-card__image--hover,
.woocommerce ul.products li.product .product-card__image--hover {
  opacity: 0;
}

.product-card--has-hover-image.product-card--hover-image-ready:hover .product-card__image--primary,
.product-card--has-hover-image.product-card--hover-image-ready:focus-within .product-card__image--primary,
.woocommerce .product-card--has-hover-image.product-card--hover-image-ready:hover .product-card__image--primary,
.woocommerce .product-card--has-hover-image.product-card--hover-image-ready:focus-within .product-card__image--primary {
  opacity: 0;
}

.product-card--has-hover-image.product-card--hover-image-ready:hover .product-card__image--hover,
.product-card--has-hover-image.product-card--hover-image-ready:focus-within .product-card__image--hover,
.woocommerce .product-card--has-hover-image.product-card--hover-image-ready:hover .product-card__image--hover,
.woocommerce .product-card--has-hover-image.product-card--hover-image-ready:focus-within .product-card__image--hover {
  opacity: 1;
}

.product-card__tags {
  position: absolute;
  top: 14px;
  right: 72px;
  left: 12px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
}

.product-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 6px 14px;
  border-radius: var(--cafe-radius-pill);
  background: var(--cafe-color-danger);
  color: var(--cafe-color-accent-contrast);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
}

.product-card__tag--sale,
.product-card__tag--promocja,
.product-card__tag--promocje {
  background: var(--cafe-color-danger);
  color: var(--cafe-color-accent-contrast);
}

.product-card__tag--new,
.product-card__tag--nowosc,
.product-card__tag--nowosci {
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.product-card__tag--featured,
.product-card__tag--polecane {
  background: var(--cafe-color-highlight);
  color: var(--cafe-color-accent);
}

.product-card__quick-actions {
  position: absolute;
  top: 13px;
  right: 12px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
}

.product-card__quick-action {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: var(--cafe-color-accent);
  text-decoration: none;
  transition: background-color 180ms ease;
}

.product-card__quick-action img,
.woocommerce .product-card .product-card__quick-action img,
.woocommerce ul.products li.product .product-card__quick-action img {
  display: block;
  width: auto;
  max-width: 14px;
  max-height: 12px;
  height: auto;
  margin: 0;
  box-shadow: none;
  transition: filter 180ms ease, opacity 180ms ease;
}

.product-card__quick-action:hover,
.product-card__quick-action:focus {
  border-radius: 50%;
  background: rgba(16, 57, 43, 0.08);
}

.product-card__quick-action--wishlist.is-active {
  border-radius: 50%;
  background: rgba(61, 66, 48, 0.1);
}

.product-card__quick-action--wishlist.is-active img {
  filter: grayscale(1);
  opacity: 0.45;
}

.product-card__quick-action--wishlist.is-active:hover,
.product-card__quick-action--wishlist.is-active:focus {
  background: var(--cafe-color-danger);
}

.product-card__quick-action--wishlist.is-active:hover img,
.product-card__quick-action--wishlist.is-active:focus img {
  filter: brightness(0) invert(1);
  opacity: 1;
}

.product-card__quick-action--wishlist.is-loading {
  border-radius: 50%;
  background: rgba(16, 57, 43, 0.08);
}

.product-card__quick-action--wishlist.is-loading {
  opacity: 0.55;
  pointer-events: none;
}

.product-card__body,
.woocommerce .product-card .product-card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 28px 26px 27px;
  text-align: center;
}

.product-card__title,
.woocommerce .product-card .product-card__title {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  min-height: 43px;
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.product-card__title a,
.woocommerce .product-card .product-card__title a {
  color: inherit;
  text-decoration: none;
}

.product-card__price,
.woocommerce .product-card .product-card__price {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: baseline;
  justify-content: center;
  min-height: 23px;
  margin-top: 15px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

.product-card__price ins,
.woocommerce .product-card .product-card__price ins {
  order: 1;
  text-decoration: none;
}

.product-card__price del,
.woocommerce .product-card .product-card__price del {
  order: 2;
  color: var(--cafe-color-text);
  font-size: 16px;
}

.product-card__actions,
.woocommerce .product-card .product-card__actions {
  width: 100%;
  margin-top: 17px;
}

.product-card .added_to_cart.wc-forward,
.woocommerce .product-card .added_to_cart.wc-forward {
  display: none;
}

.product-card__add-to-cart,
.woocommerce a.button.product-card__add-to-cart,
.woocommerce button.button.product-card__add-to-cart,
.woocommerce ul.products li.product .product-card__add-to-cart {
  display: flex;
  width: 100%;
  min-height: 50px;
  padding-inline: 18px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-pill);
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.woocommerce a.button.product-card__add-to-cart:hover,
.woocommerce a.button.product-card__add-to-cart:focus,
.woocommerce button.button.product-card__add-to-cart:hover,
.woocommerce button.button.product-card__add-to-cart:focus,
.woocommerce ul.products li.product .product-card__add-to-cart:hover,
.woocommerce ul.products li.product .product-card__add-to-cart:focus {
  border-color: var(--cafe-color-accent-dark);
  background: var(--cafe-color-accent-dark);
  color: var(--cafe-color-accent-contrast);
}

body.has-product-quick-view {
  overflow: hidden;
}

.product-quick-view {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  place-items: start center;
  padding: 58px 16px 32px;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.72);
  color: var(--cafe-color-text);
}

.product-quick-view.is-open {
  display: grid;
}

.product-quick-view__overlay {
  position: fixed;
  inset: 0;
}

.product-quick-view__dialog {
  position: relative;
  z-index: 1;
  width: min(420px, 100%);
  min-height: 573px;
  padding: 22px 35px 25px;
  border: 1px solid var(--cafe-color-border);
  border-radius: 9px;
  outline: 0;
  background: #fff;
}

.product-quick-view__close {
  position: absolute;
  top: -35px;
  right: 2px;
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 25px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.product-quick-view__close:hover,
.product-quick-view__close:focus {
  color: var(--cafe-color-accent-contrast);
}

.product-quick-view__slot,
.product-quick-view__content {
  min-height: 526px;
}

.product-quick-view__content {
  display: grid;
  grid-template-rows: auto auto auto auto 1fr auto;
}

.product-quick-view__stage {
  display: grid;
  place-items: center;
  width: 100%;
  height: 238px;
  overflow: hidden;
  border: 1px solid var(--cafe-color-border);
  border-radius: 9px;
  background: #fff;
}

.product-quick-view__image,
.woocommerce .product-quick-view__image,
.woocommerce ul.products li.product .product-quick-view__image {
  display: block;
  width: auto;
  max-width: 231px;
  max-height: 231px;
  margin: 0;
  box-shadow: none;
  object-fit: contain;
}

.product-quick-view__gallery-wrap {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) 18px;
  gap: 7px;
  align-items: center;
  width: 100%;
  margin-top: 10px;
}

.product-quick-view__gallery {
  display: flex;
  gap: 7px;
  align-items: center;
  min-width: 0;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.product-quick-view__gallery::-webkit-scrollbar {
  display: none;
}

.product-quick-view__gallery-arrow {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 61px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--cafe-color-accent);
  cursor: pointer;
}

.product-quick-view__gallery-arrow:hover,
.product-quick-view__gallery-arrow:focus {
  color: var(--cafe-color-accent-dark);
}

.product-quick-view__gallery-arrow svg {
  width: 8px;
  height: 14px;
}

.product-quick-view__thumb {
  display: grid;
  flex: 0 0 86px;
  place-items: center;
  width: 86px;
  height: 61px;
  padding: 4px;
  border: 1px solid var(--cafe-color-border);
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  scroll-snap-align: start;
}

.product-quick-view__thumb.is-active {
  box-shadow: inset 0 0 0 1px var(--cafe-color-border);
}

.product-quick-view__thumb-image,
.woocommerce .product-quick-view__thumb-image,
.woocommerce ul.products li.product .product-quick-view__thumb-image {
  display: block;
  width: auto;
  max-width: 52px;
  max-height: 53px;
  margin: 0;
  box-shadow: none;
  object-fit: contain;
}

.product-quick-view__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
}

.product-quick-view__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 4px 12px;
  border-radius: var(--cafe-radius-pill);
  background: #f5e1c3;
  color: var(--cafe-color-text);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  white-space: nowrap;
}

.product-quick-view__badge--promo,
.product-quick-view__badge--sale {
  background: var(--cafe-color-danger);
  color: var(--cafe-color-accent-contrast);
}

.product-quick-view__badge--new {
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.product-quick-view__badge--featured {
  background: var(--cafe-color-highlight);
  color: var(--cafe-color-text);
}

.product-quick-view__title {
  width: 100%;
  margin: 17px 0 0;
  color: var(--cafe-color-text);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: 0;
  overflow-wrap: break-word;
}

.product-quick-view__markers {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  align-items: center;
  margin-top: 12px;
  color: var(--cafe-color-accent);
}

.product-quick-view__marker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
}

.product-quick-view__marker img {
  display: block;
  width: auto;
  max-width: 23px;
  height: 27px;
  object-fit: contain;
}

.product-quick-view__button {
  grid-row: -2 / -1;
  align-self: end;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 10px 28px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-pill);
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
}

.product-quick-view__button:hover,
.product-quick-view__button:focus {
  border-color: var(--cafe-color-accent-dark);
  background: var(--cafe-color-accent-dark);
  color: var(--cafe-color-accent-contrast);
}

@media (max-width: 460px) {
  .product-quick-view {
    padding-top: 52px;
  }

  .product-quick-view__dialog {
    min-height: min(573px, calc(100vh - 84px));
    padding-inline: 22px;
  }

  .product-quick-view__slot,
  .product-quick-view__content {
    min-height: calc(min(573px, calc(100vh - 84px)) - 49px);
  }

  .product-quick-view__title {
    width: 100%;
    margin-right: 0;
    font-size: 20px;
  }

  .product-quick-view__button {
    width: 100%;
  }
}

.shop-page {
  position: relative;
  padding: 40px 0 0;
}

.shop-page > .container {
  position: relative;
  z-index: 1;
}

.shop-page__bottom-illustration {
  display: block;
  width: 241px;
  height: 241px;
  margin: auto 0 0;
  object-fit: contain;
  pointer-events: none;
}

.shop-page__hero {
  display: grid;
  grid-template-columns: 420px minmax(0, 1fr);
  gap: 26px;
  align-items: stretch;
  min-height: 387px;
  margin: 0 0 var(--cafe-section);
}

.shop-page__hero-side,
.shop-page__hero-banner {
  overflow: hidden;
  border-radius: var(--cafe-radius);
}

.shop-page__hero-side img,
.shop-page__hero-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shop-page__hero-side img {
  object-position: center 42%;
}

.shop-page__hero-banner {
  position: relative;
  background: var(--cafe-color-accent);
}

.shop-page__hero-copy {
  position: absolute;
  top: 50%;
  left: 13.1%;
  width: min(320px, 42%);
  color: var(--cafe-color-accent-contrast);
  font-size: 16px;
  line-height: 1.45;
  transform: translateY(-50%);
}

.shop-page__hero-copy p {
  margin: 0;
}

.shop-page__hero-kicker {
  font-weight: 400;
}

.shop-page__inner {
  display: grid;
  grid-template-columns: 420px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  min-height: 650px;
}

.shop-page__main {
  min-width: 0;
}

.shop-page__sidebar {
  align-self: stretch;
  height: 100%;
}

.shop-filters {
  display: flex;
  height: 100%;
  min-height: 100%;
  flex-direction: column;
  gap: 56px;
}

.shop-page__toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 28px;
  min-height: 41px;
  margin-bottom: 48px;
}

.shop-page__count {
  font-size: 14px;
  line-height: 1.45;
}

.shop-page__sort {
  position: relative;
  flex: 0 0 260px;
  min-width: 260px;
}

.shop-page__sort .woocommerce-ordering {
  margin: 0;
}

.shop-page__sort select {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-height: 41px;
  padding: 8px 56px 8px 20px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-pill);
  background-color: transparent;
  background-image: url("../img/menu-chevron.svg");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 10px 6px;
  color: var(--cafe-color-text);
  font-size: 14px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shop-page__sort select::-ms-expand {
  display: none;
}

.shop-page__filter-toggle {
  display: none;
  min-height: 41px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px 18px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-pill);
  background: transparent;
  color: var(--cafe-color-text);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
}

.shop-page__filter-toggle::after {
  content: "";
  flex: 0 0 10px;
  width: 10px;
  height: 6px;
  background: url("../img/menu-chevron.svg") center / contain no-repeat;
  transform-origin: center;
}

.shop-page__filter-toggle[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.shop-page__grid,
.woocommerce ul.products:not(.product-grid) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, var(--cafe-product-card-width)));
  gap: 33px 20px;
  justify-content: start;
  padding: 0;
  margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product.product-card-wrap {
  float: none;
  margin: 0;
}

.woocommerce ul.products:not(.product-grid) li.product.product-card-wrap {
  width: auto;
}

.shop-filters__panel {
  box-sizing: border-box;
  padding: 27px 27px 16px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
}

.shop-filters__active-title {
  margin: 0 0 10px;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.shop-filters__active {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
}

.shop-filters__active-badge {
  display: inline-flex;
  max-width: 100%;
  min-height: 31px;
  align-items: center;
  gap: 8px;
  padding: 6px 10px 6px 13px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-pill);
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.shop-filters__active-badge:hover,
.shop-filters__active-badge:focus {
  background: transparent;
  color: var(--cafe-color-text);
}

.shop-filters__active-remove {
  display: inline-grid;
  width: 16px;
  height: 16px;
  place-items: center;
  font-size: 16px;
  line-height: 1;
}

.shop-filter,
.shop-filters .widget {
  padding: 0;
  border: 0;
  background: transparent;
}

.shop-filter__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  color: var(--cafe-color-text);
}

.shop-filter__summary,
.shop-filters .widget__title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.shop-filter__summary {
  cursor: pointer;
  list-style: none;
}

.shop-filter__summary--static {
  cursor: default;
}

.shop-filter__summary::-webkit-details-marker {
  display: none;
}

.shop-filter__details + .shop-filter__details {
  margin-top: 5px;
}

.shop-filter__chevron {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  margin: -11px -8px -11px 0;
  background: url("../img/menu-chevron.svg") center / 10px 6px no-repeat;
  cursor: pointer;
  transform-origin: center;
}

.shop-filter__details[open] > .shop-filter__summary .shop-filter__chevron,
.shop-filter__category-details[open] > .shop-filter__category-heading .shop-filter__chevron {
  transform: rotate(180deg);
}

.shop-filter__list {
  display: grid;
  gap: 3px;
  padding: 0;
  list-style: none;
}

.shop-filter__list {
  margin: 0;
}

.shop-filter__list--nested {
  margin-top: 8px;
  padding-left: 12px;
}

.shop-filter__category-list {
  gap: 12px;
}

.shop-filter__category-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 3px 6px;
  margin: -3px -6px;
  border-radius: var(--cafe-radius-small);
  color: var(--cafe-color-text);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  list-style: none;
  text-decoration: none;
}

.shop-filter__category-details > .shop-filter__category-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 8px;
  min-height: 32px;
  padding: 0 0 0 6px;
  margin: 0 0 0 -6px;
}

.shop-filter__category-details > .shop-filter__category-heading .shop-filter__chevron {
  width: 44px;
  height: 32px;
  margin: 0;
  justify-self: center;
}

.shop-filter__category-heading::-webkit-details-marker {
  display: none;
}

.shop-filter__category-details .shop-filter__category-heading {
  cursor: pointer;
}

.shop-filter__category-choice {
  position: relative;
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.shop-filter__box {
  display: block;
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  border: 1px solid currentColor;
  border-radius: 3px;
  background: transparent;
}

.shop-filter__category-heading > .shop-filter__category-choice {
  flex: 1 1 auto;
}

.shop-filter__category-heading.shop-filter__category-choice {
  justify-content: flex-start;
}

.shop-filter__list--category-children {
  margin-top: 5px;
}

.shop-filter__link {
  position: relative;
  display: grid;
  grid-template-columns: 13px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 3px 6px;
  margin: -3px -6px;
  border-radius: var(--cafe-radius-small);
  color: var(--cafe-color-text);
  cursor: pointer;
  font-size: 16px;
  line-height: 1.45;
  text-decoration: none;
}

.shop-filter__link--category-select {
  grid-template-columns: minmax(0, 1fr) 40px;
  gap: 8px;
  align-items: center;
  padding: 0 0 0 6px;
}

.shop-filter__name {
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  justify-self: start;
  padding: 3px 0;
  color: inherit;
  text-decoration: none;
}

.shop-filter__toggle {
  display: flex;
  min-height: 32px;
  align-items: center;
  justify-content: left;
  color: inherit;
  cursor: pointer;
}

.shop-filter__checkbox {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.shop-filter__marker {
  width: 13px;
  height: 13px;
  margin-top: 5px;
  border: 1px solid currentColor;
  border-radius: 3px;
  background: transparent;
}

.shop-filter__toggle .shop-filter__marker {
  margin-top: 0;
}

.shop-filter__checkbox:focus-visible + .shop-filter__marker {
  outline: 2px solid var(--cafe-color-danger);
  outline-offset: 3px;
}

.shop-filter__checkbox:checked + .shop-filter__marker,
.shop-filter__checkbox:checked + .shop-filter__box {
  border-color: var(--cafe-color-danger);
  background: var(--cafe-color-danger);
  box-shadow: inset 0 0 0 3px var(--cafe-color-accent-contrast);
}

.shop-filter__checkbox:checked ~ span {
  color: var(--cafe-color-danger);
}

.shop-filter__checkbox[value*="promoc"] ~ span {
  color: var(--cafe-color-danger);
}

.shop-filter__category.is-active > .shop-filter__category-heading,
.shop-filter__category.is-active > .shop-filter__category-choice,
.shop-filter__category-choice:hover,
.shop-filter__category-choice:focus-within,
.shop-filter__category-heading:hover,
.shop-filter__category-heading:focus,
.shop-filter__link:hover,
.shop-filter__link:focus {
  color: var(--cafe-color-danger);
}

.shop-filter__item.is-active .shop-filter__name {
  color: var(--cafe-color-danger);
}

.shop-filter__category.is-active .shop-filter__box {
  border-color: var(--cafe-color-danger);
  background: var(--cafe-color-danger);
  box-shadow: inset 0 0 0 3px var(--cafe-color-accent-contrast);
}

.shop-filter__link:not(.shop-filter__link--category-select):hover .shop-filter__marker,
.shop-filter__link:not(.shop-filter__link--category-select):focus .shop-filter__marker,
.shop-filter__toggle:hover .shop-filter__marker,
.shop-filter__toggle:focus-within .shop-filter__marker {
  border-color: var(--cafe-color-danger);
  background: var(--cafe-color-danger);
}

.shop-filter__item.is-active .shop-filter__marker {
  border-color: var(--cafe-color-danger);
  background: var(--cafe-color-danger);
  box-shadow: inset 0 0 0 3px var(--cafe-color-accent-contrast);
}

.shop-filter__count {
  white-space: nowrap;
}

.shop-filters__groups {
  margin-top: 25px;
}

.shop-filters__groups--system {
  display: grid;
  gap: 0;
}

.shop-filter__price {
  display: grid;
  padding: 10px 0 4px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.shop-filter__price-field {
  display: grid;
  gap: 6px;
  color: var(--cafe-color-text);
  font-size: 12px;
  line-height: 1.3;
}

.shop-filter__price-field input {
  width: 100%;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-pill);
  background: var(--cafe-color-accent-contrast);
  color: var(--cafe-color-text);
  font: inherit;
}

.shop-filter__price-field input:focus {
  border-color: var(--cafe-color-accent);
  outline: 2px solid rgba(16, 57, 43, 0.12);
  outline-offset: 1px;
}

.shop-filters__submit,
.shop-filters__panel button.button.shop-filters__submit,
.woocommerce .shop-filters__panel button.button.shop-filters__submit {
  appearance: none;
  display: flex;
  width: 100%;
  height: 50px;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  margin-top: 25px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-pill);
  background: var(--cafe-color-accent);
  background-color: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-transform: uppercase;
}

.shop-filters__submit:hover,
.shop-filters__submit:focus,
.shop-filters__panel button.button.shop-filters__submit:hover,
.shop-filters__panel button.button.shop-filters__submit:focus,
.woocommerce .shop-filters__panel button.button.shop-filters__submit:hover,
.woocommerce .shop-filters__panel button.button.shop-filters__submit:focus {
  border-color: var(--cafe-color-accent-dark);
  background: var(--cafe-color-accent-dark);
  background-color: var(--cafe-color-accent-dark);
  color: var(--cafe-color-accent-contrast);
}

.shop-filters__clear {
  display: block;
  margin-top: 12px;
  color: var(--cafe-color-text);
  font-size: 12px;
  line-height: 1.45;
  text-align: right;
  text-decoration: none;
}

.shop-page__pagination {
  display: flex;
  justify-content: center;
  margin-top: 63px;
}

.woocommerce .shop-page__pagination nav.woocommerce-pagination,
.shop-page__pagination .woocommerce-pagination {
  margin-top: 0;
}

.woocommerce .shop-page__pagination nav.woocommerce-pagination ul.page-numbers,
.shop-page__pagination .woocommerce-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 21px;
  align-items: center;
  justify-content: center;
  border: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce .shop-page__pagination nav.woocommerce-pagination ul.page-numbers > li,
.shop-page__pagination .woocommerce-pagination ul.page-numbers > li {
  display: flex;
  align-items: center;
  border: 0;
  margin: 0;
  padding: 0;
}

.woocommerce .shop-page__pagination nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
.woocommerce .shop-page__pagination nav.woocommerce-pagination ul.page-numbers li span.page-numbers,
.shop-page__pagination a.page-numbers,
.shop-page__pagination span.page-numbers,
.shop-page__pagination .pagination a.page-numbers,
.shop-page__pagination .pagination span.page-numbers {
  display: inline-flex;
  min-width: auto;
  height: auto;
  min-height: 22px;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--cafe-color-text) !important;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.woocommerce .shop-page__pagination nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current,
.shop-page__pagination span.page-numbers.current {
  background: transparent !important;
  color: var(--cafe-color-text) !important;
  font-weight: 700;
}

.woocommerce .shop-page__pagination nav.woocommerce-pagination ul.page-numbers li span.page-numbers.dots,
.shop-page__pagination span.page-numbers.dots {
  font-size: 0 !important;
  line-height: 0;
}

.shop-page__pagination .dots::before {
  content: "......";
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
}

.shop-page__pagination .prev,
.shop-page__pagination .next {
  display: inline-flex;
  gap: 28px;
  align-items: center;
  color: #000 !important;
  font-weight: 400;
}

.shop-page__pagination .prev::after,
.shop-page__pagination .next::before {
  display: block;
  width: 8px;
  height: 14px;
  flex: 0 0 8px;
  background: var(--cafe-color-text);
  content: "";
  -webkit-mask: url("../img/shop-pagination-next.svg") center / contain no-repeat;
  mask: url("../img/shop-pagination-next.svg") center / contain no-repeat;
}

.shop-page__pagination .prev::after {
  transform: rotate(180deg);
}

.shop-page__seo {
  position: relative;
  display: flex;
  justify-content: center;
  margin-top: 72px;
  padding-bottom: 34px;
}

.shop-page__seo-inner {
  width: min(100%, 886px);
  text-align: center;
}

.shop-page__seo-title {
  margin: 0 0 29px;
  font-size: 36px;
  line-height: 1;
}

.shop-page__seo-content {
  position: relative;
  max-height: 116px;
  overflow: hidden;
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1.45;
  text-align: left;
}

.shop-page__seo-content::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  height: 110px;
  background: linear-gradient(180deg, rgba(255, 251, 245, 0) 0%, var(--cafe-color-bg) 90%);
  content: "";
  pointer-events: none;
}

.shop-page__seo.is-collapsible .shop-page__seo-content::after {
  display: block;
}

.shop-page__seo.is-expanded .shop-page__seo-content {
  max-height: none;
}

.shop-page__seo.is-expanded .shop-page__seo-content::after {
  display: none;
}

.shop-page__seo-content .term-description,
.shop-page__seo-content .page-description {
  margin: 0;
}

.shop-page__seo-content h2,
.shop-page__seo-content h3,
.shop-page__seo-content h4 {
  color: var(--cafe-color-text);
  font-weight: 700;
  letter-spacing: 0;
}

.shop-page__seo-content h2 {
  margin: 0 0 29px;
  font-size: 36px;
  line-height: 1;
}

.shop-page__seo-content h3,
.shop-page__seo-content h4 {
  margin: 29px 0 22px;
  font-size: 22px;
  line-height: 1;
}

.shop-page__seo-content p {
  margin-top: 0;
}

.shop-page__seo-content p:last-child {
  margin-bottom: 0;
}

.shop-page__seo-more {
  padding: 0;
  margin-top: 18px;
  border: 0;
  background: transparent;
  color: var(--cafe-color-text);
  cursor: pointer;
  font-size: 16px;
  line-height: 1.45;
}

@media (max-width: 1500px) {
  .shop-page__hero,
  .shop-page__inner {
    grid-template-columns: 340px minmax(0, 1fr);
  }

  .woocommerce ul.products:not(.product-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1320px) {
  .woocommerce ul.products:not(.product-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .shop-page {
    padding-top: 28px;
  }

  .shop-page__hero {
    grid-template-columns: 1fr;
    min-height: 300px;
    margin-bottom: 40px;
  }

  .shop-page__hero-side {
    display: none;
  }

  .shop-page__toolbar {
    justify-content: space-between;
    margin-bottom: 28px;
  }

  .shop-page__filter-toggle {
    display: inline-flex;
  }

  .shop-page__sidebar,
  .shop-filters {
    height: auto;
    min-height: 0;
  }

  .shop-page__sidebar {
    align-self: auto;
    width: 100%;
  }

  .shop-page__inner--empty {
    min-height: 0;
  }

  .shop-page__inner--empty .woocommerce-info {
    margin-bottom: 0;
  }

  .shop-filters,
  .shop-filters__panel {
    width: 100%;
    min-height: 0;
  }

  .shop-page__seo {
    margin-top: 48px;
  }

  .shop-page__seo-inner {
    width: 100%;
  }

  .shop-page__bottom-illustration {
    width: 160px;
    height: 160px;
    margin-top: 56px;
  }
}

@media (max-width: 760px) {
  .shop-page__hero {
    min-height: 240px;
  }

  .shop-page__hero-copy {
    right: 24px;
    left: 24px;
    width: auto;
  }

  .shop-page__toolbar {
    gap: 14px;
  }

  .shop-page__filter-toggle {
    order: 3;
    justify-content: space-between;
    width: 100%;
    text-align: left;
  }

  .shop-page__sort {
    order: 2;
    flex-basis: auto;
    min-width: 0;
    width: 100%;
  }

  .shop-page__sort .woocommerce-ordering,
  .shop-page__sort select {
    display: block;
    width: 100%;
  }

  .shop-page__sort select {
    box-sizing: border-box;
    padding-right: 52px;
    background-position: right 20px center;
    text-align: left;
    text-align-last: left;
  }

  .woocommerce .shop-page__pagination nav.woocommerce-pagination ul.page-numbers,
  .shop-page__pagination .woocommerce-pagination ul.page-numbers {
    gap: 12px;
  }

  .woocommerce .shop-page__pagination nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
  .woocommerce .shop-page__pagination nav.woocommerce-pagination ul.page-numbers li span.page-numbers,
  .shop-page__pagination a.page-numbers,
  .shop-page__pagination span.page-numbers,
  .shop-page__pagination .pagination a.page-numbers,
  .shop-page__pagination .pagination span.page-numbers {
    font-size: 16px;
  }

  .shop-page__pagination .dots::before {
    font-size: 16px;
  }

  .shop-page__pagination .prev,
  .shop-page__pagination .next {
    gap: 12px;
  }

  .shop-page__seo-title {
    font-size: 28px;
    line-height: 1.15;
  }

  .shop-page__seo-content h2 {
    font-size: 28px;
    line-height: 1.15;
  }

  .shop-page__seo-content {
    max-height: 220px;
  }
}

.single-product-page {
  padding: 18px 0 var(--cafe-section);
  color: var(--cafe-color-text);
}

.single-product-page__inner {
  width: min(100% - 32px, 1224px);
  display: grid;
  grid-template-columns: minmax(520px, 1.07fr) minmax(380px, 500px);
  gap: clamp(42px, 5vw, 80px);
  align-items: start;
}

.single-product-page__gallery,
.single-product-page__summary {
  min-width: 0;
}

.single-product-gallery {
  display: grid;
  gap: 24px;
}

.single-product-gallery__stage {
  display: grid;
  place-items: center;
  min-height: clamp(430px, 43.2vw, 640px);
  padding: clamp(36px, 5vw, 74px);
  border: 1px solid var(--cafe-color-border);
  border-radius: 8px;
  background: #fff;
  color: inherit;
  cursor: zoom-in;
  text-decoration: none;
}

.single-product-gallery__image,
.woocommerce div.product div.images .single-product-gallery__image {
  display: block;
  width: 100%;
  max-width: 560px;
  height: auto;
  max-height: 500px;
  margin: 0;
  box-shadow: none;
  object-fit: contain;
}

.single-product-gallery__thumbs {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 24px;
  gap: 10px;
  align-items: center;
}

.single-product-gallery__viewport {
  min-width: 0;
  overflow: hidden;
}

.single-product-gallery__track {
  --single-product-gallery-thumb-gap: 18px;
  --single-product-gallery-visible-gap: 54px;

  display: flex;
  gap: var(--single-product-gallery-thumb-gap);
  transition: transform 180ms ease;
}

.single-product-gallery__thumb {
  display: grid;
  flex: 0 0 calc((100% - var(--single-product-gallery-visible-gap)) / 4);
  place-items: center;
  aspect-ratio: 176 / 125;
  padding: 14px 22px;
  border: 1px solid var(--cafe-color-border);
  border-radius: 7px;
  background: #fff;
  color: inherit;
  cursor: pointer;
}

.single-product-gallery__thumb.is-active {
  box-shadow: inset 0 0 0 1px var(--cafe-color-border);
}

.single-product-gallery__thumb-image,
.woocommerce div.product div.images .single-product-gallery__thumb-image {
  display: block;
  width: 100%;
  height: 92px;
  margin: 0;
  box-shadow: none;
  object-fit: contain;
}

.single-product-gallery__arrow {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--cafe-color-accent);
  cursor: pointer;
}

.single-product-gallery__arrow:hover,
.single-product-gallery__arrow:focus {
  color: var(--cafe-color-accent-dark);
}

body.has-product-gallery-lightbox {
  overflow: hidden;
}

.single-product-lightbox {
  --single-product-lightbox-padding: clamp(16px, 3vw, 44px);

  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  padding: var(--single-product-lightbox-padding);
  overflow: auto;
}

.single-product-lightbox.is-open {
  display: flex;
}

.single-product-lightbox__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  cursor: zoom-out;
}

.single-product-lightbox__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 1180px);
  max-height: calc(100vh - var(--single-product-lightbox-padding) - var(--single-product-lightbox-padding));
  max-height: calc(100dvh - var(--single-product-lightbox-padding) - var(--single-product-lightbox-padding));
  outline: 0;
}

.single-product-lightbox__image {
  display: block;
  box-sizing: border-box;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(100vh - var(--single-product-lightbox-padding) - var(--single-product-lightbox-padding));
  max-height: calc(100dvh - var(--single-product-lightbox-padding) - var(--single-product-lightbox-padding));
  padding: clamp(18px, 3vw, 40px);
  border-radius: 8px;
  background: #fff;
  object-fit: contain;
}

.single-product-lightbox__close,
.single-product-lightbox__arrow {
  position: absolute;
  display: inline-grid;
  place-items: center;
  border: 1px solid #fff;
  background: #fff;
  color: var(--cafe-color-text);
  cursor: pointer;
}

.single-product-lightbox__close {
  top: 0;
  right: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}

.single-product-lightbox__arrow {
  top: 50%;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  transform: translateY(-50%);
}

.single-product-lightbox__arrow[hidden] {
  display: none;
}

.single-product-lightbox__arrow::before {
  width: 12px;
  height: 12px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
}

.single-product-lightbox__arrow--prev {
  left: 0;
}

.single-product-lightbox__arrow--prev::before {
  transform: translateX(2px) rotate(-135deg);
}

.single-product-lightbox__arrow--next {
  right: 0;
}

.single-product-lightbox__arrow--next::before {
  transform: translateX(-2px) rotate(45deg);
}

.single-product-lightbox__close:hover,
.single-product-lightbox__close:focus,
.single-product-lightbox__arrow:hover,
.single-product-lightbox__arrow:focus {
  background: var(--cafe-color-surface);
}

.single-product-summary {
  padding-top: 4px;
}

.single-product-summary__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  margin-bottom: 20px;
}

.single-product-summary__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 29px;
  padding: 5px 12px;
  border-radius: var(--cafe-radius-pill);
  background: #f4dfb8;
  color: var(--cafe-color-text);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}

.single-product-summary__badge--promo {
  background: #a0002b;
  color: #fff;
}

.single-product-summary__badge--new {
  background: var(--cafe-color-accent);
  color: #fff;
}

.single-product-summary__badge--featured {
  background: #fbd500;
  color: var(--cafe-color-text);
}

.single-product-summary__title {
  max-width: 520px;
  margin: 0 0 18px;
  font-size: clamp(28px, 2.35vw, 36px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: 0;
}

.single-product-summary__excerpt {
  max-width: 520px;
  margin: 16px 0;
  color: #10392b;
  font-family: var(--cafe-font-body);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.45;
}

.single-product-summary__excerpt p {
  margin: 0;
}

.single-product-summary__brew-methods {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 17px;
  align-items: center;
  margin-bottom: 24px;
  color: var(--cafe-color-accent);
}

.single-product-summary__brew-method {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  gap: 10px;
  color: #10392b;
  font-family: var(--cafe-font-body);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.45;
}

.single-product-summary__brew-method img {
  display: block;
  width: auto;
  max-width: 30px;
  height: 30px;
  object-fit: contain;
}

.single-product-options {
  display: grid;
  gap: 14px;
  margin-bottom: 22px;
}

.single-product-options__label {
  display: block;
  margin-bottom: 9px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
}

.single-product-options__values {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.single-product-options__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  min-height: 55px;
  padding: 10px 18px;
  border: 1px solid var(--cafe-color-border);
  border-radius: 8px;
  background: #fff;
  color: var(--cafe-color-text);
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  line-height: 1.2;
}

.single-product-options__button.is-active,
.single-product-options__button:hover,
.single-product-options__button:focus {
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.single-product-summary__price,
.single-product-summary__price .price {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  margin-bottom: 24px;
  color: var(--cafe-color-text);
  font-size: 32px;
  font-weight: 800;
  line-height: 1;
}

.single-product-summary__price ins {
  order: 1;
  margin: 0;
  text-decoration: none;
}

.single-product-summary__price del {
  order: 2;
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 18px;
  font-weight: 400;
}

.single-product-summary__price .woocommerce-Price-currencySymbol {
  font-size: 0.78em;
}

.single-product-summary__buy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 17px;
  align-items: center;
  margin-bottom: 22px;
}

.single-product-summary__buy form.cart {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.single-product-summary__buy form.variations_form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.single-product-summary__buy .variations,
.single-product-summary__buy .woocommerce-variation,
.single-product-summary__buy .single_variation,
.single-product-summary__buy .woocommerce-variation-price,
.single-product-summary__buy .woocommerce-variation-description,
.single-product-summary__buy .reset_variations {
  display: none !important;
}

.single-product-summary__buy .single_variation_wrap,
.single-product-summary__buy .woocommerce-variation-add-to-cart {
  position: relative;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}

.single-product-summary__buy .woocommerce-variation-add-to-cart[data-missing-attribute-tooltip]::before,
.single-product-summary__buy .woocommerce-variation-add-to-cart[data-missing-attribute-tooltip]::after {
  position: absolute;
  left: calc(80px + 10px + (100% - 90px) / 2);
  z-index: 20;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 6px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.single-product-summary__buy .woocommerce-variation-add-to-cart[data-missing-attribute-tooltip]::before {
  bottom: calc(100% + 7px);
  width: 10px;
  height: 10px;
  background: var(--cafe-color-text);
  content: "";
  transform: translate(-50%, 6px) rotate(45deg);
}

.single-product-summary__buy .woocommerce-variation-add-to-cart[data-missing-attribute-tooltip]::after {
  bottom: calc(100% + 12px);
  width: max-content;
  max-width: min(260px, calc(100vw - 32px));
  padding: 8px 12px;
  border-radius: 6px;
  background: var(--cafe-color-text);
  color: #fff;
  content: attr(data-missing-attribute-tooltip);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}

.single-product-summary__buy .woocommerce-variation-add-to-cart[data-missing-attribute-tooltip]:hover::before,
.single-product-summary__buy .woocommerce-variation-add-to-cart[data-missing-attribute-tooltip]:hover::after,
.single-product-summary__buy .woocommerce-variation-add-to-cart[data-missing-attribute-tooltip]:focus-within::before,
.single-product-summary__buy .woocommerce-variation-add-to-cart[data-missing-attribute-tooltip]:focus-within::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.single-product-summary__buy .woocommerce-variation-add-to-cart[data-missing-attribute-tooltip]:hover::before,
.single-product-summary__buy .woocommerce-variation-add-to-cart[data-missing-attribute-tooltip]:focus-within::before {
  transform: translate(-50%, 0) rotate(45deg);
}

.single-product-summary__buy .quantity {
  display: inline-grid;
  flex: 0 0 80px;
  width: 80px;
  max-width: none;
  height: 50px;
  grid-template-columns: 24px minmax(0, 1fr) 24px;
  align-items: center;
  justify-items: center;
  overflow: hidden;
  border: 1px solid var(--cafe-color-border);
  border-radius: 8px;
  background: #fff;
}

.single-product-summary__buy .quantity input.qty,
.single-product-summary__buy .quantity__value {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  appearance: textfield;
}

.single-product-summary__buy .quantity__value {
  display: grid;
  place-items: center;
}

.single-product-summary__buy .quantity input.qty::-webkit-inner-spin-button,
.single-product-summary__buy .quantity input.qty::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

.single-product-summary__buy .quantity__button {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 48px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1;
}

.single-product-summary__buy .quantity__button--minus,
.single-product-summary__buy .quantity__button--plus {
  border-radius: 0;
}

.single-product-summary__buy .quantity__button:disabled {
  color: var(--cafe-color-muted);
  cursor: not-allowed;
  opacity: 0.45;
}

.single-product-summary__buy .single_add_to_cart_button,
.woocommerce .single-product-summary__buy button.button.single_add_to_cart_button {
  display: inline-flex !important;
  flex: 1 1 0% !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 50px !important;
  padding: 10px 28px !important;
  border: 0 !important;
  border-radius: var(--cafe-radius-pill) !important;
  background: var(--cafe-color-accent) !important;
  color: var(--cafe-color-accent-contrast) !important;
  font-family: var(--cafe-font-body) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.single-product-summary__buy .single_add_to_cart_button:hover,
.single-product-summary__buy .single_add_to_cart_button:focus,
.woocommerce .single-product-summary__buy button.button.single_add_to_cart_button:hover,
.woocommerce .single-product-summary__buy button.button.single_add_to_cart_button:focus {
  border-color: var(--cafe-color-accent-dark) !important;
  background: var(--cafe-color-accent-dark) !important;
  color: var(--cafe-color-accent-contrast) !important;
  outline: 0 !important;
}

.single-product-summary__buy .single_add_to_cart_button.disabled,
.single-product-summary__buy .single_add_to_cart_button:disabled,
.woocommerce .single-product-summary__buy button.button.single_add_to_cart_button.disabled,
.woocommerce .single-product-summary__buy button.button.single_add_to_cart_button:disabled {
  background: var(--cafe-color-accent) !important;
  color: var(--cafe-color-accent-contrast) !important;
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}

.single-product-summary__wishlist {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: var(--cafe-color-accent);
  text-decoration: none;
}

.single-product-summary__wishlist img {
  display: block;
  width: 23px;
  height: 21px;
  object-fit: contain;
}

.single-product-summary__wishlist:hover,
.single-product-summary__wishlist:focus,
.single-product-summary__wishlist.is-active {
  border-radius: 50%;
  background: rgba(16, 57, 43, 0.08);
}

.single-product-summary__assurances {
  display: flex;
  flex-wrap: wrap;
  gap: 13px 16px;
  align-items: center;
  margin-bottom: 28px;
}

.single-product-summary__assurance {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: #10392b;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
  white-space: nowrap;
}

.single-product-summary__assurance-icon {
  display: inline-grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: #f4dfb8;
}

.single-product-summary__assurance-icon img {
  display: block;
  width: auto;
  height: auto;
  max-width: 14px;
  max-height: 14px;
  object-fit: contain;
}

.single-product-summary__assurance:nth-child(1) .single-product-summary__assurance-icon img {
  width: 14px;
  height: 10px;
}

.single-product-summary__assurance:nth-child(2) .single-product-summary__assurance-icon img,
.single-product-summary__assurance:nth-child(3) .single-product-summary__assurance-icon img {
  width: 11px;
  height: 13px;
}

.single-product-summary__payments {
  display: inline-block;
  line-height: 0;
}

.single-product-summary__payments img {
  display: block;
  width: auto;
  max-width: 145px;
  height: auto;
}

.single-product-content {
  width: min(100% - 32px, 1446px);
  display: grid;
  gap: 24px;
  margin-top: 48px;
}

.single-product-description,
.single-product-opinion,
.single-product-details,
.single-product-brand {
  border: 1px solid var(--cafe-color-border);
  border-radius: 7px;
  background: #fff;
}

.single-product-description {
  min-height: 220px;
  padding: 34px 43px 31px;
}

.single-product-description__content {
  width: 100%;
}

.single-product-description__content > :last-child {
  margin-bottom: 0;
}

.single-product-description__content img {
  max-width: 100%;
  height: auto;
}

.single-product-description__content h2 {
  font-size: 24px;
}

.single-product-description__content h3 {
  font-size: 20px;
}

.single-product-description__content h4 {
  font-size: 16px;
}

.single-product-opinion {
  display: grid;
  grid-template-columns: 254px minmax(0, 1.75fr) minmax(230px, 1.05fr);
  gap: 0;
  min-height: 220px;
  padding: 34px 43px 31px;
}

.single-product-opinion--no-avatar {
  grid-template-columns: minmax(0, 1.75fr) minmax(230px, 1.05fr);
}

.single-product-opinion--single-column {
  grid-template-columns: 1fr;
}

.single-product-opinion > * + * {
  border-left: 1px solid rgba(16, 57, 43, 0.58);
}

.single-product-opinion--single-column > * + * {
  border-left: 0;
}

.single-product-opinion__avatar,
.single-product-opinion__text,
.single-product-opinion__for {
  min-width: 0;
}

.single-product-opinion__avatar {
  padding-right: 34px;
}

.single-product-opinion__text {
  padding: 0 58px;
}

.single-product-opinion--no-avatar .single-product-opinion__text {
  padding-left: 0;
}

.single-product-opinion--single-column .single-product-opinion__avatar,
.single-product-opinion--single-column .single-product-opinion__text,
.single-product-opinion--single-column .single-product-opinion__for {
  padding-right: 0;
  padding-left: 0;
}

.single-product-opinion__for {
  padding-left: 58px;
}

.single-product-opinion--single-column .single-product-opinion__for {
  padding-left: 0;
}

.single-product-description h2,
.single-product-opinion h2,
.single-product-details h2,
.single-product-brand__title {
  margin: 0 0 17px;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.2;
}

.single-product-description p,
.single-product-description li,
.single-product-opinion p,
.single-product-details p,
.single-product-brand__description {
  margin: 0 0 13px;
  font-size: 14px;
  line-height: 1.45;
}

.single-product-opinion__avatar-image {
  display: block;
  min-height: 278px;
  height: 278px;
  object-fit: contain;
  object-position: left bottom;
}

.single-product-opinion__signature {
  margin-top: 18px;
}

.single-product-opinion__signature-image {
  display: block;
  width: min(100%, 170px);
  max-height: 72px;
  object-fit: contain;
  object-position: left center;
}

.single-product-opinion__for ul,
.single-product-details__list,
.single-product-details__profile {
  display: grid;
  gap: 6px;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 14px;
  line-height: 1.35;
}

.single-product-opinion__for li {
  position: relative;
  padding-left: 24px;
}

.single-product-opinion__for li::before {
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 15px;
  height: 11px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='11' viewBox='0 0 15 11' fill='none'%3E%3Cpath d='M5.58914 11L0.0272424 5.54949L0 5.49402L1.87361 3.66087L5.63028 7.3288L13.177 0L15 1.83696L5.58914 11Z' fill='%2310392B'/%3E%3C/svg%3E") center / contain no-repeat;
  content: "";
}

.single-product-details__list li {
  position: relative;
  padding-left: 14px;
}

.single-product-details__list li::before {
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.single-product-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  padding: 36px 43px;
}

.single-product-details--single-column {
  grid-template-columns: 1fr;
}

.single-product-details__column {
  min-width: 0;
}

.single-product-details__column + .single-product-details__column {
  border-left: 1px solid rgba(16, 57, 43, 0.58);
  padding-left: 58px;
}

.single-product-details__column:first-child {
  padding-right: 58px;
}

.single-product-details--single-column .single-product-details__column,
.single-product-details--single-column .single-product-details__column:first-child {
  padding-right: 0;
  padding-left: 0;
}

.single-product-details__list {
  margin-bottom: 24px;
}

.single-product-details__content {
  margin-bottom: 24px;
}

.single-product-details__content ul {
  display: grid;
  gap: 6px;
  padding-left: 18px;
  margin: 0 0 13px;
  font-size: 14px;
  line-height: 1.35;
}

.single-product-details__content-label {
  font-weight: 800;
}

.single-product-details__profile li {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
}

.single-product-details__profile-label {
  font-family: var(--cafe-font-body);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
}

.single-product-details__profile-stars {
  display: inline-block;
  min-width: 5.1em;
  color: var(--cafe-color-text);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.single-product-details__profile-text {
  min-width: 0;
}

.single-product-brand {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 643px);
  gap: clamp(48px, 8vw, 184px);
  min-height: 332px;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: #f4dfb8;
}

.single-product-brand__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  max-width: 527px;
  padding: 48px 0 46px clamp(48px, 6.9vw, 100px);
}

.single-product-brand__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 196px !important;
  min-height: var(--cafe-button-height) !important;
  margin-top: 10px !important;
  padding: 10px 18px !important;
  border: 1px solid var(--cafe-color-accent) !important;
  border-radius: var(--cafe-radius-pill) !important;
  background: var(--cafe-color-accent) !important;
  box-shadow: none !important;
  color: var(--cafe-color-accent-contrast) !important;
  cursor: pointer !important;
  font-family: var(--cafe-font-body) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.single-product-brand__button:hover,
.single-product-brand__button:focus {
  border-color: var(--cafe-color-accent-dark) !important;
  background: var(--cafe-color-accent-dark) !important;
  box-shadow: none !important;
  color: var(--cafe-color-accent-contrast) !important;
  text-decoration: none !important;
}

.single-product-brand__media {
  display: flex;
  align-items: stretch;
  justify-content: center;
  min-width: 0;
  min-height: 332px;
}

.single-product-brand__image {
  display: block;
  object-position: center;
}

.single-product-brand__image--banner {
  width: 100%;
  height: 100%;
  min-height: 332px;
  object-fit: cover;
}

.single-product-brand__media--thumbnail {
  align-items: center;
  padding: 32px;
}

.single-product-brand__image--thumbnail {
  width: auto;
  max-width: min(72%, 360px);
  height: auto;
  max-height: 260px;
  min-height: 0;
  object-fit: contain;
}

.single-product-brand__title {
  margin-bottom: 17px;
  font-size: 29px;
  line-height: 1.31;
}

.single-product-brand__description {
  max-width: 527px;
  margin-bottom: 13px;
  font-size: 16px;
  line-height: 1.45;
}

.single-product-related,
.related.products {
  margin-top: 48px;
}

.single-product .block-products.js-products-slider {
  padding-top: 0;
  padding-bottom: 0;
}

.single-product .footer-top {
  margin-top: 35px;
}

@media (max-width: 1180px) {
  .single-product-page__inner {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 440px);
    gap: 34px;
  }

  .single-product-gallery__stage {
    min-height: 390px;
  }

  .single-product-summary__assurances {
    gap: 11px 16px;
  }

  .single-product-description,
  .single-product-opinion,
  .single-product-details {
    padding-inline: 28px;
  }

  .single-product-opinion__text,
  .single-product-opinion__for,
  .single-product-details__column + .single-product-details__column {
    padding-left: 32px;
  }

  .single-product-opinion--no-avatar .single-product-opinion__text {
    padding-left: 0;
  }

  .single-product-opinion__text,
  .single-product-details__column:first-child {
    padding-right: 32px;
  }
}

@media (max-width: 1024px) {
  .single-product-page__inner,
  .single-product-opinion,
  .single-product-details,
  .single-product-brand {
    grid-template-columns: 1fr;
  }

  .single-product-brand {
    gap: 0;
    min-height: 0;
  }

  .single-product-opinion > * + *,
  .single-product-details__column + .single-product-details__column {
    border-top: 1px solid rgba(16, 57, 43, 0.58);
    border-left: 0;
  }

  .single-product-opinion__avatar,
  .single-product-opinion__text,
  .single-product-opinion__for,
  .single-product-details__column,
  .single-product-details__column:first-child,
  .single-product-details__column + .single-product-details__column {
    padding: 0;
  }

  .single-product-opinion__text,
  .single-product-opinion__for,
  .single-product-details__column + .single-product-details__column {
    padding-top: 28px;
    margin-top: 28px;
  }

  .single-product-brand__media {
    min-height: 240px;
  }

  .single-product-brand__content {
    max-width: none;
    padding: 36px 28px;
  }

  .single-product-brand__image--banner {
    min-height: 240px;
  }

  .single-product-brand__media--thumbnail {
    padding: 28px;
  }

  .single-product-brand__image--thumbnail {
    max-height: 190px;
  }
}

@media (max-width: 760px) {
  .single-product-page {
    padding-top: 10px;
  }

  .single-product-summary {
    display: flex;
    flex-direction: column;
  }

  .single-product-summary__badges {
    order: 1;
  }

  .single-product-summary__title {
    order: 2;
  }

  .single-product-summary__brew-methods {
    order: 3;
  }

  .single-product-options {
    order: 4;
  }

  .single-product-summary__price {
    order: 5;
  }

  .single-product-summary__buy {
    order: 6;
  }

  .single-product-summary__excerpt {
    order: 7;
  }

  .single-product-summary__assurances {
    order: 8;
  }

  .single-product-summary__payments {
    order: 9;
  }

  .single-product-gallery__stage {
    min-height: 320px;
    padding: 28px;
  }

  .single-product-gallery__thumbs {
    grid-template-columns: 20px minmax(0, 1fr) 20px;
    gap: 6px;
  }

  .single-product-gallery__track {
    --single-product-gallery-thumb-gap: 10px;
    --single-product-gallery-visible-gap: 30px;
  }

  .single-product-gallery__thumb {
    padding: 10px 14px;
  }

  .single-product-gallery__thumb-image {
    height: 72px;
  }

  .single-product-summary__title {
    font-size: 27px;
  }

  .single-product-summary__buy {
    grid-template-columns: 1fr 42px;
  }

  .single-product-summary__buy form.cart,
  .single-product-summary__buy .woocommerce-variation-add-to-cart {
    flex-wrap: wrap !important;
  }

  .single-product-summary__buy .single_add_to_cart_button,
  .woocommerce .single-product-summary__buy button.button.single_add_to_cart_button {
    flex-basis: calc(100% - 90px) !important;
    padding-inline: 18px !important;
    font-size: 15px !important;
  }

  .single-product-summary__assurance {
    white-space: normal;
  }

  .single-product-description,
  .single-product-opinion,
  .single-product-details {
    padding: 24px 18px;
  }

  .single-product-brand {
    padding: 0;
  }

  .single-product-brand__content {
    padding: 28px 18px;
  }

  .single-product-brand__title {
    font-size: 26px;
  }

  .single-product-brand__description {
    font-size: 14px;
  }

  .single-product-brand__media,
  .single-product-brand__image--banner {
    min-height: 210px;
  }

  .single-product-brand__media--thumbnail {
    padding: 24px;
  }

  .single-product-brand__image--thumbnail {
    max-width: 78%;
    max-height: 160px;
  }
}

body.woocommerce-cart {
  background: var(--cafe-color-bg);
}

body.woocommerce-cart .site-header,
body.woocommerce-cart .cart-sidebar,
body.woocommerce-cart .site-footer,
body.woocommerce-cart .footer-top {
  display: none;
}

body.woocommerce-cart .site-main {
  min-height: 0;
}

body.woocommerce-cart .woocommerce-page-wrapper {
  padding-bottom: 0;
}

body.woocommerce-cart .page-content > .container--narrow,
body.woocommerce-cart .page-content__body > .woocommerce {
  width: 100%;
  max-width: none;
  margin: 0;
}

.cart-page-shell {
  color: var(--cafe-color-text);
  font-family: var(--cafe-font-body);
}

.cart-page-intro {
  min-height: 156px;
  border-bottom: 1px solid var(--cafe-color-border);
}

.cart-page-intro__inner {
  position: relative;
  width: min(100% - 48px, 1744px);
  min-height: 156px;
  margin-inline: auto;
}

.cart-page-intro__text {
  position: absolute;
  top: 34px;
  left: 50%;
  width: min(100%, 628px);
  margin: 0;
  transform: translateX(-50%);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.05;
  text-align: center;
}

.cart-page__form {
  width: min(100% - 48px, 1446px);
  margin: 57px auto 0;
}

.cart-page {
  display: grid;
  grid-template-columns: minmax(0, 712px) minmax(0, 708px);
  gap: 26px;
  align-items: start;
  justify-content: center;
}

.cart-page--empty {
  grid-template-columns: minmax(0, 712px);
}

.cart-page__main,
.cart-page__shipping {
  min-width: 0;
}

.cart-page__title {
  margin: 0 0 29px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}

.cart-page__main > .woocommerce-notices-wrapper:not(:empty),
.cart-page__main > .woocommerce-message,
.cart-page__main > .woocommerce-info,
.cart-page__main > .woocommerce-error,
.cart-page__main > .woocommerce-warning,
.cart-page__main > .woocommerce-notice--success,
.cart-page__main > .woocommerce-notice--info,
.cart-page__main > .woocommerce-notice--warning,
.cart-page__main > .woocommerce-notice--error,
.cart-page__main > .wc-block-components-notice-banner {
  width: 100%;
  border: 0 !important;
  margin: 0 0 12px;
  box-shadow: none !important;
  outline: 0;
}

.cart-page__main > .woocommerce-message,
.cart-page__main > .woocommerce-info,
.cart-page__main > .woocommerce-error,
.cart-page__main > .woocommerce-warning,
.cart-page__main > .woocommerce-notice--success,
.cart-page__main > .woocommerce-notice--info,
.cart-page__main > .woocommerce-notice--warning,
.cart-page__main > .woocommerce-notice--error,
.cart-page__main > .wc-block-components-notice-banner,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-message,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-info,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-error,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-warning,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--success,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--info,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--warning,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--error,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .wc-block-components-notice-banner {
  width: 100%;
  min-height: 66px;
  padding: 20px 24px 20px 68px;
  border: 0 !important;
  border-radius: var(--cafe-radius);
  margin: 0;
  background: rgba(16, 57, 43, 0.09);
  box-shadow: none !important;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  outline: 0;
}

.cart-page__main > .woocommerce-message::before,
.cart-page__main > .woocommerce-info::before,
.cart-page__main > .woocommerce-error::before,
.cart-page__main > .woocommerce-warning::before,
.cart-page__main > .woocommerce-notice--success::before,
.cart-page__main > .woocommerce-notice--info::before,
.cart-page__main > .woocommerce-notice--warning::before,
.cart-page__main > .woocommerce-notice--error::before,
.cart-page__main > .wc-block-components-notice-banner::before,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-message::before,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-info::before,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-error::before,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-warning::before,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--success::before,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--info::before,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--warning::before,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--error::before,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .wc-block-components-notice-banner::before {
  left: 26px;
  width: 18px;
  height: 18px;
  background: var(--cafe-color-text);
}

.cart-page__main > .woocommerce-message a:not(.button),
.cart-page__main > .woocommerce-info a:not(.button),
.cart-page__main > .woocommerce-error a:not(.button),
.cart-page__main > .woocommerce-warning a:not(.button),
.cart-page__main > .woocommerce-notice--success a:not(.button),
.cart-page__main > .woocommerce-notice--info a:not(.button),
.cart-page__main > .woocommerce-notice--warning a:not(.button),
.cart-page__main > .woocommerce-notice--error a:not(.button),
.cart-page__main > .wc-block-components-notice-banner a:not(.button),
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-message a:not(.button),
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-info a:not(.button),
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-error a:not(.button),
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-warning a:not(.button),
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--success a:not(.button),
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--info a:not(.button),
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--warning a:not(.button),
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .woocommerce-notice--error a:not(.button),
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .wc-block-components-notice-banner a:not(.button) {
  color: var(--cafe-color-text);
}

.cart-page__main > .woocommerce-message .button,
.cart-page__main > .woocommerce-info .button,
.cart-page__main > .woocommerce-error .button,
.cart-page__main > .woocommerce-warning .button,
.cart-page__main > .woocommerce-message .wc-forward,
.cart-page__main > .woocommerce-info .wc-forward,
.cart-page__main > .woocommerce-error .wc-forward,
.cart-page__main > .woocommerce-warning .wc-forward,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .button,
.cart-page__main > .woocommerce-notices-wrapper:not(:empty) .wc-forward {
  display: none;
}

.cart-page__panel {
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: #fff;
}

.cart-page__items {
  display: grid;
}

.cart-page__item {
  display: grid;
  grid-template-columns: 129px minmax(0, 1fr) 99px 28px;
  gap: 24px;
  align-items: center;
  min-height: 176px;
  padding: 28px 26px 26px;
}

.cart-page__item + .cart-page__item {
  border-top: 1px solid rgba(16, 57, 43, 0.35);
}

.cart-page__item-image {
  display: grid;
  width: 129px;
  height: 118px;
  place-items: center;
  border: 0.7px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: #fff;
  overflow: hidden;
}

.cart-page__item-image img,
.woocommerce .cart-page__item-image img {
  display: block;
  width: 109px;
  height: 109px;
  max-width: none;
  margin: 0;
  object-fit: contain;
  box-shadow: none;
}

.cart-page__item-title {
  max-width: 270px;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.cart-page__item-title a {
  color: inherit;
  text-decoration: none;
}

.cart-page__item-title a:hover,
.cart-page__item-title a:focus {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cart-page__item-meta,
.cart-page__item-meta p,
.cart-page__item-meta dl,
.cart-page__item-meta dd,
.cart-page__item-meta dt {
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}

.cart-page__item-meta {
  margin-top: 10px;
}

.cart-page__item-meta dt,
.cart-page__item-meta dd {
  display: inline;
}

.cart-page__item-price {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.cart-page__item-quantity {
  justify-self: end;
}

.cart-page__item-quantity .quantity {
  display: grid;
  width: 99px;
  max-width: none;
  height: 40px;
  grid-template-columns: 32px 35px 32px;
  overflow: hidden;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  background: #fff;
}

.cart-page__item-quantity .quantity input.qty {
  width: 35px;
  min-height: 38px;
  padding: 0;
  border: 0;
  border-radius: 0;
  appearance: textfield;
  color: var(--cafe-color-text);
  font-size: 14px;
  text-align: center;
}

.cart-page__item-quantity .quantity input.qty::-webkit-outer-spin-button,
.cart-page__item-quantity .quantity input.qty::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.cart-page__item-quantity .quantity__button {
  width: 32px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1;
}

a.remove.cart-page__remove,
.woocommerce a.remove.cart-page__remove {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  background: transparent !important;
  color: #10392b !important;
  text-decoration: none;
}

a.remove.cart-page__remove:hover,
a.remove.cart-page__remove:focus,
.woocommerce a.remove.cart-page__remove:hover,
.woocommerce a.remove.cart-page__remove:focus {
  background: transparent !important;
  color: #a0002b !important;
}

.cart-page__totals {
  display: grid;
  gap: 9px;
  padding: 26px 26px 0;
  border-top: 1px solid rgba(16, 57, 43, 0.55);
}

.cart-page__total-row {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1.45;
}

.cart-page__total-row:first-child,
.cart-page__total-row strong {
  font-weight: 700;
}

.cart-page__tax {
  margin-left: 8px;
  font-size: 12px;
  font-weight: 400;
}

.cart-page__free-shipping {
  padding: 31px 26px 24px;
}

.cart-page__free-shipping p {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.cart-page__progress {
  position: relative;
  height: 8px;
  border-radius: var(--cafe-radius-pill);
  background: #fff9ef;
}

.cart-page__progress-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--cart-progress, 0%);
  min-width: 8px;
  max-width: 100%;
  border-radius: inherit;
  background: var(--cafe-color-accent);
}

.cart-page__progress-marker {
  position: absolute;
  top: 50%;
  left: min(calc(var(--cart-progress, 0%) - 1px), calc(100% - 14px));
  width: 14px;
  height: 14px;
  border: 1px solid var(--cafe-color-border);
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);
}

.cart-page__empty {
  display: flex;
  min-height: 286px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 46px 26px;
  margin: 0;
  color: var(--cafe-color-text);
  text-align: center;
}

.cart-page__empty-icon {
  display: block;
  margin-bottom: 18px;
  color: var(--cafe-color-text);
}

.cart-page__empty p {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.cart-page__empty-link,
.woocommerce a.button.cart-page__empty-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 0 24px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-small);
  margin-top: 24px;
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.cart-page__empty-link:hover,
.cart-page__empty-link:focus,
.woocommerce a.button.cart-page__empty-link:hover,
.woocommerce a.button.cart-page__empty-link:focus {
  background: var(--cafe-color-text);
  border-color: var(--cafe-color-text);
  color: #fff;
}

.cart-page__shipping-title {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  min-height: 65px;
  padding: 0 38px;
  border-radius: var(--cafe-radius-small);
  margin: 65px 0 12px;
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.cart-page__shipping-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
  padding: 28px 29px 23px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  background: #fff;
}

.cart-page__shipping-grid {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) minmax(190px, 280px);
  gap: 24px;
}

.cart-page__shipping-label,
.cart-page__parcel-label {
  display: block;
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.cart-page__rates {
  display: grid;
  gap: 11px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.cart-page__rates li {
  display: grid;
  grid-template-columns: 13px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
}

.cart-page__rates input[type="radio"] {
  width: 13px;
  height: 13px;
  margin: 6px 0 0;
  accent-color: var(--cafe-color-accent);
}

.cart-page__rates label {
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

.cart-page__rates label .amount {
  font-weight: 700;
}

.cart-page__shipping-note {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
}

.cart-page__parcel {
  margin-top: 31px;
}

.cart-page__parcel-label {
  margin-bottom: 9px;
}

.cart-page__parcel-select,
.cart-page__parcel-control select,
.cart-page__parcel-control input[type="text"],
.cart-page__parcel-control input[type="search"] {
  width: 100%;
  height: 42px;
  min-height: 42px;
  padding: 9px 18px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  background: #fff;
  color: var(--cafe-color-text);
  font-size: 14px;
}

.cart-page__map-button,
.cart-page__parcel-control .button,
.cart-page__parcel-control button {
  width: 200px;
  min-height: 50px;
  border-radius: var(--cafe-radius-small);
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.45;
  text-transform: uppercase;
}

.cart-page__checkout,
.woocommerce a.button.cart-page__checkout {
  display: flex;
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-small);
  margin-top: 12px;
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.cart-page__checkout:hover,
.cart-page__checkout:focus,
.woocommerce a.button.cart-page__checkout:hover,
.woocommerce a.button.cart-page__checkout:focus {
  border-color: var(--cafe-color-accent-dark);
  background: var(--cafe-color-accent-dark);
  color: var(--cafe-color-accent-contrast);
}

.cart-page-addons {
  --cart-addon-gap: 20px;
  --cart-addon-slide-width: 316px;

  width: min(100% - 48px, 1446px);
  margin: 62px auto 83px;
}

.cart-page-addons__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 33px;
}

.cart-page-addons__title {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

.cart-page-addons__controls {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

.cart-page-addons.is-slider-disabled .cart-page-addons__controls {
  display: none;
}

.cart-page-addons__nav {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--cafe-color-border);
  border-radius: 50%;
  background: #fff;
  color: var(--cafe-color-text);
  cursor: pointer;
}

.cart-page-addons__nav:hover,
.cart-page-addons__nav:focus-visible {
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.cart-page-addons__nav:disabled {
  cursor: default;
  opacity: 0.35;
}

.cart-page-addons__nav:disabled:hover,
.cart-page-addons__nav:disabled:focus-visible {
  background: #fff;
  color: var(--cafe-color-text);
}

.cart-page-addons__viewport {
  width: 100%;
  overflow: hidden;
}

.cart-page-addons__grid {
  display: flex;
  gap: var(--cart-addon-gap);
  align-items: stretch;
  overflow: visible;
  padding: 0;
  transition: transform 220ms ease;
  will-change: transform;
}

.cart-page-addons__viewport.swiper-initialized .cart-page-addons__grid {
  gap: 0;
}

.cart-page-addon {
  flex: 0 0 var(--cart-addon-slide-width);
  display: grid;
  grid-template-columns: 156px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  width: var(--cart-addon-slide-width);
  min-width: 0;
  height: auto;
}

.cart-page-addon.swiper-slide {
  height: auto;
}

.cart-page-addon__image {
  display: grid;
  width: 156px;
  height: 143px;
  place-items: center;
  border: 0.7px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: #fff;
}

.cart-page-addon__image img,
.woocommerce .cart-page-addon__image img {
  display: block;
  width: 118px;
  height: 118px;
  max-width: none;
  margin: 0;
  object-fit: contain;
  box-shadow: none;
}

.cart-page-addon__body {
  display: flex;
  flex-direction: column;
  width: auto;
  min-width: 0;
  height: 100%;
  min-height: 143px;
}

.cart-page-addon__name {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.cart-page-addon__name a {
  color: inherit;
  text-decoration: none;
}

.cart-page-addon__price {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: baseline;
  min-height: 20px;
  margin-top: 5px;
  font-size: 14px;
  line-height: 1.45;
}

.cart-page-addon__price ins {
  order: -1;
  color: var(--cafe-color-danger);
  font-weight: 700;
  text-decoration: none;
}

.cart-page-addon__price del {
  color: var(--cafe-color-text);
}

.cart-page-addon__price > .amount {
  color: var(--cafe-color-danger);
  font-weight: 700;
}

.cart-page-addon__button,
.woocommerce a.button.cart-page-addon__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 33px;
  min-height: 33px;
  padding: 0 12px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-small);
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  margin-top: auto;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .cart-page-intro,
  .cart-page-intro__inner {
    min-height: 172px;
  }

  .cart-page-intro__text {
    position: static;
    width: min(100%, 620px);
    margin: 24px auto 0;
    transform: none;
    font-size: 18px;
  }

  .cart-page__form {
    margin-top: 40px;
  }

  .cart-page__item {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 18px;
  }

  .cart-page__item-quantity {
    grid-column: 2;
    justify-self: start;
  }

  .cart-page__item-remove {
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
  }

  .cart-page__shipping-grid {
    grid-template-columns: 1fr;
  }

  .cart-page {
    grid-template-columns: 1fr;
  }

  .cart-page__shipping-title {
    margin-top: 32px;
  }

  .cart-page__checkout {
    margin-top: 24px;
  }

}

@media (max-width: 640px) {
  .cart-page-intro__inner,
  .cart-page__form,
  .cart-page-addons {
    width: min(100% - 32px, 1446px);
    --cart-addon-slide-width: min(100%, 320px);
  }

  .cart-page-addons__header {
    align-items: flex-start;
  }

  .cart-page-addons__controls {
    gap: 8px;
  }

  .cart-page-addons__nav {
    width: 36px;
    height: 36px;
  }

  .cart-page__title {
    font-size: 32px;
  }

  .cart-page__item {
    grid-template-columns: 1fr;
    padding: 20px;
  }

  .cart-page__item-image {
    width: 104px;
    height: 96px;
    justify-self: start;
    aspect-ratio: auto;
  }

  .cart-page__item-image img,
  .woocommerce .cart-page__item-image img {
    width: 82px;
    height: 82px;
  }

  .cart-page__item-quantity,
  .cart-page__item-remove {
    grid-column: auto;
    grid-row: auto;
    justify-self: start;
  }

  .cart-page__totals,
  .cart-page__free-shipping {
    padding-inline: 20px;
  }

  .cart-page__total-row {
    flex-direction: column;
    align-items: stretch;
  }

  .cart-page__shipping-title,
  .cart-page__shipping-panel {
    padding-inline: 20px;
  }

  .cart-page__map-button {
    width: 100%;
  }

  .cart-page-addon {
    grid-template-columns: 132px minmax(0, 1fr);
  }

  .cart-page-addon__body {
    min-height: 122px;
  }

  .cart-page-addon__image {
    width: 132px;
    height: 122px;
  }

  .cart-page-addon__image img {
    width: 104px;
    height: 104px;
  }

}

body.woocommerce-checkout {
  background: var(--cafe-color-bg);
}

.checkout-header {
  min-height: 122px;
  border-bottom: 1px solid var(--cafe-color-text);
  background: var(--cafe-color-bg);
}

.checkout-header__inner {
  position: relative;
  width: min(100% - 48px, 1446px);
  min-height: 122px;
  margin-inline: auto;
}

.checkout-header__back,
.checkout-header__brand {
  position: absolute;
  top: 48px;
  margin: 0;
  color: var(--cafe-color-text);
  font-family: var(--cafe-font-body);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.checkout-header__back {
  left: 0;
  display: inline-flex;
  gap: 12px;
  align-items: center;
}

.checkout-header__back:hover,
.checkout-header__back:focus {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.checkout-header__back-icon {
  display: block;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
}

.checkout-header__brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 22px;
  line-height: 1;
  white-space: nowrap;
}

.checkout-header__brand .site-logo,
.checkout-header__brand .custom-logo-link {
  display: inline-flex;
  align-items: center;
  color: var(--cafe-color-text);
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.checkout-header__brand .site-logo__image,
.checkout-header__brand .custom-logo-link img {
  width: auto;
  max-height: 42px;
}

.woocommerce-checkout .woocommerce-page-wrapper {
  padding-bottom: 0;
}

.page-content--checkout .page-content__body {
  margin: 0;
}

.checkout-page {
  width: min(100% - 48px, 1308px);
  margin: 88px auto 102px;
}

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  width: min(100% - 48px, 1308px);
  margin: 32px auto 0;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  width: 100%;
  margin: 0;
}

.checkout-page__title {
  margin: 0 0 44px;
  color: var(--cafe-color-text);
  font-family: var(--cafe-font-heading);
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.checkout-page > .woocommerce-NoticeGroup-checkout {
  margin: 0 0 26px;
}

.checkout-page > .woocommerce-NoticeGroup-checkout .woocommerce-error {
  width: 100%;
  margin: 0;
}

.checkout-page__form {
  display: grid;
  grid-template-columns: minmax(0, 641px) minmax(0, 641px);
  gap: 26px;
  align-items: start;
  justify-content: center;
}

.checkout-page__customer,
.checkout-page__order {
  min-width: 0;
}

.checkout-page__panel-title,
.checkout-page__order-title {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 0 49px;
  border-radius: var(--cafe-radius-small) var(--cafe-radius-small) 0 0;
  margin: 0;
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-family: var(--cafe-font-heading);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.checkout-page__panel-body {
  padding: 22px 47px 33px;
  border: 1px solid var(--cafe-color-border);
  border-top: 0;
  border-radius: 0 0 var(--cafe-radius-small) var(--cafe-radius-small);
  background: #fff;
}

.checkout-page .woocommerce-billing-fields > h3,
.checkout-page .woocommerce-shipping-fields > h3,
.checkout-page .woocommerce-additional-fields > h3 {
  display: none;
}

.checkout-page .woocommerce-billing-fields__field-wrapper,
.checkout-page .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 15px;
  row-gap: 0;
  align-items: start;
}

.checkout-page .woocommerce-additional-fields__field-wrapper,
.checkout-page .woocommerce-account-fields {
  margin-top: 15px;
}

.checkout-page .form-row {
  clear: none;
  float: none;
  width: auto;
  padding: 0;
  margin: 0;
}

.checkout-page .form-row-first,
.checkout-page .form-row-last {
  clear: none;
  float: none;
  grid-column: span 1;
  width: auto;
}

.checkout-page .form-row-wide,
.checkout-page #billing_first_name_field,
.checkout-page #billing_last_name_field,
.checkout-page #billing_company_field,
.checkout-page #billing_address_1_field,
.checkout-page #billing_address_2_field,
.checkout-page #billing_postcode_field,
.checkout-page #billing_city_field,
.checkout-page #billing_phone_field,
.checkout-page #billing_email_field,
.checkout-page #billing_nip_field,
.checkout-page #billing_country_field,
.checkout-page #billing_state_field {
  grid-column: 1 / -1;
  width: 100%;
}

.checkout-page #billing_first_name_field {
  order: 1;
}

.checkout-page #billing_last_name_field {
  order: 2;
}

.checkout-page .checkout-document-type {
  order: 3;
}

.checkout-page #billing_company_field {
  order: 4;
}

.checkout-page #billing_address_1_field {
  order: 5;
}

.checkout-page #billing_address_2_field {
  order: 6;
}

.checkout-page #billing_postcode_field {
  order: 7;
}

.checkout-page #billing_city_field {
  order: 8;
}

.checkout-page #billing_phone_field {
  order: 9;
}

.checkout-page #billing_email_field {
  order: 10;
}

.checkout-page #billing_nip_field {
  order: 11;
}

.checkout-page #billing_country_field,
.checkout-page #billing_state_field {
  order: 20;
}

.checkout-page #billing_country_field.checkout-country-hidden {
  display: none !important;
}

.checkout-page label {
  margin: 0 0 9px;
  color: var(--cafe-color-text);
  font-family: var(--cafe-font-body);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
}

.checkout-page .required {
  color: var(--cafe-color-text);
  text-decoration: none;
}

.checkout-page input[type="text"],
.checkout-page input[type="email"],
.checkout-page input[type="tel"],
.checkout-page input[type="password"],
.checkout-page select,
.checkout-page textarea,
.checkout-page .select2-container--default .select2-selection--single {
  box-sizing: border-box;
  width: 100%;
  min-height: 40px;
  padding: 8px 18px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  background: #fff;
  color: var(--cafe-color-text);
  font-family: var(--cafe-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  box-shadow: none;
}

.checkout-page textarea {
  min-height: 95px;
  resize: vertical;
}

.checkout-page ::placeholder {
  color: var(--cafe-color-text);
  opacity: 1;
}

.checkout-page .select2-container {
  width: 100% !important;
}

.checkout-page .select2-container--default .select2-selection--single {
  height: 40px;
}

.checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
  color: var(--cafe-color-text);
  line-height: 22px;
}

.checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 7px;
  right: 12px;
}

.checkout-document-type .woocommerce-input-wrapper {
  display: grid;
  grid-template-columns: 13px auto;
  justify-content: start;
  align-items: center;
  gap: 8px 8px;
}

.checkout-document-type > label {
  display: block;
  margin: 0 0 8px;
}

.checkout-document-type .woocommerce-input-wrapper label {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  font-size: 15px;
}

.checkout-document-type .optional,
.checkout-page #billing_company_field .optional {
  display: none;
}

.checkout-document-type input[type="radio"],
.checkout-page input[type="checkbox"],
.checkout-page input[type="radio"] {
  width: 13px;
  height: 13px;
  margin: 0;
  accent-color: var(--cafe-color-accent);
}

.checkout-page .woocommerce-account-fields label,
.checkout-page #ship-to-different-address label,
.checkout-page .woocommerce-terms-and-conditions-checkbox-text {
  display: inline-flex;
  gap: 9px;
  align-items: flex-start;
  margin: 0;
  font-size: 14px;
}

.checkout-page .woocommerce-account-fields {
  font-size: 14px;
}

.checkout-page .woocommerce-shipping-fields {
  margin-top: 15px;
}

.checkout-page #ship-to-different-address {
  margin: 0;
}

.checkout-page .shipping_address {
  margin-top: 15px;
}

.checkout-page__review {
  min-width: 0;
}

.checkout-page__review table.shop_table {
  width: 100%;
  border: 1px solid var(--cafe-color-border);
  border-top: 0;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 0 0 var(--cafe-radius-small) var(--cafe-radius-small);
  margin: 0;
  overflow: hidden;
  background: #fff;
  color: var(--cafe-color-text);
  font-family: var(--cafe-font-body);
}

.checkout-page__review table.shop_table th,
.checkout-page__review table.shop_table td {
  padding: 20px 45px;
  border: 0;
  border-bottom: 1px solid rgba(16, 57, 43, 0.42);
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1.45;
  text-align: left;
  vertical-align: top;
}

.checkout-page__review table.shop_table thead th {
  padding-top: 32px;
  padding-bottom: 13px;
  font-weight: 700;
}

.checkout-page__review table.shop_table tbody td {
  font-weight: 700;
}

.checkout-page__review table.shop_table tfoot th,
.checkout-page__review table.shop_table tfoot td {
  font-weight: 400;
}

.checkout-page__review table.shop_table tfoot tr:last-child th,
.checkout-page__review table.shop_table tfoot tr:last-child td {
  padding-top: 31px;
  padding-bottom: 31px;
  border-bottom: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

.checkout-page__review table.shop_table .product-total,
.checkout-page__review table.shop_table tfoot td {
  width: 220px;
}

.checkout-page__review .woocommerce-shipping-methods {
  padding: 0;
  margin: 0;
  list-style: none;
}

.checkout-page__review .woocommerce-shipping-methods li {
  display: flex;
  gap: 13px;
  align-items: flex-start;
}

.checkout-page__review .woocommerce-shipping-methods label {
  margin: 0;
  font-size: 16px;
}

.checkout-page__review .includes_tax {
  display: inline-table;
  margin-left: 4px;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 400;
}

.checkout-page__review #payment {
  padding: 36px 45px 35px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  margin-top: 32px;
  background: #fff;
  color: var(--cafe-color-text);
}

.checkout-page__review #payment ul.payment_methods {
  padding: 0;
  border: 0;
  margin: 0 0 25px;
  list-style: none;
}

.checkout-page__review #payment ul.payment_methods li {
  margin: 0;
}

.checkout-page__review #payment ul.payment_methods label {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  font-size: 14px;
}

.checkout-page__review #payment .payment_box {
  padding: 0;
  margin: 7px 0 20px;
  background: transparent;
  color: var(--cafe-color-text);
  font-size: 14px;
  line-height: 1.45;
}

.checkout-page__review #payment .payment_box::before {
  display: none;
}

.checkout-page__review #payment img {
  max-width: 167px;
  max-height: 58px;
  margin: 16px 0 0;
}

.checkout-page__review .woocommerce-privacy-policy-text {
  margin: 0 0 15px;
  color: var(--cafe-color-text);
  font-size: 14px;
  line-height: 1.45;
}

.checkout-page__review .woocommerce-privacy-policy-text a,
.checkout-page__review .woocommerce-terms-and-conditions-wrapper a {
  color: var(--cafe-color-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.checkout-page__review .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 28px;
}

.checkout-page__review .form-row.place-order {
  padding: 0;
  margin: 0;
}

.checkout-page__review #place_order {
  float: none;
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-small);
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-family: var(--cafe-font-body);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  text-transform: uppercase;
}

.checkout-page__review #place_order:hover,
.checkout-page__review #place_order:focus {
  border-color: var(--cafe-color-accent-dark);
  background: var(--cafe-color-accent-dark);
}

.checkout-footer {
  display: flex;
  justify-content: center;
  padding: 49px 24px 47px;
  border-top: 1px solid var(--cafe-color-text);
  border-bottom: 1px solid var(--cafe-color-text);
  background: var(--cafe-color-bg);
  text-align: center;
}

.checkout-footer p {
  max-width: 628px;
  margin: 0;
  color: var(--cafe-color-text);
  font-family: var(--cafe-font-heading);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

@media (max-width: 1180px) {
  .checkout-page__form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .checkout-header,
  .checkout-header__inner {
    min-height: 76px;
  }

  .checkout-header__inner {
    width: min(100% - 32px, 1446px);
  }

  .checkout-header__back,
  .checkout-header__brand {
    top: 27px;
    font-size: 14px;
  }

  .checkout-header__brand {
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 16px;
  }

  .checkout-header__brand .site-logo,
  .checkout-header__brand .custom-logo-link {
    font-size: 16px;
  }

  .checkout-header__brand .site-logo__image,
  .checkout-header__brand .custom-logo-link img {
    max-height: 34px;
  }

  .woocommerce-checkout .container--breadcrumbs,
  .checkout-page,
  .woocommerce-checkout .woocommerce-form-login-toggle,
  .woocommerce-checkout .woocommerce-form-coupon-toggle {
    width: min(100% - 32px, 1446px);
  }

  .checkout-page {
    margin-top: 46px;
    margin-bottom: 64px;
  }

  .checkout-page__title {
    margin-bottom: 28px;
    font-size: 30px;
    line-height: 1.08;
  }

  .checkout-page__panel-title,
  .checkout-page__order-title {
    min-height: 56px;
    padding: 0 22px;
  }

  .checkout-page__panel-body,
  .checkout-page__review #payment {
    padding: 24px 22px;
  }

  .checkout-page .woocommerce-billing-fields__field-wrapper,
  .checkout-page .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .checkout-page .form-row-first,
  .checkout-page .form-row-last {
    grid-column: 1 / -1;
  }

  .checkout-page__review table.shop_table th,
  .checkout-page__review table.shop_table td {
    padding: 16px 22px;
    font-size: 14px;
  }

  .checkout-page__review table.shop_table tfoot tr:last-child th,
  .checkout-page__review table.shop_table tfoot tr:last-child td {
    font-size: 18px;
  }

  .checkout-page__review table.shop_table .product-total,
  .checkout-page__review table.shop_table tfoot td {
    width: auto;
  }

  .checkout-footer p {
    font-size: 18px;
  }
}

.woocommerce-account .page-content {
  padding: 48px 0 var(--cafe-section);
}

.woocommerce-account .container--narrow {
  width: min(100% - 32px, 1180px);
}

.woocommerce-account .page-content__body > .woocommerce {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}

.woocommerce-account .page-content__body > .woocommerce::before,
.woocommerce-account .page-content__body > .woocommerce::after {
  display: none;
}

.woocommerce-account .woocommerce-notices-wrapper:empty {
  display: none;
}

.woocommerce-account .woocommerce-notices-wrapper:not(:empty),
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-warning,
.woocommerce-account .woocommerce-notice--success,
.woocommerce-account .woocommerce-notice--info,
.woocommerce-account .woocommerce-notice--warning,
.woocommerce-account .woocommerce-notice--error,
.woocommerce-account .wc-block-components-notice-banner,
.woocommerce-account #customer_login,
.woocommerce-account .page-content__body > .woocommerce > h2,
.woocommerce-account .page-content__body > .woocommerce > .woocommerce-form-login,
.woocommerce-account .page-content__body > .woocommerce > .woocommerce-form-register {
  grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  grid-column: 1;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: grid;
  gap: 4px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: var(--cafe-radius-small);
  color: var(--cafe-color-text);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a::after {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: "";
  opacity: 0;
  transform: rotate(45deg);
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus {
  background: var(--cafe-color-surface);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover::after,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus::after,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a::after {
  opacity: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout {
  padding-top: 8px;
  margin-top: 8px;
  border-top: 1px solid rgba(16, 57, 43, 0.18);
}

.woocommerce-account .woocommerce-MyAccount-content {
  grid-column: 2;
  min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  margin-bottom: 18px;
  font-size: 28px;
  line-height: 1.15;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child:not(.account-dashboard__text) {
  padding: 0;
  border: 0;
  margin: 0 0 20px;
  background: transparent;
  line-height: 1.55;
}

.account-dashboard {
  display: grid;
  gap: 20px;
}

.account-dashboard__welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 28px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: #fff;
}

.account-dashboard__welcome-copy {
  min-width: 0;
}

.account-dashboard__eyebrow {
  display: block;
  margin-bottom: 8px;
  color: var(--cafe-color-muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  text-transform: uppercase;
}

.account-dashboard__title {
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 32px;
  line-height: 1.1;
}

.account-dashboard__text {
  max-width: 560px;
  margin: 10px 0 0;
  color: var(--cafe-color-muted);
  line-height: 1.5;
}

.account-dashboard__logout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 42px;
  padding: 9px 18px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-pill);
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.account-dashboard__logout:hover,
.account-dashboard__logout:focus {
  background: var(--cafe-color-surface);
}

.account-dashboard__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.account-dashboard__link {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  min-height: 132px;
  padding: 22px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: #fff;
  color: var(--cafe-color-text);
  text-decoration: none;
}

.account-dashboard__link:hover,
.account-dashboard__link:focus {
  background: var(--cafe-color-surface-alt);
}

.account-dashboard__link-title {
  display: block;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
}

.account-dashboard__link-description {
  display: block;
  color: var(--cafe-color-muted);
  font-size: 14px;
  line-height: 1.4;
}

.account-dashboard__link-arrow {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  margin-top: 5px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
  overflow: hidden;
  border: 1px solid var(--cafe-color-border);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--cafe-radius);
  background: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table th {
  background: var(--cafe-color-surface);
  font-size: 14px;
  font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
  border-right: 1px solid rgba(16, 57, 43, 0.12);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table th:last-child,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td:last-child {
  border-right: 0;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr:last-child td {
  border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .button {
  min-height: 42px;
  padding: 9px 18px;
  font-size: 13px;
  line-height: 1.2;
  text-transform: uppercase;
}

.woocommerce-account .woocommerce-Addresses,
.woocommerce-account #customer_login {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin-top: 0;
  clear: both;
}

.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after,
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after {
  display: none !important;
  content: none !important;
}

.woocommerce-account .woocommerce-Address,
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2,
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 {
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: #fff;
}

.woocommerce-account .woocommerce-Addresses .u-column1 {
  grid-column: 1;
  grid-row: 1;
}

.woocommerce-account .woocommerce-Addresses .u-column2 {
  grid-column: 2;
  grid-row: 1;
}

.woocommerce-account .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.woocommerce-account .woocommerce-Address-title h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.15;
}

.woocommerce-account .woocommerce-Address-title .edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-pill);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
}

.woocommerce-account .woocommerce-Address-title .edit:hover,
.woocommerce-account .woocommerce-Address-title .edit:focus {
  background: var(--cafe-color-surface);
}

.woocommerce-account .woocommerce-Address address {
  font-style: normal;
  line-height: 1.55;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row {
  margin: 0 0 16px;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content form .form-row-last {
  float: none;
  width: auto;
}

.woocommerce-account .woocommerce-MyAccount-content form .clear {
  display: none;
}

.woocommerce-account .woocommerce-MyAccount-content fieldset {
  padding: 22px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  margin: 24px 0;
  background: var(--cafe-color-surface-alt);
}

.woocommerce-account .woocommerce-MyAccount-content legend {
  padding: 0 8px;
  font-weight: 700;
}

.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row,
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row {
  margin: 0;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
.woocommerce-account .woocommerce-EditAccountForm fieldset,
.woocommerce-account .woocommerce-EditAccountForm p:last-child,
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-wide {
  grid-column: 1 / -1;
}

.woocommerce-account #customer_login .woocommerce-form {
  margin: 0;
}

.woocommerce-account .page-content__body > .woocommerce > .woocommerce-form-login,
.woocommerce-account .page-content__body > .woocommerce > .woocommerce-form-register {
  max-width: 520px;
  padding: 24px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius);
  background: #fff;
}

@media (max-width: 1024px) {
  .woocommerce-account .page-content__body > .woocommerce {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 1;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
    display: none;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout {
    padding-top: 0;
    padding-left: 8px;
    margin-top: 0;
    margin-left: 4px;
    border-top: 0;
    border-left: 1px solid rgba(16, 57, 43, 0.18);
  }
}

@media (max-width: 760px) {
  .woocommerce-account .page-content {
    padding-top: 28px;
  }

  .account-dashboard__welcome,
  .woocommerce-account .woocommerce-Address,
  .woocommerce-account #customer_login .u-column1,
  .woocommerce-account #customer_login .u-column2,
  .woocommerce-account .page-content__body > .woocommerce > .woocommerce-form-login,
  .woocommerce-account .page-content__body > .woocommerce > .woocommerce-form-register {
    padding: 20px;
  }

  .account-dashboard__welcome {
    align-items: flex-start;
    flex-direction: column;
  }

  .account-dashboard__title {
    font-size: 28px;
  }

  .account-dashboard__links,
  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account #customer_login,
  .woocommerce-account .woocommerce-EditAccountForm,
  .woocommerce-account .woocommerce-address-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .woocommerce-Addresses .u-column1,
  .woocommerce-account .woocommerce-Addresses .u-column2 {
    grid-column: 1;
    grid-row: auto;
  }

  .account-dashboard__link {
    min-height: 0;
  }

  .woocommerce-account .woocommerce-info,
  .woocommerce-account .woocommerce-message,
  .woocommerce-account .woocommerce-error,
  .woocommerce-account .woocommerce-warning,
  .woocommerce-account .woocommerce-notice--success,
  .woocommerce-account .woocommerce-notice--info,
  .woocommerce-account .woocommerce-notice--warning,
  .woocommerce-account .woocommerce-notice--error,
  .woocommerce-account .wc-block-components-notice-banner {
    align-items: center;
    flex-direction: row;
  }

  .woocommerce-account .woocommerce-info .button,
  .woocommerce-account .woocommerce-message .button,
  .woocommerce-account .woocommerce-error .button,
  .woocommerce-account .woocommerce-warning .button,
  .woocommerce-account .woocommerce-notice--success .button,
  .woocommerce-account .woocommerce-notice--info .button,
  .woocommerce-account .woocommerce-notice--warning .button,
  .woocommerce-account .woocommerce-notice--error .button,
  .woocommerce-account .woocommerce-info .wc-forward,
  .woocommerce-account .woocommerce-message .wc-forward,
  .woocommerce-account .woocommerce-error .wc-forward,
  .woocommerce-account .woocommerce-warning .wc-forward,
  .woocommerce-account .woocommerce-notice--success .wc-forward,
  .woocommerce-account .woocommerce-notice--info .wc-forward,
  .woocommerce-account .woocommerce-notice--warning .wc-forward,
  .woocommerce-account .woocommerce-notice--error .wc-forward,
  .woocommerce-account .wc-block-components-notice-banner .button,
  .woocommerce-account .wc-block-components-notice-banner .wc-forward,
  .woocommerce-account .wc-block-components-notice-banner .wc-block-components-button {
    width: auto;
    margin: 0 0 0 auto;
  }

  .account-dashboard__logout {
    width: 100%;
    margin-left: 0;
  }
}

/* Shared block styles can live here when they are not owned by a block stylesheet. */

.block-blog {
  width: auto;
  margin: 0 calc(50% - 50vw);
  padding: var(--cafe-section) 0 0;
  color: var(--cafe-color-text);
}

.block-blog__container {
  display: flex;
  flex-direction: column;
}

.block-blog__header {
  margin-bottom: 42px;
  text-align: center;
}

.block-blog__heading {
  margin: 0 0 20px;
  font-size: 36px;
  line-height: 1;
}

.block-blog__category-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.block-blog__category-item {
  display: flex;
  align-items: center;
}

.block-blog__category-item + .block-blog__category-item::before {
  content: "";
  width: 1px;
  height: 12px;
  margin: 0 25px;
  background: var(--cafe-color-text);
}

.block-blog__category-link {
  color: var(--cafe-color-text);
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
}

.block-blog__category-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.block-blog__posts {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(0, 0.97fr);
  gap: 32px;
  align-items: start;
}

.block-blog__side {
  display: grid;
  gap: 32px;
}

.block-blog__post {
  min-width: 0;
}

.block-blog__post--compact {
  display: grid;
  grid-template-columns: minmax(220px, 415px) minmax(220px, 1fr);
  gap: 32px;
  align-items: start;
}

.block-blog__media {
  display: block;
  overflow: hidden;
  border-radius: var(--cafe-radius);
  background: var(--cafe-color-surface);
}

.block-blog__post--featured .block-blog__media {
  aspect-ratio: 859 / 435;
}

.block-blog__post--compact .block-blog__media {
  aspect-ratio: 415 / 300;
}

.block-blog__media--placeholder {
  background:
    linear-gradient(135deg, rgba(16, 57, 43, 0.08), rgba(16, 57, 43, 0.02)),
    var(--cafe-color-surface);
}

.block-blog__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.block-blog__media:hover .block-blog__image {
  transform: scale(1.03);
}

.block-blog__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  min-width: 0;
}

.block-blog__post--featured .block-blog__body {
  max-width: 512px;
  margin-top: 28px;
}

.block-blog__meta {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--cafe-color-text);
  font-size: 14px;
  line-height: 1.45;
}

.block-blog__meta::before {
  content: "";
  width: 12px;
  height: 13px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.5 1v2M9.5 1v2M1 5h10M2 2h8a1 1 0 0 1 1 1v7.5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1Z' fill='none' stroke='black' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.5 1v2M9.5 1v2M1 5h10M2 2h8a1 1 0 0 1 1 1v7.5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1Z' fill='none' stroke='black' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.block-blog__post-title {
  margin: 0;
  font-size: 22px;
  line-height: 1;
}

.block-blog__post-title a {
  color: var(--cafe-color-text);
  text-decoration: none;
}

.block-blog__post-title a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.block-blog__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 105px;
  min-height: 44px;
  padding: 9px 26px;
  border: 1px solid var(--cafe-color-text);
  border-radius: var(--cafe-radius-pill);
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
}

.block-blog__more:hover {
  background: var(--cafe-color-text);
  color: var(--cafe-color-accent-contrast);
}

.block-blog__footer {
  display: flex;
  justify-content: center;
  margin-top: 70px;
}

.block-blog__all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 50px;
  padding: 10px 24px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-pill);
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
}

.block-blog__all:hover {
  background: var(--cafe-color-accent-dark);
  border-color: var(--cafe-color-accent-dark);
}

.block-blog--editor {
  width: 100%;
  margin: 0;
  padding: 24px;
  border: 1px dashed var(--cafe-color-border);
}

.block-blog--editor .block-blog__container {
  width: 100%;
}

.block-blog--editor .block-blog__footer {
  margin-top: 32px;
}

@media (max-width: 1280px) {
  .block-blog__posts {
    grid-template-columns: 1fr;
  }

  .block-blog__post--featured .block-blog__body {
    max-width: 680px;
  }
}

@media (max-width: 860px) {
  .block-blog__post--compact {
    grid-template-columns: 1fr;
  }

  .block-blog__post--compact .block-blog__body {
    max-width: 680px;
  }
}

@media (max-width: 760px) {
  .block-blog {
    padding: var(--cafe-section) 0 0;
  }

  .block-blog__heading {
    font-size: 30px;
  }

  .block-blog__category-list {
    gap: 10px 18px;
  }

  .block-blog__category-item + .block-blog__category-item::before {
    display: none;
  }

  .block-blog__posts,
  .block-blog__side {
    gap: 28px;
  }

  .block-blog__post--featured .block-blog__body {
    margin-top: 20px;
  }

  .block-blog__footer {
    margin-top: 44px;
  }
}

.block-categories {
  width: auto;
  margin: 0 calc(50% - 50vw);
  padding: var(--cafe-section) 0 0;
}

.block-categories__grid {
  display: grid;
  grid-template-columns: minmax(0, 1014fr) minmax(360px, 706fr);
  gap: 30px 24px;
}

.block-categories__side {
  display: grid;
  gap: 30px;
}

.block-categories__card {
  position: relative;
  overflow: hidden;
  border-radius: var(--cafe-radius);
}

.block-categories__card--large {
  display: flex;
  min-height: 600px;
  align-items: flex-start;
  color: #ffffff;
  background: var(--cafe-color-accent);
}

.block-categories__card--small {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 285px;
}

.block-categories__card--dark {
  color: var(--cafe-color-accent-contrast);
  background: var(--cafe-color-accent);
}

.block-categories__card--light {
  color: var(--cafe-color-text);
  background: #f5e1c3;
}

.block-categories__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.block-categories__card--large > .block-categories__image,
.block-categories__overlay {
  position: absolute;
  inset: 0;
}

.block-categories__card--large > .block-categories__image {
  z-index: 1;
}

.block-categories__overlay {
  z-index: 2;
  background: linear-gradient(90deg, rgba(0, 34, 22, 0.9) 0%, rgba(0, 34, 22, 0.65) 35%, rgba(0, 16, 11, 0) 72%);
  pointer-events: none;
}

.block-categories__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
}

.block-categories__card--large .block-categories__content {
  width: 100%;
  padding: 156px 48px 48px 78px;
}

.block-categories__card--small .block-categories__content {
  padding: 33px 42px 31px;
}

.block-categories__media {
  min-height: 285px;
}

.block-categories__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 67px;
  min-height: 25px;
  padding: 5px 10px;
  border-radius: var(--cafe-radius-pill);
  background: var(--cafe-color-highlight);
  color: var(--cafe-color-text);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

.block-categories__card--dark .block-categories__badge {
  background: var(--cafe-color-accent-contrast);
}

.block-categories__card--light .block-categories__badge {
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.block-categories__title {
  margin: 0;
  font-family: var(--cafe-font-heading);
  font-weight: 700;
  letter-spacing: 0;
}

.block-categories__card--large .block-categories__title {
  width: 320px;
  max-width: 100%;
  color: #ffffff;
  font-size: 42px;
  line-height: 1;
}

.block-categories__card--small .block-categories__title {
  width: 292px;
  max-width: calc(100% + 23px);
  color: currentColor;
  font-size: 22px;
  line-height: 1;
}

.block-categories__description {
  margin: 0;
  color: currentColor;
  font-weight: 400;
  line-height: 1.45;
}

.block-categories__card--large .block-categories__description {
  width: 320px;
  max-width: 100%;
  font-size: 16px;
}

.block-categories__card--small .block-categories__description {
  width: 246px;
  max-width: 100%;
  font-size: 14px;
}

.block-categories__card--light .block-categories__title,
.block-categories__card--light .block-categories__description {
  width: 230px;
}

.block-categories__button,
a.block-categories__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-pill);
  background: #fffaf3;
  color: var(--cafe-color-accent);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.block-categories__card--large .block-categories__button {
  min-width: 130px;
  min-height: 45px;
  margin-top: 10px;
  padding: 10px 19px;
}

.block-categories__card--small .block-categories__button {
  min-width: 100px;
  min-height: 38px;
  margin-top: auto;
  padding: 8px 18px;
}

.block-categories__button:hover,
.block-categories__button:focus,
a.block-categories__button:hover,
a.block-categories__button:focus {
  border: 1px solid var(--cafe-color-text);
  border-radius: var(--cafe-radius-pill);
  color: var(--cafe-color-text);
}

.block-categories--editor {
  width: 100%;
  margin: 0;
  padding: 24px 0;
}

.block-categories--editor .container {
  padding-right: 0;
  padding-left: 0;
}

.block-categories-editor__media-field {
  margin-bottom: 18px;
}

.block-categories-editor__label {
  margin: 0 0 8px;
  font-weight: 600;
}

.block-categories-editor__media-preview,
.block-categories-editor__media-placeholder {
  display: block;
  width: 100%;
  max-height: 180px;
  margin-bottom: 10px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  object-fit: cover;
}

.block-categories-editor__media-placeholder {
  display: flex;
  min-height: 110px;
  align-items: center;
  justify-content: center;
  background: var(--cafe-color-surface);
  color: var(--cafe-color-muted);
}

.block-categories-editor__media-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

@media (max-width: 1280px) {
  .block-categories__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
    gap: 20px;
  }

  .block-categories__side {
    gap: 20px;
  }

  .block-categories__card--large .block-categories__content {
    padding: 120px 44px 44px 56px;
  }

  .block-categories__card--small .block-categories__content {
    padding: 30px 32px;
  }

  .block-categories__card--small .block-categories__title,
  .block-categories__card--small .block-categories__description {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 980px) {
  .block-categories__grid {
    grid-template-columns: 1fr;
  }

  .block-categories__card--large {
    min-height: 520px;
  }

  .block-categories__side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .block-categories__card--small {
    grid-template-columns: 1fr;
  }

  .block-categories__media {
    min-height: 240px;
  }
}

@media (max-width: 760px) {
  .block-categories {
    padding: 35px 0;
  }

  .block-categories__side {
    grid-template-columns: 1fr;
  }

  .block-categories__card--small {
    grid-template-columns: minmax(0, 1fr) minmax(190px, 46%);
  }

  .block-categories__media {
    min-height: 285px;
  }
}

@media (max-width: 560px) {
  .block-categories__grid,
  .block-categories__side {
    gap: 16px;
  }

  .block-categories__card--large {
    min-height: 480px;
  }

  .block-categories__card--large .block-categories__content {
    padding: 44px 24px;
  }

  .block-categories__card--large .block-categories__title,
  .block-categories__card--large .block-categories__description {
    width: 100%;
  }

  .block-categories__card--large .block-categories__title {
    font-size: 34px;
  }

  .block-categories__card--large .block-categories__description {
    font-size: 15px;
  }

  .block-categories__card--small {
    grid-template-columns: 1fr;
  }

  .block-categories__card--small .block-categories__content {
    min-height: 245px;
    padding: 28px 24px;
  }

  .block-categories__media {
    min-height: 220px;
  }
}

.block-information {
  width: auto;
  margin: 0 calc(50% - 50vw);
  border-top: 1px solid var(--cafe-color-border);
  border-bottom: 1px solid var(--cafe-color-border);
  color: var(--cafe-color-text);
}

.block-information__inner {
  display: flex;
  align-items: center;
  width: min(100% - 32px, 1294px);
  min-height: 94px;
  margin-inline: auto;
  padding: 15px 0;
}

.block-information__list {
  display: flex;
  gap: 80px;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
}

.block-information__item {
  position: relative;
  display: flex;
  flex: 0 1 auto;
  gap: 26px;
  align-items: center;
  min-width: 0;
}

.block-information__item + .block-information__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -40px;
  width: 1px;
  height: 48px;
  background: var(--cafe-color-border);
  transform: translateY(-50%);
}

.block-information__media {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

.block-information__image {
  display: block;
  width: auto;
  max-width: 64px;
  max-height: 48px;
  object-fit: contain;
}

.block-information__content {
  display: block;
  flex: 0 1 auto;
  max-width: 170px;
  min-width: 0;
}

.block-information__title,
.block-information__description {
  display: block;
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.block-information__title {
  font-weight: 700;
}

.block-information__description {
  font-weight: 400;
  white-space: normal;
}

.block-information--editor {
  width: 100%;
  margin: 0;
  padding: 20px;
  border: 1px dashed var(--cafe-color-border);
}

.block-information--editor .block-information__inner {
  width: 100%;
  min-height: 0;
  padding: 0;
}

.block-information--editor .block-information__list {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 24px 48px;
}

.block-information--editor .block-information__item::before {
  display: none;
}

.block-information-editor__media-field {
  margin-bottom: 18px;
}

.block-information-editor__label {
  margin: 0 0 8px;
  font-weight: 600;
}

.block-information-editor__media-preview,
.block-information-editor__media-placeholder {
  display: block;
  width: 100%;
  max-height: 160px;
  margin-bottom: 10px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  object-fit: contain;
}

.block-information-editor__media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  background: var(--cafe-color-surface);
  color: var(--cafe-color-muted);
}

.block-information-editor__media-actions,
.block-information-editor__item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.block-information-editor__empty {
  margin: 0;
  color: var(--cafe-color-muted);
  font-size: 14px;
  line-height: 1.45;
}

@media (max-width: 1200px) {
  .block-information__list {
    gap: 48px;
  }

  .block-information__item + .block-information__item::before {
    left: -24px;
  }
}

@media (max-width: 900px) {
  .block-information__inner {
    padding: 24px 0;
  }

  .block-information__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 32px;
  }

  .block-information__item {
    justify-content: flex-start;
  }

  .block-information__item + .block-information__item::before {
    display: none;
  }
}

@media (max-width: 560px) {
  .block-information {
    background: var(--cafe-color-bg);
    border-top: 0;
    border-bottom: 1px solid #10392b;
  }

  .block-information__inner {
    width: min(100% - 20px, 380px);
    min-height: 0;
    padding: 17px 0 21px;
  }

  .block-information__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
    row-gap: 22px;
    align-items: start;
  }

  .block-information__item {
    gap: 15px;
    align-items: flex-start;
    min-height: 44px;
  }

  .block-information__media {
    width: 38px;
    height: 44px;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .block-information__image {
    width: auto;
    max-width: 42px;
    max-height: 40px;
  }

  .block-information__item:nth-child(1) .block-information__image {
    width: 23px;
    max-width: 23px;
    max-height: 32px;
  }

  .block-information__item:nth-child(2) .block-information__image {
    width: 40px;
    max-width: 40px;
    max-height: 40px;
  }

  .block-information__item:nth-child(3) .block-information__image {
    width: 41px;
    max-width: 41px;
    max-height: 22px;
    margin-top: 5px;
    margin-left: -2px;
  }

  .block-information__item:nth-child(4) .block-information__image {
    width: auto;
    max-width: 26px;
    max-height: 34px;
    margin-top: 2px;
  }

  .block-information__content {
    max-width: 130px;
  }

  .block-information__title,
  .block-information__description {
    color: #10392b;
    line-height: 1.45;
  }

  .block-information__title {
    font-size: 14px;
    white-space: nowrap;
  }

  .block-information__description {
    font-size: 12px;
  }
}

.block-delivery {
  width: auto;
  margin: 0 calc(50% - 50vw);
  background: var(--cafe-color-bg);
  color: var(--cafe-color-text);
}

.block-delivery .container--breadcrumbs {
  width: min(100% - 32px, var(--cafe-container));
  margin-top: 30px;
}

.block-delivery__wrap {
  width: min(100% - 32px, var(--cafe-container));
  margin-inline: auto;
}

.block-delivery__content {
  width: min(100%, 871px);
  margin-left: clamp(0px, 7.9vw, 151px);
}

.block-delivery__content--wide {
  width: min(100%, 1240px);
}

.block-delivery__hero {
  padding: 93px 0 57px;
}

.block-delivery__title,
.block-delivery__heading,
.block-delivery__options-title,
.block-delivery__eco-title,
.block-delivery__subtitle,
.block-delivery__text,
.block-delivery__payments,
.block-delivery__free-shipping,
.block-delivery__final-text,
.block-delivery__eco-text {
  color: inherit;
  letter-spacing: 0;
}

.block-delivery__title {
  margin: 0 0 20px;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
}

.block-delivery__subtitle {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.block-delivery__text,
.block-delivery__payments,
.block-delivery__free-shipping,
.block-delivery__final-text,
.block-delivery__eco-text {
  font-size: 16px;
  line-height: 1.45;
}

.block-delivery__text {
  margin: 0;
  font-weight: 400;
}

.block-delivery__section {
  border-top: 1px solid rgba(16, 57, 43, 0.58);
}

.block-delivery__section--delivery {
  padding: 49px 0 72px;
}

.block-delivery__section--payment {
  padding: 58px 0 62px;
}

.block-delivery__heading {
  margin: 0 0 36px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

.block-delivery__options-title {
  margin: 40px 0 37px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

.block-delivery__options {
  display: flex;
  flex-wrap: nowrap;
  gap: 31px;
  margin: 0 0 65px;
  padding: 0;
  list-style: none;
}

.block-delivery__option {
  display: grid;
  width: 154px;
  height: 154px;
  padding: 18px;
  border: 0;
  border-radius: 50%;
  place-items: center;
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

.block-delivery__text--note {
  width: min(100%, 839px);
}

.block-delivery__free-shipping {
  display: flex;
  gap: 4px;
  align-items: baseline;
  margin: 18px 0 0;
  font-weight: 700;
}

.block-delivery__free-shipping::before {
  color: #d82f4c;
  content: "💌";
  font-size: 12px;
  line-height: 1;
}

.block-delivery__payments {
  margin: 26px 0 21px;
  padding-left: 22px;
  font-weight: 400;
}

.block-delivery__payments li + li {
  margin-top: 2px;
}

.block-delivery__payment-note {
  width: min(100%, 1210px);
}

.block-delivery__eco {
  padding: 47px 0 48px;
  border-top: 1px solid rgba(16, 57, 43, 0.58);
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.block-delivery__content--eco {
  display: grid;
  width: min(100%, 1240px);
  grid-template-columns: 35px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.block-delivery__eco-icon {
  display: block;
  width: 35px;
  height: 36px;
}

.block-delivery__eco-icon svg {
  display: block;
  width: 100%;
  height: auto;
}

.block-delivery__eco-icon path {
  fill: var(--cafe-color-accent-contrast);
}

.block-delivery__eco-title {
  margin: 5px 0 25px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

.block-delivery__eco-text {
  margin: 0;
  font-weight: 400;
}

.block-delivery__eco-text strong,
.block-delivery__eco-text b {
  font-weight: 700;
}

.block-delivery__final {
  padding: 42px 0 52px;
  border-top: 1px solid rgba(16, 57, 43, 0.58);
}

.block-delivery__final-text {
  margin-top: 0;
  margin-bottom: 0;
}

.block-delivery--editor {
  width: 100%;
  margin: 0;
  border: 1px dashed var(--cafe-color-border);
}

.block-delivery--editor .container--breadcrumbs {
  width: min(100% - 32px, var(--cafe-container));
  margin-top: 20px;
}

.block-delivery--editor .block-delivery__hero {
  padding-top: 48px;
}

.block-delivery--editor .block-delivery__eco-icon {
  border: 1px solid currentColor;
  border-radius: 50%;
}

@media (max-width: 1180px) {
  .block-delivery__content {
    margin-left: clamp(0px, 4vw, 64px);
  }

  .block-delivery__options {
    gap: 22px;
    overflow-x: auto;
    padding-bottom: 4px;
  }
}

@media (max-width: 860px) {
  .block-delivery__hero {
    padding: 54px 0 44px;
  }

  .block-delivery__title {
    font-size: 34px;
  }

  .block-delivery__heading,
  .block-delivery__options-title,
  .block-delivery__eco-title {
    font-size: 20px;
  }

  .block-delivery__section--delivery,
  .block-delivery__section--payment {
    padding: 42px 0;
  }

  .block-delivery__options {
    gap: 18px;
    margin-bottom: 42px;
  }

  .block-delivery__option {
    width: 132px;
    height: 132px;
    font-size: 14px;
  }

  .block-delivery__content--eco {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .block-delivery__eco-icon {
    width: 30px;
    height: 32px;
  }
}

@media (max-width: 560px) {
  .block-delivery .container--breadcrumbs {
    margin-top: 20px;
  }

  .block-delivery__content {
    margin-left: 0;
  }

  .block-delivery__hero {
    padding: 42px 0 38px;
  }

  .block-delivery__title {
    font-size: 30px;
  }

  .block-delivery__subtitle {
    font-size: 16px;
  }

  .block-delivery__text,
  .block-delivery__payments,
  .block-delivery__free-shipping,
  .block-delivery__final-text,
  .block-delivery__eco-text {
    font-size: 15px;
  }

  .block-delivery__options-title {
    margin-top: 34px;
    margin-bottom: 24px;
  }

  .block-delivery__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .block-delivery__option {
    width: 100%;
    height: auto;
    min-height: 118px;
    aspect-ratio: 1;
    padding: 14px;
  }

  .block-delivery__content--eco {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .block-delivery__eco-title {
    margin-top: 0;
    margin-bottom: 18px;
  }
}

.block-terms {
  width: auto;
  margin: 0 calc(50% - 50vw);
  background: var(--cafe-color-bg);
  color: var(--cafe-color-text);
}

.block-terms .container--breadcrumbs {
  width: min(100% - 32px, var(--cafe-container));
  margin-top: 30px;
}

.block-terms__wrap {
  width: min(100% - 32px, var(--cafe-container));
  margin-inline: auto;
}

.block-terms__content {
  width: min(100%, 871px);
  margin-left: clamp(0px, 7.9vw, 151px);
}

.block-terms__hero {
  padding: 92px 0 56px;
}

.block-terms__title,
.block-terms__subtitle,
.block-terms__heading,
.block-terms__text,
.block-terms__button {
  color: inherit;
  letter-spacing: 0;
}

.block-terms__title {
  margin: 0 0 20px;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
}

.block-terms__subtitle {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
}

.block-terms__heading {
  margin: 0 0 35px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

.block-terms__section {
  padding: 43px 0 54px;
  border-top: 1px solid rgba(16, 57, 43, 0.58);
}

.block-terms__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

.block-terms__text > :first-child {
  margin-top: 0;
}

.block-terms__text > :last-child {
  margin-bottom: 0;
}

.block-terms__text p {
  margin: 0 0 20px;
}

.block-terms__text p + ol,
.block-terms__text p + ul {
  margin-top: -3px;
}

.block-terms__text ol,
.block-terms__text ul {
  margin: 0 0 25px;
  padding-left: 21px;
}

.block-terms__text li + li {
  margin-top: 2px;
}

.block-terms__text strong,
.block-terms__text b {
  font-weight: 700;
}

.block-terms__buttons {
  padding: 0 0 50px;
}

.block-terms__button-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.block-terms__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 239px;
  min-height: 50px;
  padding: 12px 30px;
  border: 1px solid var(--cafe-color-text);
  border-radius: 180px;
  background: var(--cafe-color-text);
  color: var(--cafe-color-bg);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.block-terms__button:hover,
.block-terms__button:focus {
  color: var(--cafe-color-bg);
  text-decoration: none;
}

.block-terms--editor {
  width: 100%;
  margin: 0;
  border: 1px dashed var(--cafe-color-border);
}

.block-terms--editor .block-terms__hero {
  padding-top: 48px;
}

.block-terms-editor__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

@media (max-width: 1180px) {
  .block-terms__content {
    margin-left: clamp(0px, 4vw, 64px);
  }
}

@media (max-width: 860px) {
  .block-terms__hero {
    padding: 54px 0 44px;
  }

  .block-terms__title {
    font-size: 34px;
  }

  .block-terms__heading {
    margin-bottom: 28px;
    font-size: 20px;
  }

  .block-terms__section {
    padding: 40px 0 44px;
  }
}

@media (max-width: 560px) {
  .block-terms .container--breadcrumbs {
    margin-top: 20px;
  }

  .block-terms__content {
    margin-left: 0;
  }

  .block-terms__hero {
    padding: 42px 0 38px;
  }

  .block-terms__title {
    font-size: 30px;
  }

  .block-terms__subtitle,
  .block-terms__text {
    font-size: 15px;
  }

  .block-terms__button-list {
    gap: 12px;
  }

  .block-terms__button {
    width: min(100%, 320px);
  }
}

.block-info-four-box {
  width: auto;
  margin: 0 calc(50% - 50vw);
  color: var(--cafe-color-text);
}

.block-info-four-box__inner {
  width: min(100% - 32px, var(--cafe-container));
  margin-inline: auto;
}

.block-info-four-box__title {
  min-height: 36px;
  margin: 0 0 53px;
  color: var(--cafe-color-text);
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}

.block-info-four-box__title--empty {
  display: block;
}

.block-info-four-box__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.block-info-four-box__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 264px;
  padding: 40px 28px 28px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius);
  text-align: center;
  text-decoration: none;
}

.block-info-four-box__item--filled {
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.block-info-four-box__item--outline {
  background: transparent;
  color: var(--cafe-color-text);
}

a.block-info-four-box__item {
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

a.block-info-four-box__item:hover,
a.block-info-four-box__item:focus {
  border-color: var(--cafe-color-highlight);
}

a.block-info-four-box__item--filled:hover,
a.block-info-four-box__item--filled:focus {
  background: var(--cafe-color-highlight);
  color: var(--cafe-color-accent);
}

a.block-info-four-box__item--outline:hover,
a.block-info-four-box__item--outline:focus {
  background: var(--cafe-color-highlight);
}

.block-info-four-box__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 110px;
  margin-bottom: 24px;
}

.block-info-four-box__icon img {
  display: block;
  width: auto;
  max-width: 152px;
  max-height: 110px;
  object-fit: contain;
}

.block-info-four-box__icon--empty {
  pointer-events: none;
}

.block-info-four-box__content {
  min-height: 46px;
}

.block-info-four-box__item-title {
  margin: 0;
  color: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-info-four-box__description {
  margin: 0;
  color: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

.block-info-four-box--editor {
  width: 100%;
  margin: 0;
}

.block-info-four-box--editor .block-info-four-box__inner {
  width: 100%;
}

.block-info-four-box-editor__media-field {
  margin-bottom: 18px;
}

.block-info-four-box-editor__label {
  margin: 0 0 8px;
  font-weight: 600;
}

.block-info-four-box-editor__media-preview,
.block-info-four-box-editor__media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 110px;
  max-height: 180px;
  margin-bottom: 10px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  background: var(--cafe-color-bg);
  color: var(--cafe-color-muted);
  object-fit: contain;
}

.block-info-four-box-editor__media-preview {
  display: block;
  height: 110px;
  padding: 12px;
}

.block-info-four-box-editor__media-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

@media (max-width: 1200px) {
  .block-info-four-box__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .block-info-four-box__title {
    min-height: 36px;
    margin-bottom: 32px;
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }

  .block-info-four-box__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .block-info-four-box__title {
    min-height: 36px;
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }

  .block-info-four-box__item {
    min-height: 232px;
    padding: 32px 20px 24px;
  }
}

.block-products {
  width: auto;
  margin: 0 calc(50% - 50vw);
  padding: var(--cafe-section) 0;
}

.block-products__container {
  overflow: hidden;
}

.block-products__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 50px;
  margin-bottom: 38px;
}

.block-products__title {
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.block-products__all {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 161px;
  min-height: 50px;
  padding: 10px 18px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-pill);
  background: transparent;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
}

.block-products__all:hover,
.block-products__all:focus {
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.block-products__viewport {
  overflow: hidden;
}

.block-products__track.product-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, var(--cafe-product-card-width));
  grid-template-columns: none;
  justify-content: start;
  gap: 20px;
  width: max-content;
  max-width: none;
  transition: transform 260ms ease;
}

.block-products__track > .product-card,
.block-products__track > .product-card-wrap,
.woocommerce ul.products.block-products__track > li.product.product-card-wrap {
  width: var(--cafe-product-card-width);
  scroll-snap-align: start;
}

.block-products__arrows {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 26px;
}

.block-products__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--cafe-color-border);
  border-radius: 50%;
  background: transparent;
  color: var(--cafe-color-text);
  cursor: pointer;
  touch-action: manipulation;
  user-select: none;
  transition: background-color 180ms ease, color 180ms ease, opacity 180ms ease;
  -webkit-tap-highlight-color: transparent;
}

.block-products__arrow:hover,
.block-products__arrow:focus {
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.block-products__arrow:disabled {
  cursor: default;
  opacity: 0.35;
}

.block-products--editor {
  width: 100%;
  margin: 0;
}

.block-products--editor .block-products__track.product-grid {
  width: 100%;
  grid-auto-flow: initial;
  grid-auto-columns: initial;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.block-products--editor .block-products__track > .product-card {
  width: auto;
}

@media (max-width: 1180px) {
  .block-products__track.product-grid {
    grid-auto-columns: minmax(0, 360px);
  }

  .block-products__track > .product-card,
  .block-products__track > .product-card-wrap,
  .woocommerce ul.products.block-products__track > li.product.product-card-wrap {
    width: 360px;
  }
}

@media (max-width: 760px) {
  .block-products {
    padding: 35px 0;
  }

  .block-products__container {
    display: flex;
    flex-direction: column;
  }

  .block-products__header {
    display: contents;
  }

  .block-products__title {
    order: 1;
    margin-bottom: 28px;
    color: #10392b;
    font-family: "Work Sans";
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }

  .block-products__all {
    order: 4;
    align-self: center;
    margin-top: 24px;
  }

  .block-products__viewport {
    order: 2;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .block-products__viewport::-webkit-scrollbar {
    display: none;
  }

  .block-products__track.product-grid {
    grid-auto-columns: minmax(0, calc(100vw - 32px));
    touch-action: pan-x pan-y;
    user-select: none;
  }

  .block-products__track.product-grid.is-grabbing {
    transition: none;
  }

  .block-products__arrows {
    order: 3;
  }

  .block-products__track > .product-card,
  .block-products__track > .product-card-wrap,
  .woocommerce ul.products.block-products__track > li.product.product-card-wrap {
    width: calc(100vw - 32px);
  }
}

.block-product-new {
  width: auto;
  margin: 0 calc(50% - 50vw);
  color: var(--cafe-color-accent-contrast);
}

.block-product-new__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.504fr) minmax(0, 0.496fr);
  width: min(100% - 32px, var(--cafe-container));
  min-height: 600px;
  margin-inline: auto;
  border-radius: var(--cafe-radius-small);
  background: var(--cafe-color-accent);
  overflow: hidden;
}

.block-product-new.alignfull .block-product-new__inner {
  width: 100%;
  margin-inline: 0;
  border-radius: 0;
}

.block-product-new__media {
  position: relative;
  min-height: 600px;
  background: var(--cafe-color-surface);
  overflow: hidden;
}

.block-product-new__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 600px;
  object-fit: cover;
  object-position: left center;
}

.block-product-new__media--empty {
  background:
    linear-gradient(90deg, rgba(16, 57, 43, 0.08) 50%, transparent 50%) 0 0 / 56px 56px,
    linear-gradient(rgba(16, 57, 43, 0.08) 50%, transparent 50%) 0 0 / 56px 56px,
    var(--cafe-color-surface);
}

.block-product-new__character {
  position: absolute;
  left: 0;
  bottom: -30px;
  z-index: 2;
  display: block;
  width: clamp(190px, 28.7%, 264px);
  max-height: calc(100% - 120px);
  object-fit: contain;
  object-position: left bottom;
  pointer-events: none;
}

.block-product-new__content {
  display: flex;
  align-items: flex-start;
  min-height: 600px;
  padding: var(--cafe-section) clamp(48px, 6.6vw, 120px);
  background: var(--cafe-color-accent);
}

.block-product-new__body {
  width: min(100%, 582px);
}

.block-product-new__eyebrow {
  margin: 0 0 18px;
  color: var(--cafe-color-accent-contrast);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.block-product-new__title {
  max-width: 582px;
  margin: 0;
  color: var(--cafe-color-accent-contrast);
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.block-product-new__notes {
  margin: 22px 0 0;
  color: var(--cafe-color-accent-contrast);
  font-size: 14px;
  line-height: 1.45;
}

.block-product-new__description {
  margin: 20px 0 0;
  color: var(--cafe-color-accent-contrast);
  font-size: 16px;
  line-height: 1.45;
}

.block-product-new__actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  align-items: center;
  margin-top: 54px;
}

.block-product-new__cta {
  display: inline-flex;
  align-items: center;
  min-height: 50px;
  border: 1px solid var(--cafe-color-accent-contrast);
  border-radius: var(--cafe-radius-pill);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.block-product-new__cta--primary {
  width: auto;
  padding: 9px 22px 9px 20px;
  gap: 12px;
  background: var(--cafe-color-accent-contrast);
  color: var(--cafe-color-accent);
}

.block-product-new__cta--secondary {
  width: auto;
  padding: 9px 23px;
  gap: 13px;
  background: transparent;
  color: var(--cafe-color-accent-contrast);
}

.block-product-new__cta:hover,
.block-product-new__cta:focus {
  box-shadow: 0 0 0 2px rgba(253, 243, 229, 0.28);
}

.block-product-new__cta-icon {
  display: block;
  flex: 0 0 auto;
  width: 23px;
  height: 22px;
  object-fit: contain;
}

.block-product-new__cta--primary .block-product-new__cta-icon {
  width: 22px;
  height: 25px;
}

.block-product-new__cta-copy {
  display: grid;
  min-width: 0;
}

.block-product-new__cta-eyebrow {
  display: block;
  color: inherit;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.25;
  white-space: nowrap;
}

.block-product-new__cta-label {
  display: block;
  color: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}

.block-product-new--editor {
  width: 100%;
  margin: 0;
}

.block-product-new--editor .block-product-new__inner {
  width: 100%;
  margin-inline: 0;
}

@media (max-width: 1320px) {
  .block-product-new__content {
    padding-right: 56px;
    padding-left: 56px;
  }

  .block-product-new__actions {
    align-items: center;
    flex-direction: row;
  }

  .block-product-new__cta {
    width: auto;
  }
}

@media (max-width: 1024px) {
  .block-product-new__title {
    font-size: 32px;
  }

  .block-product-new__content {
    padding: 64px 40px;
  }
}

@media (max-width: 900px) {
  .block-product-new__inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .block-product-new__media,
  .block-product-new__image {
    min-height: 420px;
  }

  .block-product-new__character {
    bottom: -24px;
    width: clamp(190px, 30%, 250px);
    max-height: calc(100% - 80px);
  }

  .block-product-new__content {
    min-height: 0;
    padding: 48px 32px 56px;
  }

  .block-product-new__actions {
    flex-direction: row;
  }
}

@media (max-width: 680px) {
  .block-product-new__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
    margin-top: 34px;
  }

  .block-product-new__cta {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .block-product-new__media,
  .block-product-new__image {
    min-height: 330px;
  }

  .block-product-new__character {
    left: 0;
    bottom: -20px;
    width: 190px;
  }

  .block-product-new__content {
    padding: 40px 20px;
  }

  .block-product-new__title {
    font-size: 28px;
  }

  .block-product-new__cta {
    min-height: 64px;
    justify-content: flex-start;
  }

  .block-product-new__cta-eyebrow,
  .block-product-new__cta-label {
    white-space: normal;
  }
}

.block-slider {
  position: relative;
  width: auto;
  margin: 0 calc(50% - 50vw);
  color: var(--cafe-color-accent-contrast);
  background: var(--cafe-color-accent);
  overflow: hidden;
}

.block-slider__viewport,
.block-slider__track {
  position: relative;
}

.block-slider__slide {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 750px;
  filter: saturate(0.92);
  opacity: 0;
  pointer-events: none;
  transform: scale(1.015);
  visibility: hidden;
  transition:
    opacity 560ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 680ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 560ms ease,
    visibility 0s linear 680ms;
  will-change: clip-path, opacity, transform;
}

.block-slider__slide.is-active {
  position: relative;
  z-index: 2;
  filter: none;
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
  visibility: visible;
  transition-delay: 0s;
}

.block-slider__slide.is-leaving {
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transform: scale(0.985);
  visibility: visible;
}

.block-slider.is-moving-next .block-slider__slide.is-active {
  animation: block-slider-enter-next 760ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.block-slider.is-moving-next .block-slider__slide.is-leaving {
  animation: block-slider-leave-next 760ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.block-slider.is-moving-prev .block-slider__slide.is-active {
  animation: block-slider-enter-prev 760ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.block-slider.is-moving-prev .block-slider__slide.is-leaving {
  animation: block-slider-leave-prev 760ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.block-slider__media {
  position: relative;
  min-height: 750px;
  background: var(--cafe-color-surface);
  overflow: hidden;
}

.block-slider__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(circle at 50% 50%, rgba(255, 251, 245, 0.28) 0%, rgba(255, 251, 245, 0.12) 34%, transparent 68%);
  opacity: 0;
  pointer-events: none;
  transform: scale(0.92);
}

.block-slider.is-changing .block-slider__slide.is-active .block-slider__media::after {
  animation: block-slider-image-wash 720ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.block-slider__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 750px;
  filter: saturate(0.95) contrast(0.96);
  object-fit: cover;
  transform: scale(1.07);
  transition:
    filter 620ms ease,
    transform 960ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.block-slider__slide.is-active .block-slider__media img {
  filter: none;
  transform: scale(1);
}

.block-slider__slide.is-leaving .block-slider__media img {
  transform: scale(1.04);
}

.block-slider__media--empty {
  background:
    linear-gradient(90deg, rgba(16, 57, 43, 0.08) 50%, transparent 50%) 0 0 / 56px 56px,
    linear-gradient(rgba(16, 57, 43, 0.08) 50%, transparent 50%) 0 0 / 56px 56px,
    var(--cafe-color-surface);
}

.block-slider__content {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 750px;
  padding: 96px 118px;
  background: var(--cafe-color-accent);
  overflow: hidden;
}

.block-slider__content-inner {
  position: relative;
  z-index: 2;
  width: min(100%, 620px);
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 420ms ease 130ms,
    transform 560ms cubic-bezier(0.22, 1, 0.36, 1) 130ms;
}

.block-slider__slide.is-active .block-slider__content-inner {
  opacity: 1;
  transform: translateY(0);
}

.block-slider__slide.is-leaving .block-slider__content-inner {
  opacity: 0;
  transform: translateY(-12px);
  transition-duration: 220ms;
  transition-delay: 0s;
}

.block-slider__title {
  max-width: 580px;
  margin: 0;
  color: var(--cafe-color-accent-contrast);
  font-size: 76px;
  font-weight: 700;
  line-height: 1.07;
  letter-spacing: 0;
}

.block-slider__description {
  max-width: 300px;
  margin: 24px 0 0;
  color: var(--cafe-color-accent-contrast);
  font-size: 18px;
  line-height: 1.2;
}

.block-slider__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 42px;
}

.block-slider__button {
  position: relative;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 10px 22px;
  border: 1px solid var(--cafe-color-accent-contrast);
  border-radius: var(--cafe-radius-pill);
  background-image: linear-gradient(var(--cafe-color-highlight), var(--cafe-color-highlight));
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 0 100%;
  color: var(--cafe-color-accent-contrast);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  overflow: hidden;
  text-decoration: none;
  transition:
    background-size 260ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 220ms ease,
    box-shadow 220ms ease,
    color 220ms ease,
    transform 220ms ease;
}

.block-slider__button--primary {
  min-width: 176px;
  background-color: var(--cafe-color-accent-contrast);
  color: var(--cafe-color-accent);
}

.block-slider__button--primary::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 18px;
  height: 8px;
  margin-left: 14px;
  background: url("../img/slider-arrow-button.svg") center / contain no-repeat;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.block-slider__button--secondary {
  min-width: 200px;
  background-color: transparent;
}

.block-slider__button:hover,
.block-slider__button:focus-visible {
  border: 1px solid var(--cafe-color-text);
  border-radius: var(--cafe-radius-pill);
  color: var(--cafe-color-text);
}

.block-slider__button--secondary:hover,
.block-slider__button--secondary:focus-visible {
  background-color: var(--cafe-color-accent-contrast);
  color: var(--cafe-color-accent);
}

.block-slider__button--primary:hover::after,
.block-slider__button--primary:focus-visible::after {
  transform: translateX(6px);
}

.block-slider__button:focus-visible {
  outline: 2px solid var(--cafe-color-highlight);
  outline-offset: 4px;
}

.block-slider__decoration {
  position: absolute;
  right: 90px;
  bottom: 72px;
  z-index: 1;
  display: block;
  max-width: 210px;
  max-height: 180px;
  object-fit: contain;
  pointer-events: none;
}

.block-slider__arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 67px;
  height: 50px;
  border: 0;
  border-radius: 0;
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  cursor: pointer;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  transform: translateY(-50%);
  transition:
    background-color 220ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

.block-slider__arrow img {
  display: block;
  width: 42px;
  height: 18px;
  pointer-events: none;
  transition:
    opacity 220ms ease,
    transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.block-slider__arrow--prev {
  left: 0;
}

.block-slider__arrow--next {
  right: 0;
  background: var(--cafe-color-accent-contrast);
  color: var(--cafe-color-accent);
}

.block-slider__arrow--prev:hover img,
.block-slider__arrow--prev:focus-visible img {
  transform: translateX(-5px);
}

.block-slider__arrow--next:hover img,
.block-slider__arrow--next:focus-visible img {
  transform: translateX(5px);
}

.block-slider__arrow:focus-visible {
  outline: 2px solid var(--cafe-color-highlight);
  outline-offset: 4px;
}

.block-slider--editor {
  width: 100%;
  margin: 0;
}

.block-slider--editor .block-slider__slide {
  position: relative;
  filter: none;
  opacity: 1;
  pointer-events: auto;
  transform: none;
  visibility: visible;
  animation: none;
}

.block-slider--editor .block-slider__content-inner,
.block-slider--editor .block-slider__media img {
  opacity: 1;
  transform: none;
  transition: none;
}

.block-slider-editor__media-field {
  margin-bottom: 18px;
}

.block-slider-editor__label {
  margin: 0 0 8px;
  font-weight: 600;
}

.block-slider-editor__media-preview,
.block-slider-editor__media-placeholder {
  display: block;
  width: 100%;
  max-height: 180px;
  margin-bottom: 10px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  object-fit: cover;
}

.block-slider-editor__media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 110px;
  background: var(--cafe-color-surface);
  color: var(--cafe-color-muted);
}

.block-slider-editor__media-actions,
.block-slider-editor__slide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.block-slider-editor__note {
  margin: 12px 0 0;
  color: var(--cafe-color-muted);
}

@media (max-width: 1200px) {
  .block-slider__title {
    font-size: 56px;
  }

  .block-slider__content {
    padding: 72px 72px;
  }

  .block-slider__decoration {
    right: 54px;
    max-width: 170px;
  }

}

@media (max-width: 900px) {
  .block-slider__slide {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .block-slider__media,
  .block-slider__media img {
    min-height: 360px;
  }

  .block-slider__content {
    min-height: 430px;
    padding: 56px 32px 88px;
  }

  .block-slider__title {
    font-size: 42px;
  }

  .block-slider__description {
    width: 100%;
    max-width: none;
  }

  .block-slider__decoration {
    display: none;
  }

  .block-slider__arrow {
    top: 180px;
  }

}

@media (max-width: 560px) {
  .block-slider__media,
  .block-slider__media img {
    min-height: 300px;
  }

  .block-slider__content {
    min-height: 390px;
    padding: 40px 20px 80px;
  }

  .block-slider__title {
    font-size: 34px;
  }

  .block-slider__description {
    font-size: 16px;
  }

  .block-slider__buttons {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
    margin-top: 28px;
  }

  .block-slider__button {
    width: 100%;
  }

  .block-slider__arrow {
    top: 150px;
    width: 54px;
  }
}

@keyframes block-slider-enter-next {
  from {
    clip-path: inset(0 0 0 18%);
    filter: blur(8px) saturate(0.92);
    opacity: 0;
    transform: scale(1.035);
  }

  to {
    clip-path: inset(0 0 0 0);
    filter: none;
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes block-slider-leave-next {
  from {
    clip-path: inset(0 0 0 0);
    filter: none;
    opacity: 1;
    transform: scale(1);
  }

  to {
    clip-path: inset(0 18% 0 0);
    filter: blur(4px) saturate(0.9);
    opacity: 0;
    transform: scale(0.985);
  }
}

@keyframes block-slider-enter-prev {
  from {
    clip-path: inset(0 18% 0 0);
    filter: blur(8px) saturate(0.92);
    opacity: 0;
    transform: scale(1.035);
  }

  to {
    clip-path: inset(0 0 0 0);
    filter: none;
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes block-slider-leave-prev {
  from {
    clip-path: inset(0 0 0 0);
    filter: none;
    opacity: 1;
    transform: scale(1);
  }

  to {
    clip-path: inset(0 0 0 18%);
    filter: blur(4px) saturate(0.9);
    opacity: 0;
    transform: scale(0.985);
  }
}

@keyframes block-slider-image-wash {
  0% {
    opacity: 0;
    transform: scale(0.92);
  }

  38% {
    opacity: 0.36;
  }

  100% {
    opacity: 0;
    transform: scale(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-slider__slide,
  .block-slider__slide.is-active,
  .block-slider__slide.is-leaving,
  .block-slider__media::after,
  .block-slider__media img,
  .block-slider__content-inner,
  .block-slider__button,
  .block-slider__button--primary::after,
  .block-slider__arrow,
  .block-slider__arrow img {
    animation: none !important;
    transition: none !important;
  }
}

.block-about {
  width: auto;
  margin: 0 calc(50% - 50vw);
  border-top: 1px solid var(--cafe-color-border);
  border-bottom: 1px solid var(--cafe-color-border);
  background: var(--cafe-color-surface);
  color: var(--cafe-color-text);
  overflow: hidden;
}

.block-about__top {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(430px, 2.42fr);
  min-height: 625px;
}

.block-about__top::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  height: 130px;
  border-bottom: 1px solid var(--cafe-color-border);
  background: var(--cafe-color-surface);
  pointer-events: none;
}

.block-about__people-heading,
.block-about__story-title,
.block-about__collaboration-title {
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.block-about__people-heading {
  position: absolute;
  top: 46px;
  left: clamp(24px, 4.7vw, 88px);
  z-index: 2;
}

.block-about__person {
  display: flex;
  min-width: 0;
  padding: 185px clamp(24px, 3.4vw, 67px) 56px;
  border-left: 1px solid var(--cafe-color-border);
  flex-direction: column;
  align-items: flex-start;
}

.block-about__person:first-of-type {
  border-left: 0;
}

.block-about__person-media {
  display: flex;
  width: min(226px, 100%);
  aspect-ratio: 226 / 380;
  border-radius: 6px;
  background: rgba(16, 57, 43, 0.08);
  overflow: hidden;
}

.block-about__person-media--empty {
  border: 1px dashed rgba(16, 57, 43, 0.32);
}

.block-about__person-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.block-about__person-name {
  margin: 55px 0 0;
  color: var(--cafe-color-text);
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.block-about__person-role {
  margin: 18px 0 0;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-about__story {
  min-width: 0;
  padding: 194px clamp(40px, 4.4vw, 84px) 58px;
  border-left: 1px solid var(--cafe-color-border);
}

.block-about__story-description {
  max-width: 476px;
  margin: 22px 0 0;
  color: var(--cafe-color-text);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-about__features {
  display: grid;
  max-width: 610px;
  margin-top: 34px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px 36px;
}

.block-about__feature {
  display: grid;
  min-width: 0;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 18px;
  align-items: flex-start;
}

.block-about__feature-icon {
  display: flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  color: var(--cafe-color-text);
}

.block-about__feature-icon img {
  display: block;
  width: auto;
  max-width: 42px;
  max-height: 42px;
  object-fit: contain;
}

.block-about__feature-mark {
  position: relative;
  display: block;
  width: 38px;
  height: 38px;
}

.block-about__feature-mark::before,
.block-about__feature-mark::after {
  content: "";
  position: absolute;
  border: 1.5px solid currentColor;
}

.block-about__feature-mark--1::before {
  top: 6px;
  left: 7px;
  width: 12px;
  height: 24px;
  border-radius: 50% 50% 45% 45%;
  transform: rotate(-27deg);
}

.block-about__feature-mark--1::after {
  right: 7px;
  bottom: 5px;
  width: 13px;
  height: 22px;
  border-radius: 50% 50% 45% 45%;
  transform: rotate(31deg);
}

.block-about__feature-mark--2::before {
  top: 7px;
  left: 5px;
  width: 26px;
  height: 21px;
  border-radius: 45% 55% 50% 45%;
}

.block-about__feature-mark--2::after {
  top: 11px;
  left: 11px;
  width: 16px;
  height: 13px;
  border-radius: 48%;
}

.block-about__feature-mark--3::before {
  top: 4px;
  left: 11px;
  width: 13px;
  height: 28px;
  border-radius: 100% 0 100% 0;
  transform: rotate(34deg);
}

.block-about__feature-mark--3::after {
  top: 12px;
  left: 5px;
  width: 24px;
  height: 14px;
  border-radius: 100% 0 100% 0;
  transform: rotate(-24deg);
}

.block-about__feature-mark--4::before {
  top: 6px;
  left: 7px;
  width: 21px;
  height: 21px;
  border-radius: 46% 54% 50% 50%;
}

.block-about__feature-mark--4::after {
  top: 11px;
  left: 14px;
  width: 16px;
  height: 16px;
  border-radius: 100% 0 100% 0;
  transform: rotate(23deg);
}

.block-about__feature-copy,
.block-about__feature-title,
.block-about__feature-description {
  display: block;
}

.block-about__feature-title {
  color: var(--cafe-color-text);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-about__feature-description {
  max-width: 250px;
  margin-top: 2px;
  color: var(--cafe-color-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-about__button {
  display: inline-flex;
  min-height: 50px;
  padding: 10px 28px;
  border: 1px solid var(--cafe-color-accent);
  border-radius: var(--cafe-radius-pill);
  align-items: center;
  justify-content: center;
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.block-about__button:hover,
.block-about__button:focus {
  border: 1px solid var(--cafe-color-text);
  border-radius: var(--cafe-radius-pill);
  background: transparent;
  color: #10392b;
}

.block-about__button--story {
  min-width: 215px;
  margin-top: 38px;
}

.block-about__button--collaboration {
  min-width: 270px;
  margin-top: 26px;
}

.block-about__logo-strip {
  display: flex;
  height: 96px;
  align-items: center;
  background: var(--cafe-color-accent);
  overflow: hidden;
}

.block-about__logo-track {
  display: flex;
  width: max-content;
  height: 100%;
  align-items: center;
  animation: block-about-logo-marquee 120s linear infinite;
}

.block-about__logo-set {
  display: flex;
  min-width: 100vw;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-around;
  gap: 66px;
  padding-right: 66px;
}

.block-about__strip-logo {
  display: inline-flex;
  height: 48px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  color: var(--cafe-color-accent-contrast);
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.block-about__strip-logo img {
  display: block;
  width: auto;
  max-width: 170px;
  max-height: 44px;
  filter: brightness(0) invert(1);
  object-fit: contain;
}

@keyframes block-about-logo-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.block-about__collaboration {
  display: grid;
  min-height: 400px;
  padding: var(--cafe-section) clamp(24px, 4.7vw, 88px);
  grid-template-columns: minmax(320px, 462px) minmax(0, 1fr);
  gap: 112px;
  align-items: start;
}

.block-about__collaboration-description {
  max-width: 395px;
  margin: 22px 0 0;
  color: var(--cafe-color-text);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-about__partners {
  position: relative;
  min-width: 0;
  padding: 13px 60px 0;
}

.block-about__partners-viewport {
  overflow: hidden;
}

.block-about__partners-track {
  display: grid;
  width: max-content;
  grid-auto-columns: 133px;
  grid-auto-flow: column;
  grid-template-columns: none;
  gap: 80px;
  transition: transform 260ms ease;
}

.block-about__partner {
  display: flex;
  width: 133px;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.block-about__partner-logo {
  display: flex;
  width: 133px;
  height: 133px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  background: rgba(16, 57, 43, 0.08);
  color: var(--cafe-color-text);
  overflow: hidden;
}

.block-about__partner-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.block-about__partner-logo--empty {
  border: 1px solid rgba(16, 57, 43, 0.16);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}

.block-about__partner-name {
  display: block;
  margin-top: 27px;
  color: var(--cafe-color-text);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
}

.block-about__partner-link {
  color: inherit;
  text-decoration: none;
}

.block-about__partner-link:hover .block-about__partner-logo,
.block-about__partner-link:focus .block-about__partner-logo {
  box-shadow: 0 0 0 3px rgba(16, 57, 43, 0.16);
}

.block-about__partners-arrow {
  position: absolute;
  top: 65px;
  z-index: 2;
  display: inline-flex;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid rgba(16, 57, 43, 0.55);
  border-radius: 0;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--cafe-color-text);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  transition: background-color 180ms ease, color 180ms ease, opacity 180ms ease;
}

.block-about__partners-arrow--prev {
  left: 0;
}

.block-about__partners-arrow--next {
  right: 0;
}

.block-about__partners-arrow svg {
  display: block;
  width: 11px;
  height: 10px;
  flex: 0 0 auto;
}

.block-about__partners-arrow svg path {
  fill: currentColor;
}

.block-about__partners-arrow:hover,
.block-about__partners-arrow:focus {
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.block-about__partners-arrow:disabled {
  cursor: default;
  opacity: 0.35;
}

.block-about--editor {
  width: 100%;
  margin: 0;
}

.block-about--editor .block-about__top {
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(360px, 2.42fr);
}

.block-about--editor .block-about__person {
  padding-right: 24px;
  padding-left: 24px;
}

.block-about--editor .block-about__logo-track {
  animation: none;
}

.block-about-editor__media-field {
  margin-bottom: 18px;
}

.block-about-editor__label {
  margin: 0 0 8px;
  font-weight: 600;
}

.block-about-editor__media-preview,
.block-about-editor__media-placeholder {
  display: flex;
  width: 100%;
  min-height: 110px;
  max-height: 180px;
  margin-bottom: 10px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  align-items: center;
  justify-content: center;
  background: var(--cafe-color-bg);
  color: var(--cafe-color-muted);
  object-fit: contain;
}

.block-about-editor__media-preview {
  display: block;
  height: 130px;
  padding: 8px;
}

.block-about-editor__media-actions,
.block-about-editor__item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

@media (max-width: 1400px) {
  .block-about__top {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .block-about__story {
    grid-column: 1 / -1;
    border-top: 1px solid var(--cafe-color-border);
    border-left: 0;
  }

  .block-about__collaboration {
    gap: 64px;
  }
}

@media (max-width: 1100px) {
  .block-about__person {
    padding-top: 142px;
  }

  .block-about__person-name {
    margin-top: 34px;
  }

  .block-about__story {
    padding-top: 72px;
  }

  .block-about__collaboration {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .block-about__collaboration-description {
    max-width: 560px;
  }
}

@media (max-width: 800px) {
  .block-about__top {
    display: block;
  }

  .block-about__top::before {
    display: none;
  }

  .block-about__people-heading {
    position: static;
    padding: 34px 24px 0;
    font-size: 30px;
  }

  .block-about__person {
    padding: 34px 24px;
    border-top: 1px solid var(--cafe-color-border);
    border-left: 0;
  }

  .block-about__person:first-of-type {
    border-top: 0;
  }

  .block-about__person-media {
    width: min(226px, 64vw);
  }

  .block-about__story {
    padding: 48px 24px;
  }

  .block-about__story-title,
  .block-about__collaboration-title {
    font-size: 30px;
  }

  .block-about__features {
    grid-template-columns: 1fr;
  }

  .block-about__logo-strip {
    height: 76px;
  }

  .block-about__logo-set {
    gap: 44px;
    padding-right: 44px;
  }

  .block-about__strip-logo {
    font-size: 20px;
  }

  .block-about__collaboration {
    padding: 48px 24px;
  }

  .block-about__partners {
    padding: 0 44px;
  }

  .block-about__partners-track {
    gap: 34px;
  }

  .block-about__partners-arrow {
    top: 52px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-about__logo-track {
    animation: none;
  }
}

@media (max-width: 520px) {
  .block-about__people-heading,
  .block-about__story-title,
  .block-about__collaboration-title {
    font-size: 28px;
  }

  .block-about__person-name {
    font-size: 20px;
  }

  .block-about__story-description,
  .block-about__collaboration-description {
    font-size: 15px;
  }

  .block-about__button {
    width: 100%;
  }

  .block-about__partners {
    padding: 0 36px;
  }

  .block-about__partners-track {
    grid-auto-columns: 120px;
    gap: 28px;
  }

  .block-about__partner,
  .block-about__partner-logo {
    width: 120px;
  }

  .block-about__partner-logo {
    height: 120px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-about__button,
  .block-about__partners-track,
  .block-about__partners-arrow {
    transition: none !important;
  }
}

.block-about {
  width: auto;
  margin: 0 calc(50% - 50vw);
  border-top: 0;
  border-bottom: 0;
  background: var(--cafe-color-bg);
}

.block-about .container--breadcrumbs {
  width: min(100% - 32px, var(--cafe-container));
  margin-top: 30px;
}

.block-about__hero {
  display: grid;
  min-height: 149px;
  padding: 16px;
  border-bottom: 1px solid rgba(16, 57, 43, 0.58);
  place-items: center;
}

.block-about__intro {
  width: min(100%, 820px);
  margin: 0 0 14px;
  color: var(--cafe-color-text);
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}

.block-about__rows {
  width: 100%;
}

.block-about__row {
  display: grid;
  min-height: 650px;
  border-bottom: 1px solid rgba(16, 57, 43, 0.58);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.block-about__row-media,
.block-about__row-content {
  min-width: 0;
}

.block-about__row-media {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  background-color: var(--cafe-color-surface);
}

.block-about__row-media--empty {
  background-image:
    linear-gradient(45deg, rgba(16, 57, 43, 0.08) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(16, 57, 43, 0.08) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(16, 57, 43, 0.08) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(16, 57, 43, 0.08) 75%);
  background-position: 0 0, 0 24px, 24px -24px, -24px 0;
  background-size: 48px 48px;
}

.block-about__row-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.block-about__row-content {
  display: flex;
  width: min(100%, 600px);
  padding: 78px 32px;
  margin-inline: auto;
  flex-direction: column;
  justify-content: center;
  color: var(--cafe-color-text);
}

.block-about__row--image-right .block-about__row-media {
  grid-column: 2;
  grid-row: 1;
}

.block-about__row--image-right .block-about__row-content {
  grid-column: 1;
  grid-row: 1;
}

.block-about__row-title {
  margin: 0 0 35px;
  color: inherit;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.block-about__row-description {
  margin: 0;
  color: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-about__row-description strong,
.block-about__row-description b {
  font-weight: 700;
}

.block-about__row--quote {
  min-height: 428px;
}

.block-about__row--quote .block-about__row-content {
  width: min(100%, 520px);
  align-items: center;
  text-align: center;
}

.block-about__row--quote .block-about__row-title {
  margin-bottom: 28px;
  font-size: 42px;
}

.block-about__row--quote .block-about__row-description {
  width: min(100%, 250px);
  font-size: 14px;
}

.block-about__collaboration {
  display: grid;
  min-height: 400px;
  padding: 83px clamp(24px, 4.7vw, 88px) 78px;
  border-bottom: 1px solid rgba(16, 57, 43, 0.58);
  grid-template-columns: minmax(320px, 462px) minmax(0, 1fr);
  gap: clamp(48px, 5.8vw, 112px);
  align-items: start;
  background: var(--cafe-color-bg);
}

.block-about__collaboration-title {
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.block-about__collaboration-description {
  max-width: 419px;
  margin: 31px 0 0;
  color: var(--cafe-color-text);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-about__button--collaboration {
  min-width: 270px;
  margin-top: 27px;
}

.block-about__partners {
  position: relative;
  min-width: 0;
  padding: 13px 60px 0;
}

.block-about__partners-viewport {
  overflow: hidden;
}

.block-about__partners-track {
  display: grid;
  width: max-content;
  grid-auto-columns: 133px;
  grid-auto-flow: column;
  gap: clamp(36px, 4.2vw, 61px);
  transition: transform 260ms ease;
}

.block-about__partner {
  display: flex;
  width: 133px;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.block-about__partner-logo {
  display: flex;
  width: 133px;
  height: 133px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  background: rgba(16, 57, 43, 0.08);
  color: var(--cafe-color-text);
  overflow: hidden;
}

.block-about__partner-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.block-about__partner-logo--empty {
  border: 1px solid rgba(16, 57, 43, 0.16);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}

.block-about__partner-name {
  display: block;
  margin-top: 27px;
  color: var(--cafe-color-text);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
}

.block-about__partners-arrow {
  position: absolute;
  top: 65px;
  z-index: 2;
  display: inline-flex;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid rgba(16, 57, 43, 0.55);
  border-radius: 0;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--cafe-color-text);
  cursor: pointer;
}

.block-about__partners-arrow--prev {
  left: 0;
}

.block-about__partners-arrow--next {
  right: 0;
}

.block-about__partners-arrow svg {
  display: block;
  width: 11px;
  height: 10px;
}

.block-about__partners-arrow svg path {
  fill: currentColor;
}

.block-about__partners-arrow:hover,
.block-about__partners-arrow:focus {
  background: var(--cafe-color-accent);
  color: var(--cafe-color-accent-contrast);
}

.block-about__partners-arrow:disabled {
  cursor: default;
  opacity: 0.35;
}

.block-about--editor {
  width: 100%;
  margin: 0;
}

.block-about--editor .block-about__row {
  min-height: 420px;
}

.block-about--editor .block-about__row-content {
  padding: 48px 24px;
}

.block-about--editor .block-about__collaboration {
  padding: 48px 24px;
}

@media (max-width: 1024px) {
  .block-about__intro {
    font-size: 34px;
  }

  .block-about__row-title,
  .block-about__collaboration-title {
    font-size: 28px;
  }

  .block-about__row--quote .block-about__row-title {
    font-size: 34px;
  }

  .block-about__collaboration {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .block-about__collaboration-description {
    max-width: 620px;
  }
}

@media (max-width: 760px) {
  .block-about .container--breadcrumbs {
    margin-top: 22px;
  }

  .block-about__hero {
    min-height: 130px;
    padding: 22px 16px 32px;
  }

  .block-about__intro {
    font-size: 24px;
    line-height: 1.16;
  }

  .block-about__row,
  .block-about__row--image-right {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .block-about__row-media,
  .block-about__row-content,
  .block-about__row--image-right .block-about__row-media,
  .block-about__row--image-right .block-about__row-content {
    grid-column: auto;
    grid-row: auto;
  }

  .block-about__row-media {
    min-height: 330px;
  }

  .block-about__row-content {
    width: min(100% - 32px, 600px);
    padding: 42px 0;
  }

  .block-about__row-title,
  .block-about__collaboration-title {
    margin-bottom: 22px;
    font-size: 24px;
    line-height: 1.1;
  }

  .block-about__row-description,
  .block-about__collaboration-description {
    font-size: 15px;
  }

  .block-about__row--quote .block-about__row-title {
    font-size: 28px;
  }

  .block-about__collaboration {
    padding: 48px 24px;
  }

  .block-about__partners {
    padding: 0 42px;
  }

  .block-about__partners-track {
    grid-auto-columns: 120px;
    gap: 30px;
  }

  .block-about__partner,
  .block-about__partner-logo {
    width: 120px;
  }

  .block-about__partner-logo {
    height: 120px;
  }

  .block-about__partners-arrow {
    top: 50px;
  }
}

@media (max-width: 520px) {
  .block-about__button--collaboration {
    width: 100%;
    min-width: 0;
  }

  .block-about__row-media {
    min-height: 280px;
  }
}

.block-about {
  border-top: 1px solid var(--cafe-color-border);
  border-bottom: 1px solid var(--cafe-color-border);
  background: var(--cafe-color-surface);
  overflow: hidden;
}

.block-about__people-heading,
.block-about__story-title,
.block-about__collaboration-title {
  color: var(--cafe-color-text);
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.block-about__button--collaboration {
  min-width: 270px;
  margin-top: 26px;
}

.block-about__collaboration {
  display: grid;
  min-height: 400px;
  padding: var(--cafe-section) clamp(24px, 4.7vw, 88px);
  border-bottom: 0;
  grid-template-columns: minmax(320px, 462px) minmax(0, 1fr);
  gap: 112px;
  align-items: start;
  background: transparent;
}

.block-about__collaboration-description {
  max-width: 395px;
  margin: 22px 0 0;
  color: var(--cafe-color-text);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-about__partners-track {
  grid-auto-columns: 133px;
  gap: 80px;
}

@media (max-width: 1100px) {
  .block-about__collaboration {
    grid-template-columns: 1fr;
    gap: 46px;
  }
}

@media (max-width: 800px) {
  .block-about__story-title,
  .block-about__collaboration-title {
    font-size: 30px;
  }

  .block-about__collaboration {
    padding: 48px 24px;
  }

  .block-about__partners-track {
    gap: 34px;
  }
}

@media (max-width: 520px) {
  .block-about__people-heading,
  .block-about__story-title,
  .block-about__collaboration-title {
    font-size: 28px;
  }

  .block-about__button {
    width: 100%;
  }

  .block-about__partners-track {
    grid-auto-columns: 120px;
    gap: 28px;
  }
}

.block-about-page {
  width: auto;
  margin: 0 calc(50% - 50vw);
  background: var(--cafe-color-bg);
  color: var(--cafe-color-text);
  overflow: hidden;
}

.block-about-page .container--breadcrumbs {
  width: min(100% - 32px, var(--cafe-container));
  margin-top: 30px;
}

.block-about-page__hero {
  display: grid;
  min-height: 149px;
  padding: 16px;
  border-bottom: 1px solid rgba(16, 57, 43, 0.58);
  place-items: center;
}

.block-about-page__intro {
  width: min(100%, 820px);
  margin: 0 0 14px;
  color: var(--cafe-color-text);
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}

.block-about-page__row {
  display: grid;
  min-height: 650px;
  border-bottom: 1px solid rgba(16, 57, 43, 0.58);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.block-about-page__row-media,
.block-about-page__row-content {
  min-width: 0;
}

.block-about-page__row-media {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  background-color: var(--cafe-color-surface);
}

.block-about-page__row-media--empty {
  background-image:
    linear-gradient(45deg, rgba(16, 57, 43, 0.08) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(16, 57, 43, 0.08) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(16, 57, 43, 0.08) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(16, 57, 43, 0.08) 75%);
  background-position: 0 0, 0 24px, 24px -24px, -24px 0;
  background-size: 48px 48px;
}

.block-about-page__row-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.block-about-page__row-content {
  display: flex;
  width: min(100%, 600px);
  padding: 78px 32px;
  margin-inline: auto;
  flex-direction: column;
  justify-content: center;
}

.block-about-page__row--image-right .block-about-page__row-media {
  grid-column: 2;
  grid-row: 1;
}

.block-about-page__row--image-right .block-about-page__row-content {
  grid-column: 1;
  grid-row: 1;
}

.block-about-page__row-title {
  margin: 0 0 35px;
  color: inherit;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.block-about-page__row-description {
  margin: 0;
  color: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-about-page__row--quote {
  min-height: 340px;
  padding: 42px 24px;
  grid-template-columns: minmax(220px, 390px) minmax(260px, 390px);
  justify-content: center;
  gap: clamp(16px, 2vw, 28px);
  align-items: center;
  background: var(--cafe-color-bg);
}

.block-about-page__row--quote .block-about-page__row-media {
  display: grid;
  min-height: 0;
  overflow: visible;
  place-items: center;
  background: transparent;
}

.block-about-page__row--quote .block-about-page__row-media--empty {
  min-height: 220px;
  border: 1px dashed rgba(16, 57, 43, 0.28);
  background: transparent;
}

.block-about-page:not(.block-about-page--editor) .block-about-page__row--quote .block-about-page__row-media--empty {
  border: 0;
}

.block-about-page__row--quote .block-about-page__row-content {
  width: min(100%, 330px);
  padding: 0;
  align-items: center;
  text-align: center;
}

.block-about-page__row--quote .block-about-page__row-image {
  width: min(100%, 360px);
  height: auto;
  min-height: 0;
  max-height: 260px;
  object-fit: contain;
}

.block-about-page__row--quote .block-about-page__row-title {
  margin-bottom: 16px;
  font-size: 32px;
  line-height: 1.08;
}

.block-about-page__row--quote .block-about-page__row-description {
  width: min(100%, 180px);
  font-size: 9px;
  line-height: 1.35;
}

.block-about-page--editor {
  width: 100%;
  margin: 0;
}

.block-about-page-editor__media-field {
  margin-bottom: 18px;
}

.block-about-page-editor__label {
  margin: 0 0 8px;
  font-weight: 600;
}

.block-about-page-editor__media-preview,
.block-about-page-editor__media-placeholder {
  display: flex;
  width: 100%;
  min-height: 110px;
  max-height: 180px;
  margin-bottom: 10px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  align-items: center;
  justify-content: center;
  background: var(--cafe-color-bg);
  color: var(--cafe-color-muted);
  object-fit: contain;
}

.block-about-page-editor__media-preview {
  display: block;
  height: 130px;
  padding: 8px;
}

.block-about-page-editor__media-actions,
.block-about-page-editor__item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

@media (max-width: 1024px) {
  .block-about-page__intro {
    font-size: 34px;
  }
}

@media (max-width: 760px) {
  .block-about-page__intro {
    font-size: 24px;
    line-height: 1.16;
  }

  .block-about-page__row,
  .block-about-page__row--image-right {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .block-about-page__row-media,
  .block-about-page__row-content,
  .block-about-page__row--image-right .block-about-page__row-media,
  .block-about-page__row--image-right .block-about-page__row-content {
    grid-column: auto;
    grid-row: auto;
  }

  .block-about-page__row-content {
    width: min(100% - 32px, 600px);
    padding: 42px 0;
  }

  .block-about-page__row--quote {
    padding: 42px 24px;
    gap: 24px;
  }

  .block-about-page__row--quote .block-about-page__row-content {
    width: min(100%, 330px);
    padding: 0;
  }

  .block-about-page__row-title {
    font-size: 24px;
    line-height: 1.1;
  }

  .block-about-page__row--quote .block-about-page__row-title {
    font-size: 28px;
  }

}

.block-people {
  width: auto;
  margin: 0 calc(50% - 50vw);
  background: var(--cafe-color-bg);
  color: var(--cafe-color-text);
}

.block-people .container--breadcrumbs {
  width: min(100% - 32px, var(--cafe-container));
  margin-top: 30px;
}

.block-people__hero {
  display: grid;
  min-height: 150px;
  padding: 28px 16px 34px;
  place-items: center;
}

.block-people__title {
  max-width: min(100%, 980px);
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}

.block-people__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 650px;
  border-top: 1px solid rgba(16, 57, 43, 0.58);
  border-bottom: 1px solid rgba(16, 57, 43, 0.58);
}

.block-people__media,
.block-people__content {
  min-width: 0;
}

.block-people__media {
  background: rgba(16, 57, 43, 0.08);
}

.block-people__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 650px;
  object-fit: cover;
}

.block-people__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px clamp(32px, 8.5vw, 210px) 80px clamp(48px, 8.6vw, 160px);
  border-left: 1px solid rgba(16, 57, 43, 0.58);
}

.block-people__intro-title {
  max-width: 588px;
  margin: 0 0 42px;
  color: var(--cafe-color-text);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.block-people__description,
.block-people__highlight,
.block-people__faq-description,
.block-people__faq-answer {
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-people__description {
  max-width: 561px;
  margin: 0;
  font-weight: 400;
}

.block-people__highlight {
  max-width: 561px;
  margin: 28px 0 0;
  font-weight: 700;
}

.block-people__faq-wrap {
  display: grid;
  justify-items: center;
  padding-top: 76px;
  padding-bottom: 34px;
}

.block-people__faq-heading {
  max-width: 860px;
  text-align: center;
}

.block-people__faq-title {
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}

.block-people__faq-description {
  margin: 35px 0 0;
  font-weight: 400;
  text-align: center;
}

.block-people__faq {
  display: grid;
  width: min(100%, 1152px);
  margin-top: 49px;
  gap: 20px;
}

.block-people__faq-item {
  border: 1px solid var(--cafe-color-text);
  border-radius: 20px;
  overflow: hidden;
}

.block-people__faq-item:not([open]) {
  border-radius: var(--cafe-radius-pill);
}

.block-people__faq-question {
  display: grid;
  min-height: 70px;
  padding: 14px 28px 14px 52px;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 20px;
  align-items: center;
  color: var(--cafe-color-text);
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  list-style: none;
}

.block-people__faq-question::-webkit-details-marker {
  display: none;
}

.block-people__faq-icon {
  position: relative;
  display: block;
  width: 42px;
  height: 42px;
  border: 1px solid var(--cafe-color-text);
  border-radius: 50%;
}

.block-people__faq-icon::before,
.block-people__faq-icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%);
}

.block-people__faq-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.block-people__faq-item[open] .block-people__faq-icon::after {
  opacity: 0;
}

.block-people__faq-answer {
  width: 100%;
  max-width: none;
  padding: 6px 52px 48px;
  font-weight: 400;
}

.block-people__faq-answer p {
  margin: 0;
}

.block-people--editor {
  width: 100%;
  margin: 0;
  border: 1px dashed var(--cafe-color-border);
}

.block-people--editor .block-people__media {
  min-height: 360px;
}

.block-people--editor .block-people__image {
  min-height: 360px;
}

.block-people-editor__media-field {
  margin-bottom: 18px;
}

.block-people-editor__media-preview,
.block-people-editor__media-placeholder {
  display: flex;
  width: 100%;
  min-height: 130px;
  max-height: 190px;
  margin-bottom: 10px;
  border: 1px solid var(--cafe-color-border);
  border-radius: var(--cafe-radius-small);
  align-items: center;
  justify-content: center;
  background: var(--cafe-color-bg);
  color: var(--cafe-color-muted);
  object-fit: cover;
}

.block-people-editor__media-preview {
  display: block;
}

.block-people-editor__media-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

@media (max-width: 1180px) {
  .block-people__content {
    padding-right: 48px;
    padding-left: 48px;
  }
}

@media (max-width: 860px) {
  .block-people__hero {
    min-height: 120px;
  }

  .block-people__title {
    font-size: 34px;
  }

  .block-people__intro {
    grid-template-columns: 1fr;
  }

  .block-people__image {
    min-height: auto;
    aspect-ratio: 960 / 650;
  }

  .block-people__content {
    padding: 46px 24px 54px;
    border-top: 1px solid rgba(16, 57, 43, 0.58);
    border-left: 0;
  }

  .block-people__intro-title,
  .block-people__faq-title {
    font-size: 28px;
  }

  .block-people__faq-wrap {
    padding-top: 52px;
  }

  .block-people__faq-description {
    margin-top: 22px;
  }

  .block-people__faq {
    margin-top: 36px;
    gap: 14px;
  }

  .block-people__faq-question {
    min-height: 64px;
    padding: 12px 16px 12px 22px;
    grid-template-columns: minmax(0, 1fr) 36px;
    font-size: 16px;
  }

  .block-people__faq-icon {
    width: 36px;
    height: 36px;
  }

  .block-people__faq-answer {
    max-width: none;
    padding: 0 22px 30px;
  }
}

@media (max-width: 520px) {
  .block-people .container--breadcrumbs {
    margin-top: 20px;
  }

  .block-people__hero {
    padding-top: 24px;
    padding-bottom: 26px;
  }

  .block-people__title {
    font-size: 30px;
  }

  .block-people__description,
  .block-people__highlight,
  .block-people__faq-description,
  .block-people__faq-answer {
    font-size: 15px;
  }
}

.block-people {
  width: 100%;
  margin: 0;
}

.block-people__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 520px;
  border-top: 1px solid rgba(16, 57, 43, 0.58);
  border-bottom: 1px solid rgba(16, 57, 43, 0.58);
}

.block-people__intro .block-people__content {
  display: flex;
  min-width: 0;
  padding: clamp(48px, 7vw, 112px) clamp(32px, 8vw, 160px);
  border-right: 1px solid rgba(16, 57, 43, 0.58);
  border-left: 0;
  align-items: flex-start;
  justify-content: center;
}

.block-people__intro--legacy .block-people__content {
  border-right: 0;
  border-left: 1px solid rgba(16, 57, 43, 0.58);
}

.block-people__media {
  min-width: 0;
  background: rgba(16, 57, 43, 0.06);
}

.block-people__media--empty,
.block-people__feature-media--empty {
  min-height: 360px;
}

.block-people__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
}

.block-people__intro-title {
  max-width: 560px;
  margin: 0 0 24px;
  color: var(--cafe-color-text);
  font-size: 32px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0;
}

.block-people__description {
  max-width: 560px;
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-people .block-people__brands {
  border-top: 0;
}

.block-people__creators-header {
  display: grid;
  min-height: 102px;
  padding: 24px 16px;
  border-top: 1px solid rgba(16, 57, 43, 0.58);
  border-bottom: 1px solid rgba(16, 57, 43, 0.58);
  place-items: center;
}

.block-people__creators-title,
.block-people__numbers-title {
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 32px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0;
  text-align: center;
}

.block-people__creators-grid {
  display: grid;
  width: 100%;
  margin: 0;
  gap: 0;
}

.block-people__creator {
  position: relative;
  display: grid;
  min-height: 450px;
  border-bottom: 1px solid rgba(16, 57, 43, 0.58);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-width: 0;
  color: var(--cafe-color-text);
}

.block-people__creator-media,
.block-people__creator-content {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.block-people__creator-media {
  display: grid;
  padding: 60px 32px;
  place-items: center;
}

.block-people__creator-image {
  display: grid;
  width: min(331px, 68vw);
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid rgba(16, 57, 43, 0.72);
  border-radius: 50%;
  background: #fff;
  place-items: center;
  color: var(--cafe-color-text);
  font-size: 42px;
  font-weight: 800;
  line-height: 1;
}

.block-people__creator-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.block-people__creator-content {
  display: flex;
  flex-direction: column;
  width: min(100%, 588px);
  padding: 60px 32px;
  margin-inline: auto;
  align-items: flex-start;
  justify-content: center;
  color: var(--cafe-color-text);
}

.block-people__creator--reversed .block-people__creator-media {
  grid-column: 2;
  grid-row: 1;
}

.block-people__creator--reversed .block-people__creator-content {
  grid-column: 1;
  grid-row: 1;
}

.block-people__creator-title {
  margin: 0 0 20px;
  color: var(--cafe-color-text);
  font-size: 32px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0;
}

.block-people__creator-description {
  width: min(100%, 561px);
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-people__numbers {
  display: grid;
  justify-items: center;
  padding: 52px 24px 64px;
  border-top: 1px solid rgba(16, 57, 43, 0.58);
}

.block-people__stats {
  display: grid;
  width: min(100%, 1050px);
  margin-top: 50px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.block-people__stat {
  display: grid;
  min-height: 96px;
  padding: 0 28px;
  border-left: 1px solid rgba(16, 57, 43, 0.58);
  grid-template-columns: auto minmax(0, max-content);
  gap: 6px 14px;
  align-content: start;
  justify-content: center;
  color: var(--cafe-color-text);
}

.block-people__stat:first-child {
  border-left: 0;
}

.block-people__stat-icon {
  display: grid;
  width: 30px;
  height: 30px;
  min-width: 30px;
  place-items: center;
  color: var(--cafe-color-text);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.block-people__stat-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.block-people__stat-value {
  color: var(--cafe-color-text);
  font-size: 42px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
}

.block-people__stat-label {
  grid-column: 1 / -1;
  color: var(--cafe-color-text);
  font-size: 13px;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: center;
}

.block-people__numbers-description {
  max-width: 430px;
  margin: 38px 0 0;
  color: var(--cafe-color-text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
}

.block-people__features {
  display: grid;
  border-top: 1px solid rgba(16, 57, 43, 0.58);
}

.block-people__feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 440px;
  border-bottom: 1px solid rgba(16, 57, 43, 0.58);
}

.block-people__feature-content,
.block-people__feature-media {
  min-width: 0;
}

.block-people__feature-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px, 7vw, 110px) clamp(32px, 8vw, 172px);
  color: var(--cafe-color-text);
}

.block-people__feature--image-right .block-people__feature-content,
.block-people__feature--image-left .block-people__feature-media {
  border-right: 1px solid rgba(16, 57, 43, 0.58);
}

.block-people__feature--image-left .block-people__feature-media {
  grid-column: 1;
  grid-row: 1;
}

.block-people__feature--image-left .block-people__feature-content {
  grid-column: 2;
  grid-row: 1;
}

.block-people__feature-title {
  max-width: 560px;
  margin: 0 0 24px;
  color: var(--cafe-color-text);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0;
}

.block-people__feature-description {
  max-width: 560px;
  margin: 0;
  color: var(--cafe-color-text);
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: 0;
}

.block-people__feature-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 440px;
  object-fit: cover;
}

.block-people--editor {
  width: 100%;
  margin: 0;
  border: 1px dashed var(--cafe-color-border);
}

.block-people--editor .block-people__intro,
.block-people--editor .block-people__feature {
  min-height: 320px;
}

.block-people--editor .block-people__image,
.block-people--editor .block-people__feature-image {
  min-height: 320px;
}

@media (max-width: 1024px) {
  .block-people__creator-content {
    width: min(100%, 500px);
  }

  .block-people__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 0;
  }

  .block-people__stat:nth-child(odd) {
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .block-people__intro,
  .block-people__creator,
  .block-people__feature {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .block-people__intro .block-people__content,
  .block-people__creator-content,
  .block-people__feature-content {
    padding: 44px 24px;
    border-right: 0;
  }

  .block-people__media {
    grid-row: 2;
  }

  .block-people__intro--legacy .block-people__media,
  .block-people__intro--legacy .block-people__content {
    grid-row: auto;
  }

  .block-people__intro--legacy .block-people__content {
    border-top: 1px solid rgba(16, 57, 43, 0.58);
    border-left: 0;
  }

  .block-people__image,
  .block-people__feature-image {
    min-height: 300px;
    aspect-ratio: 4 / 3;
  }

  .block-people__creators-header {
    min-height: 90px;
  }

  .block-people__creators-title,
  .block-people__numbers-title {
    font-size: 26px;
  }

  .block-people__creator-media,
  .block-people__creator-content,
  .block-people__creator--reversed .block-people__creator-media,
  .block-people__creator--reversed .block-people__creator-content {
    grid-column: auto;
    grid-row: auto;
  }

  .block-people__creator-media {
    padding: 42px 16px 22px;
  }

  .block-people__creator-image {
    width: min(250px, 70vw);
  }

  .block-people__creator-content {
    align-items: center;
    padding-top: 10px;
    padding-bottom: 42px;
    text-align: center;
  }

  .block-people__creator-title {
    font-size: 26px;
  }

  .block-people__numbers {
    padding: 42px 16px 52px;
  }

  .block-people__stats {
    margin-top: 34px;
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .block-people__stat,
  .block-people__stat:nth-child(odd) {
    min-height: 0;
    padding: 0 0 24px;
    border-bottom: 1px solid rgba(16, 57, 43, 0.3);
    border-left: 0;
  }

  .block-people__stat:last-child {
    border-bottom: 0;
  }

  .block-people__feature--image-left .block-people__feature-media,
  .block-people__feature--image-left .block-people__feature-content {
    grid-column: auto;
    grid-row: auto;
  }

  .block-people__feature--image-right .block-people__feature-content,
  .block-people__feature--image-left .block-people__feature-media {
    border-right: 0;
  }
}

@media (max-width: 520px) {
  .block-people__intro-title,
  .block-people__creator-title,
  .block-people__feature-title {
    font-size: 24px;
  }

  .block-people__description,
  .block-people__creator-description,
  .block-people__feature-description {
    font-size: 15px;
  }

  .block-people__stat-value {
    font-size: 36px;
  }
}

.block-collaboration {
  width: 100%;
}

.block-collaboration .container--breadcrumbs {
  width: min(100% - 32px, var(--cafe-container));
  margin-top: 32px;
}

.block-collaboration__header {
  display: grid;
  place-items: center;
  min-height: 149px;
  padding: 16px;
}

.block-collaboration__intro {
  width: min(100%, 720px);
  margin-bottom: 45px;
  color: var(--cafe-color-text);
  text-align: center;
}

.block-collaboration__intro > * {
  margin: 0;
  font-size: 36px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0;
}

.block-collaboration__brands {
  position: relative;
  border-top: 1px solid rgba(16, 57, 43, 0.58);
}

.block-collaboration__brands::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: 1;
  width: 1px;
  background: rgba(16, 57, 43, 0.58);
  content: "";
  transform: translateX(-50%);
}

.block-collaboration-brand {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 450px;
  border-bottom: 1px solid rgba(16, 57, 43, 0.58);
}

.block-collaboration-brand__media,
.block-collaboration-brand__content {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.block-collaboration-brand__media {
  display: grid;
  place-items: center;
  padding: 60px 32px;
}

.block-collaboration-brand__logo {
  display: grid;
  place-items: center;
  width: min(331px, 68vw);
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid rgba(16, 57, 43, 0.72);
  border-radius: 50%;
  background: #fff;
}

.block-collaboration-brand__image {
  display: block;
  width: auto;
  max-width: 78%;
  height: auto;
  max-height: 78%;
  object-fit: contain;
}

.block-collaboration-brand__placeholder {
  max-width: 78%;
  color: var(--cafe-color-text);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
}

.block-collaboration-brand__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: min(100%, 588px);
  padding: 60px 32px;
  margin-inline: auto;
  color: var(--cafe-color-text);
}

.block-collaboration-brand--reversed .block-collaboration-brand__media {
  grid-column: 2;
  grid-row: 1;
}

.block-collaboration-brand--reversed .block-collaboration-brand__content {
  grid-column: 1;
  grid-row: 1;
}

.block-collaboration-brand__title {
  margin: 0 0 20px;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0;
}

.block-collaboration-brand__description {
  width: min(100%, 561px);
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 1.45;
}

.block-collaboration-brand__description > :first-child {
  margin-top: 0;
}

.block-collaboration-brand__description > :last-child {
  margin-bottom: 0;
}

.block-collaboration-brand__button {
  min-width: 0;
  min-height: 50px;
  padding: 12px 33px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
  white-space: normal;
}

@media (max-width: 1024px) {
  .block-collaboration__intro > * {
    font-size: 30px;
  }

  .block-collaboration-brand__content {
    width: min(100%, 500px);
  }
}

@media (max-width: 760px) {
  .block-collaboration .container--breadcrumbs {
    margin-top: 22px;
  }

  .block-collaboration__header {
    min-height: 130px;
    padding: 22px 16px 32px;
  }

  .block-collaboration__intro > * {
    font-size: 24px;
    line-height: 1.18;
  }

  .block-collaboration__brands::before {
    display: none;
  }

  .block-collaboration-brand,
  .block-collaboration-brand--reversed {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .block-collaboration-brand__media,
  .block-collaboration-brand__content,
  .block-collaboration-brand--reversed .block-collaboration-brand__media,
  .block-collaboration-brand--reversed .block-collaboration-brand__content {
    grid-column: auto;
    grid-row: auto;
  }

  .block-collaboration-brand__media {
    padding: 42px 16px 22px;
  }

  .block-collaboration-brand__logo {
    width: min(250px, 70vw);
  }

  .block-collaboration-brand__content {
    align-items: center;
    padding: 10px 16px 42px;
    text-align: center;
  }

  .block-collaboration-brand__title {
    font-size: 26px;
  }

  .block-collaboration-brand__button {
    width: min(100%, 320px);
  }
}

@media (max-width: 1024px) {
  .archive-loop,
  .product-grid,
  .woocommerce ul.products:not(.product-grid),
  .shop-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shop-page__inner,
  .single-product-page__inner,
  .checkout-page__form {
    grid-template-columns: 1fr;
  }

  .shop-page__sidebar {
    position: static;
    display: none;
  }

  .shop-page__sidebar.is-open {
    display: block;
  }

  .shop-page__filter-toggle {
    display: inline-flex;
  }
}

@media (max-width: 1180px) {
  .site-header__inner {
    grid-template-columns: 1fr auto;
    gap: 20px;
    min-height: 60px;
  }

  .site-header__nav {
    display: none;
  }

  .site-header__menu-toggle {
    display: inline-grid;
  }
}

@media (max-width: 1180px) {
  html,
  body {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden !important;
    overscroll-behavior-x: none;
  }

  .site-header,
  .site-main,
  .site-footer,
  .footer-top,
  .block-newsletter {
    max-width: 100%;
    overflow-x: hidden !important;
  }

  .block-blog,
  .block-categories,
  .block-information,
  .block-delivery,
  .block-terms,
  .block-info-four-box,
  .block-products,
  .block-product-new,
  .block-slider,
  .block-about,
  .block-about-page,
  .block-people {
    width: 100vw;
    max-width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    overflow-x: hidden !important;
  }
}

@media (max-width: 900px) {
  .site-topbar {
    font-size: 13px;
    line-height: 1.3;
  }

  .site-topbar__inner {
    justify-content: center;
    gap: clamp(12px, 4vw, 18px);
    overflow: hidden;
    padding: 0 clamp(10px, 3.56vw, 14px);
  }

  .site-topbar__item {
    gap: 13px;
  }

  .site-topbar__item:nth-child(n + 3) {
    display: none;
  }

  .site-topbar__icon--eko {
    width: 21px;
    height: 22px;
  }
}

@media (max-width: 760px) {
  h1 {
    font-size: 32px;
  }

  h2 {
    font-size: 26px;
  }

  .site-header__inner {
    width: 100%;
    min-height: 80px;
    gap: clamp(12px, 5.13vw, 20px);
    padding: 0 clamp(24px, 6.5vw, 40px);
  }

  .site-header__actions {
    gap: 20px;
  }

  .site-header__action {
    flex: 0 0 20px;
  }

  .site-header__wishlist-count {
    display: none;
  }

  .site-header__menu-toggle {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 0;
    background: transparent;
  }

  .site-header__menu-toggle::before {
    display: block;
    width: 17px;
    height: 11px;
    background: url("../img/menu-mobile.svg") center / contain no-repeat;
    content: "";
  }

  .site-header__menu-line {
    display: none;
  }

  .site-footer__inner,
  .site-footer__bottom,
  .account-dashboard__links {
    grid-template-columns: 1fr;
  }

  .site-footer__bottom {
    display: grid;
  }

  .archive-loop,
  .product-grid,
  .woocommerce ul.products:not(.product-grid),
  .shop-page__grid {
    grid-template-columns: 1fr;
  }

  .wishlist-page__header {
    display: block;
    order: 1;
  }

  .wishlist-page__title {
    margin-bottom: 0;
  }

  .wishlist-page__grid,
  .wishlist-page__empty {
    order: 2;
  }

  .search-form,
  .shop-page__toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .woocommerce table.shop_table {
    display: block;
    overflow-x: auto;
  }

}

@media (max-width: 380px) {
  .site-header__inner {
    gap: 10px;
    padding: 0 12px;
  }

  .site-header__actions {
    gap: 12px;
  }
}
