@charset "UTF-8";
@layer reset, default, mf-lib, components, modifiers, theme, store;
:root {
  --screen-md: 768px;
  --screen-lg: 1024px;
  --screen-xl: 1200px;
  --screen-xxl: 1600px;
  --padding-grid: 1rem;
  --padding-container: 1rem;
  --padding-section: 4rem;
  --padding-section-md: 4rem;
  --padding-section-lg: 5rem;
  --padding-section-xl: 5rem;
  --color-text: #333;
  --color-border: #ececec;
  --color-border-light: #f5f5f5;
  --color-border-dark: #dfdfdf;
  --color-base: #b3245f;
  --color-base-light-10: rgb(186.6, 57.9, 111);
  --color-base-light-20: rgb(194.2, 79.8, 127);
  --color-base-light-30: rgb(201.8, 101.7, 143);
  --color-base-light-40: rgb(209.4, 123.6, 159);
  --color-base-light-50: rgb(217, 145.5, 175);
  --color-base-light-60: rgb(224.6, 167.4, 191);
  --color-base-light-70: rgb(232.2, 189.3, 207);
  --color-base-light-80: rgb(239.8, 211.2, 223);
  --color-base-light-90: rgb(247.4, 233.1, 239);
  --color-base-light-91: rgb(248.16, 235.29, 240.6);
  --color-base-light-92: rgb(248.92, 237.48, 242.2);
  --color-base-light-93: rgb(249.68, 239.67, 243.8);
  --color-base-light-94: rgb(250.44, 241.86, 245.4);
  --color-base-light-95: rgb(251.2, 244.05, 247);
  --color-base-light-96: rgb(251.96, 246.24, 248.6);
  --color-base-light-97: rgb(252.72, 248.43, 250.2);
  --color-base-light-98: rgb(253.48, 250.62, 251.8);
  --color-base-light-99: rgb(254.24, 252.81, 253.4);
  --color-base-dark-10: rgb(161.1, 32.4, 85.5);
  --color-base-dark-20: rgb(143.2, 28.8, 76);
  --color-base-dark-30: rgb(125.3, 25.2, 66.5);
  --color-base-dark-40: rgb(107.4, 21.6, 57);
  --color-base-dark-50: rgb(89.5, 18, 47.5);
  --color-base-dark-60: rgb(71.6, 14.4, 38);
  --color-base-dark-70: rgb(53.7, 10.8, 28.5);
  --color-base-dark-80: rgb(35.8, 7.2, 19);
  --color-base-dark-90: rgb(17.9, 3.6, 9.5);
  --color-base-dark-91: rgb(16.11, 3.24, 8.55);
  --color-base-dark-92: rgb(14.32, 2.88, 7.6);
  --color-base-dark-93: rgb(12.53, 2.52, 6.65);
  --color-base-dark-94: rgb(10.74, 2.16, 5.7);
  --color-base-dark-95: rgb(8.95, 1.8, 4.75);
  --color-base-dark-96: rgb(7.16, 1.44, 3.8);
  --color-base-dark-97: rgb(5.37, 1.08, 2.85);
  --color-base-dark-98: rgb(3.58, 0.72, 1.9);
  --color-base-dark-99: rgb(1.79, 0.36, 0.95);
  --color-second: #15506c;
  --color-second-light-10: rgb(44.4, 97.5, 122.7);
  --color-second-light-20: rgb(67.8, 115, 137.4);
  --color-second-light-30: rgb(91.2, 132.5, 152.1);
  --color-second-light-40: rgb(114.6, 150, 166.8);
  --color-second-light-50: rgb(138, 167.5, 181.5);
  --color-second-light-60: rgb(161.4, 185, 196.2);
  --color-second-light-70: rgb(184.8, 202.5, 210.9);
  --color-second-light-80: rgb(208.2, 220, 225.6);
  --color-second-light-90: rgb(231.6, 237.5, 240.3);
  --color-second-light-91: rgb(233.94, 239.25, 241.77);
  --color-second-light-92: rgb(236.28, 241, 243.24);
  --color-second-light-93: rgb(238.62, 242.75, 244.71);
  --color-second-light-94: rgb(240.96, 244.5, 246.18);
  --color-second-light-95: rgb(243.3, 246.25, 247.65);
  --color-second-light-96: rgb(245.64, 248, 249.12);
  --color-second-light-97: rgb(247.98, 249.75, 250.59);
  --color-second-light-98: rgb(250.32, 251.5, 252.06);
  --color-second-light-99: rgb(252.66, 253.25, 253.53);
  --color-second-dark-10: rgb(18.9, 72, 97.2);
  --color-second-dark-20: rgb(16.8, 64, 86.4);
  --color-second-dark-30: rgb(14.7, 56, 75.6);
  --color-second-dark-40: rgb(12.6, 48, 64.8);
  --color-second-dark-50: rgb(10.5, 40, 54);
  --color-second-dark-60: rgb(8.4, 32, 43.2);
  --color-second-dark-70: rgb(6.3, 24, 32.4);
  --color-second-dark-80: rgb(4.2, 16, 21.6);
  --color-second-dark-90: rgb(2.1, 8, 10.8);
  --color-second-dark-91: rgb(1.89, 7.2, 9.72);
  --color-second-dark-92: rgb(1.68, 6.4, 8.64);
  --color-second-dark-93: rgb(1.47, 5.6, 7.56);
  --color-second-dark-94: rgb(1.26, 4.8, 6.48);
  --color-second-dark-95: rgb(1.05, 4, 5.4);
  --color-second-dark-96: rgb(0.84, 3.2, 4.32);
  --color-second-dark-97: rgb(0.63, 2.4, 3.24);
  --color-second-dark-98: rgb(0.42, 1.6, 2.16);
  --color-second-dark-99: rgb(0.21, 0.8, 1.08);
  --color-green: #00a249;
  --color-green-light-10: rgb(25.5, 171.3, 91.2);
  --color-green-light-20: rgb(51, 180.6, 109.4);
  --color-green-light-30: rgb(76.5, 189.9, 127.6);
  --color-green-light-40: rgb(102, 199.2, 145.8);
  --color-green-light-50: rgb(127.5, 208.5, 164);
  --color-green-light-60: rgb(153, 217.8, 182.2);
  --color-green-light-70: rgb(178.5, 227.1, 200.4);
  --color-green-light-80: rgb(204, 236.4, 218.6);
  --color-green-light-90: rgb(229.5, 245.7, 236.8);
  --color-green-dark-10: rgb(0, 145.8, 65.7);
  --color-green-dark-20: rgb(0, 129.6, 58.4);
  --color-green-dark-30: rgb(0, 113.4, 51.1);
  --color-green-dark-40: rgb(0, 97.2, 43.8);
  --color-green-dark-50: rgb(0, 81, 36.5);
  --color-green-dark-60: rgb(0, 64.8, 29.2);
  --color-green-dark-70: rgb(0, 48.6, 21.9);
  --color-green-dark-80: rgb(0, 32.4, 14.6);
  --color-green-dark-90: rgb(0, 16.2, 7.3);
  --color-red: #db0444;
  --color-red-light-10: rgb(222.6, 29.1, 86.7);
  --color-red-light-20: rgb(226.2, 54.2, 105.4);
  --color-red-light-30: rgb(229.8, 79.3, 124.1);
  --color-red-light-40: rgb(233.4, 104.4, 142.8);
  --color-red-light-50: rgb(237, 129.5, 161.5);
  --color-red-light-60: rgb(240.6, 154.6, 180.2);
  --color-red-light-70: rgb(244.2, 179.7, 198.9);
  --color-red-light-80: rgb(247.8, 204.8, 217.6);
  --color-red-light-90: rgb(251.4, 229.9, 236.3);
  --color-red-dark-10: rgb(197.1, 3.6, 61.2);
  --color-red-dark-20: rgb(175.2, 3.2, 54.4);
  --color-red-dark-30: rgb(153.3, 2.8, 47.6);
  --color-red-dark-40: rgb(131.4, 2.4, 40.8);
  --color-red-dark-50: rgb(109.5, 2, 34);
  --color-red-dark-60: rgb(87.6, 1.6, 27.2);
  --color-red-dark-70: rgb(65.7, 1.2, 20.4);
  --color-red-dark-80: rgb(43.8, 0.8, 13.6);
  --color-red-dark-90: rgb(21.9, 0.4, 6.8);
  --color-gray: #e5e5e5;
  --color-gray-light-10: rgb(231.6, 231.6, 231.6);
  --color-gray-light-20: rgb(234.2, 234.2, 234.2);
  --color-gray-light-30: rgb(236.8, 236.8, 236.8);
  --color-gray-light-40: rgb(239.4, 239.4, 239.4);
  --color-gray-light-50: #f2f2f2;
  --color-gray-light-60: rgb(244.6, 244.6, 244.6);
  --color-gray-light-70: rgb(247.2, 247.2, 247.2);
  --color-gray-light-80: rgb(249.8, 249.8, 249.8);
  --color-gray-light-90: rgb(252.4, 252.4, 252.4);
  --color-gray-dark-10: rgb(206.1, 206.1, 206.1);
  --color-gray-dark-20: rgb(183.2, 183.2, 183.2);
  --color-gray-dark-30: rgb(160.3, 160.3, 160.3);
  --color-gray-dark-40: rgb(137.4, 137.4, 137.4);
  --color-gray-dark-50: rgb(114.5, 114.5, 114.5);
  --color-gray-dark-60: rgb(91.6, 91.6, 91.6);
  --color-gray-dark-70: rgb(68.7, 68.7, 68.7);
  --color-gray-dark-80: rgb(45.8, 45.8, 45.8);
  --color-gray-dark-90: rgb(22.9, 22.9, 22.9);
  --gradient-base: linear-gradient(135deg, var(--color-base-light-30), var(--color-base));
  --gradient-base-deep: linear-gradient(135deg, var(--color-base), var(--color-base-dark-30));
  --gradient-second: linear-gradient(135deg, var(--color-second-light-60), var(--color-second));
  --gradient-second-deep: linear-gradient(135deg, var(--color-second), var(--color-second-dark-30));
  --gradient-brand: linear-gradient(135deg, var(--color-base), var(--color-second));
  --gradient-mint: linear-gradient(135deg, var(--color-green-light-60), var(--color-green));
  --gradient-blush: linear-gradient(135deg, var(--color-red-light-60), var(--color-base));
  --gradient-gray: linear-gradient(135deg, var(--color-gray-light-50), var(--color-gray));
  --gradient-spectrum: linear-gradient(135deg, var(--color-second), var(--color-base), var(--color-red));
  --gradient-orange:linear-gradient(135deg, #f5caa7 0%, #ea2f34 50%, #6e0040 100%);
  --font-family-main: "Wix Madefor Display", sans-serif;
  --font-family-second: "Roboto Slab", serif;
  --font-line-height-base: 1.45;
  --font-letter-spacing-base: 0.025em;
  --transition-time: 0.15s;
  --transition-ease: all var(--transition-time) ease-in-out;
  --transition: all var(--transition-time) linear;
  --box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.06);
  --box-shadow-inset: inset 0 0 2rem rgba(0, 0, 0, 0.06);
  --container-width: 146rem;
  --shadow-box: 0 0.5rem 2rem rgba(0, 0, 0, 0.15);
  --shadow-box-hover: 0 0.5rem 2rem rgba(0, 0, 0, 0.15), 0 1rem 3rem rgba(0, 0, 0, 0.1);
  --input-height: 4.8rem;
  --input-border-radius: 0.8rem;
}
@media (min-width: 1024px) {
  :root {
    --padding-container: 2rem;
  }
}

