:root {
  --color--background: #faf8f5;
  --color--surface: #ffffff;
  --color--white: #ffffff;
  --color--transparent: transparent;
  --color--text: #272422;
  --color--text-muted: #716b67;
  --color--accent: #8a3148;
  --color--accent-dark: #6e2439;
  --color--blush: #d8bcc2;
  --color--blush-soft: #efe1e3;
  --color--success: #3f7d52;
  --color--line: #e8e1da;
  --color--stars: #f0b429;
  --color--google: #4285f4;
  --color--yandex: #fc3f1d;
  --color--topbar-text: #f3e7e9;
  --color--topbar-surface: rgb(255 255 255 / 10%);
  --color--cart-count: rgb(255 255 255 / 22%);
  --color--footer-text: rgb(243 231 233 / 78%);
  --color--footer-muted: rgb(243 231 233 / 58%);
  --color--footer-line: rgb(255 255 255 / 14%);
  --color--overlay: rgb(39 36 34 / 42%);
  --font--display: "Playfair Display", Georgia, serif;
  --font--body: "Manrope", Arial, sans-serif;
  --text--xs: 0.75rem;
  --text--s: 0.875rem;
  --text--m: 1rem;
  --text--l: clamp(1.125rem, 2vw, 1.25rem);
  --text--xl: clamp(2rem, 7vw, 3rem);
  --space--xs: 0.5rem;
  --space--s: 0.875rem;
  --space--m: 1.25rem;
  --space--l: 2rem;
  --space--xl: clamp(3rem, 7vw, 5rem);
  --gap--xs: var(--space--xs);
  --gap--s: var(--space--s);
  --gap--m: var(--space--m);
  --gap--l: var(--space--l);
  --gap--xl: var(--space--xl);
  --radius--xs: 0.25rem;
  --radius--s: 0.5rem;
  --radius--m: 0.75rem;
  --radius--l: 1.25rem;
  --radius--xl: 999px;
  --shadow--xs: 0 0.125rem 0.375rem rgb(39 36 34 / 6%);
  --shadow--s: 0 0.25rem 0.75rem rgb(39 36 34 / 8%);
  --shadow--m: 0 0.5rem 1.5rem rgb(39 36 34 / 10%);
  --shadow--l: 0 0.875rem 2rem rgb(39 36 34 / 12%);
  --shadow--xl: 0 1.25rem 3rem rgb(39 36 34 / 16%);
  --p--xs: var(--space--xs);
  --p--s: var(--space--s);
  --p--m: var(--space--m);
  --p--l: var(--space--l);
  --p--xl: var(--space--xl);
  --pt--xs: var(--space--xs);
  --pt--s: var(--space--s);
  --pt--m: var(--space--m);
  --pt--l: var(--space--l);
  --pt--xl: var(--space--xl);
  --pr--xs: var(--space--xs);
  --pr--s: var(--space--s);
  --pr--m: var(--space--m);
  --pr--l: var(--space--l);
  --pr--xl: var(--space--xl);
  --pb--xs: var(--space--xs);
  --pb--s: var(--space--s);
  --pb--m: var(--space--m);
  --pb--l: var(--space--l);
  --pb--xl: var(--space--xl);
  --pl--xs: var(--space--xs);
  --pl--s: var(--space--s);
  --pl--m: var(--space--m);
  --pl--l: var(--space--l);
  --pl--xl: var(--space--xl);
  --py--xs: var(--space--xs);
  --py--s: var(--space--s);
  --py--m: var(--space--m);
  --py--l: var(--space--l);
  --py--xl: var(--space--xl);
  --px--xs: var(--space--xs);
  --px--s: var(--space--s);
  --px--m: var(--space--m);
  --px--l: var(--space--l);
  --px--xl: var(--space--xl);
  --m--xs: var(--space--xs);
  --m--s: var(--space--s);
  --m--m: var(--space--m);
  --m--l: var(--space--l);
  --m--xl: var(--space--xl);
  --mt--xs: var(--space--xs);
  --mt--s: var(--space--s);
  --mt--m: var(--space--m);
  --mt--l: var(--space--l);
  --mt--xl: var(--space--xl);
  --mr--xs: var(--space--xs);
  --mr--s: var(--space--s);
  --mr--m: var(--space--m);
  --mr--l: var(--space--l);
  --mr--xl: var(--space--xl);
  --mb--xs: var(--space--xs);
  --mb--s: var(--space--s);
  --mb--m: var(--space--m);
  --mb--l: var(--space--l);
  --mb--xl: var(--space--xl);
  --ml--xs: var(--space--xs);
  --ml--s: var(--space--s);
  --ml--m: var(--space--m);
  --ml--l: var(--space--l);
  --ml--xl: var(--space--xl);
  --my--xs: var(--space--xs);
  --my--s: var(--space--s);
  --my--m: var(--space--m);
  --my--l: var(--space--l);
  --my--xl: var(--space--xl);
  --mx--xs: var(--space--xs);
  --mx--s: var(--space--s);
  --mx--m: var(--space--m);
  --mx--l: var(--space--l);
  --mx--xl: var(--space--xl);
  --border--xs: 1px;
  --line-height--s: 1.16;
  --line-height--m: 1.6;
  --line-height--l: 1.85;
  --tracking--xs: 0.05em;
  --tracking--s: 0.07em;
  --tracking--m: 0.08em;
  --tracking--l: 0.14em;
  --transition--xs: 0.18s ease;
  --transition--s: 0.2s ease;
  --transition--m: 0.35s ease;
  --ratio--square: 1;
  --ratio--landscape: 16 / 10;
  --ratio--wide: 16 / 9;
  --container--width: 77.5rem;
  --container--gutter: 2rem;
  --content--measure: 32rem;
  --content--scroll: 25rem;
  --consent--width: 45rem;
  --panel--width: 28rem;
  --mobile-toolbar--height: 3.5rem;
  --scrollbar--size: 0.375rem;
  --scrollbar--thumb: var(--color--blush);
  --scrollbar--thumb-hover: var(--color--accent);
  --scrollbar--track: var(--color--transparent);
  --control--s: 2.25rem;
  --control--m: 2.75rem;
  --control--l: 3rem;
  --btn--icon-size: 1.5rem;
  --variation--item-width: 2.25rem;
  --variation--image-size: 1.75rem;
  --variation--label-size: calc(var(--text--xs) * 0.65);
  --variation--item-width-wide: 2.75rem;
  --variation--image-size-wide: 2rem;
  --variation--label-size-wide: calc(var(--text--xs) * 0.8);
  --z--nav: 100;
  --z--floating: 150;
  --z--mobile-toolbar: 180;
  --z--consent: 200;
  --z--panel-backdrop: 290;
  --z--panel: 300;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: "Playfair Display";
  src: url("../fonts/playfair-display-variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}
@font-face {
  font-family: "Playfair Display";
  src: url("../fonts/playfair-display-italic-variable.ttf") format("truetype");
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
}
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar--thumb) var(--scrollbar--track);
}

*::-webkit-scrollbar {
  width: var(--scrollbar--size);
  height: var(--scrollbar--size);
}

*::-webkit-scrollbar-track {
  background: var(--scrollbar--track);
}

*::-webkit-scrollbar-thumb {
  border: var(--border--xs) solid var(--scrollbar--track);
  border-radius: var(--radius--xl);
  background: var(--scrollbar--thumb);
  background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar--thumb-hover);
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--color--background);
  color: var(--color--text);
  font-family: var(--font--body);
  font-size: var(--text--m);
  line-height: var(--line-height--m);
  -webkit-font-smoothing: antialiased;
}

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

a {
  color: inherit;
  text-decoration: none;
}

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

