/* * Fonts */
@font-face {
  font-family: 'RU Maggi KC';
  src: url('../fonts/RU-Maggi-KC.woff2') format("woff2");
  font-weight: normal;
  font-style: normal
}
@font-face {
  font-family: 'Cookit';
  src: url('../fonts/Cookit-Regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal
}
@font-face {
  font-family: 'RU Maggi Bcwt';
  src: url('../fonts/RU-Maggi-Bcwt.woff2') format('woff2');
  font-weight: normal;
  font-style: normal
}
@font-face {
  font-family: 'Buckwheat TC';
  src: url('../fonts/Buckwheat-TC-Regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal
}

/* * Gorynych custom properties */
.gorynych {
  --lp-body-font-size: clamp(1rem, 0.968vw + 0.782rem, 1.75rem); /* 16px to 28px */
  --lp-body-line-height: 1;
  --lp-hero-spacing-y: calc(var(--m-logo-header-spacing-y) + var(--m-logo-header-size-y) + 1rem);
  --lp-hero-title-font-size: clamp(2.25rem, 3.548vw + 1.452rem, 5rem); /* 36px to 80px */
  --lp-hero-subtitle-font-size: clamp(1rem, 1.452vw + 0.673rem, 2.125rem); /* 16px to 34px */
  --lp-hero-subtitle-size-x: calc(100vw - var(--m-page-spacing-x) * 2);
  --lp-hero-product-cards-spacing-x: -0.25rem;
  --lp-hero-product-card-size-x: calc(var(--m-column-width-responsive) * 8);
  --lp-product-title-font-size: clamp(1.75rem, 2.581vw + 1.169rem, 3.75rem); /* 28px to 60px */
  --lp-button-label-font-size: clamp(1.25rem, 0.645vw + 1.105rem, 1.75rem); /* 20px to 28px */
  --lp-button-spacing-x: 1.5rem; /* 24px */
  --lp-button-size-y: 3.625rem; /* 58px */
  --lp-button-size-x: 100%;
  --lp-product-brief-product-image-size-x: calc(var(--m-column-width-responsive) * 16);
  --lp-product-brief-decor-aspect-ratio: 1.5;
  --lp-product-brief-decor-size-x: 60vw;
  --lp-product-brief-decor-size-y: calc(var(--lp-product-brief-decor-size-x) / var(--lp-product-brief-decor-aspect-ratio));
  --lp-product-brief-decor-pos-x: calc(100% - var(--lp-product-brief-decor-size-x));
  --lp-product-brief-decor-pos-y: 45vw;
  --lp-product-features-icon-size-x: calc(var(--m-column-width-responsive) * 2);
  --lp-recipe-ingredients-border-size: 0.4375rem; /* 7px */
  --lp-recipe-ingredients-size-x: calc(var(--m-column-width-responsive) * 26 - var(--lp-recipe-ingredients-border-size));
  --lp-recipe-ingredients-title-font-size: clamp(1.75rem, 2.581vw + 1.169rem, 3.75rem); /* 28px to 60px */
  --lp-recipe-step-direction-even: column-reverse;
  --lp-recipe-step-direction-odd: column-reverse;
  --lp-recipe-step-description-size-x: calc(var(--m-column-width-responsive) * 20);
  --lp-recipe-step-photo-size-x: calc(var(--m-column-width-responsive) * 24);
  --lp-recipe-step-counter-size-x: 1.875rem; /* 30px */
  --lp-recipe-step-counter-font-size: clamp(1.25rem, 1.774vw + 0.851rem, 2.625rem); /* 20px to 42px */
  --lp-summary-product-cards-direction: column;
  --lp-summary-product-cards-spacing: var(--m-spacing-y-1);
  --lp-summary-product-card-size-x: 100%;
  --lp-summary-product-image-size-x: calc(var(--m-column-width-responsive) * 14);
  --lp-summary-product-card-spacing-y: var(--m-spacing-y-3);
  --lp-cta-banner-font-size: clamp(1.75rem, 3.387vw + 0.988rem, 4.375rem); /* 28px to 70px */
}
@media (min-width: 768px) {
  .gorynych {
    --lp-hero-spacing-y: var(--m-page-spacing-y);
    --lp-hero-subtitle-size-x: calc(var(--m-column-width-responsive) * 18);
    --lp-hero-product-cards-spacing-x: -0.5rem;
    --lp-hero-product-card-size-x: calc(var(--m-column-width-responsive) * 6);
    --lp-button-spacing-x: 0.75rem; /* 12px */
    --lp-button-size-y: 2.25rem; /* 36px */
    --lp-button-size-x: fit-content;
    --lp-product-brief-product-image-size-x: calc(var(--m-column-width-responsive) * 7);
    --lp-product-brief-decor-size-x: 14.625rem; /* 234px */
    --lp-product-brief-decor-pos-x: calc(100% - var(--lp-product-brief-decor-size-x));
    --lp-product-brief-decor-pos-y: calc(100% - var(--lp-product-brief-decor-size-y) + var(--m-spacing-y-1) - var(--m-page-spacing-y));
    --lp-product-features-icon-size-x: var(--m-column-width-responsive);
    --lp-recipe-ingredients-size-x: calc(var(--m-column-width-responsive) * 14 - var(--lp-recipe-ingredients-border-size));
    --lp-recipe-step-direction-even: row;
    --lp-recipe-step-direction-odd: row-reverse;
    --lp-recipe-step-description-size-x: calc(var(--m-column-width-responsive) * 8);
    --lp-recipe-step-photo-size-x: calc(var(--m-column-width-responsive) * 11);
    --lp-summary-product-cards-direction: row;
    --lp-summary-product-cards-spacing: var(--m-column-width-responsive);
    --lp-summary-product-card-size-x: initial;
    --lp-summary-product-image-size-x: calc(var(--m-column-width-responsive) * 6);
  }
}
@media (min-width: 1400px) {
  .gorynych {
    --lp-hero-subtitle-size-x: calc(var(--m-column-width-responsive) * 12);
    --lp-button-spacing-x: 1.5rem; /* 24px */
    --lp-button-size-y: 4.125rem; /* 66px */
    --lp-product-brief-decor-size-x: 26.25rem; /* 420px */
    --lp-recipe-ingredients-border-size: 1rem; /* 16px */
    --lp-recipe-step-counter-size-x: 3.5625rem; /* 57px */
    --lp-summary-product-image-size-x: calc(var(--m-column-width-responsive) * 4);
  }
}

/* * Common styles */
.gorynych {
  background-image: url('../images/bg-main.png');
  font-family: 'RU Maggi Bcwt', sans-serif;
  font-size: var(--lp-body-font-size);
  line-height: var(--lp-body-line-height);
}
.gorynych .brand-name {
  font-family: 'Buckwheat TC', sans-serif;
}
.gorynych .brand-name + sup {
  font-family: 'RU Maggi KC', sans-serif;
}
.gorynych :is(h1, h2, h3) .brand-name {
  font-family: 'Cookit', sans-serif;
}
.gorynych :is(h1, h2, h3) {
  font-family: 'RU Maggi KC', sans-serif;
}
.gorynych :is(h1, h2, h3, p, ul, dl, li) {
  margin-bottom: 0;
}

/* * Override x-button.is-primary variables and styles */
.gorynych .x-button {
  --x-button-label-font-size: var(--lp-button-label-font-size);
  --x-button-label-color-enabled: #0F0F0F;
  --x-button-label-color-hovered: #0F0F0F;
  --x-button-spacing-x: var(--lp-button-spacing-x);
  --x-button-size-y: var(--lp-button-size-y);
  --x-button-size-x: var(--lp-button-size-x);

  position: relative;
  /* width: max-content; */
  padding-top: 0.375rem;
  background-image: none;
  background-color: hsla(var(--m-color-primary-variant-hovered-hsl) / var(--m-level-0));
  text-transform: uppercase;
}
.gorynych .x-button__label {
  z-index: 1;
}
.gorynych .x-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url('../images/bg-cta.png');
  background-size: auto;
  background-position: left bottom;
  z-index: 0;
  transition: all 0.3s ease-in-out;
}
.gorynych .x-button:hover::before {
  opacity: 38%;
}

/* * Common product cards styles */
.lp-product-cards {
  display: flex;
  align-items: center;
  justify-content: center;
}
.lp-product-image img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0.1875rem 0.1875rem 0.1875rem hsla(var(--m-color-secondary-hsl) / var(--m-level-4)));
}