@layer reset {
  blockquote,
  q {
    quotes: none;
  }
  blockquote:before,
  blockquote:after,
  q:before,
  q:after {
    content: none;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  input,
  select,
  textarea,
  button,
  optgroup {
    border: none;
    background-color: transparent;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    padding: 0;
  }
  input:focus,
  select:focus,
  textarea:focus,
  button:focus,
  optgroup:focus {
    outline: none;
  }
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
}
@layer default {
  html {
    background-color: #fff;
    font-family: var(--font-family-main);
    font-size: 62.5%;
    font-feature-settings: "lnum";
    line-height: var(--font-line-height-base);
    letter-spacing: var(--font-letter-spacing-base);
    color: var(--color-text);
    scroll-behavior: smooth;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    scrollbar-gutter: stable;
  }
  body {
    margin: 0 auto;
    font-size: 1.6rem;
  }
  body.scroll-disable {
    overflow-y: hidden;
  }
  @supports not (scrollbar-gutter: stable) {
    body.scroll-disable {
      padding-right: var(--mf-scrollbar-width, 0);
    }
  }
  *,
  *::after,
  *::before {
    max-width: 100%;
  }
  .mf-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.4);
    backdrop-filter: saturate(0.5) blur(4px);
    opacity: 0;
    pointer-events: none;
    transition: var(--transition-ease);
    z-index: 100;
  }
  .mf-overlay.is-active {
    opacity: 1;
    pointer-events: all;
  }
  .mf_menu_active .mf-overlay {
    z-index: 99;
  }
  ::-webkit-scrollbar {
    background-color: var(--color-border);
    border-radius: 0.2rem;
    width: 6px;
    height: 6px;
    overflow: hidden;
  }
  ::-webkit-scrollbar-thumb {
    background-color: var(--color-gray-dark-40);
    border-radius: 0.2rem;
    background-clip: padding-box;
  }
  section {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .breadcrumbs-section {
    padding-top: 2.4rem;
    padding-bottom: 1.2rem;
  }
  .breadcrumbs-section:first-child + section {
    padding-top: 1.2rem;
  }
  main section:first-child {
    padding-top: 2rem;
  }
  @media (min-width: 768px) {
    section {
      padding-top: 4.8rem;
      padding-bottom: 4.8rem;
    }
  }
  @media (min-width: 1024px) {
    section {
      padding-top: 6.4rem;
      padding-bottom: 6.4rem;
    }
    main section:first-child {
      padding-top: 3rem;
    }
  }
  @media (min-width: 1600px) {
    section {
      padding-top: 8rem;
      padding-bottom: 8rem;
    }
  }
  img {
    max-width: 100%;
    object-fit: contain;
    height: auto;
    display: inline-block;
  }
  address {
    font-style: normal;
  }
  button {
    background: initial;
    font-family: inherit;
    border: none;
    padding: 0;
    font-size: inherit;
    cursor: pointer;
  }
  input[type=submit] {
    cursor: pointer;
  }
  hr {
    border: none;
    border-bottom: solid 1px var(--color-border);
    padding: 0;
    margin: 4rem 0;
  }
  .table-wrapper {
    --mf-tw-bg: #fff;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 2.4rem 0;
    overflow: auto;
    border: 0.1rem solid var(--color-border);
    border-radius: 1rem;
    background-color: var(--mf-tw-bg);
  }
  .table-wrapper table {
    margin: 0;
  }
  .table-wrapper.-limit-height {
    max-height: 50dvh;
  }
  .table-wrapper.-limit-height thead th {
    position: sticky;
    top: 0;
    background-color: var(--mf-tw-bg);
  }
  p + .table-wrapper {
    margin-top: 0;
  }
  table {
    width: 100%;
    margin: 2.4rem 0;
    border-collapse: collapse;
    color: var(--color-text);
    line-height: 1.4;
  }
  table th,
  table td {
    padding: 1.2rem 1.6rem;
    text-align: left;
    vertical-align: middle;
    transition: var(--transition-ease);
  }
  table thead th {
    font-weight: 600;
    border-bottom: 0.2rem solid var(--color-border);
  }
  table tbody > tr > * {
    border-bottom: 0.1rem solid var(--color-border-light);
  }
  table tbody > tr:hover > * {
    background-color: var(--color-base-light-90);
  }
  table tbody > tr:last-child > * {
    border-bottom: none;
  }
  table tfoot td {
    font-weight: 700;
    border-top: 0.2rem solid var(--color-border);
  }
  table caption {
    caption-side: top;
    padding: 0 0 1.2rem;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: left;
    color: var(--color-text);
  }
  blockquote {
    margin: 2.4rem 0;
    padding: 2.4rem 2.4rem 2.4rem 4rem;
    border-left: solid 0.6rem var(--color-base);
    font-size: 1.8rem;
    line-height: 1.35;
    color: var(--color-text);
    background: var(--color-base-light-90);
    border-radius: 1rem;
  }
  blockquote cite {
    display: block;
    font-weight: bold;
    color: var(--color-base);
    margin-top: 3.2rem;
  }
  blockquote p:last-child {
    margin-bottom: 0;
  }
  [id] {
    scroll-margin-top: 8rem;
  }
  section {
    padding: var(--padding-section) 0;
  }
  @media (min-width: 768px) {
    section {
      padding: var(--padding-section-md) 0;
    }
  }
  @media (min-width: 1024px) {
    section {
      padding: var(--padding-section-lg) 0;
    }
  }
  @media (min-width: 1200px) {
    section {
      padding: var(--padding-section-xl) 0;
    }
  }
}
@layer modifiers {
  .is-text-s {
    font-size: 1.4rem;
  }
  .is-text-n {
    font-size: 1.6rem;
  }
  .is-text-m {
    font-size: 1.8rem;
  }
  .is-text-l {
    font-size: 2rem;
  }
  .is-text-xl {
    font-size: 2.2rem;
  }
  .is-color-black {
    color: #222;
  }
  .is-color-base {
    color: var(--color-base);
  }
  .is-color-second {
    color: var(--color-second);
  }
  .is-color-green {
    color: var(--color-green);
  }
  .is-color-red {
    color: var(--color-red);
  }
  .is-color-gray {
    color: var(--color-gray);
  }
  .is-color-text {
    color: var(--color-text);
  }
  .is-color-white {
    color: #fff;
  }
  .is-no-underline {
    text-decoration: none;
  }
  .is-ff-main {
    font-family: var(--font-family-main);
  }
  .is-ff-second {
    font-family: var(--font-family-second);
  }
  .is-text-center {
    text-align: center;
  }
  .is-text-left {
    text-align: left;
  }
  .is-text-right {
    text-align: right;
  }
  .is-bg-white {
    background-color: #fff;
  }
  .is-bg-base {
    background-color: var(--color-base);
  }
  .is-bg-second {
    background-color: var(--color-second);
  }
  .is-bg-good {
    background-color: var(--color-green);
  }
  .is-bg-bad {
    background-color: var(--color-red);
  }
  .is-bg-gray {
    background-color: var(--color-gray);
  }
  .is-bg-no {
    background-color: transparent;
  }
  .is-bg-gradient {
    background-image: var(--gr, linear-gradient(var(--gr-angle, 135deg), var(--gr-from, var(--color-base)), var(--gr-to, var(--color-second))));
  }
  .is-bg-text-color {
    background-color: var(--color-text);
  }
  .is-bg-base-with-pattern {
    --bg-image: url(/local/templates/mosconditer/assets/images/patter-polka-dots.svg);
    background: radial-gradient(60% 60% at 50% 50%, var(--color-base) 0, var(--color-base) 52.85%, var(--color-base-dark-20) 100%);
    color: #fff;
    position: relative;
  }
  .is-bg-base-with-pattern::after {
    content: "";
    background: var(--bg-image);
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    background-size: 1rem;
    opacity: 0.08;
    pointer-events: none;
  }
  .is-display-none {
    display: none;
  }
  @media (max-width: 767.99px) {
    .is-display-none-mobile {
      display: none;
    }
  }
  @media (min-width: 768px) {
    .is-display-none-md {
      display: none;
    }
  }
  @media (min-width: 768px) and (max-width: 1023.99px) {
    .is-display-none-md-only {
      display: none;
    }
  }
  @media (min-width: 1024px) {
    .is-display-none-lg {
      display: none;
    }
  }
  @media (min-width: 1024px) and (max-width: 1199.99px) {
    .is-display-none-lg-only {
      display: none;
    }
  }
  @media (max-width: 1023.99px) {
    .is-display-none-before-lg {
      display: none;
    }
  }
  @media (max-width: 1199.99px) {
    .is-display-none-before-xl {
      display: none;
    }
  }
  .is-display-contents {
    display: contents;
  }
  .is-display-block {
    display: block;
  }
  .is-display-flex {
    display: flex;
  }
  .is-width-100 {
    width: 100%;
  }
  .is-buttons-wrapper {
    display: flex;
    gap: 1.6rem;
    flex-wrap: wrap;
  }
  .is-buttons-wrapper > * {
    margin: 0;
  }
  .is-horizontal-scroll {
    display: flex;
    overflow-y: auto;
    padding-bottom: 1rem;
    flex-wrap: nowrap;
  }
  @media (min-width: 1024px) {
    .is-horizontal-scroll.-no-desktop {
      flex-wrap: wrap;
      row-gap: 1rem;
    }
  }
  .is-horizontal-scroll > * {
    -webkit-user-drag: none;
    user-drag: none;
    user-select: none;
  }
  .is-horizontal-scroll.-hided-scroll {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .is-horizontal-scroll.-hided-scroll::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
  }
  .is-shadow-box {
    box-shadow: var(--shadow-box);
  }
  .is-bordered {
    border: solid 1px var(--color-border);
  }
  .is-border-top {
    border-top: solid 1px var(--color-border);
  }
  .is-link-all::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
  }
  .is-pos-relative {
    position: relative;
  }
  .is-scroll-hidden {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
  }
  .is-scroll-hidden::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Edge */
  }
  .is-dots-loading::after {
    animation: loading 1.6s linear infinite;
    content: "";
  }
  .is-title-center {
    text-align: center;
  }
  .is-title-center.-lined span {
    position: relative;
    display: inline-block;
  }
  .is-title-center.-lined span::before, .is-title-center.-lined span::after {
    content: "";
    display: block;
    height: 0.3rem;
    background-color: var(--color-base);
    top: 50%;
    position: absolute;
    margin: auto;
    border-radius: 99px;
    width: calc((100dvw - 100% - 2rem) / 2 - 4rem);
    max-width: initial;
  }
  @media (min-width: 1024px) {
    .is-title-center.-lined span::before, .is-title-center.-lined span::after {
      width: calc((100dvw - 100% - 2rem) / 2 - 6rem);
    }
  }
  @media (min-width: 146rem) {
    .is-title-center.-lined span::before, .is-title-center.-lined span::after {
      width: calc((var(--container-width) - 100%) / 2 - 6rem);
    }
  }
  .is-title-center.-lined span::before {
    right: calc(100% + 2rem);
  }
  .is-title-center.-lined span::after {
    left: calc(100% + 2rem);
  }
  [disabled], .is-disabled {
    opacity: 0.4;
    pointer-events: none;
  }
  .is-list-flex {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .is-fw-400 {
    font-weight: 400;
  }
  .is-fw-500 {
    font-weight: 500;
  }
  .is-fw-600 {
    font-weight: 600;
  }
  .is-fw-700 {
    font-weight: 700;
  }
  .is-text-mode, .dc-text .dct--content {
    line-height: 1.6;
  }
  .is-text-mode > div, .dc-text .dct--content > div {
    margin-bottom: 1.6rem;
  }
  .is-text-mode ul, .dc-text .dct--content ul {
    margin-bottom: 1.6rem;
  }
  .is-text-mode ul > li, .dc-text .dct--content ul > li {
    position: relative;
    list-style-type: circle;
    margin-left: 2.6rem;
  }
  .is-text-mode ol, .dc-text .dct--content ol {
    margin-bottom: 1.6rem;
  }
  .is-text-mode ol > li, .dc-text .dct--content ol > li {
    position: relative;
    list-style-type: auto;
    margin-left: 2.6rem;
  }
  .is-text-mode ol > li::marker, .dc-text .dct--content ol > li::marker {
    font-weight: 600;
  }
  @media (max-width: 1023.99px) {
    .is-hide-before-lg {
      display: none;
    }
  }
}
@layer theme {
  .header-style-01 {
    position: sticky;
    top: 0;
    background-color: #fff;
    z-index: 101;
    transition: var(--transition-ease);
    border-bottom: solid 1px var(--color-border);
  }
  .header-style-01 a:not(:hover):not(.mf-button), .header-style-01 .a:not(:hover):not(.mf-button) {
    color: var(--color-text);
  }
  .header-style-01 .hs01--top-wrapper {
    background-color: var(--color-second);
    color: #fff;
    font-size: 1.5rem;
  }
  .header-style-01 .hs01--top-wrapper .hs01--top {
    width: 100%;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    height: 3rem;
    align-items: center;
  }
  .header-style-01 .hs01--top-wrapper .hs01--menu-info {
    display: flex;
    gap: 2.5rem;
  }
  .header-style-01 .hs01--top-wrapper .hs01--info-single {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    line-height: 1;
  }
  .header-style-01 .hs01--top-wrapper .hs01--working-time .hs01--name.-hs01-closed {
    background-color: var(--color-red);
    padding: 0.3rem 1rem;
    border-radius: 0.5rem;
  }
  .header-style-01 .hs01--top-wrapper a:not(:hover) {
    color: #fff;
  }
  .header-style-01 .hs01--top-wrapper .tooltip-content {
    color: var(--color-text);
  }
  .header-style-01 .hs01--middle {
    width: 100%;
    display: flex;
    gap: 0.8rem;
    align-items: center;
    justify-content: space-between;
  }
  .header-style-01 .hs01--main-menu {
    width: 100%;
    display: flex;
    gap: 0.4rem;
    padding: 1rem 0;
    flex-direction: column;
  }
  .header-style-01 .hs01--logo {
    width: 15rem;
    padding: 0.6rem 0;
  }
  .header-style-01 .hs01--search-wrapper {
    width: 50rem;
    transition: flex 0.2s;
  }
  .header-style-01 .hs01--search-wrapper .hs01--clear {
    position: absolute;
    right: 1rem;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    background-color: var(--color-red-light-10);
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
  }
  .header-style-01 .hs01--search-wrapper .mf-input-wrap:not(.-not-empty) .hs01--clear {
    display: none;
  }
  .header-style-01 #site-search {
    padding-right: 4rem;
  }
  .header-style-01 .hs01--cart {
    font-size: 0.95em;
    display: flex;
    align-items: center;
  }
  .header-style-01 .hs01--cart .hs01--icon {
    position: relative;
  }
  .header-style-01 .hs01--cart .hs01--counter {
    position: absolute;
    inset: 0;
    margin: auto;
    color: var(--color-base);
    font-size: 1rem;
    font-weight: 700;
    line-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header-style-01 .hs01--cart .hs01--cart-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: 1.7rem;
    line-height: 1;
    font-weight: 500;
    gap: 0.6rem;
    transform: translateY(0.4rem);
  }
  .header-style-01 .hs01--cart .hs01--total-price {
    font-size: 1.2rem;
  }
  .header-style-01 .hs01--contact-wrapper .hs01--advanced-wrapper {
    position: absolute;
    top: calc(100% + 1rem);
    left: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.97);
    box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.1);
    border-radius: 1rem;
    width: calc(100% - 2rem);
    margin: auto;
    max-width: 100dvh;
    padding: 1.6rem;
    white-space: nowrap;
    display: flex;
    flex-direction: column;
    opacity: 1;
    transition: opacity 0.1s;
    font-size: 1.7rem;
    line-height: 1;
    z-index: 11;
  }
  .header-style-01 .hs01--contact-wrapper .hs01--advanced {
    display: flex;
    flex-direction: column;
    box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.1);
    padding: 1.6rem 2.6rem;
    border-radius: 1rem;
    background: #fff;
  }
  .header-style-01 .hs01--contact-wrapper .hs01--phone {
    padding-top: 0.4rem;
    padding-bottom: 1.4rem;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500;
  }
  .header-style-01 .hs01--contact-wrapper .hs01--phone:not(:first-child) {
    padding-top: 1.4rem;
    border-top: solid 1px var(--color-border);
  }
  .header-style-01 .hs01--contact-wrapper .hs01--call-order {
    margin-top: 0.6rem;
    margin-bottom: 1.6rem;
  }
  .header-style-01 .hs01--contact-wrapper .hs01--call-order::before {
    content: "";
    display: block;
  }
  .header-style-01 .hs01--contact-wrapper .hs01--social-links {
    font-size: 2.4rem;
    display: flex;
    justify-content: center;
    gap: 1.4rem;
  }
  .header-style-01 .hs01--contact-wrapper .hs01--social-links a {
    display: flex;
    align-items: center;
  }
  .header-style-01 .hs01--contact-wrapper:not(.is-active) .hs01--advanced-wrapper {
    display: none;
  }
  .header-style-01 .hs01--interactive-header {
    display: flex;
    gap: 1rem;
    font-size: 2.6rem;
  }
  .header-style-01 .hs01--interactive-header > * {
    width: 2.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header-style-01 .hs01--interactive-header .hs01--cart-wrapper {
    width: auto;
  }
  .header-style-01 .hs01--interactive-header .is-active {
    color: var(--color-base);
  }
  .header-style-01 .hs01--search-result-wrapper {
    width: 100%;
    max-height: calc(100dvh - var(--header-height) - 5rem - 2rem - 5rem);
    background-color: #fff;
    margin-top: 1rem;
    padding: 1.6rem;
    overflow: hidden;
    font-size: 1.4rem;
    line-height: 1.3;
    display: flex;
  }
  .header-style-01 .hs01--search-result-wrapper .hs01--search-result {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
    min-height: 0;
  }
  .header-style-01 .hs01--search-result-wrapper .hs01--message {
    line-height: 1.5;
  }
  .header-style-01 .hs01--search-result-wrapper .hs01--message span {
    background-color: var(--color-base-light-80);
    border-radius: 0.4rem;
    padding: 0 0.5rem 0.1rem;
    cursor: pointer;
  }
  @media (max-width: 767.99px) {
    .header-style-01 .hs01--menu-info-wrapper {
      display: none;
    }
    .header-style-01 .hs01--cart .hs01--cart-info {
      display: none;
    }
    .header-style-01 .hs01--contact-wrapper {
      display: contents;
    }
    .header-style-01 .hs01--contact-wrapper .hs01--main-part {
      display: none;
    }
    .header-style-01 .hs01--contact-wrapper .hs01--advanced {
      display: contents;
    }
    .header-style-01 .hs01--favorites, .header-style-01 .hs01--constructor {
      display: none;
    }
  }
  @media (max-width: 1023.99px) {
    .header-style-01 .hs01--search-wrapper {
      position: fixed;
      width: calc(100% - 2rem);
      top: calc(var(--header-height, 10dvh) + 1rem);
      z-index: 102;
      left: 0;
      right: 0;
      margin: auto;
      background: #fff;
      padding: 1.6rem;
      border-radius: 1rem;
    }
    .header-style-01 .hs01--search-wrapper:not(.is-active) {
      display: none;
    }
    .header-style-01 .hs01--search-result-wrapper {
      padding: 0;
    }
    .header-style-01 .hs01--bottom-wrapper {
      position: fixed;
      top: var(--header-height, 5rem);
      left: 0;
      transform: translateX(-100%);
      width: 100%;
      height: calc(100dvh - var(--header-height, 5rem));
      background-color: #ffffff;
      transition: var(--transition-ease);
      z-index: 100;
    }
    .header-style-01 .hs01--bottom-wrapper .container {
      padding: 0;
    }
    .header-style-01 .hs01--contact-wrapper .hs01--advanced-wrapper {
      background-color: #fff;
    }
    .header-style-01 .hs01--main-menu {
      padding-top: 0;
      gap: 0;
    }
    .header-style-01 .hs01--main-menu a {
      padding: 1rem 0;
      display: flex;
      justify-content: space-between;
      border-bottom: solid 1px var(--color-border);
    }
    .header-style-01 .hs01--main-menu li {
      color: var(--color-text);
    }
    .header-style-01 .hs01--main-menu li.-hs01-with-padding, .header-style-01 .hs01--main-menu li a {
      padding: 1.4rem var(--padding-container);
    }
    .header-style-01 .hs01--main-menu .-hs01-has-submenu > a {
      position: relative;
    }
    .header-style-01 .hs01--main-menu .-hs01-has-submenu > a span[class*=ico-] {
      position: absolute;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      right: var(--padding-container);
      top: 0;
      font-size: 2rem;
    }
    .header-style-01 .hs01--main-menu .-hs01-has-submenu > .hs01--submenu-wrapper ul {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #fff;
      z-index: 1;
      overflow-y: auto;
    }
    .header-style-01 .hs01--main-menu .-hs01-has-submenu:not(.is-active) > .hs01--submenu-wrapper ul {
      display: none;
    }
    .header-style-01 .hs01--main-menu .-hs01-has-submenu .hs01--heading {
      background: var(--color-gray-light-70);
      border-bottom: solid 1px var(--color-border);
      display: flex;
      align-items: center;
      font-weight: 600;
      cursor: pointer;
      position: sticky;
      top: 0;
    }
    .header-style-01 .hs01--main-menu .-hs01-has-submenu .hs01--heading [class*=ico-] {
      font-size: 2rem;
      margin-right: 0.6rem;
      margin-left: -0.4rem;
      display: flex;
    }
    .header-style-01 .hs01--main-menu .-hs01-has-submenu .hs01--heading .hs01--link {
      margin-left: auto;
      border: none;
      font-weight: 400;
      color: var(--color-base);
      background-color: #fff;
      align-self: center;
      height: auto;
      padding: 0.6rem 1rem 0.8rem;
      border-radius: 0.6rem;
      line-height: 1;
      margin-top: -2rem;
      margin-bottom: -2rem;
    }
  }
  @media (min-width: 768px) {
    .header-style-01 .hs01--logo {
      margin-left: auto;
      margin-right: 6rem;
    }
    .header-style-01 .hs01--contact-wrapper {
      position: relative;
      padding-right: 1rem;
      align-self: stretch;
      display: flex;
    }
    .header-style-01 .hs01--contact-wrapper .hs01--main-part {
      font-size: 1.8rem;
      font-weight: 500;
      display: flex;
      gap: 0;
      align-items: flex-start;
      white-space: nowrap;
      justify-content: center;
      flex-direction: column;
    }
    .header-style-01 .hs01--contact-wrapper .hs01--main-part .hs01--more {
      font-size: 1.3rem;
      display: flex;
      align-items: center;
      flex-direction: row-reverse;
      gap: 0.4rem;
      line-height: 0;
      color: var(--color-base);
      margin-left: auto;
    }
    .header-style-01 .hs01--contact-wrapper .hs01--main-part .hs01--more::before {
      font-size: 0.8em;
      transform: translateY(1px);
    }
    .header-style-01 .hs01--contact-wrapper .hs01--advanced-wrapper {
      max-width: fit-content;
      width: fit-content;
      transform: translateX(-50%);
      left: calc(50% - 1.3rem);
      background-color: transparent;
      box-shadow: none;
      top: calc(100% - 2rem);
    }
    .header-style-01 .hs01--interactive-header {
      font-size: 2.8rem;
      border-left: solid 1px var(--color-border);
      padding-left: 2rem;
    }
    .header-style-01 .hs01--interactive-header .hs01--constructor {
      display: none;
    }
    .header-style-01 .hs01--cart {
      border-left: solid 1px var(--color-border);
      padding-left: 1.6rem;
      margin-left: 0.6rem;
      gap: 0.8rem;
      padding-bottom: 0.5rem;
      width: auto;
    }
    .header-style-01 .hs01--cart .hs01--icon {
      font-size: 3.2rem;
      width: 3.2rem;
      line-height: 0;
      color: var(--color-base);
    }
    .header-style-01 .hs01--cart .hs01--counter {
      transform: translateY(0.3rem);
    }
  }
  @media (min-width: 1024px) {
    .header-style-01 .hs01--mobile-menu-icon {
      display: none;
    }
    .header-style-01 .hs01--logo {
      min-height: 7rem;
      align-items: center;
      display: flex;
      min-width: 19rem;
      margin-left: 0;
      margin-right: auto;
    }
    .header-style-01 .hs01--contact-wrapper {
      margin-left: auto;
    }
    .header-style-01 .hs01--main-menu {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: 0;
    }
    .header-style-01 .hs01--main-menu > li {
      height: 100%;
      display: flex;
      align-items: center;
      position: relative;
      flex-grow: 1;
    }
    .header-style-01 .hs01--main-menu > li > a {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      font-weight: 500;
      font-size: 1.7rem;
      white-space: nowrap;
      padding: 0.8rem 0;
    }
    .header-style-01 .hs01--main-menu li.-hs01-has-submenu:not(.is-active) > .hs01--submenu-wrapper {
      display: none;
    }
    .header-style-01 .hs01--main-menu li > .hs01--submenu-wrapper {
      position: absolute;
      top: 100%;
      left: 0;
      width: fit-content;
      background-color: #fff;
      z-index: 1;
      max-height: calc(100dvh - var(--header-height) - 1rem);
      overflow-y: auto;
      max-width: none;
    }
    .header-style-01 .hs01--main-menu li > .hs01--submenu-wrapper ul {
      width: max-content;
      position: relative;
    }
    .header-style-01 .hs01--main-menu .hs01--submenu-wrapper:not(.-hs01-depth-plus) {
      box-shadow: 0 1.4rem 1.6rem rgba(0, 0, 0, 0.06), 0 1.4rem 1.6rem rgba(0, 0, 0, 0.06);
      border-top: solid 1px var(--color-border);
      padding: 1.6rem 0;
      border-radius: 0 0 0.8rem 0.8rem;
      transform: translateX(calc(-2 * var(--padding-grid, 1rem)));
      left: -1.2rem;
    }
    .header-style-01 .hs01--main-menu .hs01--submenu-wrapper li {
      padding-right: 1.6rem;
      padding-left: 1.6rem;
    }
    .header-style-01 .hs01--main-menu .hs01--submenu-wrapper li > a {
      border-radius: 1rem;
      padding: 1.2rem 1.6rem;
      gap: 0.4rem;
      align-items: center;
    }
    .header-style-01 .hs01--main-menu .hs01--submenu-wrapper li > a .hs01--open {
      font-size: 0.8em;
      transform: translateY(0.1rem);
    }
    .header-style-01 .hs01--main-menu .hs01--submenu-wrapper li > a:hover, .header-style-01 .hs01--main-menu .hs01--submenu-wrapper li > a.is-active {
      background-color: var(--color-border-light);
      color: var(--color-text);
    }
    .header-style-01 .hs01--main-menu .hs01--submenu-wrapper a {
      display: flex;
      width: 100%;
      justify-content: space-between;
      padding: 1rem 0 1.1rem;
    }
    .header-style-01 .hs01--main-menu > .-hs01-has-submenu > a .hs01--open {
      display: inline-flex;
      transform: rotate(90deg);
      font-size: 0.7em;
    }
    .header-style-01 .hs01--main-menu .hs01--submenu-wrapper.-hs01-depth-plus {
      left: 100%;
      top: 0;
      border-left: solid 1px var(--color-border);
      padding-right: var(--padding-grid);
      display: flex;
    }
    .header-style-01 .hs01--search-wrapper {
      position: relative;
      z-index: 1;
      margin-left: 3rem;
      margin-right: 3rem;
    }
    .header-style-01 .hs01--search-wrapper .mf-input-wrap {
      z-index: 2;
    }
    .header-style-01 .hs01--search-wrapper:not(.is-active) .hs01--search-result-wrapper {
      display: none;
    }
    .header-style-01 .hs01--search-result-wrapper {
      position: absolute;
      overflow: initial;
      z-index: 1;
      padding: 1rem 0 0;
    }
    .header-style-01 .hs01--search-result-wrapper::after {
      content: "";
      width: calc(100% + 5.2rem);
      max-width: calc(100% + 5.2rem);
      min-height: calc(100% + 4.8rem + 1rem + 5.2rem);
      position: absolute;
      top: -8.4rem;
      left: -2.6rem;
      background-color: #fff;
      border-radius: 1.6rem;
      box-shadow: var(--box-shadow), var(--box-shadow);
    }
    .header-style-01 .hs01--search-result {
      z-index: 1;
      position: relative;
    }
    .header-style-01 .hs01--interactive-header .hs01--search {
      display: none;
    }
    .header-style-01 .hs01--interactive-header .hs01--constructor {
      display: block;
    }
    .header-style-01 .hs01--interactive-header .hs01--contacts {
      display: none;
    }
    .header-style-01 .hs01--bottom-wrapper {
      border-top: solid 1px var(--color-border);
    }
  }
  @media (min-width: 1200px) {
    .header-style-01 .hs01--main-menu {
      justify-content: flex-start;
      gap: 2rem;
    }
    .header-style-01 .hs01--main-menu > li:last-child {
      /*margin-left: auto;*/
    }
  }
  @media (min-width: 1600px) {
    .header-style-01 .hs01--main-menu {
      gap: 3rem;
    }
    .header-style-01 .hs01--main-menu > li {
      flex-grow: 0;
      padding-right: 3rem;
    }
    .header-style-01 .hs01--main-menu > li:last-child {
      padding-right: 0;
    }
  }
  @media (min-width: 768px) and (max-width: 1023.99px) {
    .header-style-01 .hs01--contact-wrapper .hs01--main-part {
      display: none;
    }
  }
  .header-style-01 .hs01--delivery-wrapper {
    position: relative;
    padding-right: 1rem;
    align-self: stretch;
    display: flex;
    margin-left: auto;
    transition: all 0s;
  }
  @media (max-width: 767px) {
    .header-style-01 .hs01--delivery-wrapper {
      display: none;
    }
  }
  .header-style-01 .hs01--delivery {
    display: flex;
    font-size: 1.8rem;
    font-weight: 500;
    align-self: center;
    white-space: nowrap;
    justify-content: center;
    flex-direction: column;
  }
  .header-style-01 .hs01--delivery-title [class*=ico-] {
    font-size: 1.2em;
    line-height: 0;
    transform: translateY(0.15em);
    display: inline-flex;
    margin-right: 0.3rem;
  }
  .header-style-01 .hs01--delivery-more {
    font-weight: 500;
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    line-height: 0;
    color: var(--color-base);
    margin-left: auto;
  }
  .header-style-01 .hs01--delivery-more [class*=ico-] {
    font-size: 0.8em;
    transform: translateY(2px);
  }
  .header-style-01 .hs01--delivery-mobile-wrapper {
    border-top: solid 0.1rem var(--color-border);
  }
  .header-style-01 .hs01--delivery-mobile {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 1rem 0;
    align-items: center;
    line-height: 1;
  }
  .header-style-01 .hs01--delivery-mobile-address::before {
    font-size: 1.2em;
    display: inline-flex;
    transform: translateY(2px);
    line-height: 0;
  }
  .header-style-01 .hs01--delivery-mobile-more {
    color: var(--color-base);
  }
  .header-style-01 .hs01--delivery-mobile-more [class*=ico-] {
    font-size: 0.7em;
    margin-left: 0.4rem;
    transform: translateY(2px);
  }
  @media (min-width: 768px) {
    .header-style-01 .hs01--delivery-mobile-wrapper {
      display: none;
    }
  }
  .mf_scroll_bottom .header-style-01 {
    transform: translateY(-3rem);
  }
  @media (max-width: 1023.99px) {
    .menu_active .header-style-01 .hs01--top-wrapper {
      z-index: 102;
      position: relative;
    }
    .menu_active .header-style-01 .hs01--middle-wrapper {
      z-index: 101;
      position: relative;
    }
    .menu_active .header-style-01 .hs01--delivery-mobile-wrapper {
      z-index: 101;
      position: relative;
      box-shadow: var(--box-shadow);
    }
    .menu_active .header-style-01 .hs01--bottom-wrapper {
      transform: translateX(0);
    }
    .mf_scroll_bottom .header-style-01 .hs01--bottom-wrapper {
      height: calc(100dvh - var(--header-height, 5rem) + var(--top-header-height, 3rem));
    }
  }
  @media (min-width: 1024px) {
    .header-style-01 .hs01--top-wrapper, .header-style-01 .hs01--bottom-wrapper, .header-style-01 .hs01--middle > *:not(.hs01--search-wrapper) {
      transition: filter 0.2s ease-in-out;
    }
    .site_search_active .header-style-01 .hs01--search-wrapper {
      flex-grow: 1;
    }
    .site_search_active .header-style-01 .hs01--top-wrapper, .site_search_active .header-style-01 .hs01--bottom-wrapper, .site_search_active .header-style-01 .hs01--middle > *:not(.hs01--search-wrapper) {
      filter: blur(4px) grayscale(0.4);
      pointer-events: none;
    }
    .site_search_active .header-style-01 .hs01--delivery-wrapper {
      width: 0;
      padding-right: 0;
      overflow: hidden;
    }
    .site_search_active .mf-overlay {
      background-color: rgba(0, 0, 0, 0.1);
    }
  }
}
@layer theme {
  .footer-style-01 {
    background-color: var(--color-second-dark-80);
    color: #fff;
    padding-top: 3rem;
  }
  .footer-style-01 .fs01--logo {
    width: 24rem;
    line-height: 0;
  }
  .footer-style-01 .fs01--logo img {
    width: 24rem;
  }
  .footer-style-01 .fs01--top {
    padding-bottom: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .footer-style-01 .fs01--top .fs01--interact {
    flex-grow: 0;
  }
  .footer-style-01 .fs01--top .fs01--interact > * {
    max-width: calc((100% - 1.6rem) / 2);
  }
  @media (min-width: 768px) {
    .footer-style-01 .fs01--top {
      flex-direction: row;
    }
  }
  @media (min-width: 1024px) {
    .footer-style-01 .fs01--top {
      padding-bottom: 4rem;
      align-items: center;
    }
  }
  .footer-style-01 .fs01--middle {
    margin-bottom: 3rem;
    padding-bottom: 3rem;
    border-bottom: solid 2px rgba(255, 255, 255, 0.5);
  }
  .footer-style-01 .fs01--middle .fs01--site-description {
    width: 50rem;
  }
  .footer-style-01 .fs01--middle .fs01--info {
    --gap: 6rem;
    display: flex;
    flex-direction: column;
    gap: var(--gap);
  }
  .footer-style-01 .fs01--middle .fs01--info > * + * {
    position: relative;
  }
  .footer-style-01 .fs01--middle .fs01--info > * + *::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(var(--gap, 1rem) / 2 * -1);
    left: 0;
    width: 3rem;
    height: 0.2rem;
    background-color: rgba(255, 255, 255, 0.5);
  }
  .footer-style-01 .fs01--middle .fs01--menu {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
  }
  .footer-style-01 .fs01--middle .fs01--menu .-fs01-has-submenu {
    width: 100%;
  }
  .footer-style-01 .fs01--middle .fs01--menu .-fs01-has-submenu > a {
    font-size: 2.4rem;
    font-weight: 500;
    margin-bottom: 1.6rem;
    display: flex;
    line-height: 1;
  }
  .footer-style-01 .fs01--middle .fs01--menu .-fs01-has-submenu > a:hover {
    color: var(--color-base-light-40);
  }
  .footer-style-01 .fs01--middle .fs01--menu .-fs01-has-submenu > ul {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  @media (min-width: 768px) {
    .footer-style-01 .fs01--middle .fs01--menu {
      justify-content: space-between;
    }
    .footer-style-01 .fs01--middle .fs01--menu .-fs01-has-submenu {
      width: auto;
    }
    .footer-style-01 .fs01--middle .fs01--menu .-fs01-has-submenu:last-child {
      padding-right: 4rem;
    }
  }
  @media (min-width: 1024px) {
    .footer-style-01 .fs01--middle .fs01--menu {
      justify-content: flex-start;
      gap: 6rem;
      flex-wrap: nowrap;
    }
    .footer-style-01 .fs01--middle .fs01--menu:last-child {
      padding-right: 0;
    }
  }
  .footer-style-01 .fs01--bottom {
    opacity: 0.7;
    text-align: center;
    padding-bottom: 4rem;
    font-size: 1.4rem;
  }
  @media (min-width: 768px) {
    .footer-style-01 .fs01--bottom .fs01--copyright-info {
      text-align: left;
    }
    .footer-style-01 .fs01--bottom .fs01--advanced-info {
      text-align: right;
      align-self: flex-end;
    }
  }
  .footer-style-01 a:not(:hover) {
    color: #fff;
  }
  .footer-style-01 .fs01--title {
    font-size: 2rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }
  .footer-style-01 .fs01--title::before {
    font-size: 1.2em;
  }
  @media (min-width: 1024px) {
    .footer-style-01 {
      padding-top: 4rem;
    }
    .footer-style-01 .fs01--logo {
      width: 30rem;
    }
    .footer-style-01 .fs01--logo img {
      width: 30rem;
    }
  }
}
@layer store {
  .user-account {
    padding-top: 3rem;
    padding-bottom: var(--padding-section);
  }
  .user-account .ua--title {
    margin-bottom: 2.4rem;
  }
  .user-account .ua--nav {
    margin-bottom: 3.2rem;
  }
  .user-account .ua--nav .mftbc--item {
    color: var(--color-text);
  }
  .user-account .ua--nav .mftbc--item.active {
    color: var(--color-base);
  }
  .user-account .ua--greeting {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.4rem 1.6rem;
    margin-bottom: 2.4rem;
    font-size: 1.6rem;
  }
  .user-account .ua--logout {
    margin-left: auto;
    color: var(--color-base);
  }
  .user-account .ua--logout:hover {
    color: var(--color-base-dark-40);
  }
  .user-account .ua--cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));
    gap: 1.6rem;
  }
  .user-account .ua--card {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 2rem;
    border: 1px solid var(--color-border);
    border-radius: 1rem;
    background-color: #fff;
    color: var(--color-text);
    transition: var(--transition-ease);
  }
  .user-account .ua--card:hover {
    border-color: var(--color-base);
    box-shadow: var(--shadow-box);
  }
  .user-account .ua--card-icon {
    margin-bottom: 0.8rem;
    font-size: 2.8rem;
    color: var(--color-base);
  }
  .user-account .ua--card-title {
    font-size: 1.8rem;
    font-weight: 600;
  }
  .user-account .ua--card-text {
    font-size: 1.3rem;
    color: var(--color-gray-dark-40);
  }
  .user-account .ua--form {
    max-width: 52rem;
  }
  .user-account .ua--form-title {
    margin-bottom: 1.6rem;
  }
  .user-account .ua--form-note {
    margin: -0.8rem 0 1.6rem;
    font-size: 1.2rem;
    color: var(--color-gray-dark-40);
  }
  .user-account .ua--form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.2rem 1.6rem;
    margin-top: 0.8rem;
  }
  .user-account .ua--fieldset {
    margin: 0.8rem 0 2rem;
    padding: 2rem;
    border: 1px solid var(--color-border);
    border-radius: 1rem;
  }
  .user-account .ua--fieldset-legend {
    padding: 0 0.8rem;
    font-size: 1.5rem;
    font-weight: 600;
  }
  .user-account .ua--lost-password {
    margin-top: 1.2rem;
    font-size: 1.3rem;
  }
  .user-account .ua--auth {
    display: flex;
    flex-wrap: wrap;
    gap: 2.4rem;
  }
  .user-account .ua--auth.-ua-single {
    max-width: 48rem;
  }
  .user-account .ua--auth-col {
    flex: 1 1 32rem;
    padding: 3rem;
    border: 1px solid var(--color-border);
    border-radius: 1.2rem;
    background-color: #fff;
  }
  .user-account .ua--auth-title {
    margin-bottom: 2rem;
  }
  .user-account .ua--address-intro {
    margin-bottom: 2rem;
    color: var(--color-gray-dark-40);
  }
  .user-account .ua--addresses {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc((100% - 2rem) / 2), 1fr));
    gap: 2rem;
  }
  .user-account .ua--address {
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: 1.2rem;
    background-color: #fff;
  }
  .user-account .ua--address-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    margin-bottom: 1.2rem;
  }
  .user-account .ua--address-title {
    margin: 0;
    font-size: 1.8rem;
  }
  .user-account .ua--address-body {
    font-style: normal;
    line-height: 1.5;
    color: var(--color-text);
  }
  .user-account .ua--orders {
    overflow-x: auto;
  }
  .user-account .ua--orders-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.4rem;
  }
  .user-account .ua--orders-table th,
  .user-account .ua--orders-table td {
    padding: 1.2rem 1.6rem;
    text-align: left;
    vertical-align: middle;
  }
  .user-account .ua--orders-table thead th {
    border-bottom: 1px solid var(--color-border);
    font-weight: 600;
    white-space: nowrap;
  }
  .user-account .ua--orders-table tbody tr {
    border-bottom: 1px solid var(--color-border-light);
  }
  .user-account .ua--orders-status {
    display: inline-flex;
    padding: 0.3rem 0.9rem;
    border-radius: 99px;
    background-color: var(--color-gray);
    font-size: 1.2rem;
    line-height: 1.4;
  }
  .user-account .ua--orders-status.is-status-completed {
    background-color: var(--color-green-light-80);
    color: var(--color-green-dark-40);
  }
  .user-account .ua--orders-status.is-status-processing, .user-account .ua--orders-status.is-status-on-hold {
    background-color: var(--color-base-light-80);
    color: var(--color-base-dark-40);
  }
  .user-account .ua--orders-status.is-status-cancelled, .user-account .ua--orders-status.is-status-failed {
    background-color: var(--color-red-light-90);
    color: var(--color-red-dark-40);
  }
  .user-account .ua--orders-action {
    margin: 0.3rem 0.4rem 0.3rem 0;
  }
  .user-account .ua--orders-pagination {
    display: flex;
    justify-content: space-between;
    gap: 1.6rem;
    margin-top: 2.4rem;
  }
  .user-account .ua--orders-empty {
    margin-top: 0.4rem;
  }
  @media (max-width: 767px) {
    .user-account .ua--orders-table thead {
      display: none;
    }
    .user-account .ua--orders-table tr {
      display: block;
      margin-bottom: 1.6rem;
      padding: 0.8rem 1.4rem;
      border: 1px solid var(--color-border);
      border-radius: 1rem;
    }
    .user-account .ua--orders-table th,
    .user-account .ua--orders-table td {
      display: flex;
      justify-content: space-between;
      gap: 1.6rem;
      padding: 0.6rem 0;
      border: 0;
      text-align: right;
    }
    .user-account .ua--orders-table th::before,
    .user-account .ua--orders-table td::before {
      content: attr(data-title);
      font-weight: 600;
      text-align: left;
      color: var(--color-text);
    }
  }
  .user-account .ua--order-status {
    margin-bottom: 2.4rem;
  }
  .user-account .ua--order-notes-title {
    margin-bottom: 1.6rem;
  }
  .user-account .ua--order-notes {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .user-account .ua--order-note {
    padding: 1.4rem 1.6rem;
    margin-bottom: 1.2rem;
    border: 1px solid var(--color-border-light);
    border-radius: 1rem;
  }
  .user-account .ua--order-note-meta {
    margin-bottom: 0.4rem;
    font-size: 1.2rem;
    color: var(--color-gray-dark-40);
  }
  .user-account .woocommerce-address-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 0 2rem;
  }
  .user-account .woocommerce-address-fields__field-wrapper .form-row {
    flex: 1 1 100%;
    margin-bottom: 1.6rem;
  }
  .user-account .woocommerce-address-fields__field-wrapper .form-row.form-row-first, .user-account .woocommerce-address-fields__field-wrapper .form-row.form-row-last {
    flex: 1 1 calc(50% - 1rem);
  }
  .user-account .woocommerce-address-fields__field-wrapper label {
    display: block;
    margin-bottom: 0.6rem;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    color: var(--color-text);
  }
  .user-account .woocommerce-address-fields__field-wrapper .required {
    color: var(--color-red);
  }
  .user-account .woocommerce-order-details,
  .user-account .woocommerce-customer-details {
    margin-top: 3.2rem;
  }
  .user-account .woocommerce-order-details__title,
  .user-account .woocommerce-column__title {
    margin-bottom: 1.6rem;
  }
  .user-account .woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.4rem;
  }
  .user-account .woocommerce-table--order-details th,
  .user-account .woocommerce-table--order-details td {
    padding: 1rem 1.2rem;
    text-align: left;
    border-bottom: 1px solid var(--color-border-light);
  }
  .user-account .woocommerce-table--order-details tfoot th,
  .user-account .woocommerce-table--order-details tfoot td {
    font-weight: 600;
  }
  .user-account .woocommerce-customer-details .woocommerce-columns--addresses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
    gap: 2rem;
  }
  .user-account .woocommerce-customer-details address {
    padding: 1.6rem;
    border: 1px solid var(--color-border);
    border-radius: 1rem;
    font-style: normal;
    line-height: 1.5;
  }
  .user-account .woocommerce-message,
  .user-account .woocommerce-info,
  .user-account .woocommerce-error,
  .user-account .woocommerce-notice {
    /*margin: 0 0 2rem;
    padding: 1.6rem;
    border-radius: 1rem;
    list-style: none;
    font-size: 1.4rem;
    background-color: var(--color-base-light-90);*/
  }
  .user-account .woocommerce-error {
    /* background-color: var(--color-red-light-90);
     color: var(--color-red-dark-40);*/
  }
  .user-account .woocommerce-Button:not(.mf-button),
  .user-account .button:not(.mf-button) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--input-height);
    padding: 0 2rem;
    border: 0.1rem solid var(--color-base);
    border-radius: 0.8rem;
    background-color: var(--color-base);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: var(--transition-ease);
  }
  .user-account .woocommerce-Button:not(.mf-button):hover,
  .user-account .button:not(.mf-button):hover {
    background-color: var(--color-base-dark-20);
    border-color: var(--color-base-dark-20);
    color: #fff;
  }
}
@layer store {
  .cart-page {
    padding-top: 3rem;
    padding-bottom: var(--padding-section);
  }
  .cart-page .cp--title {
    margin-bottom: 2.4rem;
  }
  .cart-page .cp--layout {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    transition: opacity 0.2s;
    width: 114rem;
  }
  @media (min-width: 1024px) {
    .cart-page .cp--layout {
      flex-direction: row;
      align-items: flex-start;
    }
  }
  .cart-page .cp--layout.is-loading {
    opacity: 0.6;
    pointer-events: none;
  }
  .cart-page .cp--items {
    flex: 1 1 auto;
    min-width: 0;
  }
  .cart-page .cp--aside {
    flex: 0 0 auto;
  }
  @media (min-width: 1024px) {
    .cart-page .cp--aside {
      width: 38rem;
      position: sticky;
      top: 2rem;
    }
  }
  @media (min-width: 1024px) and (max-width: 1199px) {
    .cart-page .cp--aside .cp--totals {
      max-width: 44rem;
      margin-left: auto;
    }
  }
  .cart-page .cp--list {
    --gap: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  @media (min-width: 768px) and (max-width: 1023.99px) {
    .cart-page .cp--list {
      flex-wrap: wrap;
      flex-direction: row;
    }
  }
  @media (min-width: 1200px) {
    .cart-page .cp--list {
      flex-wrap: wrap;
      flex-direction: row;
    }
  }
  .cart-page .cp--item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "image body actions";
    gap: 1.6rem;
    align-items: start;
    padding: 2rem;
    border: solid 0.1rem var(--color-border);
    border-radius: 1.2rem;
    background-color: #fff;
    width: 100%;
  }
  @media (max-width: 767.99px) {
    .cart-page .cp--item {
      grid-template-columns: auto minmax(0, 1fr);
      grid-template-areas: "image body" "actions body";
      gap: 1.2rem 1.4rem;
      padding: 1.6rem;
    }
  }
  .cart-page .cp--item-image {
    grid-area: image;
    width: 9rem;
    height: 9rem;
    border-radius: 1rem;
    overflow: hidden;
  }
  @media (max-width: 767px) {
    .cart-page .cp--item-image {
      width: 7.2rem;
      height: 7.2rem;
    }
  }
  .cart-page .cp--item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .cart-page .cp--item-body {
    grid-area: body;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    height: 100%;
  }
  .cart-page .cp--item-name {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--color-text);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    overflow: hidden;
    -webkit-box-orient: vertical;
  }
  .cart-page .cp--item-name:hover {
    color: var(--color-base);
  }
  .cart-page .cp--item-meta {
    font-size: 1.3rem;
    color: var(--color-gray-dark-50);
  }
  .cart-page .cp--item-meta dl,
  .cart-page .cp--item-meta dt,
  .cart-page .cp--item-meta dd,
  .cart-page .cp--item-meta p {
    display: inline;
    margin: 0;
  }
  .cart-page .cp--item-meta dd {
    margin-right: 0.8rem;
  }
  .cart-page .cp--item-stock {
    align-self: flex-start;
    margin: 0;
    padding: 0.3rem 0.9rem;
    border-radius: 0.6rem;
    background-color: var(--color-red-light-90);
    color: var(--color-red-dark-40);
    font-size: 1.2rem;
  }
  .cart-page .cp--item-bundle-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0;
    background: transparent;
    border: 0;
    color: var(--color-base);
    font-size: 1.3rem;
    cursor: pointer;
  }
  .cart-page .cp--item-bundle-toggle:hover {
    color: var(--color-base-dark-20);
  }
  .cart-page .cp--item-bundle-icon {
    font-size: 1rem;
    transition: transform 0.2s;
  }
  .cart-page .cp--item-bundle-toggle[aria-expanded=true] .cp--item-bundle-icon {
    transform: rotate(180deg);
  }
  .cart-page .cp--item-bundle-list {
    margin-top: 0.6rem;
    font-size: 1.3rem;
    line-height: 1.5;
    color: var(--color-gray-dark-50);
  }
  .cart-page .cp--item-bundle-list b {
    font-weight: 600;
    color: var(--color-text);
  }
  .cart-page .cp--item-priceline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 3rem;
    margin-top: auto;
  }
  .cart-page .cp--item-prices {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .cart-page .cp--item-subtotal {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-text);
  }
  .cart-page .cp--item-unit {
    font-size: 1.3rem;
    color: var(--color-gray-dark-50);
  }
  .cart-page .cp--item-discount {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    border-radius: 0.6rem;
    background-color: var(--color-red);
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;
    transform: translateY(-0.2rem);
  }
  .cart-page .cp--item-quantity {
    flex: 0 0 auto;
  }
  .cart-page .cp--item-actions {
    grid-area: actions;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
    height: 100%;
  }
  .cart-page .cp--item-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    height: 2.8rem;
    padding: 0;
    border-radius: 0.8rem;
    cursor: pointer;
    transition: var(--transition-ease);
    margin-top: auto;
    background-color: var(--color-gray-light-60);
    line-height: 0;
  }
  @media (max-width: 767.99px) {
    .cart-page .cp--item-remove {
      width: 100%;
    }
  }
  .cart-page .cp--item-remove:hover {
    color: var(--color-red);
    background-color: var(--color-gray-light-50);
  }
  .cart-page .cp--coupon {
    margin-top: 2.4rem;
  }
  .cart-page .cp--coupon-label {
    display: block;
    margin-bottom: 0.8rem;
    font-size: 1.3rem;
    color: var(--color-gray-dark-50);
  }
  .cart-page .cp--coupon-controls {
    display: flex;
    gap: 0.8rem;
    max-width: 40rem;
  }
  .cart-page .cp--coupon-input {
    flex: 1 1 auto;
    min-width: 0;
  }
  .cart-page .cp--coupon-apply {
    flex: 0 0 auto;
    width: auto;
  }
  .cart-page .cp--totals {
    padding: 2.4rem;
    border: solid 0.1rem var(--color-border);
    border-radius: 1.2rem;
    background-color: #fff;
  }
  .cart-page .cp--totals-title {
    margin: 0 0 1.6rem;
    font-size: 2rem;
  }
  .cart-page .cp--total-rows {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  .cart-page .cp--total-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1.6rem;
    font-size: 1.5rem;
    color: var(--color-text);
  }
  .cart-page .cp--total-row.-cp-fee + .-cp-fee {
    margin-top: -0.4rem;
  }
  .cart-page .cp--total-label {
    color: var(--color-gray-dark-50);
  }
  .cart-page .cp--total-value {
    text-align: right;
  }
  .cart-page .cp--total-amount {
    color: var(--color-red);
  }
  .cart-page .cp--ship {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-bottom: 0.4rem;
  }
  .cart-page .cp--ship + .cp--total-row.-cp-fee {
    padding-top: 1.2rem;
    border-top: 1px solid var(--color-border);
  }
  .cart-page .cp--ship-head {
    color: var(--color-gray-dark-50);
  }
  .cart-page .cp--ship-address {
    margin: 0;
    font-size: 1.4rem;
  }
  .cart-page .cp--ship-change {
    margin-top: 1rem;
    width: 100%;
  }
  .cart-page .cp--total-row.-cp-order-total {
    margin-top: 0.4rem;
    padding-top: 1.6rem;
    border-top: solid 0.1rem var(--color-border);
    font-size: 1.8rem;
    font-weight: 700;
  }
  .cart-page .cp--total-row.-cp-order-total .cp--total-label {
    color: var(--color-text);
  }
  .cart-page .cp--coupon-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-left: 0.6rem;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0.4rem;
    color: var(--color-gray-dark-40);
    font-size: 1.4rem;
    cursor: pointer;
    transition: var(--transition-ease);
  }
  .cart-page .cp--coupon-remove:hover {
    color: var(--color-red);
  }
  .cart-page .cp--total-row.-cp-shipping {
    align-items: stretch;
    gap: 0.8rem;
  }
  .cart-page .cp--total-row.-cp-shipping .cp--total-value {
    text-align: left;
  }
  .cart-page .cp--ship-methods {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  }
  .cart-page .cp--ship-method {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.4rem;
  }
  .cart-page .cp--ship-destination {
    margin: 0.8rem 0 0;
    font-size: 1.3rem;
    color: var(--color-gray-dark-50);
  }
  .cart-page .cp--ship-calc {
    margin-top: 0.8rem;
  }
  .cart-page .cp--ship-toggle {
    padding: 0;
    background: transparent;
    border: 0;
    color: var(--color-base);
    font-size: 1.3rem;
    text-decoration: underline;
    cursor: pointer;
  }
  .cart-page .cp--ship-fields {
    margin-top: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .cart-page .cp--ship-fields[hidden] {
    display: none;
  }
  .cart-page .cp--ship-field {
    margin: 0;
  }
  .cart-page .cp--ship-field label {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 1.2rem;
    color: var(--color-gray-dark-50);
  }
  .cart-page .cp--ship-input,
  .cart-page .cp--ship-select {
    width: 100%;
  }
  .cart-page .cp--ship-apply {
    width: auto;
  }
  .cart-page .cp--earn {
    margin: 1.6rem 0 0;
    padding: 1.2rem 1.4rem;
    border-radius: 0.8rem;
    background-color: var(--color-base-light-90);
    font-size: 1.4rem;
    color: var(--color-text);
  }
  .cart-page .cp--earn strong {
    color: var(--color-base);
  }
  .cart-page .cp--proceed {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin-top: 2rem;
  }
  .cart-page .cp--proceed .mf-button {
    width: 100%;
  }
  .cart-page .cp--empty {
    max-width: 48rem;
    margin: 0 auto;
    padding: 4rem 0;
    text-align: center;
  }
  .cart-page .cp--empty-title {
    margin: 0 0 0.8rem;
    font-size: 2rem;
    font-weight: 600;
  }
  .cart-page .cp--empty-text {
    margin: 0 0 2.4rem;
    color: var(--color-gray-dark-50);
  }
  .cart-page .cp--empty-link {
    display: inline-flex;
    width: auto;
  }
  .cart-page .cp--collaterals {
    margin-top: 4rem;
  }
  .cart-page .cp--collaterals:empty {
    display: none;
  }
  .message-box .woocommerce-notices-wrapper {
    display: contents;
  }
}
@layer store {
  .checkout-page {
    padding-top: 3rem;
    padding-bottom: var(--padding-section);
  }
  .checkout-page .cout--title {
    margin-bottom: 2.4rem;
  }
  .checkout-page .cout--layout {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    width: 114rem;
  }
  @media (min-width: 1024px) {
    .checkout-page .cout--layout {
      flex-direction: row;
      align-items: flex-start;
    }
  }
  .checkout-page .cout--main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  .checkout-page .cout--aside {
    flex: 0 0 auto;
  }
  @media (min-width: 1024px) {
    .checkout-page .cout--aside {
      width: 38rem;
      position: sticky;
      top: 2rem;
    }
  }
  .checkout-page .cout--section {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    padding: 2rem;
    border: solid 0.1rem var(--color-border);
    border-radius: 1.2rem;
    background-color: #fff;
  }
  .checkout-page .cout--section-title {
    margin: 0;
    font-size: 1.8rem;
  }
  .checkout-page .cout--row {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
  }
  .checkout-page .cout--row[hidden] {
    display: none;
  }
  @media (min-width: 768px) {
    .checkout-page .cout--row {
      flex-direction: row;
    }
    .checkout-page .cout--row > * {
      flex: 1 1 0;
      min-width: 0;
    }
  }
  .checkout-page .mf-input-wrap[hidden],
  .checkout-page .cout--exact-toggle[hidden] {
    display: none;
  }
  .checkout-page .cout--delivery-info {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.6rem;
    flex-wrap: wrap;
  }
  .checkout-page .cout--delivery-method {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    font-size: 1.5rem;
  }
  .checkout-page .cout--delivery-address,
  .checkout-page .cout--delivery-note {
    font-size: 1.3rem;
    color: var(--color-gray-dark-50);
  }
  .checkout-page .cout--delivery-empty {
    margin: 0;
    font-size: 1.4rem;
    color: var(--color-red);
  }
  .checkout-page .cout--delivery-change {
    flex: 0 0 auto;
    padding: 0;
    background: transparent;
    border: 0;
    color: var(--color-base);
    font-size: 1.3rem;
    text-decoration: underline;
    cursor: pointer;
    transition: var(--transition-ease);
  }
  .checkout-page .cout--delivery-change:hover {
    color: var(--color-base-dark-20);
  }
  .checkout-page .cout--recipient-toggle {
    margin-bottom: 0;
  }
  .checkout-page .js_mfd_req[hidden] {
    display: none;
  }
  .checkout-page .cout--aside-title {
    margin: 0 0 1.6rem;
    font-size: 2rem;
  }
  .checkout-page #order_review {
    padding: 2.4rem;
    border: solid 0.1rem var(--color-border);
    border-radius: 1.2rem;
    background-color: #fff;
  }
  .checkout-page .cout--order-items {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 0 0 1.6rem;
    padding: 0 0 1.6rem;
    list-style: none;
    border-bottom: solid 0.1rem var(--color-border);
  }
  .checkout-page .cout--order-item {
    display: flex;
    justify-content: space-between;
    gap: 1.2rem;
    font-size: 1.4rem;
  }
  .checkout-page .cout--order-item-qty {
    color: var(--color-gray-dark-50);
  }
  .checkout-page .cout--order-item-total {
    white-space: nowrap;
    font-weight: 600;
  }
  .checkout-page .cout--order-totals {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
  }
  .checkout-page .cp--total-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1.6rem;
    font-size: 1.5rem;
  }
  .checkout-page .cp--total-label {
    color: var(--color-gray-dark-50);
  }
  .checkout-page .cp--total-value {
    text-align: right;
  }
  .checkout-page .cp--total-row.-cp-order-total {
    margin-top: 0.4rem;
    padding-top: 1.6rem;
    border-top: solid 0.1rem var(--color-border);
    font-size: 1.8rem;
    font-weight: 700;
  }
  .checkout-page .cp--total-row.-cp-order-total .cp--total-label {
    color: var(--color-text);
  }
  .checkout-page .cp--ship-methods {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .checkout-page .cp--ship-destination {
    margin: 0.4rem 0 0;
    font-size: 1.3rem;
    color: var(--color-gray-dark-50);
  }
  .checkout-page #payment {
    margin-top: 1.6rem;
  }
  .checkout-page #payment ul.payment_methods {
    margin: 0 0 1.6rem;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  .checkout-page #payment ul.payment_methods li {
    position: relative;
  }
  .checkout-page #payment ul.payment_methods li input[type=radio] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }
  .checkout-page #payment ul.payment_methods li input[type=radio] + label {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    padding-left: 2.6rem;
    min-height: 1.8rem;
    font-size: 1.4rem;
    cursor: pointer;
  }
  .checkout-page #payment ul.payment_methods li input[type=radio] + label::before, .checkout-page #payment ul.payment_methods li input[type=radio] + label::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 99px;
    transform: translateY(-50%);
    transition: var(--transition-ease);
  }
  .checkout-page #payment ul.payment_methods li input[type=radio] + label::before {
    border: 0.1rem solid var(--color-border);
  }
  .checkout-page #payment ul.payment_methods li input[type=radio] + label::after {
    border: 0.3rem solid #fff;
    transform: translateY(-50%) scale(0);
    opacity: 0;
  }
  .checkout-page #payment ul.payment_methods li input[type=radio] + label img {
    max-height: 2.4rem;
    width: auto;
  }
  .checkout-page #payment ul.payment_methods li input[type=radio]:checked + label::before {
    border-color: var(--color-base);
    background-color: var(--color-base);
    border-width: 0.9rem;
  }
  .checkout-page #payment ul.payment_methods li input[type=radio]:checked + label::after {
    transform: translateY(-50%) scale(0.7);
    opacity: 1;
  }
  .checkout-page #payment ul.payment_methods li input[type=radio]:hover:not(:checked) + label::before {
    border-color: var(--color-base);
  }
  .checkout-page #payment .payment_box {
    margin: 0.4rem 0 0;
    font-size: 1.3rem;
    color: var(--color-gray-dark-50);
  }
  .checkout-page #payment .payment_box p {
    margin: 0;
  }
  .checkout-page #payment .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 1.6rem;
    font-size: 1.3rem;
  }
  .checkout-page .cout--place-order {
    width: 100%;
  }
}
@layer store {
  .order-received {
    padding-top: 3rem;
    padding-bottom: var(--padding-section);
  }
  .order-received .woocommerce-order {
    width: calc(114rem - 38rem - 2.4rem);
    margin-left: auto;
    margin-right: auto;
  }
  .order-received .orr--head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.2rem;
    margin-bottom: 2.8rem;
  }
  .order-received .orr--icon {
    font-size: 6.4rem;
    line-height: 1;
    color: var(--color-green);
  }
  .order-received .orr--head.-failed .orr--icon {
    color: var(--color-red);
  }
  .order-received .orr--received,
  .order-received .woocommerce-thankyou-order-received,
  .order-received .orr--message {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 600;
  }
  .order-received .orr--overview {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 0 0 2.8rem;
    padding: 0;
    list-style: none;
  }
  @media (min-width: 768px) {
    .order-received .orr--overview {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .order-received .orr--overview-item {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 1.4rem 1.6rem;
    border: solid 0.1rem var(--color-border);
    border-radius: 1.2rem;
    background-color: #fff;
  }
  .order-received .orr--overview-label {
    font-size: 1.3rem;
    opacity: 0.55;
  }
  .order-received .orr--overview-value {
    font-size: 1.6rem;
    font-weight: 600;
  }
  .order-received .orr--actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }
  .order-received .woocommerce-order-details,
  .order-received .woocommerce-customer-details {
    margin-top: 2.8rem;
  }
  .order-received .woocommerce-order-details__title,
  .order-received .woocommerce-column__title {
    margin: 0 0 1.2rem;
    font-size: 1.8rem;
  }
  .order-received .woocommerce-customer-details address {
    margin: 0;
    padding: 1.6rem;
    font-style: normal;
    line-height: 1.6;
    border: solid 0.1rem var(--color-border);
    border-radius: 1.2rem;
    background-color: #fff;
  }
  .order-received .woocommerce-customer-details address p {
    margin: 0.4rem 0 0;
  }
  .order-delivery {
    margin-top: 2.8rem;
    padding: 1.6rem 2rem;
    border: solid 0.1rem var(--color-border);
    border-radius: 1.2rem;
    background-color: #fff;
  }
  .order-delivery--title {
    margin: 0 0 1.2rem;
    font-size: 1.8rem;
  }
  .order-delivery--list {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .order-delivery--row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.2rem 1.2rem;
  }
  .order-delivery--label {
    opacity: 0.55;
  }
  .order-delivery--value {
    font-weight: 600;
    text-align: right;
  }
}
@layer store {
  .mf-loyalty-redeem {
    margin-top: 1.6rem;
    padding: 1.6rem;
    border-radius: 1rem;
    background-color: var(--color-base-light-90);
    transition: var(--transition-ease);
  }
  .mf-loyalty-redeem.is-active, .mf-loyalty-redeem:not([data-mlr-applied="0"]) {
    border-color: var(--color-base);
  }
  .mf-loyalty-redeem.is-disabled {
    opacity: 0.6;
    pointer-events: none;
  }
  .mf-loyalty-redeem .mlr--balance {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.4;
    color: var(--color-text);
  }
  .mf-loyalty-redeem .mlr--balance-value,
  .mf-loyalty-redeem .mlr--max-value {
    color: var(--color-base);
  }
  .mf-loyalty-redeem .mlr--expiring {
    margin: 0.6rem 0 0;
    font-size: 1.2rem;
    color: var(--color-red);
  }
  .mf-loyalty-redeem .mlr--controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.2rem;
  }
  .mf-loyalty-redeem .mlr--input {
    flex: 1 1 8rem;
    min-width: 0;
    background-color: #fff;
  }
  .mf-loyalty-redeem .mlr--apply {
    flex: 1 1 auto;
  }
  .mf-loyalty-redeem .mlr--clear {
    flex: 0 0 auto;
  }
  .mf-loyalty-redeem[data-mlr-applied="0"] .mlr--clear {
    display: none;
  }
  .mf-loyalty-redeem .mlr--note {
    margin: 0.8rem 0 0;
    min-height: 1.6rem;
    font-size: 1.3rem;
    color: var(--color-base-dark-40);
  }
  .mf-loyalty-redeem .mlr--note:empty {
    display: none;
  }
}
@layer store {
  .mf-loyalty-account .mla--summary {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
  }
  .mf-loyalty-account .mla--balance,
  .mf-loyalty-account .mla--level {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex: 1 1 24rem;
    padding: 1.6rem 2rem;
    border-radius: 1rem;
    background-color: var(--color-base-light-90);
  }
  .mf-loyalty-account .mla--balance-label,
  .mf-loyalty-account .mla--level-label {
    font-size: 1.3rem;
    color: var(--color-base-dark-40);
  }
  .mf-loyalty-account .mla--balance-value {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--color-base);
  }
  .mf-loyalty-account .mla--level-value {
    font-size: 2rem;
    font-weight: 600;
    color: var(--color-text);
  }
  .mf-loyalty-account .mla--level-discount {
    font-size: 1.4rem;
    color: var(--color-base);
  }
  .mf-loyalty-account .mla--next {
    margin-top: 1.6rem;
    padding: 1.6rem 2rem;
    border: 1px solid var(--color-border);
    border-radius: 1rem;
  }
  .mf-loyalty-account .mla--next-text {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--color-text);
  }
  .mf-loyalty-account .mla--next-bar {
    --height: .8rem;
    overflow: hidden;
    height: var(--height);
    margin: 1.2rem 0 0.6rem;
    border-radius: calc(var(--height) / 2);
    background-color: var(--color-base-light-90);
  }
  .mf-loyalty-account .mla--next-bar-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background-color: var(--color-base);
    transition: var(--transition-ease);
  }
  .mf-loyalty-account .mla--next-meta {
    margin: 0;
    font-size: 1.2rem;
    color: var(--color-base-dark-40);
  }
  .mf-loyalty-account .mla--expiring {
    margin: 1.6rem 0 0;
    font-size: 1.3rem;
    color: var(--color-red);
  }
  .mf-loyalty-account .mla--history-title {
    margin: 2.4rem 0 1.2rem;
  }
  .mf-loyalty-account .mla--empty {
    color: var(--color-base-dark-40);
  }
  .mf-loyalty-account .mla--col-amount {
    font-weight: 600;
    white-space: nowrap;
  }
  .mf-loyalty-account .mla--col-amount.is-plus {
    color: var(--color-green);
  }
  .mf-loyalty-account .mla--col-amount.is-minus {
    color: var(--color-red);
  }
  .mf-loyalty-account .mla--pagination {
    margin-top: 2rem;
  }
}
@layer store {
  .mf-delivery {
    --mfd-map-h: 24rem;
  }
  .mf-delivery .mfd--tabs {
    margin-bottom: 0.4rem;
    overflow-y: auto;
  }
  .mf-delivery .mfd--panels {
    display: flex;
    flex-direction: column;
  }
  .mf-delivery .mftb--item.active {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
  }
  .mf-delivery .mf-input-wrap {
    margin-bottom: 0;
  }
  .mf-delivery .mfd--row {
    display: flex;
    gap: 1.2rem;
  }
  .mf-delivery .mfd--row > .mf-input-wrap {
    flex: 1 1 0;
    min-width: 0;
  }
  .mf-delivery .mfd--suggest {
    position: absolute;
    top: calc(100% + 0.4rem);
    left: 0;
    right: 0;
    z-index: 50;
    max-height: 26rem;
    overflow-y: auto;
    background-color: #fff;
    border: solid 0.1rem var(--color-border);
    border-radius: 0.8rem;
    box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.12);
  }
  .mf-delivery .mfd--suggest[hidden] {
    display: none;
  }
  .mf-delivery .mfd--suggest-item {
    display: block;
    width: 100%;
    padding: 1rem 1.4rem;
    text-align: left;
    background: transparent;
    border: 0;
    border-bottom: solid 0.1rem var(--color-border-light);
    font-size: 1.4rem;
    color: var(--color-text);
    cursor: pointer;
    transition: var(--transition-ease);
  }
  .mf-delivery .mfd--suggest-item:last-child {
    border-bottom: none;
  }
  .mf-delivery .mfd--suggest-item:hover {
    background-color: var(--color-base-light-90);
  }
  .mf-delivery .mfd--map,
  .mf-delivery .mfd--map-pickup {
    width: 100%;
    height: var(--mfd-map-h);
    border-radius: 1rem;
    overflow: hidden;
    background-color: var(--color-gray-light-50, #f2f2f2);
  }
  .mf-delivery .mfd--summary {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 1.2rem 1.4rem;
    border-radius: 0.8rem;
    background-color: var(--color-base-light-90);
  }
  .mf-delivery .mfd--summary[hidden] {
    display: none;
  }
  .mf-delivery .mfd--summary-main {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1.2rem;
  }
  .mf-delivery .mfd--summary-note {
    margin: 0;
    font-size: 1.3rem;
    color: var(--color-base-dark-40);
  }
  .mf-delivery .mfd--summary-note[hidden] {
    display: none;
  }
  .mf-delivery .mfd--summary-label {
    font-size: 1.5rem;
    color: var(--color-text);
  }
  .mf-delivery .mfd--summary-cost {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--color-text);
  }
  .mf-delivery .mfd--pickup-address {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
  }
  .mf-delivery .mfd--pickup-hours {
    margin: 0;
    font-size: 1.4rem;
    color: var(--color-gray-dark-50);
  }
  .mf-delivery .mfd--note {
    margin: 0;
    padding: 1.2rem 1.4rem;
    border-radius: 0.8rem;
    background-color: var(--color-base-light-90);
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--color-text);
  }
  .mf-delivery .mfd--save {
    width: 100%;
  }
}
@layer store {
  .auth-form {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    width: 100%;
    max-width: 40rem;
    margin-inline: auto;
  }
  .af--tabs {
    display: flex;
    gap: 0.4rem;
    padding: 0.4rem;
    border-radius: 1rem;
    background-color: var(--color-border-light);
  }
  .af--tab {
    flex: 1 1 0;
    padding: 1rem;
    border: 0;
    border-radius: 0.8rem;
    background: transparent;
    font: inherit;
    font-weight: 600;
    color: var(--color-text);
    cursor: pointer;
    transition: var(--transition-ease);
  }
  .af--tab.is-active {
    background-color: #fff;
    box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.08);
  }
  .af--form {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
  }
  .af--form[hidden] {
    display: none;
  }
  .af--form .mf-input-wrap {
    margin-bottom: 0;
  }
  .af--note {
    margin: 0;
    font-size: 1.3rem;
    opacity: 0.7;
  }
  .af--submit {
    width: 100%;
    justify-content: center;
  }
  .af--submit.is-loading {
    opacity: 0.7;
    pointer-events: none;
  }
  .af--message {
    margin: 0;
    padding: 1rem 1.2rem;
    border: solid 0.1rem var(--color-red);
    border-radius: 0.8rem;
    color: var(--color-red);
    font-size: 1.4rem;
  }
  .af--message[hidden] {
    display: none;
  }
  .af--lost {
    margin: 0;
    text-align: center;
  }
  .af--hp {
    position: absolute;
    left: -9999px;
    width: 0.1rem;
    height: 0.1rem;
    overflow: hidden;
  }
  .mf-modal-window.-af-modal {
    --mw: 44rem;
  }
}
@layer store {
  .lp--row {
    justify-content: center;
  }
  .lost-password {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
  }
  .lost-password .mf-input-wrap {
    margin-bottom: 0;
  }
  .lp--text {
    margin: 0;
    font-size: 1.4rem;
    color: var(--color-text);
    opacity: 0.7;
  }
  .lp--submit {
    width: 100%;
    justify-content: center;
  }
  .lp--back {
    margin: 0;
    text-align: center;
    font-size: 1.4rem;
  }
  .lp--confirmation {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
  }
  .lp--confirmation p {
    margin: 0;
  }
}
@layer components {
  .mf-form {
    --gap: 1.6rem;
    --mw: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: 100%;
    max-width: var(--mw);
  }
  .mf-form .mff--title {
    margin: 0;
    font-family: var(--font-family-second);
    font-size: 2.4rem;
    line-height: 1.2;
  }
  .mf-form .mff--text {
    margin: 0;
    font-size: 1.4rem;
    opacity: 0.7;
  }
  .mf-form .mff--text > * {
    margin: 0;
  }
  .mf-form .mff--fields {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
  }
  .mf-form .mff--field {
    flex: 1 1 100%;
  }
  @media (min-width: 768px) {
    .mf-form .mff--field.-mff-half {
      flex-basis: calc(50% - var(--gap) / 2);
    }
  }
  .mf-form .mff--field .mf-input-wrap,
  .mf-form .mff--field .mf-checkbox-group,
  .mf-form .mff--field .mf-radio-group {
    margin-bottom: 0;
  }
  .mf-form .mff--field .mf-radio,
  .mf-form .mff--field .mf-checkbox {
    margin-bottom: 0;
  }
  .mf-form .mff--field .mf-radio-group,
  .mf-form .mff--field .mf-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1.6rem;
  }
  .mf-form .mff--group-label {
    margin-bottom: 0.8rem;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    opacity: 0.7;
  }
  .mf-form .mff--note {
    margin-top: 0.4rem;
    font-size: 1.2rem;
    opacity: 0.6;
  }
  .mf-form .mff--consent {
    font-size: 1.3rem;
  }
  .mf-form .mff--consent .mf-checkbox {
    margin-bottom: 0.4rem;
  }
  .mf-form .mff--submit {
    width: 100%;
    justify-content: center;
  }
  .mf-form .mff--submit.is-loading {
    opacity: 0.7;
    pointer-events: none;
  }
  .mf-form .mff--message {
    margin: 0;
    padding: 1rem 1.2rem;
    border: solid 0.1rem var(--color-red);
    border-radius: 0.8rem;
    color: var(--color-red);
    font-size: 1.4rem;
  }
  .mf-form .mff--message[hidden] {
    display: none;
  }
  .mf-form .mff--hp {
    position: absolute;
    left: -9999px;
    width: 0.1rem;
    height: 0.1rem;
    overflow: hidden;
  }
  .mf-form.is-sent .mff--fields,
  .mf-form.is-sent .mff--consent,
  .mf-form.is-sent .mff--submit,
  .mf-form.is-sent .mff--text {
    display: none;
  }
  .mf-form.is-sent .mff--message {
    border-color: var(--color-green);
    color: var(--color-green);
  }
  .mf-form-wrapper {
    display: flex;
    justify-content: center;
  }
}
@layer store {
  .favorites-page {
    padding-top: 3rem;
    padding-bottom: var(--padding-section);
  }
  .favorites-page .favorites-page--title {
    margin-bottom: 2.4rem;
  }
  .favorites-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    padding: 3rem 1.6rem;
    text-align: center;
  }
  .favorites-empty--text {
    margin: 0;
    font-size: 1.6rem;
    opacity: 0.7;
  }
}
@layer theme {
  .mobile-menu-icon {
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-left: -0.3rem;
    transition: transform 0.3s;
  }
  .mobile-menu-icon::after, .mobile-menu-icon::before, .mobile-menu-icon span {
    display: block;
    width: 74%;
    height: 2px;
    border-radius: 10px;
    background-color: var(--color-text);
    transition: all 0.3s;
  }
  .mobile-menu-icon::before, .mobile-menu-icon::after {
    content: "";
    position: absolute;
    left: 13%;
  }
  .mobile-menu-icon::before {
    top: 0.8rem;
  }
  .mobile-menu-icon::after {
    bottom: 0.8rem;
  }
  .mobile-menu-icon span {
    width: 50%;
    transform: translateX(-24%);
  }
  .mobile-menu-icon.is-active span {
    opacity: 0;
  }
  .mobile-menu-icon.is-active::before {
    top: 1.6rem;
    transform: rotate3d(0, 0, 1, -135deg) translate(0.2rem, 0.2rem);
  }
  .mobile-menu-icon.is-active::after {
    bottom: 1.2rem;
    transform: rotate3d(0, 0, 1, 135deg) translate(-0.2rem, 0.2rem);
  }
}
.pagination {
  text-align: center;
  margin-top: 1.6rem;
}
.pagination .page-numbers {
  border-radius: 0.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  font-size: 1.6rem;
  margin-right: 0.8rem;
  background-color: var(--color-gray);
  color: var(--color-text);
}
.pagination .page-numbers:not(a) {
  cursor: default;
}
.pagination .page-numbers.current {
  background-color: var(--color-gray-dark-60);
  color: #fff;
}
.pagination .page-numbers:is(a):hover {
  background: var(--color-base);
  color: #fff;
  border-color: var(--color-base);
}