button {
  border: 0;
  cursor: pointer;
}

h1, h2, h3, h4, p {
  margin-top: 0;
}

h1, h2, h3 {
  color: var(--color--text);
  font-family: var(--font--display);
  font-weight: 500;
  line-height: var(--line-height--s);
}

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

.screen-reader-text:focus {
  position: fixed;
  top: var(--space--m);
  left: var(--space--m);
  z-index: var(--z--floating);
  width: auto;
  height: auto;
  padding: var(--py--s) var(--px--m);
  clip: auto;
  background: var(--color--white);
}

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

.text--xs {
  font-size: var(--text--xs);
}

.shadow--xs {
  box-shadow: var(--shadow--xs);
}

.radius--xs {
  border-radius: var(--radius--xs);
}

.gap--xs {
  gap: var(--gap--xs);
}

.p--xs {
  padding: var(--p--xs);
}

.pt--xs {
  padding-top: var(--pt--xs);
}

.pr--xs {
  padding-right: var(--pr--xs);
}

.pb--xs {
  padding-bottom: var(--pb--xs);
}

.pl--xs {
  padding-left: var(--pl--xs);
}

.py--xs {
  padding-block: var(--py--xs);
}

.px--xs {
  padding-inline: var(--px--xs);
}

.m--xs {
  margin: var(--m--xs);
}

.mt--xs {
  margin-top: var(--mt--xs);
}

.mr--xs {
  margin-right: var(--mr--xs);
}

.mb--xs {
  margin-bottom: var(--mb--xs);
}

.ml--xs {
  margin-left: var(--ml--xs);
}

.my--xs {
  margin-block: var(--my--xs);
}

.mx--xs {
  margin-inline: var(--mx--xs);
}

.text--s {
  font-size: var(--text--s);
}

.shadow--s {
  box-shadow: var(--shadow--s);
}

.radius--s {
  border-radius: var(--radius--s);
}

.gap--s {
  gap: var(--gap--s);
}

.p--s {
  padding: var(--p--s);
}

.pt--s {
  padding-top: var(--pt--s);
}

.pr--s {
  padding-right: var(--pr--s);
}

.pb--s {
  padding-bottom: var(--pb--s);
}

.pl--s {
  padding-left: var(--pl--s);
}

.py--s {
  padding-block: var(--py--s);
}

.px--s {
  padding-inline: var(--px--s);
}

.m--s {
  margin: var(--m--s);
}

.mt--s {
  margin-top: var(--mt--s);
}

.mr--s {
  margin-right: var(--mr--s);
}

.mb--s {
  margin-bottom: var(--mb--s);
}

.ml--s {
  margin-left: var(--ml--s);
}

.my--s {
  margin-block: var(--my--s);
}

.mx--s {
  margin-inline: var(--mx--s);
}

.text--m {
  font-size: var(--text--m);
}

.shadow--m {
  box-shadow: var(--shadow--m);
}

.radius--m {
  border-radius: var(--radius--m);
}

.gap--m {
  gap: var(--gap--m);
}

.p--m {
  padding: var(--p--m);
}

.pt--m {
  padding-top: var(--pt--m);
}

.pr--m {
  padding-right: var(--pr--m);
}

.pb--m {
  padding-bottom: var(--pb--m);
}

.pl--m {
  padding-left: var(--pl--m);
}

.py--m {
  padding-block: var(--py--m);
}

.px--m {
  padding-inline: var(--px--m);
}

.m--m {
  margin: var(--m--m);
}

.mt--m {
  margin-top: var(--mt--m);
}

.mr--m {
  margin-right: var(--mr--m);
}

.mb--m {
  margin-bottom: var(--mb--m);
}

.ml--m {
  margin-left: var(--ml--m);
}

.my--m {
  margin-block: var(--my--m);
}

.mx--m {
  margin-inline: var(--mx--m);
}

.text--l {
  font-size: var(--text--l);
}

.shadow--l {
  box-shadow: var(--shadow--l);
}

.radius--l {
  border-radius: var(--radius--l);
}

.gap--l {
  gap: var(--gap--l);
}

.p--l {
  padding: var(--p--l);
}

.pt--l {
  padding-top: var(--pt--l);
}

.pr--l {
  padding-right: var(--pr--l);
}

.pb--l {
  padding-bottom: var(--pb--l);
}

.pl--l {
  padding-left: var(--pl--l);
}

.py--l {
  padding-block: var(--py--l);
}

.px--l {
  padding-inline: var(--px--l);
}

.m--l {
  margin: var(--m--l);
}

.mt--l {
  margin-top: var(--mt--l);
}

.mr--l {
  margin-right: var(--mr--l);
}

.mb--l {
  margin-bottom: var(--mb--l);
}

.ml--l {
  margin-left: var(--ml--l);
}

.my--l {
  margin-block: var(--my--l);
}

.mx--l {
  margin-inline: var(--mx--l);
}

.text--xl {
  font-size: var(--text--xl);
}

.shadow--xl {
  box-shadow: var(--shadow--xl);
}

.radius--xl {
  border-radius: var(--radius--xl);
}

.gap--xl {
  gap: var(--gap--xl);
}

.p--xl {
  padding: var(--p--xl);
}

.pt--xl {
  padding-top: var(--pt--xl);
}

.pr--xl {
  padding-right: var(--pr--xl);
}

.pb--xl {
  padding-bottom: var(--pb--xl);
}

.pl--xl {
  padding-left: var(--pl--xl);
}

.py--xl {
  padding-block: var(--py--xl);
}

.px--xl {
  padding-inline: var(--px--xl);
}

.m--xl {
  margin: var(--m--xl);
}

.mt--xl {
  margin-top: var(--mt--xl);
}

.mr--xl {
  margin-right: var(--mr--xl);
}

.mb--xl {
  margin-bottom: var(--mb--xl);
}

.ml--xl {
  margin-left: var(--ml--xl);
}

.my--xl {
  margin-block: var(--my--xl);
}

.mx--xl {
  margin-inline: var(--mx--xl);
}

.eyebrow {
  color: var(--color--accent);
  font-size: var(--text--xs);
  font-weight: 800;
  letter-spacing: var(--tracking--l);
  text-transform: uppercase;
}

.social-icon {
  width: var(--space--m);
  height: var(--space--m);
  display: block;
}

.social-icon svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}

.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  display: inline-flex;
  min-height: var(--control--m);
  align-items: center;
  justify-content: center;
  padding: var(--py--s) var(--px--m);
  border: var(--border--xs) solid var(--color--accent);
  border-radius: var(--radius--xl);
  background: var(--color--accent);
  color: var(--color--white);
  font-weight: 700;
  line-height: 1;
  transition: var(--transition--xs);
}
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  border-color: var(--color--accent-dark);
  background: var(--color--accent-dark);
  color: var(--color--white);
}
.button--outline,
.woocommerce a.button--outline,
.woocommerce button.button--outline,
.woocommerce input.button--outline {
  min-height: var(--control--s);
  padding: var(--py--xs) var(--px--s);
  background: var(--color--transparent);
  color: var(--color--accent);
}
.button--ghost,
.woocommerce a.button--ghost,
.woocommerce button.button--ghost,
.woocommerce input.button--ghost {
  border-color: var(--color--text);
  background: var(--color--transparent);
  color: var(--color--text);
  text-transform: uppercase;
  letter-spacing: var(--tracking--xs);
}
.button--dark,
.woocommerce a.button--dark,
.woocommerce button.button--dark,
.woocommerce input.button--dark {
  border-color: var(--color--accent-dark);
  background: var(--color--accent-dark);
}