/* * Hero banner */
.lp-hero-banner {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: var(--lp-hero-spacing-y);
  color: #0F0F0F;
}
.lp-hero-title {
  font-family: 'RU Maggi KC', sans-serif;
  font-size: var(--lp-hero-title-font-size);
  line-height: 110%;
  text-align: center;
}
.lp-hero-subtitle {
  width: var(--lp-hero-subtitle-size-x);
  font-size: var(--lp-hero-subtitle-font-size);
  line-height: 110%;
  text-align: center;
  text-transform: uppercase;
}

/* ** Products in Hero banner */
.lp-hero-banner .lp-product-cards {
  position: relative;
  margin: var(--m-spacing-y-2) 0;
}
.lp-hero-banner .lp-product-card {
  width: var(--lp-hero-product-card-size-x);
}
.lp-hero-banner .lp-product-card:nth-child(1) {
  margin-right: var(--lp-hero-product-cards-spacing-x);
  transform: rotate(-8deg);
  transform-origin: bottom right;
}
.lp-hero-banner .lp-product-card:nth-child(2) {
  z-index: 1;
}
.lp-hero-banner .lp-product-card:nth-child(3) {
  margin-left: var(--lp-hero-product-cards-spacing-x);
  transform: rotate(8deg);
  transform-origin: bottom left;
}