@layer mf-lib {
  .mf-switcher {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    user-select: none;
    cursor: pointer;
  }
  .mf-switcher input {
    opacity: 0;
    position: absolute;
    pointer-events: none;
  }
  .mf-switcher input + .toggle {
    transition: var(--transition-ease);
    height: 3.2rem;
    display: inline-flex;
    width: 5.8rem;
    border-radius: 3rem;
    background-color: var(--color-gray-light-20);
    position: relative;
    overflow: hidden;
  }
  .mf-switcher input + .toggle:after {
    content: "";
    display: block;
    position: absolute;
    left: 0.7rem;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 2.2rem;
    width: 2.2rem;
    background-color: #fff;
    border-radius: 3rem;
    transition: var(--transition-ease);
    box-shadow: 0 0 0.8rem 0.3rem rgba(0, 0, 0, 0);
  }
  .mf-switcher input:checked + .toggle {
    background-color: var(--color-base);
  }
  .mf-switcher input:checked + .toggle:after {
    left: 2.8rem;
  }
  .mf-switcher.-mode-2 {
    height: 4.8rem;
    padding: 0 0.8rem;
    position: relative;
    display: inline-grid;
    grid-template-columns: 1fr 1fr;
  }
  .mf-switcher.-mode-2 .bg {
    content: "";
    position: absolute;
    display: block;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-gray-light-30);
    border-radius: 3rem;
    transition: var(--transition-ease);
  }
  .mf-switcher.-mode-2 .option {
    text-align: center;
    z-index: 2;
    padding: 0 1.2rem;
  }
  .mf-switcher.-mode-2 input + .bg:before {
    content: "";
    display: block;
    position: absolute;
    left: 0.8rem;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 3.4rem;
    width: calc(50% - 1.5rem);
    background-color: #fff;
    border-radius: 3rem;
    transition: var(--transition-ease);
    box-shadow: 0 0 0.8rem 0.3rem rgba(0, 0, 0, 0);
  }
  .mf-switcher.-mode-2 input:checked + .bg:before {
    left: calc(50% + 0.8rem);
  }
  .mf-switcher.-mode-2.-bg input:checked + .bg {
    background-color: var(--color-base);
  }
  .mf-switcher.-mode-2.-selected-all input + .bg:before {
    background-color: var(--color-base);
  }
  .mf-switcher.-mode-2.-selected input:checked + .bg:before {
    background-color: var(--color-base);
  }
}
@layer mf-lib {
  .mf-switcher-multi {
    display: inline-flex;
    align-items: center;
    background-color: var(--color-gray-light-30);
    background: linear-gradient(64deg, var(--color-base-light-80) 0%, var(--color-base-light-60) 70%, var(--color-base-light-70) 100%);
    border-radius: 3rem;
    transition: var(--transition-ease);
    height: 4.8rem;
    padding: 0 0.8rem;
    position: relative;
    user-select: none;
  }
  .mf-switcher-multi input {
    opacity: 0;
    position: absolute;
    pointer-events: none;
  }
  .mf-switcher-multi .single-switcher {
    z-index: 1;
    padding: 0 1.2rem;
    cursor: pointer;
    transition: var(--transition-ease);
  }
  .mf-switcher-multi .single-switcher:hover:not(.active) {
    color: #fff;
  }
  .mf-switcher-multi:before {
    content: "";
    display: block;
    position: absolute;
    left: var(--cur-switcher-left, 0.8rem);
    top: 0;
    bottom: 0;
    margin: auto;
    height: 3.4rem;
    width: var(--cur-switcher-width, 70px);
    background-color: #fff;
    border-radius: 3rem;
    transition: var(--transition-ease);
    box-shadow: 0 0 0.8rem 0.3rem rgba(0, 0, 0, 0);
  }
  .mf-switcher-multi.-bg {
    background-color: var(--color-base);
  }
  .mf-switcher-multi.-selected::before {
    background-color: var(--color-base);
  }
  .mf-switcher-multi.-square {
    border-radius: 1rem;
  }
  .mf-switcher-multi.-square:before {
    border-radius: 0.6rem;
  }
  .mf-switcher-multi.-w-100 {
    width: 100%;
  }
  .mf-switcher-multi.-w-100 .single-switcher {
    width: 100%;
    text-align: center;
  }
}
.breadcrumbs {
  --breadcrumbs-color: var(--color-text);
  display: flex;
  font-size: 1.5rem;
  user-select: none;
  line-height: 1;
}
.breadcrumbs > * {
  color: var(--breadcrumbs-color);
  cursor: default;
  white-space: nowrap;
}
.breadcrumbs > * a:not(:hover) {
  color: var(--breadcrumbs-color);
  cursor: default;
}
.breadcrumbs > *:not(:first-child)::before {
  content: var(--breadcrumbs-divider, "/");
  left: 0;
  position: relative;
  display: inline-block;
  margin: 0 0.5rem;
  color: var(--breadcrumbs-color);
}
.breadcrumbs > *:last-child span {
  display: inline-flex;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .breadcrumbs {
    white-space: nowrap;
    overflow-y: auto;
  }
}
.breadcrumbs + h1 {
  padding-top: 0;
  transform: translateX(-0.2rem);
}