.btn {
  --btn--background: var(--color--transparent);
  --btn--color: var(--color--accent);
  --btn--background-hover: var(--color--blush-soft);
  --btn--color-hover: var(--color--accent);
  position: relative;
  height: var(--control--m);
  min-height: var(--control--m);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap--xs);
  padding-inline: var(--px--m);
  border: 0;
  border-radius: var(--radius--xl);
  background: var(--btn--background);
  color: var(--btn--color);
  font-size: var(--text--s);
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--transition--xs), color var(--transition--xs), box-shadow var(--transition--xs);
}

.btn:is(:hover, :focus-visible) {
  background: var(--btn--background-hover);
  color: var(--btn--color-hover);
  text-decoration: none;
}

.btn:focus-visible {
  outline: calc(var(--border--xs) * 2) solid currentColor;
  outline-offset: calc(var(--border--xs) * 2);
}

.btn__icon {
  width: var(--btn--icon-size);
  height: var(--btn--icon-size);
  flex: 0 0 var(--btn--icon-size);
  display: grid;
  place-items: center;
}

.btn__icon > svg,
.btn__icon > .social-icon {
  width: 100%;
  height: 100%;
  display: block;
}

.btn__icon > svg {
  fill: currentColor;
}

.btn__icon--stroke svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.btn__text {
  min-width: 0;
}

.btn__badge {
  position: absolute;
  top: calc(var(--space--xs) / -2);
  right: calc(var(--space--xs) / -2);
  min-width: var(--space--m);
  height: var(--space--m);
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: var(--radius--xl);
  background: var(--color--accent);
  color: var(--color--white);
  font-size: var(--text--xs);
  font-weight: 700;
  line-height: 1;
}

.btn--vertical,
.btn--square {
  height: auto;
  flex-direction: column;
  padding-block: var(--py--xs);
}

.btn--vertical .btn__text,
.btn--square .btn__text {
  font-size: var(--text--xs);
}

.btn--square {
  aspect-ratio: var(--ratio--square);
}

.btn--circle {
  width: var(--control--m);
  height: var(--control--m);
  min-height: var(--control--m);
  flex: 0 0 var(--control--m);
  padding: 0;
}

.btn--circle .btn__text {
  display: none;
}

.btn--accent {
  --btn--background: var(--color--accent);
  --btn--color: var(--color--white);
  --btn--background-hover: var(--color--accent-dark);
  --btn--color-hover: var(--color--white);
}

.btn--dark {
  --btn--background: var(--color--accent-dark);
  --btn--color: var(--color--white);
  --btn--background-hover: var(--color--accent);
  --btn--color-hover: var(--color--white);
}

.btn--blush {
  --btn--background: var(--color--blush-soft);
  --btn--color: var(--color--accent);
  --btn--background-hover: var(--color--blush);
  --btn--color-hover: var(--color--accent);
}

.btn--transparent {
  --btn--background: var(--color--transparent);
  --btn--color: var(--color--accent);
  --btn--background-hover: var(--color--blush-soft);
  --btn--color-hover: var(--color--accent);
}

.btn--outline {
  --btn--background: var(--color--transparent);
  --btn--color: var(--color--accent);
  --btn--background-hover: var(--color--blush-soft);
  --btn--color-hover: var(--color--accent);
  border: var(--border--xs) solid currentColor;
}

.btn--shadow {
  box-shadow: var(--shadow--s);
}

.site-header {
  display: block;
}

.topbar {
  padding: var(--space--xs) 0;
  background: var(--color--accent-dark);
  color: var(--color--topbar-text);
}

.topbar__inner {
  min-height: var(--control--s);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ratings {
  display: none;
}

.topbar__links {
  display: flex;
  align-items: center;
}

.topbar__menu {
  display: flex;
  gap: var(--gap--m);
  padding: 0;
  margin: 0;
  list-style: none;
}

.topbar__aside {
  display: none;
  align-items: center;
  gap: var(--gap--s);
}

.topbar a:hover {
  text-decoration: underline;
  text-underline-offset: var(--space--xs);
}

.rating-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--gap--xs);
  padding: var(--py--xs) var(--px--s);
  border-radius: var(--radius--xl);
  background: var(--color--topbar-surface);
}

.rating-pill:is(a) {
  transition: box-shadow var(--transition--xs);
}

.rating-pill:is(a):hover,
.rating-pill:is(a):focus-visible {
  box-shadow: var(--shadow--s);
  text-decoration: none;
}

.rating-pill > span {
  color: var(--color--stars);
  font-size: var(--text--xs);
  letter-spacing: var(--tracking--xs);
}

.rating-pill__mark {
  width: var(--space--m);
  height: var(--space--m);
  display: inline-grid;
  place-items: center;
  border-radius: var(--radius--xl);
  font-size: var(--text--xs);
}

.rating-pill__mark--google {
  background: var(--color--white);
  color: var(--color--google);
}

.rating-pill__mark--yandex {
  background: var(--color--yandex);
  color: var(--color--white);
}

.mainbar__inner {
  min-height: var(--space--xl);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gap--s);
  padding: var(--space--xs) 0;
  border-bottom: var(--border--xs) solid var(--color--line);
  text-wrap: balance;
}

.brand {
  margin-right: auto;
  display: flex;
  align-items: center;
  gap: var(--gap--s);
}

.brand__logo-link {
  display: inline-flex;
  align-items: center;
}

.brand__logo {
  width: 10rem;
  display: block;
}

.brand__name,
.footer-brand {
  color: var(--color--accent-dark);
  font-family: var(--font--display);
  font-size: var(--text--l);
  font-weight: 600;
  letter-spacing: var(--tracking--s);
}

.brand__tagline {
  display: block;
  padding-left: var(--pl--s);
  border-left: var(--border--xs) solid var(--color--line);
}

.brand__tagline em,
.brand__tagline strong {
  display: block;
}

.brand__tagline em {
  color: var(--color--text-muted);
  font-family: var(--font--display);
  font-size: var(--text--s);
}

.brand__tagline strong {
  margin-top: var(--mt--xs);
  color: var(--color--accent);
  font-size: var(--text--xs);
}

.messengers {
  display: none;
}

.header-phone {
  width: 100%;
  display: flex;
  justify-content: center;
  white-space: nowrap;
}

.site-header .favorites-link,
.site-header .cart-button {
  display: none;
}

.messengers {
  gap: var(--gap--xs);
}

@media (min-width: 48rem) {
  .topbar__inner {
    justify-content: space-between;
  }
  .topbar__aside,
  .ratings {
    display: flex;
    align-items: center;
    gap: var(--gap--m);
  }
  .mainbar__inner {
    flex-wrap: nowrap;
    border-bottom: 0;
    text-wrap: initial;
  }
  .header-phone {
    width: auto;
    justify-content: flex-start;
  }
  .site-header .favorites-link,
  .site-header .cart-button {
    display: inline-flex;
  }
}
@media (min-width: 64rem) {
  .brand__logo {
    width: 10rem;
    max-width: none;
  }
  .messengers {
    display: flex;
  }
}
.catalog-nav {
  --catalog-nav--overlap: var(--space--xs);
  --catalog-nav--submenu-gap: var(--space--s);
  display: none;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: var(--z--nav);
  padding-block: var(--py--s);
  background: var(--color--background);
}

.catalog-nav__inner {
  position: relative;
  padding: var(--space--xs);
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--xl);
  background: var(--color--surface);
  box-shadow: var(--shadow--m);
}

.catalog-nav__toggle {
  width: var(--control--m);
  height: var(--control--m);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0;
  border-radius: var(--radius--xl);
  background: var(--color--blush-soft);
  color: var(--color--accent);
  transition: background var(--transition--xs), color var(--transition--xs);
}