/* * Product section */
.lp-product {
  padding-top: var(--m-page-spacing-y);
}
.lp-product-title {
  font-family: 'RU Maggi KC', sans-serif;
  font-size: var(--lp-product-title-font-size);
  line-height: 90%;
  text-align: center;
}

/* ** Product brief */
.lp-product-brief {
  position: relative;
  display: grid;
  grid-template-areas:
    "image"
    "features"
    "button";
  grid-template-rows: auto;
  gap: var(--m-spacing-y-1) var(--m-column-width-responsive);
  padding: var(--m-spacing-y-2) calc(var(--m-column-width-responsive) * 2) var(--m-page-spacing-y);
}
.lp-product-brief::after {
  content: "";
  position: absolute;
  width: var(--lp-product-brief-decor-size-x);
  aspect-ratio: 1.5;
  background-repeat: no-repeat;
  background-image: var(--lp-product-brief-decor-image);
  background-size: 100%;
  top: var(--lp-product-brief-decor-pos-y);
  left: var(--lp-product-brief-decor-pos-x);
}
@media (min-width: 768px) {
  .lp-product-brief {
    grid-template-areas:
      "image features"
      "image button";
    grid-template-rows: auto 1fr;
    background-size: 100%;
    background-position: right bottom;
  }
}
.lp-product-brief .lp-product-image {
  grid-area: image;
  width: var(--lp-product-brief-product-image-size-x);
}
.lp-product-brief .lp-product-image {
  transform: rotate(-5deg);
}
/* *** Product features */
.lp-product-features {
  grid-area: features;
}
.lp-product-features dl {
  display: grid;
  grid-template-columns: var(--lp-product-features-icon-size-x) auto;
  gap: var(--m-spacing-y-3) var(--m-column-width-responsive);
  align-items: center;
  margin: var(--m-spacing-y-2) 0 0;
}
.lp-product-features dd {
  margin: 0;
  text-transform: uppercase;
}
.lp-product-features img {
  width: 100%;
  height: auto;
}
/* *** Button for openning/closing recipe */
.lp-open-recipe {
  grid-area: button;
}