ul.-leveled .has-child-list > ul {
  padding-left: 1.4rem;
  margin-top: 0.5rem;
  margin-bottom: 0.8rem;
  border-left: 1px solid var(--color-border);
}
ul.-leveled .has-child-list:last-child > ul {
  margin-bottom: 0;
}
ul.-leveled .has-child-list:not(.active) > ul {
  opacity: 0;
  margin: 0;
  overflow: hidden;
  height: 0;
}
ul.-leveled .has-child-list > a [class*=ico-] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-grow: 1;
  height: 100%;
  transition: color 0.2s;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
ul.-leveled .has-child-list > a [class*=ico-]::before {
  transition: transform 0.2s;
}
ul.-leveled .has-child-list > a [class*=ico-]:not(:hover) {
  color: var(--color-text);
}
ul.-leveled .has-child-list.active > a [class*=ico-]::before {
  display: flex;
  transform: rotate(180deg);
}
ul.-leveled a {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  padding: 0.3em 0.6rem 0.4em 0;
  position: relative;
  color: var(--color-text);
  border-radius: 0.6rem;
}
ul.-leveled li.active > a, ul.-leveled li.current > a, ul.-leveled li:hover > a {
  background-color: var(--color-border-light);
  padding-left: 0.6rem;
  padding-right: 0.6rem;
}
ul.-leveled li.active > a, ul.-leveled li.current > a {
  padding-top: 0.4em;
  padding-bottom: 0.5em;
}
ul.-leveled .has-child-list:hover li:not(:hover) > a {
  background-color: transparent;
}

.sidebar-block.categories {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.sidebar-block.filter-group {
  max-height: 30rem;
  overflow-y: auto;
  padding-right: 1rem;
  --br:0;
}
.sidebar-block.filter-group.-type-list {
  max-height: none;
}
.sidebar-block.filter-group .title {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 1;
}
.sidebar-block.filter-group .mfa--header {
  justify-content: space-between;
  padding: 1.2rem 0 1rem;
}
.sidebar-block.filter-group .mfa--header [class*=ico-] {
  display: flex;
  align-items: center;
  transition: transform 0.2s;
}
.sidebar-block.filter-group .mfa--body > * {
  padding: 0;
}
.sidebar-block.filter-group.is-active .mfa--header [class*=ico-] {
  transform: rotate(180deg);
}
.sidebar-block.filter-group.is-active .mfa--body {
  margin-bottom: 1.6rem;
}
.sidebar-block.filter-group .mf-range-group {
  padding-top: 1rem;
}
.sidebar-block + .sidebar-block {
  padding-bottom: 0.1rem;
  border-top: solid 1px var(--color-border);
}
.sidebar-block .title {
  font-weight: 600;
  font-size: 1.7rem;
  position: relative;
  padding-bottom: 1rem;
}

@layer mf-lib {
  .mf-hfilter {
    display: contents;
  }
  .mf-hfilter .mfhf--single {
    height: 3.6rem;
    position: relative;
    display: inline-flex;
    align-items: center;
    color: var(--color-text);
    background-color: var(--color-border-light);
    cursor: pointer;
    padding: 0 1.2rem;
    border-radius: 1rem;
    transition: background 0.2s;
    white-space: nowrap;
    z-index: 2;
    gap: 0.9rem;
    user-select: none;
  }
  .mf-hfilter .mfhf--single .mfhf--clear {
    order: 1;
    display: flex;
    border-radius: 99px;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    margin-left: -0.4rem;
    margin-right: -0.4rem;
    transition: color 0.2s, background 0.2s;
    will-change: color, background;
  }
  .mf-hfilter .mfhf--single .mfhf--clear:hover {
    background-color: #fff;
    color: var(--color-red);
    z-index: 4;
  }
  .mf-hfilter .mfhf--single::after {
    content: "";
    width: 1px;
    height: 60%;
    background-color: var(--color-text);
    display: inline-block;
  }
  .mf-hfilter .mfhf--single:not(.is-active) .mfhf--clear, .mf-hfilter .mfhf--single:not(.is-active)::after {
    display: none;
  }
  .mf-hfilter .mfhf--single .mfhf--content-wrapper {
    left: calc((1.8rem + 1px) * -1);
    height: 50dvh;
    width: 100%;
    transition: var(--transition-ease);
    position: absolute;
    top: calc(100% + 1rem);
    z-index: 2;
    transform: translateY(0px);
    display: none;
    padding: 1.8rem;
    background-color: #fff;
    box-shadow: var(--box-shadow), var(--box-shadow), var(--box-shadow);
    border-radius: 0.8rem;
  }
  .mf-hfilter .mfhf--single .mfhf--content-wrapper::before {
    content: "";
    position: absolute;
    height: 1rem;
    width: 100%;
    bottom: 100%;
    left: 0;
  }
  .mf-hfilter .mfhf--single .mfhf--content-wrapper .mf-checkbox-group > * {
    width: 100%;
  }
  .mf-hfilter .mfhf--single .mfhf--content {
    overflow-y: auto;
    height: 100%;
    padding-top: 0.5rem;
  }
  @media (min-width: 1024px) {
    .mf-hfilter .mfhf--single:hover {
      background-color: var(--color-border-dark);
      z-index: 4;
    }
    .mf-hfilter .mfhf--single:hover .mfhf--content-wrapper {
      width: fit-content;
      min-width: 25rem;
      max-width: 35rem;
      display: flex;
      flex-direction: column;
      height: fit-content;
      max-height: 33rem;
      cursor: default;
      padding-right: 0;
    }
    .mf-hfilter .mfhf--single:hover .mfhf--content-wrapper .mfhf--content {
      padding-right: 1.8rem;
    }
  }
  @media (max-width: 1023.99px) {
    .mf-hfilter .mfhf--single {
      z-index: auto;
    }
    .mf-hfilter .mfhf--single .mfhf--content-wrapper {
      display: block;
      position: fixed;
      bottom: 0;
      top: auto;
      left: 0;
      z-index: 19510;
      background-color: #fff;
      padding: 0;
      transform: translateY(100%);
      transition: transform 0.2s;
      will-change: transform;
      border-radius: 0.8rem 0.8rem 0 0;
      box-shadow: none;
    }
    .mf-hfilter .mfhf--single .mfhf--content-wrapper.is-active {
      transform: translateY(0);
    }
    .mf-hfilter .mfhf--single .mfhf--content-wrapper .mfhf--sheet-title {
      color: var(--color-text);
      border-bottom: solid 1px var(--color-border);
      padding: 2.4rem 2rem;
      display: flex;
      width: 100%;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 0;
      position: sticky;
      top: 0;
      background-color: #fff;
      z-index: 1;
    }
    .mf-hfilter .mfhf--single .mfhf--content-wrapper .mfhf--content {
      padding: 2rem 2rem 7rem;
      height: calc(100% - 7rem);
    }
    .mf-hfilter .mfhf--single .mfhf--content-wrapper::before {
      display: none;
    }
  }
  .mf-hfilter .mfhf--single.is-active {
    color: #fff;
    background-color: var(--color-base);
  }
  .mf-hfilter .mfhf--single.is-active::after {
    background-color: #fff;
  }
}
.catalog-control {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.2rem;
  overflow-x: auto;
  overflow-y: visible;
}
.catalog-control::-webkit-scrollbar {
  scrollbar-width: none; /* For Firefox */
  display: none;
}
.catalog-control #catalog-sort {
  height: 3.6rem;
  border-radius: 1rem;
  flex-shrink: 0;
  width: auto;
  margin-bottom: 0;
  background-color: var(--color-border-light);
  border: none;
}
.catalog-control #catalog-sort:not(.js_mfs_prepared) {
  width: 4rem;
}
.catalog-control #catalog-sort + .mf-select {
  height: 3.6rem;
  border-radius: 1rem;
  flex-shrink: 0;
  width: auto;
  margin-bottom: 0;
  background-color: var(--color-border-light);
  border: none;
  transition: background 0.2s;
  white-space: nowrap;
}
.catalog-control #catalog-sort + .mf-select .mfs--options {
  background-color: #fff;
  border: transparent;
  width: 100%;
  left: 0;
  padding-bottom: 0.7rem;
  border-radius: 0 0 1rem 1rem;
  color: var(--color-text);
  box-shadow: var(--box-shadow), var(--box-shadow), var(--box-shadow);
}
.catalog-control #catalog-sort + .mf-select.is-active {
  border-radius: 1rem 1rem 0 0;
  background-color: var(--color-base);
  color: #fff;
}
.catalog-control #catalog-sort + .mf-select.is-active .mfs--active span {
  display: block;
  opacity: 1;
  width: 100%;
}
.catalog-control #catalog-sort + .mf-select.is-active .mfs--arrow {
  transform: none;
}
.catalog-control #catalog-sort + .mf-select .mfs--active {
  position: relative;
}
.catalog-control #catalog-sort + .mf-select .mfs--active span {
  position: absolute;
  opacity: 0;
  width: 0;
  transition: opacity 0.2s, width 0.2s;
}
.catalog-control #catalog-sort + .mf-select:not(.is-active) .mfs--arrow {
  inset: 0;
}
.catalog-control #catalog-sort + .mf-select .mfs--arrow {
  font-size: 2.2rem;
}
.catalog-control #catalog-sort + .mf-select .mfs--arrow::before {
  max-width: 2.2rem;
}
.catalog-control #catalog-sort + .mf-select:hover {
  background-color: var(--color-border-dark);
}
.catalog-control #catalog-sort[data-mfsf-sort-active] + .mf-select {
  background-color: var(--color-base);
  color: #fff;
}
.catalog-control #catalog-sort[data-mfsf-sort-active] + .mf-select:hover {
  background-color: var(--color-base-dark-20);
}
.catalog-control .show-filter {
  height: 3.6rem;
  flex-shrink: 0;
  padding: 0 0.8rem;
  border-radius: 1rem;
  background-color: var(--color-border-light);
  border-color: var(--color-border-light);
  color: var(--color-text);
  font-size: 2.2rem;
}
.catalog-control .show-filter.-ctc-filtered {
  background-color: var(--color-base);
  border-color: var(--color-base);
  color: #fff;
}
@media (min-width: 1024px) {
  .catalog-control {
    overflow: visible;
    flex-wrap: wrap;
  }
  .catalog-control .show-filter {
    display: none;
  }
}

@media (max-width: 767.99px) {
  .bottom-sheet-indicator {
    position: absolute;
    top: -2rem;
    left: 0;
    width: 100%;
    height: 2rem;
  }
  .bottom-sheet-indicator::after {
    content: "";
    position: absolute;
    top: 0.8rem;
    left: 0;
    right: 0;
    margin: auto;
    width: 6.4rem;
    height: 0.5rem;
    background-color: var(--color-gray-dark-20);
    border-radius: 16rem;
  }
}
.sidebar-wrapper .sidebar-title {
  display: none;
}
@media (max-width: 1023.99px) {
  .sidebar-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    transform: translateX(-100%);
    width: 100%;
    height: 100dvh;
    background-color: #ffffff;
    transition: var(--transition-ease);
    z-index: 102;
  }
  .sidebar-wrapper.is-active {
    transform: translateX(0);
    overflow-y: auto;
    padding-bottom: 8rem;
  }
  .sidebar-wrapper .sidebar-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    border-bottom: solid 1px var(--color-border);
    margin-bottom: 2rem;
    position: sticky;
    top: 0;
    background-color: #fff;
    z-index: 2;
  }
  .sidebar-wrapper .sidebar-title .title {
    margin-bottom: 0;
  }
  .sidebar-wrapper .sidebar-title [class*=ico-] {
    font-size: 2.8rem;
  }
}

@layer theme {
  .list-params {
    display: flex;
    flex-direction: column;
  }
  .list-params li {
    display: flex;
    justify-content: space-between;
    white-space: nowrap;
    position: relative;
  }
  .list-params li::after {
    content: "";
    width: 100%;
  }
  .list-params li .lp--value {
    text-align: right;
  }
  .list-params.-default {
    gap: 0.5rem;
  }
  .list-params.-default li::after {
    height: 1.6rem;
    margin: 0 0.4rem;
    background-image: linear-gradient(to right, var(--color-base) 0.2rem, transparent 0.2rem);
    background-size: 0.4rem 0.1rem;
    background-repeat: repeat-x;
    background-position: 0 100%;
  }
  .list-params.-default li > *:last-child {
    order: 1;
  }
  .list-params.-default li:nth-child(n+2) {
    display: flex;
  }
  @media (min-width: 768px) {
    .list-params.-default li {
      margin-bottom: 0.6rem;
    }
    .list-params.-default li::after {
      height: 2rem;
    }
  }
  @media (min-width: 1024px) {
    .list-params.-default li {
      margin-bottom: 1.2rem;
    }
  }
  .list-params.-lined li {
    display: flex;
    justify-content: space-between;
    white-space: normal;
    position: relative;
    padding: 0.6rem 0;
    align-items: center;
    line-height: 1.2;
    gap: 3rem;
  }
  .list-params.-lined li::after {
    content: "";
    width: 100%;
    height: 0;
    border-bottom: dashed 1px var(--color-border);
    position: absolute;
    top: 100%;
    left: 0;
    margin: 0;
  }
  .list-params.-lined li:last-child {
    padding-bottom: 0;
  }
  .list-params.-lined li:last-child::after {
    display: none;
  }
}
@layer mf-lib {
  .mf-input-quantity {
    display: inline-flex;
    flex-wrap: nowrap;
    border: solid 1px var(--color-border);
    border-radius: 0.8rem;
    text-align: center;
    height: 2.8rem;
    margin-bottom: 0;
    overflow: hidden;
  }
  .mf-input-quantity > * {
    height: 100%;
  }
  .mf-input-quantity .mfiq--minus {
    order: -1;
  }
  .mf-input-quantity input {
    border: none;
    padding: 0;
    height: 100%;
    text-align: center;
    width: 2.8rem;
    background: transparent;
    border-radius: 0;
    margin: 0;
    /* For Firefox */
  }
  .mf-input-quantity input::-webkit-outer-spin-button, .mf-input-quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  .mf-input-quantity input[type=number] {
    -moz-appearance: textfield;
  }
  .mf-input-quantity .mfiq--control {
    font-size: 1.2em;
    line-height: 1;
    width: 2.4rem;
    flex-shrink: 0;
    flex-grow: 0;
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
  }
  .mf-input-quantity .mfiq--control:hover {
    background-color: var(--color-base-light-90);
  }
  .mf-input-quantity label {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
  }
  .mf-input-quantity.-bg-gray {
    border-color: var(--color-gray-light-70);
    background-color: var(--color-gray-light-70);
  }
  .mf-input-quantity.-bg-gray .mfiq--control:hover {
    background-color: var(--color-gray-light-40);
  }
}
@layer theme {
  .message-box {
    display: flex;
    gap: 0.8rem;
    border-radius: 1rem;
    padding: 1.6rem 1.6rem 1.4rem;
    font-size: 1.4rem;
    line-height: 1.3;
  }
  .message-box[class*=ico-]::before {
    font-size: 1.4em;
    margin-top: -0.2rem;
    display: flex;
    align-self: flex-start;
  }
  .message-box.-alert {
    background-color: var(--color-red-light-90);
  }
  .message-box.-alert[class*=ico-]::before {
    color: var(--color-red);
  }
  .message-box.-info {
    background-color: var(--color-green-light-90);
  }
  .message-box.-info[class*=ico-]::before {
    color: var(--color-green);
  }
  .message-box:is(ul, ol) {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 0.4rem 0.8rem;
    margin: 0;
    list-style: none;
  }
  .message-box:is(ul, ol)[class*=ico-]::before {
    grid-row: 1/-1;
  }
  .message-box:is(ul, ol) li {
    grid-column: 2;
  }
}
@layer mf-lib {
  .mf-tabs-control {
    display: flex;
    gap: 1rem;
  }
  .mf-tabs-control .mftbc--item {
    transition: var(--transition-ease);
    cursor: pointer;
    white-space: nowrap;
  }
  .mf-tabs-control.-style-1 .mftbc--item {
    display: flex;
    padding: 0.6rem 1.2rem 0.8rem;
    line-height: 1;
    background-color: var(--color-gray);
    border-radius: 0.6rem;
  }
  .mf-tabs-control.-style-1 .mftbc--item:hover {
    background-color: var(--color-base-dark-20);
    color: #fff;
  }
  .mf-tabs-control.-style-1 .mftbc--item.active {
    background-color: var(--color-base);
    color: #fff;
  }
  .mf-tabs-control.-style-2 {
    gap: 1.4rem;
  }
  .mf-tabs-control.-style-2 .mftbc--item {
    display: flex;
    line-height: 1;
    white-space: nowrap;
    padding: 0 0.9rem 0.9rem;
    position: relative;
  }
  .mf-tabs-control.-style-2 .mftbc--item::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 2px;
    border-right: 1rem;
    background-color: transparent;
    transition: background-color 0.2s;
  }
  .mf-tabs-control.-style-2 .mftbc--item:hover::after {
    background-color: var(--color-border);
  }
  .mf-tabs-control.-style-2 .mftbc--item.active {
    color: var(--color-base);
  }
  .mf-tabs-control.-style-2 .mftbc--item.active::after {
    background-color: var(--color-base);
  }
  .mf-tabs-control.-style-2.-icon-only .mftbc--item {
    font-size: 1.6em;
  }
  .mf-tabs-control.-style-3 {
    display: inline-flex;
    background-color: var(--color-base-light-94);
    border-radius: 2rem;
    align-items: center;
    padding: 0.8rem 1rem 0.8rem;
    overflow-y: auto;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
  }
  .mf-tabs-control.-style-3::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Edge */
  }
  .mf-tabs-control.-style-3 .mftbc--item {
    padding: 0.6rem 1rem;
  }
  .mf-tabs-control.-style-3 .mftbc--item.active {
    background-color: #fff;
    border-radius: 99px;
  }
}
@layer mf-lib {
  .mf-tabs {
    padding-top: 1rem;
  }
  .mf-tabs .mftb--item:not(.active) {
    display: none;
  }
}
@layer theme {
  .labeled-data {
    --gap: 0rem;
    --border-color: var(--color-base-light-80);
    display: flex;
    gap: var(--gap);
    background-color: var(--color-base-light-93);
    border-radius: 1rem;
    border: solid 1px var(--border-color);
  }
  .labeled-data .ld--item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    line-height: 1;
    justify-content: center;
    position: relative;
    padding: 1.9rem 1.3rem;
    width: 100%;
  }
  .labeled-data.-simple .ld--item-label {
    font-size: 1.3rem;
    display: flex;
    gap: 0.3rem;
    font-weight: 500;
  }
  .labeled-data.-simple .ld--item-label.-accent {
    font-weight: 600;
    color: var(--color-base);
  }
  .labeled-data.-simple .ld--item-text {
    font-size: 1.6rem;
    font-weight: 700;
  }
  .labeled-data.-simple .ld--item-text.-accent {
    font-weight: 600;
    color: var(--color-base);
  }
  .labeled-data.-simple .ld--item:not(:first-child)::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 1px;
    background-color: var(--border-color);
  }
  .labeled-data.-simple .ld--item .tooltip-toggle {
    transform: translateY(1px);
  }
  .labeled-data.-simple.-icon-fix .ld--text [class*=ico-] {
    font-size: 1.1em;
    transform: translateY(0.05em);
    display: inline-flex;
  }
  .labeled-data.-simple.-icon-fix .ld--text [class*=ico-]::before {
    line-height: 0;
  }
  .labeled-data.-card .ld--item {
    width: calc(33.333% - 1.333rem);
    background-color: var(--color-border-light);
    padding: 1rem;
    border-radius: 0.6rem;
    flex-grow: 1;
    min-width: max-content;
  }
  .labeled-data.-card .ld--item-text {
    opacity: 0.6;
    font-weight: 600;
    color: var(--color-base);
  }
  @media (min-width: 768px) {
    .labeled-data.-card .ld--item {
      width: clamp(10rem, 25% - 1.5rem, 15rem);
    }
  }
}
@layer theme {
  .is-title-divider {
    position: relative;
  }
  .is-title-divider::after {
    content: "";
    display: block;
    width: 3rem;
    height: 0.2rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    background-color: var(--color-border);
  }
}
@layer theme {
  .icon-text {
    --row-gap: 2rem;
    --gap: 2rem;
    --fz: 6.4rem;
    --color:var(--color-base);
    display: block;
    margin-bottom: var(--mb, 0);
  }
  .icon-text .ibt--heading {
    margin-bottom: 1.6rem;
  }
  .icon-text .ibt--item {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
  }
  .icon-text .ibt--icon {
    display: flex;
    color: var(--color);
    line-height: 1;
  }
  .icon-text .ibt--icon [class*=ico-],
  .icon-text .ibt--icon span {
    font-size: var(--fz);
  }
  .icon-text .ibt--icon picture,
  .icon-text .ibt--icon img {
    display: block;
    width: var(--fz);
    height: var(--fz);
    object-fit: contain;
  }
  .icon-text .ibt--item-body {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  .icon-text .ibt--title {
    font-family: var(--font-family-second);
    font-size: 1.8rem;
    color: var(--color);
  }
  .icon-text .ibt--text {
    line-height: 1.15;
  }
  .icon-text .ibt--text > *:last-child {
    margin-bottom: 0;
  }
  .icon-text.-ibt-inline .ibt--item {
    flex-direction: row;
    align-items: flex-start;
  }
  .icon-text.-ibt-inline .ibt--icon {
    flex-shrink: 0;
  }
  .icon-text.-ibt-center {
    text-align: center;
  }
  .icon-text.-ibt-center .ibt--item {
    align-items: center;
  }
  .icon-text.-ibt-center .ibt--icon {
    justify-content: center;
  }
  .icon-text.-ibt-numbers {
    --fz: 4.8rem;
  }
  .icon-text.-ibt-numbers .ibt--icon span {
    font-family: var(--font-family-second);
  }
}
@layer theme {
  .is-price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    line-height: 1;
    font-size: 1.6rem;
    font-weight: 700;
  }
  .is-price .old {
    position: relative;
    font-size: 0.75em;
    font-weight: 400;
    opacity: 0.8;
    width: fit-content;
    line-height: 1;
    order: -1;
  }
  .is-price .old::after {
    content: "";
    display: block;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
    width: 100%;
    height: 0.2rem;
    border-top: solid 0.1rem;
    transform: rotate(11deg) translateY(24%);
  }
  .is-price.-xl {
    font-size: 2.4rem;
  }
  .is-price.-xl .old {
    font-size: 0.62em;
  }
  .is-price.-horizontal {
    flex-direction: row;
    align-items: center;
    gap: 0.8rem;
  }
  .is-price.-horizontal .old {
    transform: translateY(1px);
    order: 1;
  }
}
@layer theme {
  .simple-post-list {
    display: flex;
    flex-direction: column;
    --gap: 3rem;
    gap: var(--gap, 3rem);
  }
  .simple-post-list .sp--heading {
    margin-bottom: 0;
  }
  .simple-post-list .sp--heading.is-title-divider {
    margin-bottom: -2rem;
  }
  .simple-post-list .sp--item {
    display: flex;
    gap: 2rem;
    position: relative;
  }
  .simple-post-list .sp--item .sp--img {
    aspect-ratio: 1/1;
    width: 7rem;
    flex-shrink: 0;
    align-self: flex-start;
  }
  .simple-post-list .sp--item .sp--img img {
    height: 100%;
    width: 100%;
    border-radius: 1rem;
    object-fit: cover;
    display: block;
  }
  .simple-post-list .sp--item .sp--content {
    align-self: center;
    gap: 1rem;
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .simple-post-list .sp--item .sp--title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.1;
  }
  .simple-post-list .sp--item .sp--title:not(:hover) {
    color: var(--color-text);
  }
  .simple-post-list .sp--item + .sp--item::before {
    content: "";
    position: absolute;
    left: 0;
    top: calc(var(--gap, 2rem) / 2 * -1);
    width: 100%;
    height: 1px;
    background-color: var(--color-border-light);
  }
  .simple-post-list.-sp-style-2 .sp--item {
    box-shadow: var(--box-shadow);
    border-radius: 1rem;
    padding: 1rem;
  }
  .simple-post-list.-sp-style-2 .sp--item + .sp--item::before {
    display: none;
  }
  .simple-post-list.-sp-box-style-2 {
    box-shadow: var(--box-shadow);
    border-radius: 1rem;
    padding: 1rem;
  }
  .simple-post-list.-sp-reviews {
    --gap: 3rem;
    gap: var(--gap, 3rem);
  }
  .simple-post-list.-sp-reviews .sp--item .sp--title {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    font-weight: 600;
  }
  .simple-post-list.-sp-reviews .sp--item .sp--title [class*=ico-] {
    display: flex;
    gap: 0.4rem;
  }
  .simple-post-list.-sp-reviews .sp--item .sp--title [class*=ico-]::before {
    font-size: 1.1em;
  }
  .simple-post-list.-sp-reviews .sp--item .sp--text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.1;
  }
  .simple-post-list.-sp-reviews .sp--item + .sp--item::before {
    top: calc(var(--gap, 3rem) / 2 * -1);
  }
}
@layer theme {
  .banner {
    --br: 1.2rem;
    --pd: 2.4rem;
    --gap: 1.2rem;
    --mh: 28rem;
    --cw: 100%;
    --color: var(--color-text);
    --overlay: 0;
    position: relative;
    display: flex;
    align-items: center;
    min-height: var(--mh);
    margin-bottom: var(--mb, 0);
    padding: var(--pd);
    border-radius: var(--br);
    overflow: hidden;
    color: var(--color);
  }
  .banner .bn--media {
    position: absolute;
    inset: 0;
  }
  .banner .bn--media picture,
  .banner .bn--media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--opx, 50%) var(--opy, 50%);
  }
  .banner .bn--media::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, var(--overlay));
  }
  .banner .bn--content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: 100%;
    max-width: var(--cw);
  }
  .banner .bn--content > *:last-child {
    margin-bottom: 0;
  }
  .banner.-bn-container {
    padding-left: 0;
    padding-right: 0;
  }
  .banner.-bn-container > .container {
    display: flex;
    align-items: center;
  }
  .banner.-bn-right {
    justify-content: flex-end;
  }
  .banner.-bn-right > .container {
    justify-content: flex-end;
  }
  .banner.-bn-center {
    justify-content: center;
    text-align: center;
  }
  .banner.-bn-center > .container {
    justify-content: center;
  }
  .banner.-bn-center .bn--content {
    align-items: center;
  }
  @media (min-width: 768px) {
    .banner {
      --pd: 4rem;
      --cw: 50rem;
    }
  }
}
.is-social-links {
  display: flex;
  gap: 0.8rem;
}
.is-social-links a {
  display: inline-flex;
  width: 3.2rem;
  height: 3.2rem;
  align-items: center;
  justify-content: center;
  background-color: var(--color-base);
  color: #fff;
  border-radius: 0.6rem;
  font-size: 2.2rem;
}
.is-social-links a:hover {
  background-color: var(--color-base-dark-30);
}
.is-social-links.-color-white a:not(:hover) {
  background-color: #fff;
  color: var(--color-text);
}