.catalog-nav__toggle:is(:hover, :focus-visible) {
  background: var(--color--accent);
  color: var(--color--white);
}

.catalog-nav__mobile-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap--s);
}

.catalog-nav__mobile-logo {
  display: inline-flex;
  align-items: center;
}

.catalog-nav__mobile-logo-image {
  width: 7rem;
  max-width: 100%;
  display: block;
}

.catalog-nav__mobile-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--gap--xs);
}

.catalog-nav__burger {
  width: var(--space--m);
  display: grid;
  gap: calc(var(--space--xs) / 2);
}

.catalog-nav__burger span {
  width: 100%;
  height: var(--border--xs);
  display: block;
  background: currentColor;
}

.catalog-nav__content {
  display: none;
}

.catalog-nav__group {
  display: grid;
  gap: var(--gap--xs);
}

.catalog-nav__brand,
.catalog-nav__group--info {
  display: none;
}

.catalog-nav.is-scrolled .catalog-nav__inner {
  box-shadow: var(--shadow--l);
}

.catalog-nav__primary-menu,
.catalog-nav__primary-menu .sub-menu,
.catalog-nav__info-menu .sub-menu,
.catalog-nav__info-menu {
  padding: 0;
  margin: 0;
  list-style: none;
}

.catalog-nav__primary-menu,
.catalog-nav__primary-menu .sub-menu,
.catalog-nav__info-menu .sub-menu {
  display: grid;
  gap: var(--gap--xs);
}

.catalog-nav__primary-menu .sub-menu,
.catalog-nav__info-menu .sub-menu {
  padding-left: var(--pl--m);
}

.catalog-nav__primary-menu .menu-item,
.catalog-nav__info-menu .menu-item {
  position: relative;
}

.catalog-nav__info-menu {
  display: flex;
  align-items: center;
  gap: var(--gap--xs);
}

.catalog-nav__group a {
  min-height: var(--control--s);
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--py--xs) var(--px--s);
  border-radius: var(--radius--xl);
  color: var(--color--text);
  font-size: var(--text--s);
  font-weight: 600;
  line-height: var(--line-height--s);
  text-align: left;
  transition: background var(--transition--xs), color var(--transition--xs);
}

.catalog-nav__group a:is(:hover, :focus-visible) {
  background: var(--color--blush-soft);
  color: var(--color--accent);
}

@media (min-width: 48rem) {
  .catalog-nav {
    display: block;
    padding-block: var(--py--s) var(--py--m);
  }
  .catalog-nav__mobile-bar {
    display: none;
  }
  .catalog-nav__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    padding: 0;
  }
  .catalog-nav__group {
    display: flex;
    align-items: center;
  }
  .catalog-nav__group--info {
    display: flex;
    justify-self: end;
  }
  .catalog-nav__primary-menu {
    display: flex;
    align-items: center;
  }
  .catalog-nav__primary-menu > .menu-item > a,
  .catalog-nav__info-menu > .menu-item > a {
    font-size: var(--text--l);
  }
  .catalog-nav__primary-menu > .menu-item > a,
  .catalog-nav__info-menu > .menu-item > a {
    position: relative;
    z-index: calc(var(--z--nav) + 1);
  }
  .catalog-nav__brand {
    width: 8rem;
    min-height: var(--control--s);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: var(--px--s);
    border-radius: var(--radius--xl);
    opacity: 0.25;
    pointer-events: none;
    transition: opacity var(--transition--s), transform var(--transition--s), visibility var(--transition--s);
  }
  .catalog-nav__logo {
    width: 5rem;
    max-width: 100%;
    display: block;
  }
  .catalog-nav__brand-name {
    color: var(--color--accent-dark);
    font-family: var(--font--display);
    font-weight: 650;
    letter-spacing: var(--tracking--m);
  }
  .catalog-nav.is-scrolled .catalog-nav__brand {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  .catalog-nav__primary-menu .sub-menu,
  .catalog-nav__info-menu .sub-menu {
    position: absolute;
    top: calc(100% - var(--catalog-nav--overlap));
    left: 0;
    z-index: var(--z--nav);
    min-width: 14rem;
    display: none;
    gap: var(--gap--xs);
    padding: var(--p--s);
    border: var(--border--xs) solid var(--color--line);
    border-radius: var(--radius--l);
    background: var(--color--surface);
    box-shadow: var(--shadow--l);
  }
  .catalog-nav__primary-menu .sub-menu .sub-menu {
    top: 0;
    left: calc(100% - var(--catalog-nav--overlap));
  }
  .catalog-nav__info-menu .sub-menu {
    right: 0;
    left: auto;
  }
  .catalog-nav__primary-menu > .menu-item:not(.menu-item--mega-standard) > .sub-menu,
  .catalog-nav__info-menu > .menu-item > .sub-menu {
    top: 100%;
    padding: calc(var(--p--s) + var(--catalog-nav--submenu-gap)) var(--p--s) var(--p--s);
  }
  .catalog-nav__primary-menu .menu-item-has-children:hover > .sub-menu,
  .catalog-nav__primary-menu .menu-item-has-children:focus-within > .sub-menu,
  .catalog-nav__info-menu .menu-item-has-children:hover > .sub-menu,
  .catalog-nav__info-menu .menu-item-has-children:focus-within > .sub-menu {
    display: grid;
  }
  .catalog-nav__primary-menu > .menu-item--mega-standard {
    position: static;
  }
  .catalog-nav__primary-menu > .menu-item--mega-standard > .sub-menu {
    top: calc(100% - var(--catalog-nav--overlap));
    right: 0;
    grid-template-columns: minmax(11rem, 1fr) minmax(0, 3fr);
    gap: var(--gap--l);
    min-width: 0;
    padding: calc(var(--p--l) + var(--catalog-nav--submenu-gap)) var(--p--l) var(--p--l);
  }
  .catalog-nav__primary-menu > .menu-item:not(.menu-item--mega-standard) > .sub-menu,
  .catalog-nav__info-menu > .menu-item > .sub-menu,
  .catalog-nav__primary-menu > .menu-item--mega-standard > .sub-menu {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    isolation: isolate;
  }
  .catalog-nav__primary-menu > .menu-item:not(.menu-item--mega-standard) > .sub-menu::before,
  .catalog-nav__info-menu > .menu-item > .sub-menu::before,
  .catalog-nav__primary-menu > .menu-item--mega-standard > .sub-menu::before {
    position: absolute;
    top: var(--catalog-nav--submenu-gap);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    border: var(--border--xs) solid var(--color--line);
    border-radius: var(--radius--l);
    background: var(--color--surface);
    box-shadow: var(--shadow--l);
    content: "";
  }
  .catalog-nav__primary-menu > .menu-item:not(.menu-item--mega-standard) > .sub-menu > .menu-item,
  .catalog-nav__info-menu > .menu-item > .sub-menu > .menu-item,
  .menu-item--mega-standard > .sub-menu > .menu-item {
    position: relative;
    z-index: 1;
  }
  .menu-item--mega-standard > .sub-menu > .menu-item > a {
    font-size: var(--text--xs);
    letter-spacing: var(--tracking--m);
    text-transform: uppercase;
  }
  .catalog-nav__group .menu-item.menu-item--heading > a {
    pointer-events: none;
    color: var(--color--accent);
  }
  .menu-item--mega-standard > .sub-menu > .menu-item > .sub-menu {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .menu-item--mega-standard > .sub-menu > .catalog-nav__mega-catalog > .sub-menu {
    display: grid;
    align-content: start;
    gap: var(--gap--xs);
  }
  .menu-item--mega-standard > .sub-menu > .catalog-nav__mega-filters {
    padding-left: var(--pl--l);
    border-left: var(--border--xs) solid var(--color--line);
  }
  .menu-item--mega-standard > .sub-menu > .catalog-nav__mega-filters > .sub-menu {
    position: relative;
    display: grid;
    grid-template-columns: minmax(10rem, 12rem) minmax(0, 1fr);
    gap: var(--gap--xs) var(--gap--l);
    min-height: 12rem;
  }
  .catalog-nav__mega-filters > .sub-menu > .menu-item {
    position: static;
    grid-column: 1;
  }
  .catalog-nav__mega-filters > .sub-menu > .menu-item:is(.is-active, :hover, :focus-within) > a {
    background: var(--color--blush-soft);
    color: var(--color--accent);
  }
  .catalog-nav__mega-filters > .sub-menu > .menu-item > .sub-menu {
    position: absolute;
    top: 0;
    right: 0;
    bottom: auto;
    left: calc(12rem + var(--gap--l));
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gap--xs) var(--gap--m);
    min-width: 0;
    padding: 0 0 0 var(--pl--l);
    border: 0;
    border-left: var(--border--xs) solid var(--color--line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .catalog-nav__mega-filters > .sub-menu > .menu-item.is-active > .sub-menu {
    display: grid;
  }
}
body.has-open-panel {
  overflow: hidden;
}

.site-panel__backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--z--panel-backdrop);
  background: var(--color--overlay);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition--m), visibility var(--transition--m);
}