/* ** Product recipe */
.lp-product-recipe {
  /* margin-top: var(--m-spacing-y-2); */
  padding: 0 calc(var(--m-column-width-responsive) * 2);
}
/* *** Recipe video */
.lp-recipe-video video {
  width: 100%;
  height: auto;
  display: block;
}
/* *** Ingredients */
.lp-recipe-ingredients {
  position: relative;
  width: var(--lp-recipe-ingredients-size-x);
  margin: var(--m-spacing-y-2) 0 0 calc(var(--m-column-width-responsive) * -2);
  padding: var(--m-spacing-y-2) calc(var(--m-column-width-responsive) * 2) var(--m-spacing-y-2);
  color: var(--m-color-white);
}
.lp-recipe-ingredients:after {
  content: "";
  position: absolute;
  height: 100%;
  width: var(--lp-recipe-ingredients-border-size);
  background-color: inherit;
  top: 0;
  right: calc(var(--lp-recipe-ingredients-border-size) * -1);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 38'%3E%3Cpath fill='%23fff' d='M16 0H0v38h16v-8h-.5C8.04 30 2 25.08 2 19S8.04 8 15.5 8h.5V0Z'/%3E%3C/svg%3E");
  mask-position: right center;
  mask-repeat: repeat-y;
}
.lp-ingredients-title {
  font-family: 'RU Maggi KC', sans-serif;
  font-size: var(--lp-recipe-ingredients-title-font-size);
  line-height: 90%;
  text-align: center;
  text-transform: initial;
}
.lp-recipe-ingredients ul {
  display: flex;
  flex-direction: column;
  gap: var(--m-spacing-y-5);
  margin-top: var(--m-spacing-y-5);
  text-transform: uppercase;
}
/* *** Recipe steps */
.lp-recipe-steps {
  display: flex;
  flex-direction: column;
  gap: var(--m-spacing-y-1);
  margin-top: var(--m-spacing-y-1);
  counter-reset: recipe-step;
  text-transform: uppercase;
}
.lp-recipe-step {
  display: flex;
  flex-direction: var(--lp-recipe-step-direction-even);
  align-items: center;
  gap: var(--m-column-width-responsive);
}
.lp-recipe-step:nth-child(2n) {
  flex-direction: var(--lp-recipe-step-direction-odd);
}
.lp-recipe-step__description {
  text-align: center;
  width: var(--lp-recipe-step-description-size-x);
}
.lp-recipe-step__description::before {
  counter-increment: recipe-step;
  content: counter(recipe-step);
  display: block;
  width: var(--lp-recipe-step-counter-size-x);
  aspect-ratio: 0.890625;
  line-height: var(--lp-recipe-step-counter-size-x);
  padding-top: 0.125em;
  font-size: var(--lp-recipe-step-counter-font-size);
  border-radius: 50%;
  color: #0F0F0F;
  margin: 0 auto var(--m-spacing-y-5);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 57 64'%3E%3Cpath fill='%23FFD004' d='M41.63 53.44A28.28 28.28 0 0 0 57 28.3 28.4 28.4 0 0 0 28.5 0 28.4 28.4 0 0 0 0 28.3c0 10.64 5.9 19.9 14.63 24.75 1.43 1 2.85 1.88 4.06 2.4A20.93 20.93 0 0 1 28.42 64c.54-1 3.45-5.8 9.72-8.54a22.72 22.72 0 0 0 3.5-2.02Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
}
.lp-recipe-step__photo {
  width: var(--lp-recipe-step-photo-size-x);
  flex-shrink: 0;
}
.lp-recipe-step__photo img {
  width: 100%;
  height: auto;
}

/* * Summary */
.lp-summary {
  margin-top: var(--m-page-spacing-y);
}
.lp-summary .lp-product-cards {
  flex-direction: var(--lp-summary-product-cards-direction);
  gap: var(--lp-summary-product-cards-spacing);
  padding: 0 calc(var(--m-column-width-responsive) * 2)
}
.lp-summary .lp-product-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--lp-summary-product-card-spacing-y);
  width: var(--lp-summary-product-card-size-x);
}
.lp-summary .lp-product-image {
  width: var(--lp-summary-product-image-size-x);
}

/* * CTA */
.lp-cta {
  margin-top: var(--m-page-spacing-y);
}
.lp-cta__banner {
  padding: var(--m-spacing-y-3) 0;
  font-family: 'RU Maggi KC', sans-serif;
  font-size: var(--lp-cta-banner-font-size);
  line-height: 115%;
  text-align: center;
  background-color: var(--m-color-primary-variant);
  background-image: url('../images/bg-cta.png');
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
}