.reviews-list {
  border: solid 1px var(--color-border);
  border-radius: 2rem;
  overflow: hidden;
}

.review-wrapper + .review-wrapper {
  border-top: dashed 1px var(--color-border);
}

.is-review {
  background-color: #fff;
  padding: 2rem;
}
.is-review .header {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.is-review .author-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 7rem;
  min-height: 5rem;
  position: relative;
  gap: 0.5rem;
}
.is-review .avatar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 5rem;
  height: 5rem;
}
.is-review .avatar img {
  width: 100%;
  height: 100%;
  border-radius: 10rem;
  object-fit: cover;
}
.is-review .avatar .avatar-letter {
  width: 100%;
  height: 100%;
  border-radius: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  font-size: 2rem;
  background-color: hsl(var(--avatar-hue, 210), 55%, 60%);
}
.is-review .author {
  font-size: 2rem;
  font-weight: 600;
}
.is-review .for-post {
  opacity: 0.6;
  font-size: 1.4rem;
}
.is-review .for-post a:not(:hover) {
  color: var(--color-text);
}
.is-review .text {
  margin-top: 1rem;
}
.is-review .footer {
  margin-top: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-size: 1.4rem;
}
.is-review .footer .data, .is-review .footer [class*=ico-] {
  opacity: 0.6;
}
.is-review .reactions {
  display: flex;
  gap: 0.8rem;
}
.is-review .reactions [class*=ico-] {
  transition: var(--transition-ease);
  font-size: 1rem;
  line-height: 0;
}
.is-review .reactions [class*=ico-]::before {
  font-size: 2rem;
}
.is-review .reactions [class*=ico-]:hover {
  opacity: 1;
  color: var(--color-base);
}
.is-review .is-review {
  padding-right: 0;
  border-left: 1px dashed var(--color-border);
  margin-top: 1rem;
  padding-bottom: 0;
}

.rating-wrapper {
  font-size: 1.8rem;
  display: flex;
}
.rating-wrapper .ico-star-fill {
  color: var(--color-base);
}

.ya-reviews {
  width: 760px;
  height: 800px;
  max-height: calc(100dvh - var(--header-height));
  overflow: hidden;
  position: relative;
}
.ya-reviews iframe {
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-border);
  border-radius: 2rem;
}