.site-panel__backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

.site-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: var(--z--panel);
  width: min(100%, var(--panel--width));
  display: flex;
  flex-direction: column;
  border-left: var(--border--xs) solid var(--color--line);
  background: var(--color--surface);
  box-shadow: var(--shadow--xl);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform var(--transition--m), visibility var(--transition--m);
}

.site-panel.is-open {
  transform: translateX(0);
  visibility: visible;
}

.site-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap--s);
  padding: var(--p--s);
  border-bottom: var(--border--xs) solid var(--color--line);
}

.site-panel__logo {
  display: inline-flex;
  align-items: center;
}

.site-panel__logo-image {
  width: 7rem;
  max-width: 100%;
  display: block;
}

.site-panel__close,
.mobile-nav__submenu-toggle {
  width: var(--control--m);
  height: var(--control--m);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0;
  border-radius: var(--radius--xl);
  background: var(--color--blush-soft);
  color: var(--color--accent);
  transition: background var(--transition--xs), color var(--transition--xs);
}

.site-panel__close:is(:hover, :focus-visible),
.mobile-nav__submenu-toggle:is(:hover, :focus-visible) {
  background: var(--color--accent);
  color: var(--color--white);
}

.site-panel__close span,
.site-panel__close span::before,
.site-panel__close span::after {
  width: var(--space--m);
  height: var(--border--xs);
  display: block;
  background: currentColor;
}

.site-panel__close span {
  position: relative;
  background: transparent;
}

.site-panel__close span::before,
.site-panel__close span::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
}

.site-panel__close span::before {
  transform: rotate(45deg);
}

.site-panel__close span::after {
  transform: rotate(-45deg);
}

.site-panel__body {
  overflow-y: auto;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: var(--p--s);
}

.mobile-nav + .mobile-nav {
  margin-top: var(--mt--m);
  padding-top: var(--pt--m);
  border-top: var(--border--xs) solid var(--color--line);
}

.mobile-nav__menu,
.mobile-nav__menu .sub-menu {
  padding: 0;
  margin: 0;
  list-style: none;
}

.mobile-nav__menu {
  display: grid;
  gap: var(--gap--xs);
}

.mobile-nav__menu .menu-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.mobile-nav__menu a {
  min-height: var(--control--s);
  display: flex;
  align-items: center;
  padding: var(--py--xs) var(--px--s);
  border-radius: var(--radius--xl);
  color: var(--color--text);
  font-size: var(--text--s);
  font-weight: 600;
  line-height: var(--line-height--s);
}

.mobile-nav__menu a:is(:hover, :focus-visible) {
  background: var(--color--blush-soft);
  color: var(--color--accent);
}

.mobile-nav__menu > .menu-item > a {
  font-size: var(--text--l);
}

.mobile-nav__menu .menu-item--heading > a {
  pointer-events: none;
  color: var(--color--accent);
}

.mobile-nav__menu .sub-menu {
  grid-column: 1/-1;
  display: none;
  gap: var(--gap--xs);
  padding-left: var(--pl--s);
}

.mobile-nav__menu .menu-item.is-expanded > .sub-menu {
  display: grid;
}

.mobile-nav__submenu-toggle {
  width: var(--control--s);
  height: var(--control--s);
}

.mobile-nav__submenu-toggle span,
.mobile-nav__submenu-toggle span::after {
  width: var(--space--s);
  height: var(--border--xs);
  display: block;
  background: currentColor;
  transition: transform var(--transition--xs);
}

.mobile-nav__submenu-toggle span {
  position: relative;
}

.mobile-nav__submenu-toggle span::after {
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(90deg);
  content: "";
}

.mobile-nav__submenu-toggle[aria-expanded=true] span::after {
  transform: rotate(0);
}

.site-panel__contacts {
  margin-top: auto;
  padding-top: var(--pt--l);
}

.site-panel__phone {
  display: inline-flex;
  color: var(--color--accent);
  font-family: var(--font--display);
  font-size: var(--text--l);
  font-weight: 600;
}

.site-panel__socials {
  display: flex;
  gap: var(--gap--xs);
  margin-top: var(--mt--s);
}

@media (min-width: 48rem) {
  body.has-open-panel {
    overflow: auto;
  }
  .site-panel,
  .site-panel__backdrop {
    display: none;
  }
}
.catalog-section, .promo-section {
  padding-block: var(--py--xl);
}

.catalog-section {
  background: var(--color--transparent);
}

.catalog-section--muted {
  background: var(--color--blush-soft);
}

.section-heading {
  display: grid;
  gap: var(--gap--s);
  margin-bottom: var(--mb--l);
}

.section-heading h1, .section-heading h2 {
  margin: var(--mt--xs) 0 0;
}

.section-heading__description {
  max-width: var(--content--measure);
  color: var(--color--text-muted);
}

.section-heading__description p:last-child {
  margin-bottom: 0;
}

.section-action {
  margin-top: var(--mt--l);
  text-align: center;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap--xs);
}

.product-card {
  display: flex;
  overflow: hidden;
  flex-direction: column;
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--m);
  background: var(--color--surface);
  text-align: center;
  transition: box-shadow var(--transition--s);
}

.product-card:hover {
  box-shadow: var(--shadow--l);
}

.product-card__media {
  position: relative;
}

.product-card__image {
  display: block;
  overflow: hidden;
  aspect-ratio: var(--ratio--square);
  background: var(--color--blush-soft);
}

.product-card__image img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  transition: transform var(--transition--m);
}

.product-card:hover .product-card__image img {
  transform: scale(1.035);
}

.product-card__favorite {
  position: absolute;
  top: var(--space--xs);
  right: var(--space--xs);
  z-index: 1;
  width: var(--control--s);
  height: var(--control--s);
  display: grid;
  place-items: center;
  padding: 0;
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--xl);
  background: var(--color--surface);
  color: var(--color--accent);
  box-shadow: var(--shadow--s);
  transition: background var(--transition--xs), color var(--transition--xs), transform var(--transition--xs);
}

.product-card__favorite:hover {
  transform: scale(1.06);
}

.product-card__favorite.is-favorite {
  background: var(--color--accent);
  color: var(--color--white);
}

.product-card__favorite-icon {
  width: var(--space--s);
  height: var(--space--s);
  fill: currentColor;
}

.product-card__favorite-icon--fill {
  display: none;
}

.product-card__favorite.is-favorite .product-card__favorite-icon--outline {
  display: none;
}

.product-card__favorite.is-favorite .product-card__favorite-icon--fill {
  display: block;
}

.product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: var(--gap--s);
  padding: var(--p--xs);
}

.product-card__title {
  margin: 0;
  font-family: var(--font--display);
}

.product-card__price {
  min-height: var(--space--m);
  color: var(--color--accent);
  font-weight: 800;
}

.product-card__price .price {
  color: inherit;
}

.product-card__variations {
  display: flex;
  max-width: 100%;
  align-items: flex-start;
  justify-content: center;
  gap: calc(var(--gap--xs) / 2);
}

.product-card__variation {
  width: var(--variation--item-width);
  min-width: 0;
  flex: 0 1 var(--variation--item-width);
  display: grid;
  justify-items: center;
  gap: var(--gap--xs);
  padding: 0;
  background: var(--color--transparent);
  color: var(--color--text-muted);
}

.product-card__variation-image {
  width: var(--variation--image-size);
  height: var(--variation--image-size);
  overflow: hidden;
  border: calc(var(--border--xs) * 2) solid var(--color--transparent);
  border-radius: var(--radius--xl);
  background: var(--color--blush-soft);
  transition: border-color var(--transition--xs), box-shadow var(--transition--xs);
}

.product-card__variation-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-card__variation:hover .product-card__variation-image,
.product-card__variation.is-active .product-card__variation-image {
  border-color: var(--color--accent);
  box-shadow: var(--shadow--xs);
}

.product-card__variation.is-active {
  color: var(--color--text);
}

.product-card__variation-meta {
  display: grid;
  justify-items: center;
  gap: calc(var(--gap--xs) / 4);
}

.product-card__variation-label {
  width: 100%;
  overflow-wrap: anywhere;
  font-size: var(--variation--label-size);
  line-height: var(--line-height--s);
  white-space: nowrap;
}

.product-card__variation-discount {
  color: var(--color--accent);
  font-size: var(--variation--label-size);
  font-weight: 800;
  line-height: var(--line-height--s);
}

.product-card__action {
  width: 100%;
  margin-top: auto;
  padding-top: var(--pt--xs);
}

.product-card__action .button, .product-card__button {
  position: relative;
  width: 100%;
  margin-top: 0;
}

.product-card .product-card__action .product-card__button.loading {
  padding-right: var(--px--m);
  color: var(--color--transparent);
  opacity: 1;
  pointer-events: none;
}

.product-card .product-card__action .product-card__button.loading::after {
  position: absolute;
  top: 50%;
  left: 50%;
  right: auto;
  width: var(--space--m);
  height: var(--space--m);
  margin: 0;
  border: calc(var(--border--xs) * 2) solid var(--color--white);
  border-top-color: var(--color--transparent);
  border-radius: var(--radius--xl);
  animation: anflor-product-button-loading 0.7s linear infinite;
  content: "";
}

.product-card .product-card__action .product-card__button.added {
  padding-right: var(--pr--l);
}

.product-card .product-card__action .product-card__button.added::after {
  position: absolute;
  top: 50%;
  right: var(--space--m);
  width: calc(var(--space--xs) / 2);
  height: var(--space--xs);
  margin: 0;
  border: solid currentColor;
  border-width: 0 calc(var(--border--xs) * 2) calc(var(--border--xs) * 2) 0;
  font-family: inherit;
  animation: none;
  content: "";
  transform: translateY(-60%) rotate(45deg);
}

.product-card__action > .added_to_cart.wc-forward {
  display: none;
}

@keyframes anflor-product-button-loading {
  from {
    transform: translate(-50%, -50%) rotate(0);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.favorites-page__status {
  padding: var(--p--l);
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--m);
  background: var(--color--surface);
  color: var(--color--text-muted);
  text-align: center;
}

.favorites-page__products:not(:empty) {
  margin-top: var(--mt--l);
}

@media (min-width: 23rem) {
  .product-card {
    --variation--item-width: var(--variation--item-width-wide);
    --variation--image-size: var(--variation--image-size-wide);
    --variation--label-size: var(--variation--label-size-wide);
  }
}
@media (min-width: 48rem) {
  .section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
  }
  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .product-card__body {
    padding: var(--p--s);
  }
}
@media (min-width: 64rem) {
  .product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.promo-grid {
  display: grid;
  gap: var(--gap--m);
}

.promo-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--m);
  background: var(--color--surface);
}

.promo-card__image {
  aspect-ratio: var(--ratio--landscape);
  overflow: hidden;
}

.promo-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.promo-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--p--l);
}

.promo-card__content h2 {
  margin: var(--my--s) 0;
}

.promo-card__content p {
  color: var(--color--text-muted);
}

.promo-card__content .btn {
  margin-top: auto;
}

.front-page-content {
  padding-block: var(--py--xl);
  background: var(--color--background);
}

.front-page-content__body {
  max-height: var(--content--scroll);
  overflow-y: auto;
  padding: var(--p--l);
  padding-right: var(--pr--s);
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--m);
  background: var(--color--surface);
  color: var(--color--text-muted);
  line-height: var(--line-height--l);
  scrollbar-gutter: stable;
}

.front-page-content__body > :last-child {
  margin-bottom: 0;
}

.front-page-content__body h2, .front-page-content__body h3 {
  margin: var(--mt--m) 0 var(--mb--xs);
}

.delivery-banner {
  overflow: hidden;
  background: var(--color--blush);
}

.delivery-banner__inner {
  display: grid;
}

.delivery-banner__content {
  position: relative;
  z-index: 1;
  padding-block: var(--py--xl);
}

.delivery-banner__content h2 {
  max-width: var(--content--measure);
  margin: var(--mt--s) 0 var(--mb--m);
  color: var(--color--accent-dark);
}

.delivery-banner__image {
  position: relative;
  width: 100vw;
  aspect-ratio: var(--ratio--landscape);
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}

.delivery-banner__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (min-width: 48rem) {
  .promo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .delivery-banner__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
  .delivery-banner__image {
    width: auto;
    min-width: 0;
    aspect-ratio: auto;
    align-self: stretch;
    margin-right: calc(100% - 50vw);
    margin-left: 0;
  }
}
.selection-page__content {
  max-width: var(--content--measure);
  color: var(--color--text-muted);
}

.selection-page__content > :last-child {
  margin-bottom: 0;
}

.selection-grid {
  display: grid;
  gap: var(--gap--s);
  margin-top: var(--mt--l);
}

.selection-card {
  min-height: var(--control--l);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap--s);
  padding: var(--p--m);
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--m);
  background: var(--color--background);
  box-shadow: var(--shadow--xs);
  transition: color var(--transition--xs), border-color var(--transition--xs), box-shadow var(--transition--xs), transform var(--transition--xs);
}

.selection-card:hover,
.selection-card:focus-visible {
  border-color: var(--color--blush);
  color: var(--color--accent);
  box-shadow: var(--shadow--s);
  transform: translateY(-0.125rem);
}

.selection-card__title {
  font-family: var(--font--display);
  font-weight: 600;
}

.selection-card__arrow {
  flex: 0 0 auto;
  color: var(--color--accent);
}

@media (min-width: 40rem) {
  .selection-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 64rem) {
  .selection-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.site-main--inner {
  min-height: 55vh;
  padding-block: var(--py--xl);
}

.content-card {
  padding: var(--p--l);
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--m);
  background: var(--color--surface);
}

.entry-title {
  font-size: var(--text--xl);
}

.post-list {
  display: grid;
  gap: var(--gap--m);
}

input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=search], textarea, select {
  width: 100%;
  min-height: var(--control--m);
  padding: var(--py--xs) var(--px--s);
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--s);
  background: var(--color--white);
}