@layer theme {
  .rating-choose {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1.6rem;
  }
  .rating-choose .title {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}
@layer theme {
  .stars-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .stars-wrapper .single-star {
    position: relative;
    cursor: pointer;
    color: var(--color-border);
    font-size: 2.5rem;
  }
  .stars-wrapper .single-star input {
    opacity: 0;
    pointer-events: none;
    position: absolute;
  }
  .stars-wrapper .single-star * {
    height: 100%;
    display: flex;
  }
  .stars-wrapper .single-star .filled {
    position: absolute;
    inset: 0;
    opacity: 0;
  }
  .stars-wrapper:hover .single-star .filled {
    opacity: 1;
    color: #fbba1e;
  }
  .stars-wrapper:hover .single-star:hover ~ .single-star .filled {
    opacity: 0;
  }
  .stars-wrapper.active .single-star .filled {
    opacity: 1;
    color: #fbba1e;
  }
  .stars-wrapper:not(:hover) .single-star.active ~ .single-star .filled {
    opacity: 0;
  }
  .stars-wrapper.-visual-rating {
    pointer-events: none;
  }
  .stars-wrapper .label {
    margin-left: 0.5rem;
  }
}
.review-form-wrapper {
  padding: 3rem 2rem;
  margin-top: 1rem;
}
.review-form-wrapper:not(:first-child) {
  border-top: solid 1px var(--color-border);
}

.review-rating {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 2rem;
}

@layer mf-lib {
  .cloud-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
  }
  .cloud-tags:empty {
    display: none;
  }
  .cloud-tags .ct--item, .cloud-tags > * {
    background-color: var(--color-border-light);
    border: solid 1px transparent;
    color: var(--color-text);
    border-radius: 0.7rem;
    line-height: 1;
    padding: 0.32em 0.63em 0.43em;
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
  }
  .cloud-tags .ct--item .ct--counter, .cloud-tags > * .ct--counter {
    border-radius: 0.4rem;
    padding: 0.3rem 0.4rem 0.2rem;
    transform: translateY(1px);
    font-size: 0.8em;
    background-color: #fff;
    text-align: center;
    display: inline-flex;
    align-items: center;
    transition: var(--transition-ease);
    margin: -0.3rem 0;
  }
  .cloud-tags .ct--item:hover, .cloud-tags > *:hover {
    background-color: var(--color-base);
    color: #fff;
  }
  .cloud-tags .ct--item:hover .ct--counter, .cloud-tags > *:hover .ct--counter {
    color: var(--color-text);
  }
  .cloud-tags .ct--item.-current, .cloud-tags > *.-current {
    color: var(--color-base);
    border-color: var(--color-base);
  }
  .cloud-tags.-small {
    font-size: 1.4rem;
  }
  .cloud-tags.-simple {
    --fs: 1.4rem;
    font-size: var(--fs);
    gap: 0.7rem 1.4rem;
  }
  .cloud-tags.-simple > * {
    padding: 0;
    background-color: transparent;
    opacity: 0.7;
  }
  .cloud-tags.-simple > *:is(a):hover {
    color: var(--color-base);
  }
}
@layer theme {
  .toc {
    --gap: 0.6rem;
    --indent: 1.4rem;
    display: block;
  }
  .toc .toc--list {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .toc .toc--item {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
  }
  .toc .toc--link {
    color: var(--color-text);
    transition: var(--transition-ease);
  }
  .toc .toc--link:hover {
    color: var(--color-base);
  }
  .toc .toc--item.is-active > .toc--link {
    color: var(--color-base);
    font-weight: 600;
  }
  .toc .-toc-sub {
    padding-left: var(--indent);
    border-left: 1px solid var(--color-border);
    font-size: 1.4rem;
  }
}
@layer theme {
  .page-not-found {
    --gap: 1.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap);
    padding: 2.4rem 0 4rem;
    text-align: center;
  }
  .pnf--code {
    font-family: var(--font-family-second);
    font-size: 8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.4rem;
    color: var(--color-base-light-60);
  }
  @media (min-width: 1024px) {
    .pnf--code {
      font-size: 12rem;
    }
  }
  .pnf--title {
    margin: 0;
  }
  .pnf--text {
    max-width: 56rem;
    margin: 0;
    color: var(--color-text);
    opacity: 0.7;
  }
  .pnf--actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.2rem;
    margin-top: 0.8rem;
  }
  .pnf--actions .mf-button {
    min-width: 18rem;
  }
}
@layer theme {
  .dynamic-page {
    --pb: 4rem;
    --br: 1rem;
    display: block;
    padding-top: 2rem;
    padding-bottom: var(--pb);
  }
  .dynamic-page .breadcrumbs {
    margin-bottom: 1.6rem;
  }
  .dynamic-page .dp--title {
    margin-bottom: 2rem;
  }
  .dynamic-page .dp--poster {
    margin-bottom: 2.4rem;
  }
  .dynamic-page .dp--poster img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--br);
  }
  .dynamic-page .cloud-tags,
  .dynamic-page .toc {
    margin-bottom: 2.4rem;
  }
  .dynamic-page .dp--content > *:last-child {
    margin-bottom: 0;
  }
  .dynamic-page .dp--content :is(h2, h3)[id] {
    scroll-margin-top: 12rem;
  }
  @media (min-width: 1024px) {
    .dynamic-page .dp--aside {
      position: sticky;
      top: calc(var(--header-height, 0) + 2rem);
      align-self: flex-start;
    }
  }
  .dynamic-page .dp--hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 32rem;
    margin-bottom: 3.2rem;
    overflow: hidden;
  }
  .dynamic-page .dp--hero img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media (min-width: 1024px) {
    .dynamic-page .dp--hero {
      min-height: 48rem;
    }
  }
  .dynamic-page .dp--hero-container {
    position: relative;
    z-index: 1;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .dynamic-page .dp--hero-content {
    max-width: 56rem;
    color: #fff;
    text-shadow: 0 0.1rem 1.2rem rgba(0, 0, 0, 0.45);
  }
  .dynamic-page .dp--hero-title {
    margin-bottom: 1.2rem;
    color: inherit;
  }
  .dynamic-page .dp--hero-text {
    font-size: 1.8rem;
  }
  .dynamic-page.-dp-front {
    padding-top: 0;
  }
}
@layer theme {
  .dc-text {
    display: block;
    margin-bottom: var(--mb, 0);
  }
  .dc-text .dct--heading {
    margin-bottom: 1.6rem;
  }
  .dc-text .dct--content > *:last-child {
    margin-bottom: 0;
  }
  .dc-text .dct--content ul,
  .dc-text .dct--content ol {
    padding-left: 2rem;
  }
  .dc-text .dct--content img {
    max-width: 100%;
    height: auto;
    border-radius: 0.8rem;
  }
  .dc-text .dct--content table {
    width: 100%;
  }
}
@layer theme {
  .dc-text-image {
    --gap: 2.4rem;
    --iw: 40%;
    --br: 1.6rem;
    display: block;
    margin-bottom: var(--mb, 0);
  }
  .dc-text-image .dcti--heading {
    margin-bottom: 1.6rem;
  }
  .dc-text-image .dcti--row {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
  }
  @media (min-width: 768px) {
    .dc-text-image .dcti--row {
      flex-direction: row;
      align-items: flex-start;
    }
  }
  .dc-text-image .dcti--text {
    flex: 1 1 auto;
    min-width: 0;
  }
  .dc-text-image .dcti--text > *:last-child {
    margin-bottom: 0;
  }
  @media (min-width: 768px) {
    .dc-text-image .dcti--image {
      flex: 0 0 var(--iw);
      max-width: var(--iw);
    }
  }
  .dc-text-image .dcti--image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--br);
    aspect-ratio: var(--iap, auto);
    object-fit: cover;
  }
  .dc-text-image .dcti--image-link {
    display: block;
  }
  .dc-text-image .dcti--image-caption {
    display: block;
    margin-top: 1.2rem;
    font-size: 1.4rem;
    opacity: 0.7;
  }
  @media (min-width: 768px) {
    .dc-text-image.-dcti-right .dcti--row {
      flex-direction: row-reverse;
    }
  }
  @media (min-width: 768px) {
    .dc-text-image.-dcti-middle .dcti--row {
      align-items: center;
    }
  }
}
@layer theme {
  .dc-accordion {
    display: block;
    margin-bottom: var(--mb, 0);
  }
  .dc-accordion .dca--heading {
    margin-bottom: 1.6rem;
  }
  .dc-accordion .mf-accordion-group {
    display: flex;
    flex-direction: column;
    border: solid 1px var(--color-border);
    border-radius: 0.8rem;
    overflow: hidden;
  }
  .dc-accordion .mf-accordion-group .mf-accordion + .mf-accordion {
    border-top: solid 1px var(--color-border);
  }
  .dc-accordion .mf-accordion-group .mfa--header {
    text-align: left;
    gap: 1.2rem;
    font-weight: 600;
  }
  .dc-accordion .mf-accordion-group .mfa--body {
    padding: 0 2rem 1.6rem;
  }
  .dc-accordion.-items-bg-white .mf-accordion {
    background: #fff;
  }
}
@layer theme {
  .dc-gallery {
    --row-gap: 1rem;
    --br: 0.8rem;
    display: block;
    margin-bottom: var(--mb, 0);
  }
  .dc-gallery .dcg--heading {
    margin-bottom: 1.6rem;
  }
  .dc-gallery .dcg--item {
    cursor: zoom-in;
    overflow: hidden;
    border-radius: var(--br);
  }
  .dc-gallery .dcg--item img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    transition: var(--transition-ease);
  }
  .dc-gallery .dcg--item:hover img {
    transform: scale(1.05);
  }
}
@layer theme {
  .dc-articles {
    --row-gap: 1.6rem;
    display: block;
    margin-bottom: var(--mb, 0);
  }
  .dc-articles .dcar--heading {
    margin-bottom: 1.6rem;
  }
  .dc-articles .dcar--actions {
    margin-top: 2.4rem;
  }
}
@layer theme {
  .article-card {
    --br: 0.8rem;
    --pi: 1.6rem;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background-color: #fff;
    border: solid 1px var(--color-border);
    border-radius: var(--br);
    transition: var(--transition-ease);
  }
  .article-card:hover {
    box-shadow: var(--shadow-box);
  }
  .article-card:hover .ac--title {
    color: var(--color-base);
  }
  .article-card .ac--link {
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  .article-card .ac--image img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
  }
  .article-card .ac--content {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    flex-grow: 1;
    padding: 1.6rem var(--pi);
  }
  .article-card .ac--title {
    margin: 0;
    font-size: 1.8rem;
    transition: var(--transition-ease);
  }
  .article-card .ac--description {
    margin: 0;
    font-size: 1.4rem;
    opacity: 0.75;
  }
  .article-card .ac--date {
    margin-top: auto;
    font-size: 1.3rem;
    opacity: 0.6;
  }
  .article-card.-ac-horizontal {
    flex-direction: row;
  }
  .article-card.-ac-horizontal .ac--image {
    flex: 0 0 12rem;
  }
  .article-card.-ac-horizontal .ac--image img {
    aspect-ratio: 1;
  }
  @media (min-width: 768px) {
    .article-card.-ac-horizontal .ac--image {
      flex-basis: 24rem;
    }
    .article-card.-ac-horizontal .ac--image img {
      aspect-ratio: 16/9;
    }
  }
}
@layer theme {
  .dc-conversion {
    --br: 1.2rem;
    --pi: 2.4rem;
    display: grid;
    grid-template-columns: 1fr;
    margin-bottom: var(--mb, 0);
    overflow: hidden;
    color: #fff;
    background: var(--gradient-brand);
    border-radius: var(--br);
  }
  @media (min-width: 768px) {
    .dc-conversion {
      grid-template-columns: minmax(24rem, 38%) 1fr;
    }
  }
  .dc-conversion .dcc--image img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
  }
  @media (min-width: 768px) {
    .dc-conversion .dcc--image img {
      aspect-ratio: auto;
    }
  }
  .dc-conversion .dcc--content {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    justify-content: center;
    padding: 2.4rem var(--pi);
  }
  .dc-conversion .dcc--title {
    margin: 0;
    color: inherit;
  }
  .dc-conversion .dcc--title::after {
    background-color: currentColor;
  }
  .dc-conversion .dcc--text > *:last-child {
    margin-bottom: 0;
  }
  .dc-conversion .dcc--buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 0.8rem;
  }
  .dc-conversion .dcc--buttons .mf-button {
    color: #fff;
    border-color: #fff;
    background-color: transparent;
  }
  .dc-conversion .dcc--buttons .mf-button:hover {
    color: var(--color-base);
    background-color: #fff;
    border-color: #fff;
  }
}
@layer theme {
  .dc-contacts {
    --gap: 2.4rem;
    --br: 0.8rem;
    display: block;
    margin-bottom: var(--mb, 0);
  }
  .dc-contacts .dcn--heading {
    margin-bottom: 1.6rem;
  }
  .dc-contacts .dcn--row {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gap);
  }
  .dc-contacts .dcn--content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  .dc-contacts .dcn--group {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  }
  .dc-contacts .dcn--group-title {
    margin: 0 0 0.4rem;
  }
  .dc-contacts .dcn--item {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
  }
  .dc-contacts .dcn--item-label {
    font-weight: 600;
  }
  .dc-contacts .dcn--item-value:is(a):hover {
    color: var(--color-base);
  }
  .dc-contacts .dcn--map {
    overflow: hidden;
    border-radius: var(--br);
  }
  .dc-contacts .dcn--map iframe {
    display: block;
    width: 100%;
    border: none;
  }
  .dc-contacts .dcn--map-frame {
    width: 100%;
    height: var(--height, 40rem);
  }
  @media (min-width: 1024px) {
    .dc-contacts.-dcn-full .dcn--row {
      grid-template-columns: minmax(28rem, 40%) 1fr;
    }
  }
}
@layer theme {
  .dc-loyalty-levels {
    --gap: 1.6rem;
    --br: 0.8rem;
    --pi: 1.6rem;
    --pb: 1.2rem;
    display: block;
    margin-bottom: var(--mb, 0);
  }
  .dc-loyalty-levels .dcll--heading {
    margin-bottom: var(--gap);
  }
  .dc-loyalty-levels .dcll--table {
    width: 100%;
    border-collapse: collapse;
    border-radius: var(--br);
    overflow: hidden;
    font-size: 1.6rem;
  }
  .dc-loyalty-levels .dcll--head {
    padding: var(--pb) var(--pi);
    background-color: var(--color-gray);
    text-align: left;
    font-size: 1.4rem;
    font-weight: 600;
    white-space: nowrap;
  }
  .dc-loyalty-levels .dcll--row:not(:last-child) {
    border-bottom: 1px solid var(--color-border);
  }
  .dc-loyalty-levels .dcll--name,
  .dc-loyalty-levels .dcll--threshold,
  .dc-loyalty-levels .dcll--discount {
    padding: var(--pb) var(--pi);
    vertical-align: middle;
  }
  .dc-loyalty-levels .dcll--threshold,
  .dc-loyalty-levels .dcll--discount {
    white-space: nowrap;
  }
  .dc-loyalty-levels .dcll--discount {
    font-weight: 600;
    color: var(--color-base);
  }
  .dc-loyalty-levels .dcll--note {
    margin-top: var(--gap);
    font-size: 1.4rem;
    color: var(--color-gray-dark-40);
  }
  @media (max-width: 767.99px) {
    .dc-loyalty-levels {
      overflow-x: auto;
    }
    .dc-loyalty-levels .dcll--table {
      min-width: 40rem;
    }
  }
}
@layer theme {
  .dc-products {
    display: block;
    margin-bottom: var(--mb, 0);
    margin-top: var(--mt, 2rem);
  }
  .dc-products .dcp--heading {
    margin-bottom: 1.6rem;
  }
  .dc-products .products-row-actions {
    margin-top: 2.4rem;
  }
}
@layer theme {
  .dc-categories {
    --row-gap: 1.6rem;
    --peek: 3.2rem;
    display: block;
    margin-bottom: var(--mb, 0);
  }
  .dc-categories .dccat--heading {
    margin-bottom: 1.6rem;
  }
  .dc-categories .dccat--list.-dccat-scroll > * {
    flex: 0 0 calc((100% - var(--row-gap) * var(--cols) - var(--peek)) / var(--cols));
    max-width: none;
  }
  .dc-categories .dccat--actions {
    margin-top: 2.4rem;
  }
}
@layer theme {
  .category-card {
    --br: 0.8rem;
    --ar: 1;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    height: 100%;
    color: inherit;
  }
  .category-card:hover .cc--image img {
    transform: scale(1.05);
  }
  .category-card:hover .cc--title {
    color: var(--color-base);
  }
  .category-card .cc--image {
    overflow: hidden;
    aspect-ratio: var(--ar);
    background-color: var(--color-border-light);
    border-radius: var(--br);
  }
  .category-card .cc--image picture {
    display: block;
    height: 100%;
  }
  .category-card .cc--image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition-ease);
  }
  .category-card .cc--content {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    text-align: center;
  }
  .category-card .cc--title {
    font-size: 1.6rem;
    line-height: 1.3;
    transition: var(--transition-ease);
  }
  .category-card .cc--count {
    font-size: 1.3rem;
    opacity: 0.6;
  }
}
@media (min-width: 1024px) {
  .catalog-wrapper {
    order: 1;
    padding-left: 3rem;
  }
}
@layer mf-lib {
  .mf-loader {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    font-family: var(--font-family-08);
    font-weight: 500;
    font-size: 1.8rem;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.1s;
    align-items: center;
    justify-content: center;
  }
  .mf-loader .mfl--overlay {
    background-color: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(4px) saturate(0.5);
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
  }
  .mf-loader .mfl--content {
    margin: auto;
    position: relative;
    text-align: center;
    background: #fff;
    border-radius: 3rem;
    padding: 4rem;
    aspect-ratio: 1;
    box-shadow: var(--box-shadow), var(--box-shadow);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 20rem;
  }
  .mf-loader .mfl--img {
    animation: 3s ease-in-out 0.5s none infinite running smallShakeRotate;
  }
  .mf-loader .mfl--text {
    position: relative;
    margin-top: 1rem;
    margin-right: 1rem;
  }
  .mf-loader .mfl--text::after {
    content: "";
    position: absolute;
    left: 100%;
    top: 0;
    display: block;
    animation: dotsWrite 1.6s linear infinite;
  }
  .mf-loader.is-active {
    opacity: 1;
  }
  .mf_loader_active label, .mf_loader_active button, .mf_loader_active a, .mf_loader_active [data-href] {
    pointer-events: none;
  }
  @keyframes smallShakeRotate {
    0% {
      transform: rotate(0deg) scale(1);
    }
    25% {
      transform: rotate(-10deg) scale(1.2);
    }
    50% {
      transform: rotate(10deg) scale(1.2);
    }
    75% {
      transform: rotate(0deg);
    }
  }
  @keyframes dotsWrite {
    0% {
      content: "";
    }
    25% {
      content: ".";
    }
    50% {
      content: "..";
    }
    75% {
      content: "...";
    }
  }
}
@layer mf-lib {
  /* ============================================================
   * mf-hslider-wrapper
   * Внешняя обёртка слайдера: позиционирующий контекст для
   * абсолютно-позиционируемых дочерних элементов (точки, слайды
   * на десктопе) и носитель CSS-переменных блока.
   * ============================================================ */
  .mf-hslider-wrapper {
    --h: .3rem;
    --gap: .2rem;
    --bgc: var(--color-gray);
    --bgc-active: #fff;
    --br: .4rem;
    --img-fade: .3s;
    width: 100%;
    height: 100%;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
  }
  .mf-hslider-wrapper * {
    user-select: none;
  }
  /* ============================================================
   * mf-hslider
   * Скроллящаяся лента слайдов с snap-эффектом.
   * ============================================================ */
  .mf-hslider {
    display: flex;
    width: 100%;
    height: 100%;
    position: relative;
    overflow-x: auto;
    overflow-y: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
    /* --------------------------------------------------------
     * mfhs--slide — один слайд
     * -------------------------------------------------------- */
  }
  .mf-hslider::-webkit-scrollbar {
    display: none;
  }
  .mf-hslider:not(.js_hslider_in_work) {
    scroll-snap-type: x mandatory;
  }
  .mf-hslider .mfhs--slide {
    width: 100%;
    min-width: 100%;
    height: 100%;
    overflow: hidden;
    scroll-snap-align: end;
    scroll-snap-stop: always;
  }
  .mf-hslider .mfhs--slide picture {
    display: block;
    width: 100%;
    height: 100%;
  }
  .mf-hslider .mfhs--slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--br) var(--br) 0 0;
    opacity: 0;
    transition: opacity var(--img-fade);
  }
  .mf-hslider .mfhs--slide img.is-loaded {
    opacity: 1;
  }
  /* ============================================================
   * mfhs--dots — контейнер точек навигации (мобайл)
   * ============================================================ */
  .mfhs--dots {
    display: none;
  }
  /* ============================================================
   * mfhs--hover — невидимая зона для переключения на десктопе
   * ============================================================ */
  .mfhs--hover {
    display: none;
  }
  /* ============================================================
   * Мобайл / планшет: точки-индикаторы
   * ============================================================ */
  @media (max-width: 1023px) {
    .mfhs--dots {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      display: flex;
      padding: 0 var(--gap);
      gap: calc(var(--gap) * 2);
    }
    .mfhs--dot {
      flex: 1 1 0;
      height: var(--h);
      border-radius: 99px;
      background-color: var(--bgc);
      transition: var(--transition-ease);
    }
    .mfhs--dot.is-active {
      background-color: var(--bgc-active);
    }
  }
  /* ============================================================
   * Десктоп: переключение наведением, слайды абсолютно
   * позиционированы и переключаются через opacity.
   * ============================================================ */
  @media (min-width: 1024px) {
    .mf-hslider {
      position: relative;
    }
    .mf-hslider .mfhs--slide {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    .mf-hslider .mfhs--slide img {
      padding: 0;
    }
    /* --------------------------------------------------------
     * mfhs--hover — хит-зона перед слайдом
     * Каждая такая зона вставляется JS-ом перед своим слайдом.
     * При наведении на зону подсвечивается соответствующий слайд
     * через смежный селектор.
     * -------------------------------------------------------- */
    .mfhs--hover {
      display: block;
      width: 100%;
      position: relative;
      z-index: 1;
      cursor: pointer;
    }
    .mfhs--hover::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: var(--gap);
      width: calc(100% - var(--gap) * 2);
      height: var(--h);
      background-color: var(--bgc);
      transition: var(--transition-ease);
    }
    .mfhs--hover:first-child::after {
      left: 0;
      width: calc(100% - var(--gap));
    }
    .mfhs--hover:nth-last-child(2)::after {
      width: calc(100% - var(--gap));
    }
    .mfhs--hover:hover:nth-child(n+2) + .mfhs--slide {
      opacity: 1;
    }
    .mfhs--hover:hover:nth-child(n+2) + .mfhs--slide .mf-iframe-video-container-image [class*=ico-] {
      transform: scale(1.05);
      opacity: 1;
    }
    .mfhs--hover:hover::after,
    .mf-hslider:not(:hover) .mfhs--hover:first-child::after {
      background-color: var(--bgc-active);
    }
    /* --------------------------------------------------------
     * Видимость слайдов:
     *  — по умолчанию виден только первый (idx 0) слайд,
     *    остальные скрыты;
     *  — при hover на mf-hslider виден тот, перед которым
     *    наведена .mfhs--hover.
     * -------------------------------------------------------- */
    .mfhs--hover:nth-child(n+2) + .mfhs--slide,
    .mf-hslider:hover .mfhs--hover:not(:hover) + .mfhs--slide {
      opacity: 0;
      pointer-events: none;
    }
    /* --------------------------------------------------------
     * До инициализации скрипта хит-зон ещё нет, а правила выше
     * завязаны на них. Слайды лежат absolute-стопкой с opacity 1,
     * поэтому поверх оказывается ПОСЛЕДНИЙ по DOM и мелькает до
     * готовности JS. Пока слайдер не помечен .js_hslider_ready —
     * форсим видимым только первый слайд, остальные прячем.
     * -------------------------------------------------------- */
    .mf-hslider:not(.js_hslider_ready) .mfhs--slide {
      opacity: 0;
      pointer-events: none;
    }
    .mf-hslider:not(.js_hslider_ready) .mfhs--slide:first-child, .mf-hslider:not(.js_hslider_ready) .mfhs--slide img {
      opacity: 1;
      pointer-events: auto;
    }
    /* --------------------------------------------------------
     * Состояние активного iframe: текущий слайд всегда виден
     * и кликабелен, даже когда курсор ушёл из слайдера.
     *
     * Раньше тут стояло !important; теперь, благодаря порядку
     * @layer (modifiers > mf-lib), достаточно объявить правило
     * в слое выше — оно перебьёт базовое.
     * -------------------------------------------------------- */
    @layer modifiers {
      .mf-hslider.active_iframe .mfhs--slide.is-active {
        opacity: 1;
        pointer-events: all;
      }
    }
  }
}
@layer mf-lib {
  .mf-notify {
    --mfn-offset: 2.4rem;
    --mfn-offset-mobile: 1.2rem;
    --mfn-gap: 1.2rem;
    --mfn-width: 36rem;
    --mfn-zi: 110;
    --mfn-enter-from: 110%;
    --mfn-enter-time: 0.35s;
    --mfn-leave-time: 0.35s;
    --mfn-ease: cubic-bezier(.34, 1.4, .5, 1);
    position: fixed;
    z-index: var(--mfn-zi);
    display: flex;
    flex-direction: column;
    gap: var(--mfn-gap);
    width: var(--mfn-width);
    max-width: calc(100vw - var(--mfn-offset) * 2);
    pointer-events: none;
  }
  .mf-notify .mfn--item {
    --mfn-bg: #fff;
    --mfn-color: var(--color-text, #333);
    --mfn-accent: var(--color-base, #b3245f);
    --mfn-br: 1.2rem;
    --mfn-pi: 1.6rem;
    --mfn-pb: 1.4rem;
    --mfn-bsh: 0 .6rem 2.4rem rgba(0, 0, 0, .14);
    --mfn-progress-time: 5000ms;
    --mfn-progress-play: running;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
    padding: var(--mfn-pb) var(--mfn-pi);
    color: var(--mfn-color);
    background-color: var(--mfn-bg);
    border-radius: var(--mfn-br);
    box-shadow: var(--mfn-bsh);
    border-left: 0.4rem solid var(--mfn-accent);
    font-family: var(--font-family-main, sans-serif);
    line-height: var(--font-line-height-base, 1.45);
    pointer-events: auto;
    overflow: hidden;
    opacity: 0;
    transform: translate(var(--mfn-tx, 0), var(--mfn-ty, 0));
    transition: opacity var(--mfn-enter-time) var(--mfn-ease), transform var(--mfn-enter-time) var(--mfn-ease);
  }
  .mf-notify .mfn--icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    font-size: 2.4rem;
    line-height: 1;
    color: var(--mfn-accent);
  }
  .mf-notify .mfn--image {
    flex-shrink: 0;
    width: 4rem;
    height: 4rem;
    object-fit: cover;
    border-radius: 0.8rem;
  }
  .mf-notify .mfn--body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .mf-notify .mfn--title {
    font-weight: 700;
    font-size: 1.5rem;
  }
  .mf-notify .mfn--text {
    font-size: 1.4rem;
    color: var(--color-gray-dark-60, #595959);
    word-break: break-word;
  }
  .mf-notify .mfn--actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 0.8rem;
  }
  .mf-notify .mfn--close {
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    border-radius: 0.6rem;
    color: var(--color-gray-dark-40, #999);
    cursor: pointer;
    transition: var(--transition-ease, all 0.15s ease-in-out);
    -webkit-tap-highlight-color: transparent;
    user-select: none;
  }
  .mf-notify .mfn--close::before, .mf-notify .mfn--close::after {
    content: "";
    position: absolute;
    width: 1.4rem;
    height: 0.2rem;
    background-color: currentColor;
    border-radius: 0.2rem;
  }
  .mf-notify .mfn--close::before {
    transform: rotate(45deg);
  }
  .mf-notify .mfn--close::after {
    transform: rotate(-45deg);
  }
  .mf-notify .mfn--close:hover {
    color: var(--color-text, #333);
    background-color: var(--color-gray-light-50, #f2f2f2);
  }
  .mf-notify .mfn--progress {
    position: absolute;
    left: 1.6rem;
    bottom: 0.6rem;
    height: 0.3rem;
    width: calc(100% - 3.2rem);
    transform-origin: left center;
    background-color: var(--mfn-accent);
    opacity: 0.45;
  }
  .mf-notify .mfn--item.-mfn-success {
    --mfn-accent: var(--color-green, #00a249);
  }
  .mf-notify .mfn--item.-mfn-error {
    --mfn-accent: var(--color-red, #db0444);
  }
  .mf-notify .mfn--item.-mfn-info {
    --mfn-accent: var(--color-second, #15506c);
  }
  .mf-notify .mfn--item.is-active {
    opacity: 1;
    transform: translate(0, 0);
  }
  .mf-notify .mfn--item.is-active .mfn--progress {
    animation: mfn-progress var(--mfn-progress-time) linear forwards;
    animation-play-state: var(--mfn-progress-play);
  }
  .mf-notify .mfn--item.is-leaving {
    opacity: 0;
    transform: translate(var(--mfn-tx, 0), var(--mfn-ty, 0));
    transition: opacity var(--mfn-leave-time) ease-in, transform var(--mfn-leave-time) ease-in;
  }
  .mf-notify.-mfn-top-left, .mf-notify.-mfn-top-center, .mf-notify.-mfn-top-right {
    top: calc(var(--header-height, 0) + var(--mfn-offset));
    flex-direction: column;
  }
  .mf-notify.-mfn-bottom-left, .mf-notify.-mfn-bottom-center, .mf-notify.-mfn-bottom-right {
    bottom: var(--mfn-offset);
    flex-direction: column-reverse;
  }
  .mf-notify.-mfn-top-right, .mf-notify.-mfn-bottom-right {
    right: var(--mfn-offset);
  }
  .mf-notify.-mfn-top-right .mfn--item, .mf-notify.-mfn-bottom-right .mfn--item {
    --mfn-tx: var(--mfn-enter-from);
  }
  .mf-notify.-mfn-top-left, .mf-notify.-mfn-bottom-left {
    left: var(--mfn-offset);
  }
  .mf-notify.-mfn-top-left .mfn--item, .mf-notify.-mfn-bottom-left .mfn--item {
    --mfn-tx: calc(var(--mfn-enter-from) * -1);
  }
  .mf-notify.-mfn-top-center, .mf-notify.-mfn-bottom-center {
    left: 50%;
    transform: translateX(-50%);
    align-items: center;
  }
  .mf-notify.-mfn-top-center .mfn--item {
    --mfn-ty: calc(var(--mfn-enter-from) * -1);
  }
  .mf-notify.-mfn-bottom-center .mfn--item {
    --mfn-ty: var(--mfn-enter-from);
  }
  @media (max-width: 767px) {
    .mf-notify {
      left: var(--mfn-offset-mobile);
      right: var(--mfn-offset-mobile);
      width: auto;
      max-width: none;
    }
    .mf-notify.-mfn-top-center, .mf-notify.-mfn-bottom-center {
      left: var(--mfn-offset-mobile);
      transform: none;
      align-items: stretch;
    }
    .mf-notify.-mfn-top-left .mfn--item, .mf-notify.-mfn-top-right .mfn--item, .mf-notify.-mfn-top-center .mfn--item {
      --mfn-tx: 0;
      --mfn-ty: calc(var(--mfn-enter-from) * -1);
    }
    .mf-notify.-mfn-bottom-left .mfn--item, .mf-notify.-mfn-bottom-right .mfn--item, .mf-notify.-mfn-bottom-center .mfn--item {
      --mfn-tx: 0;
      --mfn-ty: var(--mfn-enter-from);
    }
  }
  @keyframes mfn-progress {
    from {
      transform: scaleX(1);
    }
    to {
      transform: scaleX(0);
    }
  }
}
@layer mf-lib {
  .mf-search-suggest {
    display: flex;
    flex-direction: column;
  }
  .mf-search-suggest .mfss--item {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 0.8rem 1rem;
    border-radius: 0.8rem;
    color: var(--color-text);
    transition: var(--transition-ease);
  }
  .mf-search-suggest .mfss--item:hover {
    background-color: var(--color-gray);
  }
  .mf-search-suggest .mfss--img {
    flex-shrink: 0;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 0.6rem;
    overflow: hidden;
    background-color: var(--color-gray);
  }
  .mf-search-suggest .mfss--img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .mf-search-suggest .mfss--body {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
  }
  .mf-search-suggest .mfss--title {
    font-size: 1.4rem;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .mf-search-suggest .mfss--price {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--color-base);
  }
  .mf-search-suggest .mfss--all {
    display: block;
    margin-top: 0.4rem;
    padding: 1rem;
    border-top: 1px solid var(--color-border);
    text-align: center;
    font-size: 1.4rem;
    color: var(--color-base);
  }
  .mf-search-suggest .mfss--all:hover {
    color: var(--color-base-dark-40);
  }
  .mf-search-suggest .mfss--empty {
    padding: 1.2rem 1rem;
    font-size: 1.4rem;
    color: var(--color-gray-dark-40);
  }
  .mf-search-suggest .mfss--pending {
    padding: 1.2rem 1rem;
    font-size: 1.4rem;
    color: var(--color-gray-dark-40);
  }
  .mf-search-suggest .mfss--pending::after {
    content: "";
    display: inline-block;
    width: 1.6rem;
    text-align: left;
    animation: mfss-dots 1.2s infinite;
  }
  @keyframes mfss-dots {
    0% {
      content: "";
    }
    25% {
      content: ".";
    }
    50% {
      content: "..";
    }
    75%, 100% {
      content: "...";
    }
  }
}
@layer mf-lib {
  .is-drag-scroll {
    cursor: grab;
  }
  .is-drag-scroll.is-dragging {
    cursor: grabbing;
    user-select: none;
  }
  .is-drag-scroll.is-dragging img,
  .is-drag-scroll.is-dragging a {
    -webkit-user-drag: none;
    user-select: none;
  }
}
@layer mf-lib {
  .hs01--cart-wrapper {
    position: relative;
    display: flex;
    align-items: center;
  }
  .hs01--cart-wrapper:not(.is-active) .mini-cart-wrapper {
    opacity: 0;
    visibility: hidden;
    transform: translateY(1rem);
    pointer-events: none;
  }
  @media (min-width: 1024px) {
    .hs01--cart-wrapper:hover .mini-cart-wrapper {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      pointer-events: auto;
    }
  }
  .mini-cart-wrapper {
    --mc-width: 34rem;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 200;
    width: var(--mc-width);
    max-width: calc(100vw - 2.4rem);
    padding-top: 1rem;
    transition: var(--transition-ease);
  }
  @media (max-width: 768px) {
    .mini-cart-wrapper {
      --mc-width: 100dvw;
    }
  }
  .mini-cart {
    --mc-gap: 1.2rem;
    --mc-br: 1.2rem;
    --mc-bsh: 0 .6rem 2.4rem rgba(0, 0, 0, .16);
    width: 100%;
    padding: 1.6rem;
    background-color: #fff;
    border-radius: var(--mc-br);
    box-shadow: var(--mc-bsh);
  }
  .mini-cart .mc--list {
    display: flex;
    flex-direction: column;
    gap: var(--mc-gap);
    max-height: 42dvh;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 1rem;
  }
  .mini-cart .mc--empty {
    padding: 1rem 0;
    text-align: center;
    color: var(--color-gray-dark-50, #808080);
    font-size: 1.6rem;
  }
  .mini-cart .mc--item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding-bottom: var(--mc-gap);
    border-bottom: solid 0.1rem var(--color-border, #e6e6e6);
  }
  .mini-cart .mc--item:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }
  .mini-cart .mc--item-image {
    flex-shrink: 0;
    width: 5.6rem;
    height: 5.6rem;
    border-radius: 0.8rem;
    overflow: hidden;
  }
  .mini-cart .mc--item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .mini-cart .mc--item-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .mini-cart .mc--item-name {
    font-size: 1.4rem;
    line-height: 1.25;
    color: var(--color-text, #333);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .mini-cart .mc--item-name:hover {
    color: var(--color-base);
  }
  .mini-cart .mc--item-meta {
    font-size: 1.3rem;
    color: var(--color-gray-dark-60, #595959);
  }
  .mini-cart .mc--item-remove {
    font-size: 1.7rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: 0;
    border-radius: 0.6rem;
    color: var(--color-gray-dark-40, #999);
    background-color: var(--color-gray-light-50, #f2f2f2);
    cursor: pointer;
    transition: var(--transition-ease);
  }
  .mini-cart .mc--item-remove:hover {
    color: var(--color-red, #db0444);
  }
  .mini-cart .mc--footer {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin-top: 1.6rem;
    padding-top: 1.6rem;
    border-top: solid 0.1rem var(--color-border, #e6e6e6);
  }
  .mini-cart .mc--discount {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 1.3rem;
    color: var(--color-green, #2e8b57);
  }
  .mini-cart .mc--discount[hidden] {
    display: none;
  }
  .mini-cart .mc--discount-value {
    font-weight: 600;
    white-space: nowrap;
  }
  .mini-cart .mc--total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-weight: 700;
    font-size: 1.5rem;
  }
  .mini-cart .mc--actions {
    display: flex;
    gap: 0.8rem;
  }
  .mini-cart .mc--actions .mc--checkout {
    flex: 1 1 auto;
    width: auto;
  }
  .mini-cart .mc--actions .mc--clear {
    flex: 0 0 auto;
  }
}
@layer components {
  .mf-media-viewer {
    --mfmv-chrome: #fff;
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.92);
    user-select: none;
  }
  .mf-media-viewer.is-active {
    display: block;
  }
  .mf-media-viewer .mfmv--stage {
    display: flex;
    height: 100%;
    transition: transform 0.3s ease;
    will-change: transform;
  }
  .mf-media-viewer .mfmv--stage.is-dragging {
    transition: none;
  }
  .mf-media-viewer .mfmv--slide {
    flex: 0 0 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3.2rem 7rem;
    overflow: hidden;
    touch-action: none;
  }
  .mf-media-viewer .mfmv--image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transform-origin: center center;
    cursor: zoom-in;
    -webkit-user-drag: none;
    margin-bottom: clamp(0px, 50dvh - 50% - 4rem, 40dvh);
    border-radius: 1rem;
    transition: all 0.15s ease-in-out;
  }
  .mf-media-viewer.is-zoomed .mfmv--image {
    cursor: grab;
    margin-bottom: 0;
  }
  .mf-media-viewer .mfmv--video {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    touch-action: auto;
  }
  .mf-media-viewer .mfmv--close,
  .mf-media-viewer .mfmv--nav {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.8rem;
    height: 4.8rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.35);
    color: var(--mfmv-chrome);
    font-size: 2rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
  }
  .mf-media-viewer .mfmv--close:hover,
  .mf-media-viewer .mfmv--nav:hover {
    background-color: var(--color-base);
  }
  .mf-media-viewer .mfmv--close[hidden],
  .mf-media-viewer .mfmv--nav[hidden] {
    display: none;
  }
  .mf-media-viewer .mfmv--close {
    top: 1.6rem;
    right: 1.6rem;
  }
  .mf-media-viewer .mfmv--nav {
    top: 50%;
    transform: translateY(-50%);
  }
  .mf-media-viewer .mfmv--nav:hover {
    background-color: var(--color-base);
  }
  .mf-media-viewer .-mfmv-prev {
    left: 1.6rem;
  }
  .mf-media-viewer .-mfmv-next {
    right: 1.6rem;
  }
  .mf-media-viewer.is-zoomed .mfmv--nav {
    display: none;
  }
  .mf-media-viewer .mfmv--counter {
    position: absolute;
    left: 50%;
    bottom: 1.6rem;
    z-index: 2;
    transform: translateX(-50%);
    padding: 0.4rem 1.2rem;
    border-radius: 2rem;
    background-color: rgba(0, 0, 0, 0.35);
    color: var(--mfmv-chrome);
    font-size: 1.4rem;
    line-height: 1.4;
  }
  @media (max-width: 768px) {
    .mf-media-viewer .mfmv--slide {
      padding: 1.6rem;
    }
    .mf-media-viewer .mfmv--close,
    .mf-media-viewer .mfmv--nav {
      width: 4rem;
      height: 4rem;
      font-size: 1.8rem;
    }
    .mf-media-viewer .mfmv--close {
      top: 1rem;
      right: 1rem;
    }
    .mf-media-viewer .-mfmv-prev {
      left: 0.8rem;
    }
    .mf-media-viewer .-mfmv-next {
      right: 0.8rem;
    }
  }
}
@layer mf-lib {
  .mf-button-with-input {
    position: relative;
    width: 100%;
  }
  .mf-button-with-input .mfbwi--button,
  .mf-button-with-input .mfbwi--input {
    display: none;
    width: 100%;
  }
  .mf-button-with-input .mfbwi--button.is-active {
    display: block;
  }
  .mf-button-with-input .mfbwi--input {
    height: 100%;
  }
  .mf-button-with-input .mfbwi--input.is-active {
    display: flex;
  }
  .mf-button-with-input .mfbwi--input .mfiq--control {
    width: clamp(2.4rem, 4rem, 25%);
  }
  .mf-button-with-input .mfbwi--input input {
    flex-grow: 1;
  }
}
@layer mf-lib {
  .mf-float-action {
    --mffa-size: 5.6rem;
    --mffa-item-size: 4.8rem;
    --gap: 1.2rem;
    --mffa-offset: 2.4rem;
    --br: 50%;
    --zi: 105;
    --mffa-bg: var(--color-base);
    --mffa-bg-open: var(--color-red);
    --mffa-color: #fff;
    --mffa-bsh: 0 .4rem 2rem rgba(0, 0, 0, .35);
    --mffa-item-bg: #fff;
    --mffa-item-color: var(--color-base);
    --mffa-item-bsh: 0 .2rem 1.2rem rgba(0, 0, 0, .18);
    --mffa-label-bg: rgba(20, 20, 40, .88);
    --mffa-label-color: #fff;
    --mffa-label-br: .8rem;
    --mffa-trs: .22s cubic-bezier(.34, 1.56, .64, 1);
    position: fixed;
    z-index: var(--zi);
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: var(--gap);
    pointer-events: none;
  }
  .mf-float-action .mffa--trigger {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: var(--mffa-size);
    height: var(--mffa-size);
    border-radius: var(--br);
    background: var(--mffa-bg);
    color: var(--mffa-color);
    box-shadow: var(--mffa-bsh);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.4rem;
    flex-shrink: 0;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition: transform var(--transition-ease), background var(--transition-ease);
  }
  .mf-float-action .mffa--trigger img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    pointer-events: none;
  }
  .mf-float-action .mffa--trigger:hover {
    transform: scale(1.08);
  }
  .mf-float-action .mffa--trigger [class*=ico-] {
    display: flex;
    transform: translate(-0.1rem, 0.1rem);
    font-size: 2.8rem;
  }
  .mf-float-action .mffa--items {
    display: flex;
    flex-direction: column-reverse;
    gap: var(--gap);
    pointer-events: none;
  }
  .mf-float-action .mffa--item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    text-decoration: none;
    cursor: pointer;
    opacity: 0;
    transform: translateY(1.6rem) scale(0.8);
    transition: opacity var(--mffa-trs), transform var(--mffa-trs);
  }
  .mf-float-action .mffa--item:nth-child(1) {
    transition-delay: 0s;
  }
  .mf-float-action .mffa--item:nth-child(2) {
    transition-delay: 0s;
  }
  .mf-float-action .mffa--item:nth-child(3) {
    transition-delay: 0s;
  }
  .mf-float-action .mffa--item:nth-child(4) {
    transition-delay: 0s;
  }
  .mf-float-action .mffa--item:nth-child(5) {
    transition-delay: 0s;
  }
  .mf-float-action .mffa--item:nth-child(6) {
    transition-delay: 0s;
  }
  .mf-float-action .mffa--item:nth-child(7) {
    transition-delay: 0s;
  }
  .mf-float-action .mffa--item:nth-child(8) {
    transition-delay: 0s;
  }
  .mf-float-action .mffa--item:hover .mffa--item-icon {
    transform: scale(1.12);
  }
  .mf-float-action .mffa--item-icon {
    width: var(--mffa-item-size);
    height: var(--mffa-item-size);
    border-radius: var(--br);
    background: var(--mffa-item-bg);
    color: var(--mffa-item-color);
    box-shadow: var(--mffa-item-bsh);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    flex-shrink: 0;
    transition: transform var(--transition-ease);
  }
  .mf-float-action .mffa--item-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    pointer-events: none;
  }
  .mf-float-action .mffa--item-label {
    background: var(--mffa-label-bg);
    color: var(--mffa-label-color);
    border-radius: var(--mffa-label-br);
    padding: 0.4rem 1.2rem;
    font-size: 1.3rem;
    font-weight: 500;
    white-space: nowrap;
    pointer-events: none;
    backdrop-filter: blur(0.6rem);
    -webkit-backdrop-filter: blur(0.6rem);
  }
  .mf-float-action.-mffa-bottom-right, .mf-float-action:not(.-mffa-bottom-left):not(.-mffa-top-right):not(.-mffa-top-left) {
    bottom: var(--mffa-offset);
    right: var(--mffa-offset);
    align-items: flex-end;
  }
  .mf-float-action.-mffa-bottom-right .mffa--item, .mf-float-action:not(.-mffa-bottom-left):not(.-mffa-top-right):not(.-mffa-top-left) .mffa--item {
    flex-direction: row-reverse;
  }
  .mf-float-action.-mffa-bottom-left {
    bottom: var(--mffa-offset);
    left: var(--mffa-offset);
    align-items: flex-start;
  }
  .mf-float-action.-mffa-top-right {
    top: var(--mffa-offset);
    right: var(--mffa-offset);
    flex-direction: column;
    align-items: flex-end;
  }
  .mf-float-action.-mffa-top-right .mffa--items {
    flex-direction: column;
  }
  .mf-float-action.-mffa-top-right .mffa--item {
    flex-direction: row-reverse;
    transform: translateY(-1.6rem) scale(0.8);
  }
  .mf-float-action.-mffa-top-left {
    top: var(--mffa-offset);
    left: var(--mffa-offset);
    flex-direction: column;
    align-items: flex-start;
  }
  .mf-float-action.-mffa-top-left .mffa--items {
    flex-direction: column;
  }
  .mf-float-action.-mffa-top-left .mffa--item {
    transform: translateY(-1.6rem) scale(0.8);
  }
  .mf-float-action.is-open .mffa--items {
    pointer-events: auto;
  }
  .mf-float-action.is-open .mffa--trigger {
    transform: rotate(45deg) scale(1.08);
    background: var(--mffa-bg-open);
  }
  .mf-float-action.is-open .mffa--item {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  .mf-float-action.is-open .mffa--item:nth-child(1) {
    transition-delay: 0s;
  }
  .mf-float-action.is-open .mffa--item:nth-child(2) {
    transition-delay: 0.05s;
  }
  .mf-float-action.is-open .mffa--item:nth-child(3) {
    transition-delay: 0.1s;
  }
  .mf-float-action.is-open .mffa--item:nth-child(4) {
    transition-delay: 0.15s;
  }
  .mf-float-action.is-open .mffa--item:nth-child(5) {
    transition-delay: 0.2s;
  }
  .mf-float-action.is-open .mffa--item:nth-child(6) {
    transition-delay: 0.25s;
  }
  .mf-float-action.is-open .mffa--item:nth-child(7) {
    transition-delay: 0.3s;
  }
  .mf-float-action.is-open .mffa--item:nth-child(8) {
    transition-delay: 0.35s;
  }
  .mf-float-action.-mffa-pulse .mffa--trigger::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    animation: mffa-pulse 3s ease-out infinite;
  }
  .mf-float-action.-mffa-pulse.is-open .mffa--trigger::after {
    animation-play-state: paused;
  }
  @keyframes mffa-pulse {
    0% {
      box-shadow: 0 0 0 0 var(--color-red-light-40);
    }
    40% {
      box-shadow: 0 0 0 1.2rem transparent;
    }
    100% {
      box-shadow: 0 0 0 1.2rem transparent;
    }
  }
}
@layer mf-lib {
  .mf-button {
    --bw: var(--bw-g, .1rem);
    --br: .8rem;
    vertical-align: top;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    padding: 0 2rem;
    transition: var(--transition-ease);
    height: var(--input-height);
    cursor: pointer;
    background-color: var(--color-base);
    color: #fff;
    border-radius: var(--br);
    border-width: var(--bw);
    border-style: solid;
    border-color: var(--color-base);
    font-family: var(--font-family-main);
    line-height: 1;
    letter-spacing: var(--font-letter-spacing-base);
    font-weight: 500;
    font-size: 1.6rem;
    overflow: hidden;
  }
  .mf-button:hover {
    background-color: var(--color-base-dark-20);
    border-color: var(--color-base-dark-20);
  }
  .mf-button[class*=-mfb-size-] {
    padding: 0 1.4em;
  }
  .mf-button.-mfb-size-s {
    height: 3.2rem;
  }
  .mf-button.-mfb-size-sm {
    height: 3.8rem;
  }
  .mf-button.-mfb-size-m {
    height: 4.4rem;
  }
  .mf-button.-mfb-size-l {
    height: 5rem;
  }
  .mf-button.-mfb-size-xl {
    height: 5.6rem;
  }
  .mf-button.-mfb-size-custom {
    height: var(--button-height, 4.4rem);
  }
  .mf-button.-mfb-bg-base {
    border-color: var(--color-base);
    background-color: var(--color-base);
  }
  .mf-button.-mfb-bg-base:hover {
    background-color: var(--color-base-dark-20);
    border-color: var(--color-base-dark-20);
  }
  .mf-button.-mfb-bg-second {
    border-color: var(--color-second);
    background-color: var(--color-second);
  }
  .mf-button.-mfb-bg-second:hover {
    background-color: var(--color-second-dark-20);
    border-color: var(--color-second-dark-20);
  }
  .mf-button.-mfb-bg-green {
    border-color: var(--color-green);
    background-color: var(--color-green);
  }
  .mf-button.-mfb-bg-green:hover {
    background-color: var(--color-green-dark-20);
    border-color: var(--color-green-dark-20);
  }
  .mf-button.-mfb-bg-red {
    border-color: var(--color-red);
    background-color: var(--color-red);
  }
  .mf-button.-mfb-bg-red:hover {
    background-color: var(--color-red-dark-20);
    border-color: var(--color-red-dark-20);
  }
  .mf-button.-mfb-bg-gray {
    border-color: var(--color-gray);
    background-color: var(--color-gray);
  }
  .mf-button.-mfb-bg-gray:hover {
    background-color: var(--color-gray-dark-20);
    border-color: var(--color-gray-dark-20);
  }
  .mf-button.-mfb-bg-text-color {
    border-color: var(--color-text);
    background-color: var(--color-text);
  }
  .mf-button.-mfb-bg-text-color:hover {
    background-color: var(--color-gray-dark-70);
    border-color: var(--color-gray-dark-70);
  }
  .mf-button.-mfb-bg-white {
    border-color: #fff;
    background-color: #fff;
    color: var(--color-text);
  }
  .mf-button.-mfb-bg-white:hover {
    background-color: var(--color-gray);
    border-color: var(--color-gray);
    color: var(--color-text);
  }
  .mf-button.-mfb-color-base {
    color: var(--color-base);
  }
  .mf-button.-mfb-color-base:hover {
    color: var(--color-base-dark-40);
  }
  .mf-button.-mfb-color-second {
    color: var(--color-second);
  }
  .mf-button.-mfb-color-second:hover {
    color: var(--color-second-dark-40);
  }
  .mf-button.-mfb-color-green {
    color: var(--color-green);
  }
  .mf-button.-mfb-color-green:hover {
    color: var(--color-green-dark-40);
  }
  .mf-button.-mfb-color-red {
    color: var(--color-red);
  }
  .mf-button.-mfb-color-red:hover {
    color: var(--color-red-dark-40);
  }
  .mf-button.-mfb-color-gray {
    color: var(--color-gray);
  }
  .mf-button.-mfb-color-gray:hover {
    color: var(--color-gray-dark-40);
  }
  .mf-button.-mfb-color-text {
    color: var(--color-text);
  }
  .mf-button.-mfb-color-text:hover {
    color: var(--color-text-dark-40);
  }
  .mf-button.-mfb-simple, .mf-button.-mfb-outline, .mf-button.-mfb-underline {
    background-color: transparent;
  }
  .mf-button.-mfb-simple:not([class*=-mfb-color-]), .mf-button.-mfb-outline:not([class*=-mfb-color-]), .mf-button.-mfb-underline:not([class*=-mfb-color-]) {
    color: var(--color-base);
  }
  .mf-button.-mfb-simple, .mf-button.-mfb-underline {
    border-color: transparent;
  }
  .mf-button.-mfb-simple:hover, .mf-button.-mfb-underline:hover {
    background-color: transparent;
  }
  .mf-button.-mfb-outline {
    border-style: solid;
  }
  .mf-button.-mfb-outline.-mfb-thin {
    --bw: .1rem;
  }
  .mf-button.-mfb-outline.-mfb-color-base {
    border-color: var(--color-base);
    background-color: transparent;
    color: var(--color-base);
  }
  .mf-button.-mfb-outline.-mfb-color-base:hover {
    border-color: var(--color-base-dark-40);
    background-color: var(--color-base-dark-40);
    color: #fff;
  }
  .mf-button.-mfb-outline.-mfb-color-second {
    border-color: var(--color-second);
    background-color: transparent;
    color: var(--color-second);
  }
  .mf-button.-mfb-outline.-mfb-color-second:hover {
    border-color: var(--color-second-dark-40);
    background-color: var(--color-second-dark-40);
    color: #fff;
  }
  .mf-button.-mfb-outline.-mfb-color-green {
    border-color: var(--color-green-dark-30);
    background-color: transparent;
    color: var(--color-green-dark-30);
  }
  .mf-button.-mfb-outline.-mfb-color-green:hover {
    border-color: var(--color-green-dark-50);
    background-color: var(--color-green-dark-50);
    color: #fff;
  }
  .mf-button.-mfb-outline.-mfb-color-red {
    border-color: var(--color-red);
    background-color: transparent;
    color: var(--color-red);
  }
  .mf-button.-mfb-outline.-mfb-color-red:hover {
    border-color: var(--color-red-dark-40);
    background-color: var(--color-red-dark-40);
    color: #fff;
  }
  .mf-button.-mfb-outline.-mfb-color-gray {
    border-color: var(--color-gray-dark-50);
    background-color: transparent;
    color: var(--color-gray-dark-60);
  }
  .mf-button.-mfb-outline.-mfb-color-gray:hover {
    border-color: var(--color-gray-dark-80);
    background-color: var(--color-gray-dark-80);
    color: #fff;
  }
  .mf-button.-mfb-outline.-mfb-color-text {
    border-color: var(--color-text);
    background-color: transparent;
    color: var(--color-text);
  }
  .mf-button.-mfb-outline.-mfb-color-text:hover {
    border-color: var(--color-text);
    background-color: var(--color-text);
    color: #fff;
  }
  .mf-button.-mfb-outline.-mfb-on-hover-shadow:hover {
    border-color: var(--color-gray);
    background-color: transparent;
  }
  .mf-button.-mfb-outline:not([class*=-mfb-color-]):hover {
    border-color: var(--color-base);
    background-color: var(--color-base);
    color: #fff;
  }
  .mf-button.-mfb-underline {
    position: relative;
  }
  .mf-button.-mfb-underline::after {
    content: "";
    position: absolute;
    top: 96%;
    left: 0;
    right: 0;
    margin: auto;
    width: 50%;
    height: var(--bw);
    display: block;
    border-top: solid var(--bw);
    transition: var(--transition-ease);
  }
  .mf-button.-mfb-underline:hover {
    border-color: transparent;
  }
  .mf-button.-mfb-underline:hover::after {
    border-color: var(--color-base-light-40);
    width: 70%;
  }
  .mf-button.-mfb-with-margin {
    margin-bottom: 1.6rem;
    margin-right: 1.6rem;
  }
  .mf-button.-mfb-with-icon {
    gap: 0.4em;
  }
  .mf-button.-mfb-with-icon [class*=ico-]::before {
    font-size: 1.25em;
    line-height: 2px;
    display: inline-flex;
    transform: translateY(0.125em);
  }
  .mf-button.-mfb-with-icon.-mfb-icon-right [class*=ico-]::before {
    margin-left: 0.125em;
    margin-right: -0.125em;
  }
  .mf-button.-mfb-with-icon.-mfb-icon-on-hover [class*=ico-]::before {
    transition: var(--transition-ease);
    opacity: 0;
  }
  .mf-button.-mfb-with-icon.-mfb-icon-on-hover span:not([class*=ico-]) {
    transition: var(--transition-ease);
    transform: translateX(-1rem);
  }
  .mf-button.-mfb-with-icon.-mfb-icon-on-hover.-mfb-icon-right span:not([class*=ico-]) {
    transform: translateX(1rem);
  }
  .mf-button.-mfb-with-icon.-mfb-icon-on-hover:hover [class*=ico-]::before {
    opacity: 1;
  }
  .mf-button.-mfb-with-icon.-mfb-icon-on-hover:hover span:not([class*=ico-]) {
    transform: translateX(0);
  }
  .mf-button.-mfb-icon {
    aspect-ratio: 1/1;
    flex-shrink: 0;
    padding: 0;
  }
  .mf-button.-mfb-icon [class*=ico-]::before {
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mf-button.-mfb-icon.-mfb-size-s {
    height: 3.2rem;
    width: 3.2rem;
  }
  .mf-button.-mfb-icon.-mfb-size-sm {
    height: 3.8rem;
    width: 3.8rem;
  }
  .mf-button.-mfb-icon.-mfb-size-m {
    height: 4.4rem;
    width: 4.4rem;
  }
  .mf-button.-mfb-icon.-mfb-size-l {
    height: 5rem;
    width: 5rem;
  }
  .mf-button.-mfb-icon.-mfb-size-xl {
    height: 5.6rem;
    width: 5.6rem;
  }
  .mf-button.-mfb-icon.-mfb-size-custom {
    height: var(--button-height, 4.4rem);
    width: var(--button-height, 4.4rem);
  }
  .mf-button.-mfb-with-image {
    position: relative;
    padding: 0;
    background-color: transparent;
  }
  .mf-button.-mfb-with-image > span:not([class*=ico-]) {
    position: relative;
    z-index: 2;
    padding: 0 1.4em;
    color: #fff;
    text-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.35);
  }
  .mf-button.-mfb-with-image:hover {
    background-color: transparent;
  }
  .mf-button.-mfb-with-image:hover .mfb--image {
    filter: brightness(1.1) saturate(1.3);
  }
  .mf-button .mfb--image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 1;
    transition: var(--transition-ease);
  }
  .mf-button.-mfb-nowrap {
    white-space: nowrap;
  }
  .mf-button.is-disabled, .mf-button[disabled] {
    cursor: not-allowed;
    opacity: 0.5;
    pointer-events: none;
  }
  .mf-button.is-active {
    background-color: var(--color-base-dark-20);
    border-color: var(--color-base-dark-20);
  }
  a.mf-button:not([class*=-mfb-color-]),
  [data-href].mf-button:not([class*=-mfb-color-]) {
    color: #fff;
  }
}
@layer mf-lib {
  /* ============================================================
   * Базовые стили полей формы
   * Модификаторы валидации: .-val-wrong / .-val-right
   * (применяются непосредственно к полю)
   * ============================================================ */
  input,
  select,
  textarea,
  optgroup {
    display: block;
    width: 100%;
    padding: 1.2rem 1.6rem 0.6rem;
    line-height: 1;
    background: var(--color-gray-light-50);
    border: 1px solid transparent;
    border-radius: var(--input-border-radius);
    letter-spacing: 0.05em;
    font-feature-settings: "pnum" on, "lnum" on, "salt" on, "liga" off;
    color: var(--color-text);
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
    transition: var(--transition-ease);
  }
  input.-val-wrong,
  select.-val-wrong,
  textarea.-val-wrong,
  optgroup.-val-wrong {
    border-color: var(--color-red);
  }
  input.-val-right,
  select.-val-right,
  textarea.-val-right,
  optgroup.-val-right {
    border-color: var(--color-green);
  }
  input:hover,
  select:hover,
  textarea:hover {
    background-color: var(--color-gray);
  }
  input,
  select,
  optgroup {
    height: var(--input-height);
  }
  input[type=radio],
  input[type=checkbox] {
    height: auto;
    width: auto;
    margin: 0;
  }
  input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-results-button, input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none;
  }
  /* ============================================================
   * mf-input-wrap => mfiw
   * Обёртка поля с плавающим лейблом
   * ============================================================ */
  .mf-input-wrap {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 1.6rem;
    color: var(--color-text);
  }
  .mf-input-wrap > *,
  .mf-input-wrap input {
    width: 100%;
    margin-bottom: 0;
  }
  .mf-input-wrap label {
    position: absolute;
    top: 0;
    left: 0;
    line-height: 1;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    width: auto;
    height: 100%;
    display: flex;
    align-items: center;
    margin-left: 1.6rem;
    pointer-events: none;
    transition: var(--transition-ease);
  }
  .mf-input-wrap.is-focus label,
  .mf-input-wrap input:placeholder-shown + label {
    font-size: 1rem;
    top: 0.6rem;
    height: 1rem;
    opacity: 0.7;
  }
  .mf-input-wrap textarea {
    height: auto;
    line-height: 1.4;
    padding-top: 1.8rem;
    transition: none;
    resize: vertical;
  }
  .mf-input-wrap textarea + label {
    height: var(--input-height);
  }
  /* ============================================================
   * mf-checkbox => mfc
   * ============================================================ */
  .mf-checkbox {
    --sz: 2.2rem;
    position: relative;
    display: inline-flex;
    padding-right: 1.6rem;
    margin-bottom: 1rem;
    cursor: pointer;
  }
  .mf-checkbox [type=checkbox] {
    opacity: 0;
    position: absolute;
    pointer-events: none;
  }
  .mf-checkbox [type=checkbox] + * {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    height: 100%;
    padding-left: calc(var(--sz) + 1rem);
    font-size: 1.5rem;
    color: var(--color-text);
    user-select: none;
  }
  .mf-checkbox [type=checkbox] + *:before, .mf-checkbox [type=checkbox] + *:after {
    align-self: flex-start;
    content: "";
    position: absolute;
    display: inline-block;
    transition: var(--transition-ease);
  }
  .mf-checkbox [type=checkbox] + *:before {
    width: var(--sz);
    height: var(--sz);
    border-radius: 0.4rem;
    border: 0.1rem solid var(--color-border);
    left: 0;
    background-color: var(--color-gray-light-50);
  }
  .mf-checkbox [type=checkbox] + *:after {
    top: 0.7rem;
    right: auto;
    left: 0.6rem;
    width: 1rem;
    height: 0.6rem;
    line-height: 1;
    border-bottom: solid 0.2rem #fff;
    border-left: solid 0.2rem #fff;
    transform: scale(0.5) rotate(-45deg);
    transition-delay: 0.1s;
    transition-duration: 0.125s;
    opacity: 0;
  }
  .mf-checkbox [type=checkbox]:checked + *:after {
    transform: scale(1) rotate(-45deg);
    opacity: 1;
  }
  .mf-checkbox [type=checkbox]:checked + *:before {
    border-color: var(--color-base);
    background-color: var(--color-base);
    border-width: 0.9rem;
  }
  .mf-checkbox [type=checkbox]:hover + *:before {
    border-color: var(--color-base);
  }
  .mf-checkbox [type=checkbox]:hover:checked + *:before {
    border-color: var(--color-base-light-20);
    background-color: var(--color-base-light-20);
  }
  .mf-checkbox.-val-wrong [type=checkbox] + *:before {
    border-color: var(--color-red);
  }
  .mf-checkbox.-val-right [type=checkbox] + *:before {
    border-color: var(--color-green);
  }
  .mf-checkbox [type=checkbox].-val-wrong + *:before {
    border-color: var(--color-red);
  }
  .mf-checkbox [type=checkbox].-val-right + *:before {
    border-color: var(--color-green);
  }
  /* ============================================================
   * mf-checkbox-cloud => mfcc
   * Тег-чекбокс (плашка)
   * ============================================================ */
  .mf-checkbox-cloud {
    position: relative;
    display: inline-flex;
    cursor: pointer;
  }
  .mf-checkbox-cloud [type=checkbox] {
    opacity: 0;
    position: absolute;
    pointer-events: none;
  }
  .mf-checkbox-cloud [type=checkbox] + * {
    display: inline-flex;
    align-items: center;
    height: 100%;
    user-select: none;
    background-color: var(--color-border);
    border-radius: 0.6rem;
    padding: 0.4rem 1rem;
    transition: var(--transition-ease);
  }
  .mf-checkbox-cloud [type=checkbox]:checked + * {
    background-color: var(--color-base);
    color: #fff;
  }
  .mf-checkbox-cloud [type=checkbox]:hover:not(:checked) + * {
    background-color: var(--color-base-light-80);
  }
  .mf-checkbox-cloud .mfcc--count {
    line-height: 1;
    border-radius: 0.4rem;
    transform: translate(40%, -50%);
    font-size: 0.7em;
    text-align: center;
    display: inline-flex;
    align-items: center;
    opacity: 0.5;
    font-weight: 500;
  }
  /* ============================================================
   * mf-checkbox-minimal => mfcm
   * Минималистичный чекбокс — только галочка, без бокса
   * ============================================================ */
  .mf-checkbox-minimal {
    position: relative;
    display: inline-flex;
    padding-right: 1.6rem;
    margin-bottom: 1rem;
    cursor: pointer;
  }
  .mf-checkbox-minimal [type=checkbox] {
    opacity: 0;
    position: absolute;
    pointer-events: none;
  }
  .mf-checkbox-minimal [type=checkbox] + * {
    display: inline-flex;
    align-items: center;
    height: 100%;
    padding-left: 2.6rem;
    font-size: 1.5rem;
    color: var(--color-text);
    user-select: none;
  }
  .mf-checkbox-minimal [type=checkbox] + *:after {
    content: "";
    position: absolute;
    display: inline-block;
    top: 0.5rem;
    right: auto;
    left: 0.6rem;
    width: 1rem;
    height: 0.6rem;
    line-height: 1;
    border-bottom: solid 0.2rem var(--color-base);
    border-left: solid 0.2rem var(--color-base);
    transform: scale(0.5) rotate(-45deg);
    transition: var(--transition-ease);
    transition-delay: 0.1s;
    transition-duration: 0.125s;
    opacity: 0;
  }
  .mf-checkbox-minimal [type=checkbox]:checked + *:after {
    transform: scale(1) rotate(-45deg);
    opacity: 1;
  }
  .mf-checkbox-minimal [type=checkbox]:checked + * {
    color: var(--color-base);
  }
  .mf-checkbox-minimal [type=checkbox]:hover:not(:checked) + * {
    color: var(--color-base-light-40);
  }
  .mf-checkbox-minimal [type=checkbox]:hover:not(:checked) + *::after {
    border-color: var(--color-base-light-40);
  }
  /* ============================================================
   * mf-checkbox-group => mfcg
   * ============================================================ */
  .mf-checkbox-group {
    margin-bottom: 0.4rem;
  }
  .mf-checkbox-group.-mfcg-full-width .mf-checkbox {
    width: 100%;
    margin-bottom: 0;
    padding-right: 0;
  }
  .mf-checkbox-group.-mfcg-full-width .mf-checkbox [type=checkbox] + * {
    width: 100%;
  }
  .mf-checkbox-group.-mfcg-full-width .mf-checkbox .mfcc--count {
    font-size: 1.4rem;
    opacity: 0.4;
    margin-left: auto;
  }
  .mf-checkbox-group.-mfcg-cloud {
    gap: 0.6rem;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.4rem;
  }
  /* ============================================================
   * mf-radio => mfr
   * ============================================================ */
  .mf-radio {
    position: relative;
    display: inline-flex;
    padding-right: 0.8rem;
    margin-bottom: 1rem;
    cursor: pointer;
  }
  .mf-radio [type=radio] {
    opacity: 0;
    position: absolute;
    pointer-events: none;
  }
  .mf-radio [type=radio] + * {
    display: inline-flex;
    align-items: center;
    padding-left: 2.6rem;
    height: 100%;
    font-size: 1.4rem;
    color: inherit;
    user-select: none;
  }
  .mf-radio [type=radio] + *:before, .mf-radio [type=radio] + *:after {
    content: "";
    display: inline-block;
    position: absolute;
    transition: var(--transition-ease);
    width: 1.8rem;
    height: 1.8rem;
    top: 0.1rem;
    left: 0;
    border-radius: 99px;
  }
  .mf-radio [type=radio] + *:before {
    border: 0.1rem solid var(--color-border);
  }
  .mf-radio [type=radio] + *:after {
    border: 0.3rem solid #fff;
    transform: scale(0);
    opacity: 0;
    transition-delay: 0.1s;
  }
  .mf-radio [type=radio]:checked + *:before {
    border-color: var(--color-base);
    background-color: var(--color-base);
    border-width: 0.9rem;
  }
  .mf-radio [type=radio]:checked + *:after {
    transform: scale(0.7);
    opacity: 1;
  }
  .mf-radio [type=radio]:hover:not(:checked) + *:before {
    border-color: var(--color-base);
    transition-duration: 0.125s;
  }
  .mf-radio.-val-wrong [type=radio] + *:before {
    border-color: var(--color-red);
  }
  .mf-radio.-val-right [type=radio] + *:before {
    border-color: var(--color-green);
  }
  /* ============================================================
   * mf-radio-group => mfrg
   * ============================================================ */
  .mf-radio-group {
    margin-bottom: 0.4rem;
  }
  .mf-radio-group.-mfrg-full-width .mf-radio {
    width: 100%;
  }
  /* ============================================================
   * mf-input-file => mfif
   * ============================================================ */
  .mf-input-file {
    position: relative;
    color: var(--color-text);
    margin-bottom: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .mf-input-file > * {
    width: 100%;
    margin-bottom: 0;
    display: block;
  }
  .mf-input-file input[type=file] {
    display: none;
  }
  .mf-input-file .mfif--label {
    display: block;
    width: 100%;
  }
  .mf-input-file .mfif--label [class*=ico-] {
    display: none;
  }
  .mf-input-file .mfif--button {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    border: solid 1px var(--color-border);
    transition: var(--transition-ease);
    border-radius: var(--input-border-radius);
    padding: 0.5rem 1rem;
    height: 4rem;
  }
  .mf-input-file .mfif--button:hover {
    color: var(--color-base);
    border-color: var(--color-base);
  }
  .mf-input-file .mfif--button [class*=ico-] {
    margin-right: 0.8rem;
    font-size: 2rem;
    display: flex;
  }
  .mf-input-file .mfif--result {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 0.5rem;
    cursor: pointer;
  }
  .mf-input-file .mfif--result span {
    display: inline-flex;
    flex-direction: column;
    height: auto;
    align-items: flex-start;
    border: solid 1px var(--color-border);
    transition: var(--transition-ease);
    border-radius: var(--input-border-radius);
    padding: 1rem;
  }
  .mf-input-file .mfif--result:hover {
    color: var(--color-base);
  }
  .mf-input-file .mfif--result:empty {
    display: none;
  }
  .mf-input-file .mfif--size-limit-alert {
    color: var(--color-red);
  }
  .mf-input-file.active_mf_input_file .mfif--button {
    display: none;
  }
  .mf-input-file.active_mf_input_file .mfif--label {
    display: flex;
    align-items: center;
    gap: 0.8rem;
  }
  .mf-input-file.active_mf_input_file .mfif--label [class*=ico-] {
    display: flex;
    font-size: 2rem;
    color: var(--color-base);
    margin-left: -2px;
  }
  /* ============================================================
   * mf-interactive-tag => mfit
   * Радио/чекбокс, оформленный как тег
   * ============================================================ */
  .mf-interactive-tag {
    padding-right: 0.4rem;
    display: inline-flex;
    position: relative;
    margin-bottom: 1.2rem;
    cursor: pointer;
  }
  .mf-interactive-tag > [type=radio],
  .mf-interactive-tag > [type=checkbox] {
    display: none;
  }
  .mf-interactive-tag > * {
    background-color: #fff;
    border: solid 0.1rem var(--color-border);
    padding: 0.6rem 1.2rem;
    line-height: 1;
    display: inline-block;
    border-radius: 0.2rem;
  }
  .mf-interactive-tag > *:hover {
    border-color: var(--color-border);
  }
  .mf-interactive-tag [type=radio]:checked + *,
  .mf-interactive-tag [type=checkbox]:checked + * {
    background-color: var(--color-border);
    border-color: var(--color-border);
    color: #fff;
  }
  .mf-consent .mf-checkbox [type=checkbox] + * * {
    display: contents;
  }
}
@layer mf-lib {
  .mf-modal-window {
    --br: 2rem;
    --mw: 60rem;
    --mh: calc(100vh - (9.6rem * 2));
    --mih: 24rem;
    --w: 90%;
    --mt: 7.6rem;
    --cs: 4rem;
    --basep: 2rem;
    --tp: 2.4rem 6rem 2.4rem var(--basep);
    --cp: 2.4rem var(--basep);
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 110;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
    box-sizing: border-box;
  }
  @media (min-width: 1024px) {
    .mf-modal-window {
      --basep: 2.4rem;
    }
  }
  .mf-modal-window .mfmw--wrapper {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    padding-left: var(--padding-container);
    padding-right: var(--padding-container);
    transform: translate(var(--left, 50%), var(--top, 50%)) scale(var(--scale, 0.05));
    transform-origin: top left;
    transition: all 0.3s ease-in-out;
  }
  .mf-modal-window .mfmw--box {
    position: relative;
    display: flex;
    flex-direction: column;
    width: var(--w);
    max-width: var(--mw);
    max-height: var(--mh);
    min-height: var(--mih);
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
    border-radius: var(--br);
  }
  .mf-modal-window .mfmw--box > * {
    overflow: auto;
  }
  .mf-modal-window .mfmw--title {
    position: relative;
    flex-shrink: 0;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: var(--tp);
    margin-bottom: 0;
    overflow: hidden;
    border-bottom: solid 1px var(--color-border);
  }
  .mf-modal-window .mfmw--title > * {
    margin: 0;
  }
  .mf-modal-window .mfmw--title + .mfmw--content {
    padding: var(--cp);
  }
  .mf-modal-window .mfmw--content-wrapper {
    height: 100%;
    margin-top: var(--mt);
    padding: 0 0 3.2rem;
    font-size: 1.4rem;
  }
  .mf-modal-window .mfmw--close {
    position: absolute;
    top: 0;
    bottom: 0;
    right: var(--basep);
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--cs);
    width: var(--cs);
    max-width: var(--cs);
    font-size: 3.6rem;
    color: var(--color-text);
    background-color: var(--color-gray-light-50);
    border-radius: 0.8rem;
    cursor: pointer;
    transition: var(--transition-ease);
  }
  .mf-modal-window .mfmw--close::before {
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--cs);
    width: var(--cs);
    max-width: var(--cs);
  }
  .mf-modal-window .mfmw--close:hover {
    background-color: var(--color-gray-light-20);
  }
  @media (min-width: 1024px) {
    .mf-modal-window .mfmw--close {
      font-size: 4.6rem;
    }
  }
  .mf-modal-window .mfmw--close-outside {
    position: absolute;
    top: 0;
    right: 0;
    bottom: auto;
    transform: translate(0, calc(-100% - 1rem));
    background-color: transparent;
    color: #fff;
  }
  .mf-modal-window .mfmw--close-outside:hover {
    background-color: transparent;
    color: var(--color-gray-light-50);
  }
  @media (min-width: 1024px) {
    .mf-modal-window .mfmw--close-outside {
      right: 0;
      transform: translate(calc(100% + 1rem), 0);
    }
  }
  .mf-modal-window .mfmw--indicator {
    display: none;
    position: absolute;
    top: -2rem;
    left: 0;
    width: 100%;
    height: 2rem;
  }
  .mf-modal-window .mfmw--indicator::after {
    content: "";
    position: absolute;
    top: 0.8rem;
    left: 0;
    right: 0;
    margin: auto;
    width: 6.4rem;
    height: 0.5rem;
    background-color: var(--color-gray-dark-20);
    border-radius: 16rem;
  }
  .mf-modal-window.-mfmw-fullscreen .mfmw--box {
    --mw: var(--container-width);
    --w: 100%;
    --mh: calc(100dvh - 3.2rem);
    height: 100%;
    padding: 0;
  }
  .mf-modal-window.-mfmw-fullscreen .mfmw--close {
    top: 1.6rem;
    right: 1.6rem;
    overflow: hidden;
    color: var(--color-text);
  }
  .mf-modal-window.-mfmw-fullscreen .mfmw--close:hover {
    background: transparent;
    border-radius: 0;
  }
  @media (min-width: 1024px) {
    .mf-modal-window.-mfmw-fullscreen {
      display: flex;
    }
    .mf-modal-window.-mfmw-fullscreen .mfmw--wrapper {
      height: auto;
      align-self: center;
    }
  }
  .mf-modal-window.-mfmw-wide .mfmw--box {
    --mw: 100%;
    --w: 100%;
    --mh: calc(100% - 3.2rem);
    height: 100%;
    padding: 0;
  }
  @media (min-width: 768px) {
    .mf-modal-window.-mfmw-wide .mfmw--box {
      --mw: 80rem;
      --mh: 64rem;
      width: 80rem;
      height: 60dvh;
      overflow: hidden;
    }
  }
  @media (max-width: 767px) {
    .mf-modal-window.-mfmw-bottom-sheet .mfmw--wrapper {
      padding-left: 0;
      padding-right: 0;
      transform: translate(0, 120%);
    }
    .mf-modal-window.-mfmw-bottom-sheet .mfmw--box {
      width: 100%;
      max-width: 100%;
      max-height: 80dvh;
      margin-top: auto;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      transition: var(--transition-ease);
    }
    .mf-modal-window.-mfmw-bottom-sheet .mfmw--box .mfmw--content-wrapper {
      touch-action: none;
    }
    .mf-modal-window.-mfmw-bottom-sheet .mfmw--box .mfmw--title + .mfmw--content {
      overflow: auto;
      padding-bottom: 6rem;
    }
    .mf-modal-window.-mfmw-bottom-sheet .mfmw--box,
    .mf-modal-window.-mfmw-bottom-sheet .mfmw--title {
      overflow: visible;
      border-top-left-radius: 1.8rem;
      border-top-right-radius: 1.8rem;
    }
    .mf-modal-window.-mfmw-bottom-sheet .mfmw--indicator {
      display: block;
    }
  }
  .mf-modal-window.is-active {
    pointer-events: all;
    opacity: 1;
    background-color: rgba(6, 10, 20, 0.5);
    backdrop-filter: saturate(0.5) blur(4px);
  }
  .mf-modal-window.is-active .mfmw--wrapper {
    transform: scale(1);
  }
  .mf_modal_active .mf-overlay.is-active {
    opacity: 0;
  }
}
@layer store {
  .product-small-card {
    --br: 1.3rem;
    --mb: 0;
    position: relative;
    margin-bottom: var(--mb);
    border-radius: var(--br);
    overflow: hidden;
    box-shadow: var(--box-shadow);
  }
  .product-small-card .psc--message {
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: 2;
    color: var(--color-red-dark-50);
    font-weight: 700;
    letter-spacing: 0.05em;
    display: inline-flex;
    align-items: center;
    justify-content: space-around;
    height: clamp(4rem, 8rem, 30%);
    width: 96%;
    background-color: rgba(255, 255, 255, 0.87);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(4px) saturate(0.4);
    pointer-events: all;
    font-size: 1.8rem;
    transform: rotate(-24deg);
    border-radius: 3rem 2rem 3rem 2rem;
    padding: 0 1rem;
    text-align: center;
    line-height: 1;
  }
  .product-small-card .psc--image {
    display: block;
    position: relative;
    aspect-ratio: 5/7;
  }
  .product-small-card .psc--image .mfhs--dots {
    bottom: 0.4rem;
    width: calc(100% - 2.4rem);
    left: 1.2rem;
    z-index: 2;
  }
  .product-small-card .psc--image .mfhs--dots .mfhs--dot:not(.is-active) {
    opacity: 0.4;
  }
  @media (min-width: 768px) {
    .product-small-card .psc--image .mfhs--dots {
      width: calc(100% - 3.2rem);
      left: 1.6rem;
      bottom: 0.8rem;
    }
  }
  @media (min-width: 1024px) {
    .product-small-card .psc--image:not(:hover) .mfhs--hover:first-child {
      opacity: 1;
    }
    .product-small-card .psc--image .mfhs--hover {
      z-index: 2;
    }
    .product-small-card .psc--image .mfhs--hover:not(:hover) {
      opacity: 0.4;
    }
    .product-small-card .psc--image .mfhs--hover::after {
      bottom: 0.8rem;
      background-color: var(--color-border);
      border-radius: 1rem;
    }
    .product-small-card .psc--image .mfhs--hover:first-child {
      padding-left: 1rem;
    }
    .product-small-card .psc--image .mfhs--hover:first-child::after {
      left: auto;
      right: 0.2rem;
      width: calc(100% - 1.8rem);
    }
    .product-small-card .psc--image .mfhs--hover:nth-last-child(2) {
      padding-right: 1rem;
    }
    .product-small-card .psc--image .mfhs--hover:nth-last-child(2)::after {
      left: 0.2rem;
      right: auto;
      width: calc(100% - 1.8rem);
    }
    .product-small-card .psc--image .mfhs--hover:nth-last-child(2):nth-child(3) {
      width: 33.33%;
    }
  }
  .product-small-card .psc--info-slide {
    padding: 5rem 1rem 6rem;
    height: 100%;
    overflow-y: auto;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: 400;
    color: var(--color-text);
    background-color: #fff;
  }
  @media (min-width: 1024px) {
    .product-small-card .psc--info-slide {
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
  }
  .product-small-card .psc--sku {
    margin-bottom: 1rem;
    font-size: 1.6rem;
    font-weight: 700;
  }
  .product-small-card .psc--title {
    color: var(--color-text);
  }
  .product-small-card .psc--title::after {
    content: "";
    position: absolute;
    display: block;
    inset: 0;
    width: calc(100% * var(--hslide-count, 10));
    max-width: calc(100% * var(--hslide-count, 10));
    height: 100%;
    pointer-events: none;
  }
  @media (min-width: 1024px) {
    .product-small-card .psc--title {
      margin-bottom: 1rem;
    }
  }
  .product-small-card .psc--menu {
    --gap: 1rem;
    position: absolute;
    top: 0.8rem;
    right: 0.8rem;
    z-index: 3;
    color: var(--color-text);
    display: flex;
    flex-direction: column;
    width: calc(100% - 2rem);
    gap: var(--gap);
    align-items: flex-end;
    pointer-events: none;
  }
  .product-small-card .psc--menu.is-active .psc--menu-elements {
    opacity: 0.96;
    pointer-events: all;
  }
  .product-small-card .psc--menu.is-active .icon-second {
    transform: rotate(180deg);
  }
  @media (hover: hover) {
    .product-small-card .psc--menu:hover .psc--menu-elements {
      opacity: 0.96;
      pointer-events: all;
    }
    .product-small-card .psc--menu:hover .icon-second {
      transform: rotate(180deg);
    }
  }
  .product-small-card .psc--menu-open {
    height: 2.4rem;
    min-width: 3.6rem;
    padding: 0 0.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.8rem;
    gap: 0.3rem;
    transition: var(--transition-ease);
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(4px) saturate(0.4);
    pointer-events: all;
  }
  .product-small-card .psc--menu-open .icon-second {
    font-size: 0.6em;
    -webkit-text-stroke-width: 0.4px;
    transition: var(--transition-ease);
  }
  .product-small-card .psc--menu-elements {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border-radius: 1rem;
    padding: 1rem 1.4rem;
    font-size: 1.3rem;
    line-height: 1.1;
    gap: 1.2rem;
    position: relative;
    box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.09);
    opacity: 0;
    transition: var(--transition-ease);
  }
  .product-small-card .psc--menu-elements::before {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    border-radius: 0.2rem;
    transform: rotate(45deg);
    position: absolute;
    top: -0.4rem;
    right: 1.3rem;
    background-color: #fff;
  }
  @media (hover: hover) {
    .product-small-card .psc--menu-elements::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 100%;
      height: var(--gap);
    }
  }
  .product-small-card .psc--menu-item:not(:last-child) {
    position: relative;
  }
  .product-small-card .psc--menu-item:not(:last-child)::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 0.1rem;
    background-color: var(--color-border);
    left: 0;
    top: calc(100% + 0.6rem);
  }
  .product-small-card .psc--menu-item [class*=ico-]::before {
    margin-right: 0.4rem;
  }
  .product-small-card .psc--menu-item:not(.-psc-favorite) {
    opacity: 0.7;
  }
  .product-small-card .psc--info {
    display: flex;
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 1.2rem 0.8rem;
    z-index: 2;
    align-items: center;
    justify-content: flex-end;
  }
  @media (min-width: 768px) {
    .product-small-card .psc--info {
      padding: 1.2rem 1.6rem 2rem;
    }
  }
  .product-small-card .psc--add-to-card {
    color: #222;
    border-radius: 0.9rem;
    padding: 0 1.2rem 0 5rem;
    position: relative;
    text-align: center;
    opacity: 1;
    height: 4rem;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.09);
    backdrop-filter: blur(2px) saturate(0.4);
    transition: var(--transition-ease);
  }
  .product-small-card .psc--add-to-card.is-in-cart {
    background-color: var(--color-base);
    color: #fff;
  }
  .product-small-card .psc--add-to-card.is-in-cart .psc--add-to-card-icon {
    color: inherit;
    border-right-color: rgba(255, 255, 255, 0.35);
  }
  .product-small-card .psc--add-to-card:not(.is-in-cart):hover {
    background-color: var(--color-base-light-80);
  }
  .product-small-card .psc--add-to-card-icon {
    position: absolute;
    inset: 0;
    margin: auto;
    right: auto;
    left: 0.3rem;
    height: 2rem;
    width: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    border-right: 1px solid #8b8b8b;
  }
  .product-small-card .psc--price {
    gap: 0.2rem;
  }
  .product-small-card .psc--price .psc--price-old {
    margin: auto;
  }
  .product-small-card .psc--add-to-cart {
    border-radius: 0.8rem;
    font-size: 2rem;
  }
  .product-small-card .psc--add-to-cart .psc--add-to-cart-hover-text {
    display: none;
  }
  .product-small-card.-psc-image-accent::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.03);
    z-index: 1;
    pointer-events: none;
    box-shadow: inset 0 -140px 70px -70px rgba(0, 0, 0, 0.31);
    opacity: 0.5;
  }
  .product-small-card-wrapper.-outofstock .psc--add-to-card {
    opacity: 0.5;
  }
}
@layer theme {
  .mf-manager-product {
    margin-top: 1.6rem;
    padding: 1.2rem 1.6rem 1.4rem;
    border-radius: 1rem;
    border-left: 0.4rem solid var(--color-red);
    background-color: var(--color-base-light-90);
    font-size: 1.3rem;
    line-height: 1.35;
  }
  .mf-manager-product .mpr--head {
    display: flex;
    align-items: baseline;
    gap: 0.8rem;
    margin-bottom: 0.8rem;
  }
  .mf-manager-product .mpr--title {
    font-size: 1.5rem;
  }
  .mf-manager-product .mpr--id {
    opacity: 0.6;
    font-size: 1.2rem;
  }
  .mf-manager-product .mpr--stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.6rem;
    margin-bottom: 1.2rem;
  }
  .mf-manager-product .mpr--stat {
    opacity: 0.85;
  }
  .mf-manager-product .mpr--controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .mf-manager-product .mpr--item {
    padding: 0.6rem 1.2rem;
    border-radius: 0.6rem;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background-color: var(--color-white, #fff);
    font-size: 1.2rem;
    line-height: 1.2;
    cursor: pointer;
  }
  .mf-manager-product .mpr--item:hover, .mf-manager-product .mpr--item.is-hover {
    background-color: var(--color-base-light-90);
  }
  .mf-manager-product .mpr--item.is-color-red {
    border-color: var(--color-red);
  }
}
@layer store {
  .product-visual {
    --gap: 1.6rem;
    display: flex;
    gap: var(--gap, 1.6rem);
    scroll-snap-type: x mandatory;
    margin-bottom: 2rem;
  }
  .product-visual .pv--item {
    aspect-ratio: 3/4.5;
    flex-shrink: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .product-visual .pv--item > * {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 1rem;
  }
  .product-visual .pv--item > *:not(video) {
    transition: transform 0.2s;
    will-change: transform;
    cursor: zoom-in;
  }
  .product-visual .pv--item > *:not(video):hover {
    transform: scale(1.01);
  }
  .product-visual .pv--show-more {
    display: none;
  }
  .product-visual.pv--total-items-1 {
    justify-content: center;
  }
  .product-info-wrapper {
    align-self: flex-start;
    position: sticky;
    top: var(--header-height, 15rem);
  }
  @media (max-width: 1023.99px) {
    .product-visual {
      overflow-y: auto;
    }
    .product-visual::-webkit-scrollbar {
      scrollbar-width: none; /* For Firefox */
      display: none;
    }
    .product-visual .pv--item {
      width: auto;
      max-height: 50rem;
    }
  }
  @media (max-width: 767.99px) {
    .product-visual .pv--item {
      width: 90%;
    }
  }
  @media (min-width: 1024px) {
    .product-visual-wrapper {
      align-self: flex-start;
      position: sticky;
      top: var(--header-height);
    }
    .product-visual {
      --gap: 1.6rem;
      flex-wrap: wrap;
      padding-right: 1.6rem;
    }
    .product-visual .pv--item {
      width: calc(50% - var(--gap, 1.6rem)/2);
    }
    .product-visual .pv--item:nth-child(n+3) {
      width: calc(33.333% - var(--gap, 1.6rem) * 2/3);
    }
    .product-visual .pv--item:nth-child(n+6) {
      display: none;
    }
    .product-visual.-pv-total-items-1, .product-visual.-pv-total-items-3 {
      justify-content: center;
    }
    .product-visual.-pv-total-items-4 .pv--item {
      width: calc(50% - var(--gap, 1.6rem) / 2);
    }
    .product-visual .pv--show-more {
      display: block;
      position: absolute;
      bottom: 4rem;
      right: calc((33.333% + var(--gap, 1.6rem)) / 2);
      transform: translateX(50%);
      padding: 0.6rem 1.2rem;
      border-radius: 0.6rem;
      font-size: 1.4rem;
      font-weight: 600;
      background-color: rgba(255, 255, 255, 0.8);
      box-shadow: 0px 1px 0px 1px rgba(0, 0, 0, 0.09);
      backdrop-filter: blur(2px) saturate(0.4);
      transition: background-color 0.2s;
    }
    .product-visual .pv--show-more:hover {
      background-color: rgb(255, 255, 255);
    }
    .product-visual.-pv-showed-all .pv--show-more {
      display: none;
    }
    .product-visual.-pv-showed-all .pv--item:nth-child(n+6) {
      display: block;
    }
  }
  .product-info {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  .product-info .price-wrapper.-base {
    justify-content: flex-end;
  }
  .product-info .pi--main-data {
    padding-top: 0.1rem;
    padding-bottom: 0.6rem;
  }
  .product-info .pi--price.is-price {
    margin-bottom: -0.4rem;
    font-size: 3rem;
    flex-direction: row;
    align-items: center;
    gap: 1.4rem;
    font-weight: 800;
  }
  .product-info .pi--price.is-price .current {
    order: -2;
  }
  .product-info .pi--price.is-price .old {
    font-weight: 600;
    transform: translateY(1px);
  }
  .product-info .pi--price-discount {
    font-size: 1.6rem;
    background: var(--color-red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 0.6rem;
    padding: 0.4rem 0.7rem;
    font-weight: 700;
  }
  .product-info .pi--price-discount.-loyalty {
    background: var(--color-green, #2e8b57);
  }
  .product-info .pi--bundle {
    padding-bottom: 1.6rem;
    border-radius: 1rem;
    border: solid 1px var(--color-base-light-80);
    overflow: hidden;
    margin-bottom: 1rem;
  }
  .product-info .pi--bundle-heading {
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
    line-height: 1;
    font-size: 1.8rem;
    padding: 1.5rem 1.3rem 1.6rem;
    border-radius: 0.8rem 0.8rem 0 0;
    background-color: var(--color-base-light-93);
  }
  .product-info .pi--bundle-update {
    display: contents;
  }
  .product-info .pi--bundle-update-item {
    border-radius: 0.6rem;
    background-color: #fff;
    padding: 0.3rem 0.7rem;
    font-size: 1.3rem;
    transition: color 0.2s;
  }
  .product-info .pi--bundle-update-item:hover {
    color: var(--color-base);
  }
  .product-info .pi--bundle-update-item.is-active {
    color: var(--color-base-dark-20);
  }
  .product-info .pi--bundle-update-item:first-child {
    margin-left: auto;
  }
  .product-info .pi--bundle-update-custom {
    line-height: 0;
    font-size: 0.8em;
  }
  .product-info .pi--bundle-custom {
    flex-basis: 100%;
    display: none;
    gap: 0.8rem;
    align-items: center;
    margin-top: 1.2rem;
    font-weight: 400;
    font-size: 1.4rem;
    --input-height: 4rem;
  }
  .product-info .pi--bundle-custom.is-active {
    display: flex;
  }
  .product-info .pi--bundle-custom .mf-input-wrap {
    flex: 1 1 auto;
    margin: 0;
  }
  .product-info .pi--bundle-alert {
    padding: 1.4rem 1.6rem 0;
  }
  .product-info .pi--bundle-alert .message-box {
    background-color: var(--color-gray-light-70);
  }
  .product-info .pi--list-params {
    font-size: 1.4rem;
    padding: 0.4rem 1.3rem 0 1.3rem;
  }
  .product-info .pi--list-params li {
    padding: 0.5rem 0;
  }
  .product-info .pi--list-params-name [class*=ico-] {
    font-size: 1.1em;
    line-height: 0;
    display: inline-block;
    margin-right: 0.3rem;
  }
  .product-info .pi--list-params:last-child {
    margin-bottom: -0.5rem;
  }
  .product-info .pi--buy-wrapper {
    display: flex;
    gap: 2rem;
  }
  .product-info .pi--buy-wrapper > * {
    flex-grow: 1;
  }
  .product-info .pi--divided-block {
    margin-top: 1rem;
    border-top: dashed 1px var(--color-border);
    padding-top: 2.3rem;
  }
  .product-info .pi--buttons-wrapper {
    display: flex;
    gap: 1rem;
    font-size: 1.7rem;
    font-weight: 500;
  }
  .product-info .pi--buy {
    width: 50%;
  }
  .product-info .pi--advanced-buttons-wrapper {
    margin-top: -1rem;
  }
  @media (min-width: 1024px) {
    .product-part-1 {
      --col-var: 45rem;
    }
  }
  section.upsell {
    background-color: var(--color-border-light);
  }
  .ya-reviews-wrapper {
    position: sticky;
    top: var(--header-height);
    align-self: flex-start;
  }
  @media (min-width: 1024px) {
    .product-reviews {
      padding-right: 3rem;
    }
  }
  .pi--disclaimer {
    font-size: 1.3rem;
    line-height: 1.2;
    opacity: 0.7;
  }
  .posted-in {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
  }
  .posted-in a {
    background-color: var(--color-gray-light-50);
    color: var(--color-text);
    border-radius: 0.7rem;
    line-height: 1;
    padding: 0.5rem 1rem 0.7rem;
    font-size: 1.4rem;
  }
  .posted-in a:hover {
    background-color: var(--color-base);
    color: #fff;
  }
  .product-advanced-info .products-group {
    align-self: flex-start;
    position: sticky;
    top: var(--header-height);
  }
  .characteristics {
    font-size: 1.5rem;
  }
  .characteristics li {
    padding: 1rem 0;
  }
  .characteristics a {
    color: var(--color-base-dark-40);
  }
  .characteristics a:hover {
    color: var(--color-base);
  }
}
@layer mf-lib {
  /* ============================================================
   * mf-accordion => mfa
   * Аккордеон: заголовок-триггер + сворачиваемое тело.
   *
   * Разметка:
   *   <div class="mf-accordion">
   *     <button class="mfa--header js_mf_accordion_toggle" type="button">
   *       ...
   *     </button>
   *     <div class="mfa--body">...</div>
   *   </div>
   *
   * JS-состояние: .active_mf_accordion (ставится скриптом)
   * Стилевое состояние: .is-active (дублируется скриптом для удобства)
   * ============================================================ */
  .mf-accordion {
    --gap: 0;
    --br: .8rem;
    display: block;
    border-radius: var(--br);
  }
  .mf-accordion .mfa--header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.6rem 2rem;
    background-color: transparent;
    border: none;
    cursor: pointer;
    font: inherit;
    color: inherit;
    text-align: left;
    transition: var(--transition-ease);
  }
  .mf-accordion .mfa--header [class*=ico-] {
    transition: transform 0.15s ease-in-out;
  }
  .mf-accordion .mfa--header:hover {
    color: var(--color-base);
  }
  .mf-accordion .mfa--body {
    overflow: hidden;
  }
  .mf-accordion .mfa--body > * {
    padding: 0 2rem 1.6rem;
  }
  .mf-accordion.is-active .mfa--header, .mf-accordion.active_mf_accordion .mfa--header {
    color: var(--color-base);
  }
  .mf-accordion.is-active .mfa--header [class*=ico-], .mf-accordion.active_mf_accordion .mfa--header [class*=ico-] {
    transform: rotate(180deg);
  }
  .mf-accordion.-mfa-bordered {
    border: solid 0.1rem var(--color-border);
  }
  .mf-accordion.-mfa-bordered .mfa--header {
    border-bottom: solid 0.1rem transparent;
    transition: var(--transition-ease), border-color 0s;
  }
  .mf-accordion.-mfa-bordered.is-active .mfa--header {
    border-bottom-color: var(--color-border);
  }
  /* ============================================================
   * mf-accordion-group => mfag
   * Группа аккордеонов. По атрибуту data-mfag-connected скрипт
   * закрывает остальные аккордеоны группы при открытии одного.
   * ============================================================ */
  .mf-accordion-group {
    --gap: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: var(--gap);
  }
  .mf-accordion-group.-mfag-flush {
    gap: 0;
  }
  .mf-accordion-group.-mfag-flush .mf-accordion {
    border-radius: 0;
  }
  .mf-accordion-group.-mfag-flush .mf-accordion:first-child {
    border-top-left-radius: var(--br);
    border-top-right-radius: var(--br);
  }
  .mf-accordion-group.-mfag-flush .mf-accordion:last-child {
    border-bottom-left-radius: var(--br);
    border-bottom-right-radius: var(--br);
  }
  .mf-accordion-group.-mfag-flush .mf-accordion + .mf-accordion {
    border-top: solid 0.1rem var(--color-border);
  }
}
@layer mf-lib {
  .mf-range-slider {
    --mfrs-track-bg: var(--color-gray);
    --mfrs-range-bg: var(--color-base);
    --mfrs-handle-bg: var(--color-base);
    --mfrs-handle-bg-active: var(--color-base-dark-30);
    --mfrs-handle-size: 1.7rem;
    display: block;
    padding-top: 1rem;
  }
  .mf-range-slider .mfrs--track {
    position: relative;
    height: 0.2rem;
    margin: 0 1rem 1.6rem;
    background-color: var(--mfrs-track-bg);
    border-radius: 99px;
  }
  .mf-range-slider .mfrs--track:before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(var(--mfrs-handle-size) / -2);
    width: calc(100% + var(--mfrs-handle-size));
    height: 100%;
    background-color: var(--mfrs-track-bg);
    border-radius: 99px;
    pointer-events: none;
  }
  .mf-range-slider .mfrs--track .ui-slider-range {
    position: absolute;
    top: 0;
    z-index: 1;
    display: block;
    height: 100%;
    border: 0;
    background-color: var(--mfrs-range-bg);
  }
  .mf-range-slider .mfrs--track .ui-slider-handle {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: var(--mfrs-handle-size);
    height: var(--mfrs-handle-size);
    margin-left: calc(var(--mfrs-handle-size) / -2);
    transform: translateY(-50%);
    border-radius: 99px;
    background: var(--mfrs-handle-bg);
    cursor: pointer;
    touch-action: none;
    outline: none;
    transition: background 0.15s, transform 0.15s ease-in-out;
  }
  .mf-range-slider .mfrs--track .ui-slider-handle:hover {
    background: var(--mfrs-handle-bg-active);
    transform: translateY(-50%) scale(1.1);
  }
  .mf-range-slider .mfrs--track .ui-slider-handle.ui-state-active {
    background: var(--mfrs-handle-bg-active);
    transform: translateY(-50%) scale(1.1);
  }
  .mf-range-slider .mfrs--track .ui-slider-handle:after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: calc(var(--mfrs-handle-size) - 0.6rem);
    height: calc(var(--mfrs-handle-size) - 0.6rem);
    border-radius: 99px;
    background: #fff;
    opacity: 0.3;
    transition: var(--transition-ease);
  }
  .mf-range-slider .mf-range-row {
    display: flex;
    gap: 1rem;
  }
  .mf-range-slider .mf-range-row .mf-input-wrap {
    --input-height: 4.2rem;
    width: 50%;
    margin-bottom: 0;
  }
  .mf-range-slider .mf-range-row .mf-input-wrap input {
    padding-top: 1.6rem;
  }
  .mf-range-slider .mf-range-row .mf-input-wrap label {
    font-size: 1rem;
    top: 0.6rem;
    height: 1rem;
    opacity: 0.7;
    transition: none;
  }
}
@layer mf-lib {
  .mf-select {
    --mfs-anim: 150ms;
    height: 4.8rem;
    position: relative;
    width: max-content;
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 0.8rem;
    letter-spacing: 0.02em;
    font-feature-settings: "pnum" on, "lnum" on, "salt" on, "liga" off;
    color: var(--color-text);
    cursor: pointer;
    user-select: none;
  }
  .mf-select.-mfs-w-100 {
    width: 100%;
  }
  .mf-select:hover {
    border-color: var(--color-base-light-20);
  }
  .mf-select:focus {
    border-color: var(--color-gray-dark-50);
  }
  .mf-select.-val-wrong {
    border-color: var(--color-red);
  }
  .mf-select.-val-right {
    border-color: var(--color-green);
  }
  .mf-select.is-active {
    z-index: 2;
    border-color: var(--color-gray-dark-50);
    border-bottom-color: transparent;
    border-radius: 0.8rem 0.8rem 0 0;
  }
  .mf-select.is-active .mfs--arrow {
    transform: rotate(180deg) translateY(2px);
  }
  .mf-select.active_mf_select {
    z-index: 4;
  }
  .mf-select .mfs--active {
    padding: 0 2.7rem 0 1.3rem;
    display: flex;
    align-items: center;
    height: 100%;
  }
  .mf-select .mfs--active > * {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .mf-select .mfs--options {
    background-color: #fff;
    position: absolute;
    top: 100%;
    left: -1px;
    width: calc(100% + 2px);
    max-width: calc(100% + 2px);
    display: none;
    border: 1px solid var(--color-gray-dark-50);
    border-top-color: var(--color-border);
    border-radius: 0 0 0.8rem 0.8rem;
    max-height: 30vh;
    overflow: auto;
    transition: none;
  }
  .mf-select .mfs--arrow {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0.6rem;
    left: auto;
    margin: auto;
    height: 100%;
    width: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    font-size: 1.2rem;
    transition: all 0.2s;
  }
  .mf-select .mfs--optgroup {
    padding-bottom: 0.5rem;
  }
  .mf-select .mfs--optgroup:not(:last-child) {
    border-bottom: solid 1px var(--color-border);
    margin-bottom: 0.5rem;
  }
  .mf-select .mfs--optgroup .mfs--option {
    padding-left: 1.75rem;
  }
  .mf-select .mfs--optgroup-name {
    padding: 0.325rem 1.25rem;
    font-weight: 600;
  }
  .mf-select .mfs--option {
    padding: 0.25rem 1.25rem;
  }
  .mf-select .mfs--option:hover {
    color: var(--color-second);
  }
  .mf-select .mfs--option.is-selected {
    color: var(--color-second);
  }
  .mf-select .mfs--option.is-disabled {
    opacity: 0.45;
    pointer-events: none;
    cursor: default;
  }
  .mf-select .mfs--option.is-disabled:hover {
    color: inherit;
  }
  .mf-select .mfs--placeholder {
    pointer-events: none;
  }
  @media (max-width: 767px) {
    .mf-select.-mfs-mobile-native {
      display: none;
    }
  }
  .mf-input-wrap .mf-select + label {
    font-size: 1rem;
    top: 0.6rem;
    height: 1rem;
    opacity: 0.7;
    transition: none;
  }
  select {
    transition: none;
  }
  select.-mfs-mobile-custom {
    display: none;
  }
  select.-mfs-mobile-native {
    display: none;
  }
  @media (max-width: 767px) {
    select.-mfs-mobile-native {
      display: flex;
      padding: 0 0.3rem 0 1.1rem;
      font-size: 1.6rem;
    }
    select.-mfs-mobile-native option {
      text-transform: initial;
    }
  }
  @media (max-width: 767px) and (min-width: 768px) {
    select.-mfs-mobile-native {
      display: none;
    }
  }
}
@layer mf-lib {
  .mf-tooltip .mft--trigger {
    --size: 1.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--size);
    height: var(--size);
    margin-inline-start: 0.4rem;
    padding: 0;
    vertical-align: middle;
    line-height: 1;
    color: var(--color-second);
    background-color: transparent;
    border: 0;
    appearance: none;
    cursor: help;
    transition: var(--transition-ease);
    -webkit-tap-highlight-color: transparent;
  }
  .mf-tooltip .mft--trigger:hover {
    color: var(--color-base);
  }
  .mf-tooltip .mft--trigger:focus-visible {
    outline: 0.2rem solid var(--color-base);
    outline-offset: 0.2rem;
    border-radius: 50%;
  }
  .mf-tooltip.active_mf_tooltip .mft--trigger {
    color: var(--color-base);
  }
  .mf-tooltip-layer {
    position: fixed;
    inset: 0 auto auto 0;
    z-index: 500;
    pointer-events: none;
  }
  .mft--content {
    --bg: var(--color-text);
    --br: .8rem;
    --pi: 1.2rem;
    --pb: .8rem;
    --mw: 28rem;
    --arrow: .6rem;
    position: fixed;
    z-index: 1;
    width: max-content;
    max-width: var(--mw);
    padding: var(--pb) var(--pi);
    border-radius: var(--br);
    background-color: var(--bg);
    color: #fff;
    font-family: var(--font-family-main);
    font-size: 1.4rem;
    line-height: 1.4;
    letter-spacing: var(--font-letter-spacing-base);
    box-shadow: var(--box-shadow);
    overflow-wrap: break-word;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.15s ease, visibility 0s linear 0.15s;
  }
  .mft--content a {
    color: inherit;
    text-decoration: underline;
  }
  .mft--content b,
  .mft--content strong {
    font-weight: 600;
  }
  .mft--content.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.15s ease;
  }
  .mft--content::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border: var(--arrow) solid transparent;
  }
  .mft--content[data-mft-pos=bottom]::after {
    bottom: 100%;
    left: var(--mft-arrow-offset, 50%);
    margin-left: calc(var(--arrow) * -1);
    border-bottom-color: var(--bg);
  }
  .mft--content[data-mft-pos=top]::after {
    top: 100%;
    left: var(--mft-arrow-offset, 50%);
    margin-left: calc(var(--arrow) * -1);
    border-top-color: var(--bg);
  }
  .mft--content[data-mft-pos=right]::after {
    top: var(--mft-arrow-offset, 50%);
    right: 100%;
    margin-top: calc(var(--arrow) * -1);
    border-right-color: var(--bg);
  }
  .mft--content[data-mft-pos=left]::after {
    top: var(--mft-arrow-offset, 50%);
    left: 100%;
    margin-top: calc(var(--arrow) * -1);
    border-left-color: var(--bg);
  }
  .mft--content.-mft-no-arrow::after {
    display: none;
  }
  .mft--content.-mft-bg-light {
    --bg: #fff;
    color: var(--color-text);
    box-shadow: var(--box-shadow), var(--box-shadow);
  }
  .mft--content.-mft-bg-base {
    --bg: var(--color-base);
  }
  .mft--content.-mft-bg-second {
    --bg: var(--color-second);
  }
  @media (min-width: 1024px) {
    .mft--content {
      --mw: 34rem;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .mft--content {
      transition: none;
    }
  }
}
@layer mf-lib {
  .mf-collapsed-block {
    white-space: nowrap;
  }
  .mf-collapsed-block .mfcb--label {
    background-color: transparent;
    padding-left: 0;
    color: var(--color-text);
  }
  .mf-collapsed-block .mfcb--show-more {
    display: none;
  }
  .mf-collapsed-block:not(.is-showed) > *:nth-child(n+6) {
    display: none;
  }
  .mf-collapsed-block:not(.is-showed) .mfcb--show-more {
    display: flex;
    background-color: transparent;
    color: var(--color-base);
    cursor: pointer;
  }
}
@layer theme {
  .mf-modal-window.-delivery-choose {
    --mw: 80rem;
  }
  .mf-modal-window.-mfmw-bottom-sheet .mfmw--box {
    max-height: 92dvh;
  }
  .mf-favorite.is-active {
    color: var(--color-base);
    border-color: var(--color-base);
  }
  .show-password-input {
    display: none;
  }
  .mf-float-action .mffa--item.is-loading {
    cursor: progress;
  }
  .is-b24-mounted .mf-float-action.-mffa-bottom-right {
    bottom: 13rem;
  }
  .blog-poster.banner .bn--content {
    text-align: right;
    align-self: flex-start;
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.09);
    backdrop-filter: blur(2px) saturate(0.4);
    transition: var(--transition-ease);
    padding: 2rem;
    border-radius: 1.6rem;
    width: auto;
    font-size: 1.4rem;
    line-height: 1;
    gap: 0.6rem;
  }
  .blog-post-time {
    color: var(--color-gray-dark-30);
  }
  .blog-post-time a {
    color: var(--color-gray-dark-30);
  }
  .is-sticky {
    position: sticky;
    top: calc(var(--header-height, 0) + 2rem);
  }
  .dynamic-page .dc-section {
    padding: calc(var(--padding-section) / 2) 0;
  }
  @media (min-width: 768px) {
    .dynamic-page .dc-section {
      padding: calc(var(--padding-section-md) / 2) 0;
    }
  }
  @media (min-width: 1024px) {
    .dynamic-page .dc-section {
      padding: calc(var(--padding-section-lg) / 2) 0;
    }
  }
  @media (min-width: 1200px) {
    .dynamic-page .dc-section {
      padding: calc(var(--padding-section-xl) / 2) 0;
    }
  }
}
.b24-widget-button-wrapper {
  z-index: 104;
}

@layer theme {
  .catalog-seo-top:empty,
  .catalog-seo-bottom:empty {
    display: none;
  }
  .catalog-top-content {
    margin-bottom: 1.4rem;
    margin-top: 0.4rem;
  }
  .catalog-top-content .ctc--heading {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .catalog-top-content .ctc--count {
    color: var(--color-gray-dark-40);
  }
  @media (min-width: 768px) {
    .catalog-top-content .ctc--heading {
      flex-direction: row;
      justify-content: space-between;
    }
    .catalog-top-content .ctc--count {
      display: inline-flex;
      white-space: nowrap;
      line-height: 1.8;
      align-items: center;
      align-self: flex-start;
    }
  }
  @media (min-width: 1024px) {
    .catalog-top-content .ctc--count {
      line-height: 2.2;
    }
  }
}
/*
    https://mf-art.ru
    v0.1 | 2022.05.10
    License: none (public domain)
*/

/*# sourceMappingURL=base.css.map */