.woocommerce .woocommerce-breadcrumb {
  color: var(--color--text-muted);
  font-size: var(--text--s);
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap--m);
}

.catalog-section__shortcode.woocommerce ul.products {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap--xs);
}

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

.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  padding: var(--p--s);
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--m);
  background: var(--color--surface);
}

.woocommerce ul.products li.product.product-card {
  padding: 0;
}

.woocommerce ul.products li.product a img {
  aspect-ratio: var(--ratio--square);
  object-fit: cover;
  border-radius: var(--radius--s);
}

.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price {
  color: var(--color--accent);
  font-weight: 800;
}

.woocommerce div.product {
  padding: var(--p--l);
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--m);
  background: var(--color--surface);
}

.woocommerce table.shop_table {
  border-color: var(--color--line);
  background: var(--color--surface);
}

@media (min-width: 48rem) {
  .catalog-section__shortcode.woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 64rem) {
  .woocommerce ul.products,
  .catalog-section__shortcode.woocommerce ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.woocommerce .woocommerce-breadcrumb {
  margin-bottom: var(--mb--m);
  font-size: var(--text--xs);
}

.woocommerce .product-page {
  padding: 0;
  border: 0;
  background: var(--color--transparent);
}

.product-page__layout,
.product-page__visual,
.product-page__summary {
  display: grid;
  align-content: start;
}

.product-page__layout {
  gap: var(--gap--l);
}

.product-page__visual {
  display: contents;
  gap: var(--gap--l);
}

.product-page__summary {
  gap: var(--gap--m);
}

.product-page__gallery {
  position: relative;
  order: 1;
}

.product-page__summary {
  order: 2;
}

.product-benefits {
  order: 3;
}

.product-page__image {
  aspect-ratio: var(--ratio--square);
  overflow: hidden;
  border-radius: var(--radius--l);
  background: var(--color--blush-soft);
}

.woocommerce .product-page__image img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

.product-page__thumbnails {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: var(--gap--xs);
  padding: var(--space--xs);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline proximity;
}

.product-page__thumbnail {
  width: var(--control--l);
  aspect-ratio: var(--ratio--square);
  flex: 0 0 var(--control--l);
  overflow: hidden;
  padding: 0;
  border: calc(var(--border--xs) * 2) solid var(--color--transparent);
  border-radius: var(--radius--s);
  background: var(--color--blush-soft);
  scroll-snap-align: start;
  transition: border-color var(--transition--xs), box-shadow var(--transition--xs);
}

.product-page__thumbnail:is(:hover, :focus-visible),
.product-page__thumbnail.is-active {
  border-color: var(--color--accent);
  box-shadow: var(--shadow--xs);
}

.product-page__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-page__title,
.product-related__title {
  margin: 0;
  font-size: var(--text--xl);
}

.product-page__excerpt,
.product-page__description,
.product-accordion__content {
  color: var(--color--text-muted);
}

.product-page__description,
.product-accordion__content {
  font-size: var(--text--s);
}

.product-page__excerpt > :last-child,
.product-page__description > :last-child,
.product-accordion__content-inner > :last-child {
  margin-bottom: 0;
}

.product-page__delivery {
  display: flex;
  align-items: center;
  gap: var(--gap--s);
  color: var(--color--accent);
  font-size: var(--text--s);
  font-weight: 600;
}

.product-page__delivery-icon {
  width: var(--btn--icon-size);
  height: var(--btn--icon-size);
  flex: 0 0 var(--btn--icon-size);
  display: grid;
  place-items: center;
  background: var(--color--transparent);
}

.product-page__delivery-icon svg {
  width: var(--btn--icon-size);
  height: var(--btn--icon-size);
}

.product-page__price {
  color: var(--color--accent);
  font-size: var(--text--l);
  font-weight: 800;
}

.product-page__variations {
  justify-content: flex-start;
}

.product-page__actions {
  position: fixed;
  right: 0;
  bottom: calc(var(--mobile-toolbar--height) + env(safe-area-inset-bottom));
  left: 0;
  z-index: calc(var(--z--mobile-toolbar) - 1);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap--xs);
  padding: var(--p--xs) calc(var(--container--gutter) / 2);
  border-top: var(--border--xs) solid var(--color--blush);
  background: var(--color--surface);
  box-shadow: var(--shadow--m);
}

.woocommerce a.button.product-page__add-to-cart {
  position: relative;
  width: auto;
  flex: 0 1 auto;
  gap: var(--gap--s);
  padding-inline: var(--space--m);
  margin: 0;
  white-space: nowrap;
}

.product-page__add-to-cart-price {
  display: inline-flex;
  align-items: center;
  padding-left: var(--pl--s);
  border-left: var(--border--xs) solid currentColor;
}

.product-page__add-to-cart.loading {
  padding-right: var(--px--m);
  color: var(--color--transparent);
  opacity: 1;
  pointer-events: none;
}

.product-page__add-to-cart.loading::after {
  position: absolute;
  top: 50%;
  left: 50%;
  right: auto;
  width: var(--space--m);
  height: var(--space--m);
  margin: 0;
  border: calc(var(--border--xs) * 2) solid var(--color--white);
  border-top-color: var(--color--transparent);
  border-radius: var(--radius--xl);
  animation: anflor-product-button-loading 0.7s linear infinite;
  content: "";
}

.woocommerce a.button.product-page__add-to-cart.added {
  padding-inline: var(--space--m);
}

.product-page__add-to-cart.added .product-page__add-to-cart-price {
  margin-right: var(--mr--s);
}

.woocommerce a.button.product-page__add-to-cart.added::after {
  position: absolute;
  top: 50%;
  right: var(--space--m);
  width: calc(var(--space--xs) / 2);
  height: var(--space--xs);
  margin: 0;
  border: solid currentColor;
  border-width: 0 calc(var(--border--xs) * 2) calc(var(--border--xs) * 2) 0;
  font-family: inherit;
  animation: none;
  content: "";
  transform: translateY(-60%) rotate(45deg);
}

.product-page__actions > .added_to_cart.wc-forward {
  display: none;
}

.product-page__favorite-icon {
  width: 100%;
  height: 100%;
}

.product-page__favorite .product-page__favorite-icon--fill {
  display: none;
}

.product-page__favorite.is-favorite .product-page__favorite-icon--outline {
  display: none;
}

.product-page__favorite.is-favorite .product-page__favorite-icon--fill {
  display: block;
}

.product-page__favorite.is-favorite {
  --btn--background: var(--color--accent);
  --btn--color: var(--color--white);
  --btn--background-hover: var(--color--accent-dark);
  --btn--color-hover: var(--color--white);
}

.product-page__details {
  display: grid;
  gap: var(--gap--s);
  padding-top: var(--pt--s);
}

.product-page__subtitle,
.product-benefits__title {
  margin: 0;
}

.product-accordion {
  border-top: var(--border--xs) solid var(--color--line);
}

.product-accordion__item {
  border-bottom: var(--border--xs) solid var(--color--line);
}

.product-accordion__summary {
  min-height: var(--control--l);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap--s);
  padding-block: var(--py--s);
  color: var(--color--text);
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.product-accordion__summary::-webkit-details-marker {
  display: none;
}

.product-accordion__icon {
  position: relative;
  width: var(--space--m);
  height: var(--space--m);
  flex: 0 0 var(--space--m);
}

.product-accordion__icon::before,
.product-accordion__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--space--s);
  height: var(--border--xs);
  background: var(--color--accent);
  content: "";
  transform: translate(-50%, -50%);
  transition: transform var(--transition--xs);
}

.product-accordion__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.product-accordion__item[open] .product-accordion__icon::after {
  transform: translate(-50%, -50%) rotate(0);
}

.product-accordion__content {
  overflow: hidden;
  will-change: height;
}

.product-accordion__content-inner {
  padding-bottom: var(--pb--m);
}

.product-benefits {
  display: grid;
  gap: var(--gap--m);
}

.product-benefits__list {
  display: flex;
  gap: var(--gap--s);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline proximity;
}

.product-benefits__item {
  width: 6rem;
  flex: 0 0 6rem;
  display: grid;
  align-content: start;
  gap: var(--gap--xs);
  text-align: center;
  scroll-snap-align: start;
}

.product-benefits__image {
  aspect-ratio: var(--ratio--square);
  overflow: hidden;
  border-radius: var(--radius--m);
  background: var(--color--blush-soft);
}

.product-benefits__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-benefits__caption {
  color: var(--color--text-muted);
  font-size: var(--text--xs);
  text-wrap: balance;
}

.product-related {
  display: grid;
  gap: var(--gap--l);
  padding-top: var(--pt--xl);
}

body.single-product {
  padding-bottom: calc(var(--mobile-toolbar--height) + var(--control--m) + var(--space--m) + env(safe-area-inset-bottom));
}

@media (min-width: 48rem) {
  .product-page__layout {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 1fr);
    align-items: start;
  }
  .product-page__visual {
    display: grid;
  }
  .product-page__gallery,
  .product-page__summary,
  .product-benefits {
    order: initial;
  }
  .product-page__actions {
    position: static;
    z-index: auto;
    justify-content: flex-start;
    padding: 0;
    border: 0;
    background: var(--color--transparent);
    box-shadow: none;
  }
  body.single-product {
    padding-bottom: 0;
  }
}
.site-footer {
  padding-top: var(--pt--xl);
  border-top: var(--border--xs) solid var(--color--blush);
  background: var(--color--blush-soft);
  color: var(--color--text);
  text-wrap: balance;
}

.footer-grid {
  display: grid;
  gap: var(--gap--l);
  padding-bottom: var(--pb--l);
}

.footer-column {
  display: grid;
  align-content: start;
  gap: var(--gap--xs);
}

.footer-column--menus {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap--l);
}

.footer-column__section {
  display: grid;
  gap: var(--gap--xs);
}

.footer-column__title {
  color: var(--color--accent-dark);
  font-family: var(--font--display);
  font-weight: 700;
}

.footer-column p {
  margin: 0;
}

.footer-column a:not(.btn):hover {
  color: var(--color--accent);
  text-decoration: underline;
  text-underline-offset: var(--space--xs);
}

.footer-brand {
  display: inline-flex;
  align-items: center;
  margin-bottom: var(--mb--xs);
  color: var(--color--accent-dark);
}

.footer-brand__logo {
  width: 10rem;
  display: block;
}

.footer-phone {
  font-size: var(--text--l);
}

.footer-messengers {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap--xs);
}

.footer-messengers .btn {
  --btn--background: var(--color--blush);
  --btn--color: var(--color--white);
  --btn--background-hover: var(--color--blush);
  --btn--color-hover: var(--color--accent);
}

.footer-menu {
  display: grid;
  gap: var(--gap--xs);
  padding: 0;
  margin: 0;
  list-style: none;
}

.footer-stores {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap--m);
}

.footer-store {
  display: grid;
  gap: var(--gap--xs);
  color: inherit;
  font-style: normal;
}

.footer-store strong {
  color: var(--color--accent-dark);
  font-family: var(--font--display);
  font-size: var(--text--m);
}

.footer-store span {
  color: var(--color--text-muted);
  font-size: var(--text--s);
}

.footer-company-info {
  display: grid;
  gap: 0;
  color: var(--color--text-muted);
}

.footer-company-info__item {
  white-space: pre-line;
}

.footer-bottom {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--gap--m);
  padding-block: var(--py--m);
  border-top: var(--border--xs) solid var(--color--blush);
  color: var(--color--text-muted);
}

.footer-payment {
  width: min(100%, 34rem);
  height: auto;
  display: block;
}

.desktop-toolbar {
  position: fixed;
  right: var(--space--m);
  bottom: var(--space--m);
  z-index: var(--z--floating);
  display: none;
  gap: var(--gap--s);
  opacity: 0;
  pointer-events: none;
  transform: translateY(var(--space--s));
  transition: var(--transition--s);
}

@media (min-width: 48rem) {
  .desktop-toolbar {
    display: grid;
  }
  .desktop-toolbar.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }
}
.consent-banner {
  position: fixed;
  bottom: var(--space--m);
  left: 50%;
  z-index: var(--z--consent);
  width: min(100% - var(--container--gutter), var(--consent--width));
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--gap--m);
  padding: var(--p--m);
  border: var(--border--xs) solid var(--color--line);
  border-radius: var(--radius--l);
  background: var(--color--surface);
  box-shadow: var(--shadow--xl);
  transform: translateX(-50%);
}

.consent-banner[hidden] {
  display: none;
}

.consent-banner__text {
  color: var(--color--text-muted);
}

.consent-banner__text > :last-child {
  margin-bottom: 0;
}

.consent-banner__text a {
  color: var(--color--accent);
  text-decoration: underline;
  text-underline-offset: var(--space--xs);
}

.consent-banner__button {
  width: 100%;
  flex: 0 0 auto;
}

@media (min-width: 40rem) {
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .footer-column--menus,
  .footer-stores {
    grid-template-columns: 1fr;
  }
  .footer-bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .footer-payment {
    width: min(50%, 34rem);
  }
  .consent-banner {
    flex-direction: row;
    align-items: center;
    border-radius: var(--radius--xl);
  }
  .consent-banner__text {
    flex: 1;
  }
  .consent-banner__button {
    width: auto;
  }
}
@media (min-width: 64rem) {
  .footer-grid {
    grid-template-columns: 1.1fr 0.9fr 1.15fr 1.5fr;
  }
}
body {
  padding-bottom: calc(var(--mobile-toolbar--height) + env(safe-area-inset-bottom));
}

.mobile-toolbar {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--z--mobile-toolbar);
  height: calc(var(--mobile-toolbar--height) + env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  place-items: center;
  padding-bottom: env(safe-area-inset-bottom);
  border-top: var(--border--xs) solid var(--color--blush);
  background: var(--color--surface);
}

.mobile-toolbar::after {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  color: var(--color--blush-soft);
  font-family: var(--font--display);
  font-size: var(--mobile-toolbar--height);
  font-weight: 900;
  line-height: 1;
  opacity: 0.5;
  pointer-events: none;
  content: "anflor";
  transform: translate(-50%, -50%);
}

.mobile-toolbar .mobile-toolbar__item.btn {
  --btn--background: var(--color--transparent);
  --btn--color: var(--color--text-muted);
  --btn--background-hover: var(--color--transparent);
  --btn--color-hover: var(--color--text-muted);
  --btn--icon-size: 1rem;
  width: auto;
  height: 100%;
  min-height: 0;
  gap: calc(var(--gap--xs) / 2);
  padding: 0;
  border-radius: 0;
}

.mobile-toolbar .btn__badge {
  top: var(--space--xs);
  right: var(--space--xs);
  min-width: var(--space--s);
  height: var(--space--s);
  font-size: calc(0.8 * var(--text--xs));
}

.consent-banner {
  bottom: calc(var(--mobile-toolbar--height) + var(--space--m) + env(safe-area-inset-bottom));
}

@media (min-width: 48rem) {
  body {
    padding-bottom: 0;
  }
  .mobile-toolbar {
    display: none;
  }
  .consent-banner {
    bottom: var(--space--m);
  }
}
