/*NOTE: This file is intended for programmers. Aspro technical support is not advised to work with him.*/

/* Examples (uncomment to use):*/

/* Expand site width */
/* body .wrapper { max-width: 1400px !important;  } */

/* Set site background image */
/* body {  background: url(image_source) top no-repeat; }

/* Hide compare button */
/* a.compare_item { display: none !important;  }*/

/* Main banner: keep the proportions of the artwork so text baked into the
   desktop (1920x584) and mobile images is never cropped. */
@media (min-width: 768px) {
  .BIG_BANNER_INDEX .banners-big__depend-height {
    height: auto;
    aspect-ratio: 1920 / 584;
  }
}

/* VK clips: draw an optically centered play glyph without theme SVG offsets. */
.bani-vk-clips .bani-vk-clip__play.video-block__play--circle::before {
  display: none !important;
}

.bani-vk-clips .bani-vk-clip__play.video-block__play--circle::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  border-top: 6px solid transparent !important;
  border-bottom: 6px solid transparent !important;
  border-left: 10px solid var(--theme-more-color, #13a538) !important;
  background: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
  margin: 0 !important;
  transform: translate(-36%, -50%) !important;
}

@media (max-width: 767px) {
  .bani-vk-clips .bani-vk-clip__play.video-block__play--circle::after {
    border-top-width: 5px !important;
    border-bottom-width: 5px !important;
    border-left-width: 8px !important;
  }
}

/* On wide desktop screens keep the hero intentional and compact instead of
   stretching the 1920px artwork from edge to edge. The scenario panel remains
   aligned inside the hero, while regular desktop and mobile layouts stay fluid. */
@media (min-width: 1700px) {
  .BIG_BANNER_INDEX .banners-big {
    width: calc(100% - 64px);
    max-width: 1600px;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
    border-radius: 16px;
  }
}

@media (max-width: 767px) {
  .BIG_BANNER_INDEX .banners-big--adaptive-3 .banners-big__item {
    padding-top: 68.75%;
  }
}

/* Homepage task scenarios. The block is outside the slider, but overlaps its
   lower edge on wide screens. Content comes from the Bitrix infoblock. */
.home-scenarios-block {
  position: relative;
  z-index: 8;
  margin-top: -48px;
}

.home-scenarios {
  padding: 20px 24px 18px;
  background: var(--card_bg_black, #fff);
  border: 1px solid var(--stroke_black, #e5e5e5);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(38, 31, 25, 0.1);
}

.home-scenarios__title {
  margin: 0 0 14px;
  color: var(--white_text_black, #222);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}

.home-scenarios__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.home-scenario-card {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) 34px;
  gap: 14px;
  min-height: 78px;
  padding: 8px 10px;
  align-items: center;
  color: var(--white_text_black, #222);
  background: var(--card_bg_black, #fff);
  border: 1px solid var(--stroke_black, #e5e5e5);
  border-radius: 12px;
  box-shadow: 0 3px 11px rgba(38, 31, 25, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  text-decoration: none !important;
}

.home-scenario-card:hover,
.home-scenario-card:focus-visible {
  color: var(--white_text_black, #222);
  border-color: var(--theme-more-color, #13a538);
  box-shadow: 0 7px 18px rgba(19, 165, 56, 0.12);
  transform: translateY(-2px);
}

.home-scenario-card:focus-visible {
  outline: 2px solid var(--theme-more-color, #13a538);
  outline-offset: 2px;
}

.home-scenario-card:hover,
.home-scenario-card:focus,
.home-scenario-card:active,
.home-scenario-card:visited,
.home-scenario-card * {
  text-decoration: none !important;
}

.home-scenario-card__image-wrap {
  display: flex;
  width: 84px;
  height: 62px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 8px;
}

.home-scenario-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-scenario-card__content {
  min-width: 0;
}

.home-scenario-card__name {
  display: block;
  color: var(--white_text_black, #222);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}

.home-scenario-card__description {
  display: block;
  margin-top: 3px;
  color: var(--basic_text_black, #666);
  font-size: 12px;
  line-height: 1.35;
}

.home-scenario-card__arrow {
  display: flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--theme-more-color, #13a538);
  border-radius: 50%;
  transition: transform 0.2s ease;
}

.home-scenario-card__arrow svg,
.home-scenario-card__arrow use {
  fill: #fff;
  stroke: #fff;
}

.home-scenario-card:hover .home-scenario-card__arrow,
.home-scenario-card:focus-visible .home-scenario-card__arrow {
  transform: translateX(2px);
}

/* Separate right-side link in the Popular categories title row. */
.bani-sections-all {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  max-width: 100%;
  color: var(--theme-more-color, #13a538) !important;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  text-align: right;
  text-decoration: none !important;
  white-space: nowrap;
}

.bani-sections-all:hover,
.bani-sections-all:focus,
.bani-sections-all:active,
.bani-sections-all:visited {
  color: var(--theme-more-color, #13a538) !important;
  opacity: 0.78;
  text-decoration: none !important;
}

.CATALOG_SECTIONS .index-block__part--right {
  display: flex;
  min-width: 0;
  margin-left: auto;
  align-items: center;
  justify-content: flex-end;
}

/* Fill the complete desktop grid with category cards instead of leaving an
   unused strip on the right. Eight cards fill medium desktops; all nine fill
   the wide 1464px grid. */
@media (min-width: 1200px) and (max-width: 1499px) {
  .CATALOG_SECTIONS .index-block__part--right {
    padding-right: 0;
  }

  .CATALOG_SECTIONS .sections-slider__wrapper {
    width: calc((100% - 112px) / 8) !important;
    flex: 0 0 calc((100% - 112px) / 8);
  }
}

@media (min-width: 1500px) {
  .CATALOG_SECTIONS .index-block__part--right {
    padding-right: 0;
  }

  .CATALOG_SECTIONS .sections-slider__wrapper {
    width: calc((100% - 128px) / 9) !important;
    flex: 0 0 calc((100% - 128px) / 9);
  }
}

@media (min-width: 1200px) {
  .CATALOG_SECTIONS .sections-slider__item {
    --item-size: 100%;
    width: 100%;
  }

  .CATALOG_SECTIONS .sections-slider__item-image-wrapper {
    width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1;
  }
}

.bani-sections-all svg,
.bani-sections-all use {
  fill: var(--theme-more-color, #13a538);
  stroke: var(--theme-more-color, #13a538);
}

@media (max-width: 1199px) {
  .home-scenarios-block {
    margin-top: -38px;
  }

  .home-scenarios__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .home-scenarios-block {
    margin-top: -12px;
  }

  .home-scenarios {
    padding: 18px 16px 16px;
    overflow: hidden;
    border-radius: 14px;
  }

  .home-scenarios__grid {
    display: flex !important;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    gap: 10px;
  }

  .home-scenario-card {
    position: relative;
    width: 100% !important;
    max-width: 100%;
    grid-template-columns: 72px minmax(0, 1fr) 32px;
    min-height: 72px;
    gap: 12px;
    box-sizing: border-box;
  }

  .home-scenario-card__image-wrap {
    width: 72px;
    height: 56px;
  }

  .home-scenario-card__content,
  .home-scenario-card__name,
  .home-scenario-card__description {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .CATALOG_SECTIONS .index-block__title-wrapper--with-center-block {
    gap: 12px;
    align-items: flex-end;
  }

  .bani-sections-all {
    font-size: 12px;
    white-space: normal;
    text-align: right;
  }
}

/* Contacts: editable content area with a predictable card and map layout. */
.bani-contacts-page {
  padding-bottom: 40px;
}

.bani-contacts__intro {
  max-width: 760px;
  margin: 0 0 28px;
  color: var(--basic_text_black, #666);
  font-size: 17px;
  line-height: 1.55;
}

.bani-contacts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0 0 34px;
}

.bani-contacts__card {
  min-width: 0;
  padding: 26px;
  border: 1px solid var(--stroke_black, #e6e6e6);
  border-radius: 16px;
  background: var(--card_bg_black, #fff);
  box-shadow: 0 5px 20px rgba(38, 31, 25, 0.04);
}

.bani-contacts__card h2 {
  margin: 0 0 14px;
  font-size: 20px;
  line-height: 1.3;
}

.bani-contacts__card p {
  margin: 0;
  color: var(--basic_text_black, #666);
  line-height: 1.6;
}

.bani-contacts__card p + p {
  margin-top: 12px;
}

.bani-contacts__card a,
.bani-contacts__socials a {
  overflow-wrap: anywhere;
}

.bani-contacts__map-heading {
  display: flex;
  gap: 20px;
  margin-bottom: 16px;
  align-items: center;
  justify-content: space-between;
}

.bani-contacts__map-heading h2 {
  margin: 0;
  font-size: 28px;
  line-height: 1.25;
}

.bani-contacts__route {
  display: inline-flex;
  min-height: 44px;
  padding: 0 20px;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  background: var(--theme-more-color, #13a538);
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none !important;
}

.bani-contacts__map {
  position: relative;
  height: 420px;
  margin: 0 0 34px;
  overflow: hidden;
  border: 1px solid var(--stroke_black, #e6e6e6);
  border-radius: 16px;
  background: var(--darkerblack_bg_black, #f5f5f5);
}

.bani-contacts__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.bani-contacts__socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.bani-contacts__socials h2 {
  width: 100%;
  margin: 0 0 4px;
  font-size: 24px;
}

.bani-contacts__socials a {
  display: inline-flex;
  min-height: 42px;
  padding: 0 16px;
  align-items: center;
  border: 1px solid var(--stroke_black, #e6e6e6);
  border-radius: 10px;
  text-decoration: none !important;
}

/* Contact map block on the homepage. */
.bani-home-map__heading {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
}

.bani-home-map__heading .index-block__title,
.bani-home-map__link {
  margin: 0;
}

.bani-home-map__frame {
  height: 500px;
  border: 1px solid var(--stroke_black, #e6e6e6);
  background: var(--darkerblack_bg_black, #f5f5f5);
}

.bani-home-map__frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 991px) {
  .bani-contacts__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .bani-contacts-page {
    padding-bottom: 24px;
  }

  .bani-contacts__intro {
    margin-bottom: 20px;
    font-size: 15px;
  }

  .bani-contacts__grid {
    gap: 12px;
    margin-bottom: 28px;
  }

  .bani-contacts__card {
    padding: 20px;
    border-radius: 14px;
  }

  .bani-contacts__card h2 {
    margin-bottom: 10px;
    font-size: 18px;
  }

  .bani-contacts__map-heading {
    display: block;
    margin-bottom: 14px;
  }

  .bani-contacts__map-heading h2 {
    margin-bottom: 12px;
    font-size: 24px;
  }

  .bani-contacts__route {
    width: 100%;
    box-sizing: border-box;
  }

  .bani-contacts__map {
    height: 320px;
    margin-bottom: 28px;
    border-radius: 14px;
  }

  .bani-contacts__socials a {
    flex: 1 1 auto;
    justify-content: center;
  }

  .bani-home-map__heading {
    display: flex !important;
    gap: 12px;
    margin-bottom: 16px !important;
    flex-wrap: wrap;
    align-items: center;
  }

  .bani-home-map__heading .index-block__title {
    flex: 1 1 auto;
    font-size: 24px;
    line-height: 1.25;
  }

  .bani-home-map__link {
    flex: 0 0 auto;
    font-size: 13px;
    line-height: 1.3;
    white-space: nowrap;
  }

  .bani-home-map__frame {
    height: 320px;
    border-radius: 14px;
  }
}

/* VK clips mobile override is kept in custom.css as well as in the component.
   This makes the layout independent of a previously cached component bundle. */
@media (max-width: 767px) {
  .bani-vk-clips {
    padding-top: 40px !important;
    overflow: hidden;
  }

  .bani-vk-clips__grid {
    display: flex !important;
    width: calc(100% + 16px);
    margin-right: -16px;
    padding: 0 16px 4px 0;
    gap: 10px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
  }

  .bani-vk-clips__grid::-webkit-scrollbar {
    display: none;
  }

  .bani-vk-clip {
    width: clamp(148px, 43vw, 172px) !important;
    flex: 0 0 clamp(148px, 43vw, 172px) !important;
    border-radius: 12px;
    scroll-snap-align: start;
  }

  .bani-vk-clips__heading {
    margin-bottom: 14px;
  }

  .bani-vk-clips__heading .index-block__title {
    font-size: 22px;
    line-height: 1.25;
  }

  .bani-vk-clips__heading .social__items {
    margin-right: 10px;
  }

  .bani-vk-clips__heading .index-block__link {
    margin-left: 12px;
  }

  .bani-vk-clip__play {
    width: 42px !important;
    height: 42px !important;
  }

  .bani-vk-clips .bani-vk-clip__play.video-block__play--circle::after {
    width: 0;
    height: 0;
    border-top-width: 5px;
    border-bottom-width: 5px;
    border-left-width: 8px;
  }

  .bani-vk-clip__duration {
    right: 7px;
    bottom: 7px;
    padding: 3px 5px;
    font-size: 10px;
  }
}

@media (max-width: 480px) {
  .CATALOG_SECTIONS .index-block__title-wrapper--with-center-block {
    display: flex;
    align-items: flex-start;
  }

  .CATALOG_SECTIONS .index-block__part--left {
    flex: 1 1 auto;
    min-width: 0;
  }

  .CATALOG_SECTIONS .index-block__part--right {
    flex: 0 0 auto;
    max-width: 42%;
  }
}

/* Product cards: stock balances are not maintained on this site, therefore
   do not show either the stock status or the availability subtitle. */
.catalog-block .status-container,
.catalog-list .status-container,
.catalog-table .status-container,
.catalog-slider .status-container,
.catalog-block .preview_text,
.catalog-list .preview_text,
.catalog-table .preview_text,
.catalog-slider .preview_text {
  display: none !important;
}

/* Hide the unavailable status in every rendering context, including product
   details, search results, popovers and content loaded after page startup. */
.status-container.nostock,
.js-replace-status.nostock {
  display: none !important;
}

/* Store details below the desktop catalog navigation. */
.left-column-contact-wrap {
  margin-top: auto;
}

.left-column-contact {
  position: relative;
  padding: 20px;
}

.left-column-contact::before {
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: var(--stroke_black);
  content: "";
}

.left-column-contact__row + .left-column-contact__row {
  margin-top: 12px;
}

.left-column-contact__label {
  margin-bottom: 3px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.left-column-contact__phone {
  display: inline-block;
  margin-top: 14px;
}

/* Desktop catalog dropdown: use a viewport-wide backdrop and let its height
   follow the menu content instead of creating an inner scrollbar. */
@media (min-width: 992px) {
  .header-menu__link--only-catalog ~ .header-menu__dropdown-menu {
    right: auto;
    left: 50%;
    width: 100vw;
    max-width: none;
    transform: translateX(-50%);
  }

  .header-menu__link--only-catalog
    ~ .header-menu__dropdown-menu
    > .header-menu__wide-limiter.scrollbar {
    min-height: 0;
    max-height: none;
    overflow: visible;
  }
}

/* Gift certificate page. */
.gift-certificate-page {
  --gift-green: var(--theme-more-color, #13a538);
  --gift-brown: #731c04;
  --gift-dark: #2b241f;
  --gift-muted: #6c645f;
  --gift-cream: #f8f5ef;
  padding-bottom: 72px;
  color: var(--gift-dark);
}

.gift-certificate-page h1,
.gift-certificate-page h2,
.gift-certificate-page h3,
.gift-certificate-page p {
  margin-top: 0;
}

.gift-certificate-page__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(420px, 0.97fr);
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(115, 28, 4, 0.09);
  border-radius: 24px;
  background:
    radial-gradient(circle at 8% 12%, rgba(19, 165, 56, 0.09), transparent 28%),
    var(--gift-cream);
  box-shadow: 0 22px 65px rgba(65, 43, 27, 0.11);
}

.gift-certificate-page__hero-content {
  display: flex;
  padding: 64px 58px;
  flex-direction: column;
  justify-content: center;
}

.gift-certificate-page__eyebrow {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
  color: var(--gift-green);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.gift-certificate-page__eyebrow::before {
  width: 42px;
  height: 4px;
  border-radius: 10px;
  background: var(--gift-green);
  content: "";
}

.gift-certificate-page__hero h1 {
  max-width: 680px;
  margin-bottom: 22px;
  font-size: clamp(38px, 3.5vw, 58px);
  line-height: 1.06;
  letter-spacing: -0.035em;
}

.gift-certificate-page__lead {
  max-width: 650px;
  margin-bottom: 30px;
  color: var(--gift-muted);
  font-size: 19px;
  line-height: 1.6;
}

.gift-certificate-page__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.gift-certificate-page .gift-certificate-page__primary-button,
.gift-certificate-page .gift-certificate-page__bottom-button {
  min-height: 52px;
  padding: 14px 24px;
  border: 1px solid var(--gift-green);
  border-radius: 10px;
  background: var(--gift-green);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.gift-certificate-page .gift-certificate-page__primary-button:hover,
.gift-certificate-page .gift-certificate-page__bottom-button:hover {
  border-color: #10862e;
  background: #10862e;
  color: #fff;
}

.gift-certificate-page .gift-certificate-page__phone-button {
  min-height: 52px;
  padding: 14px 22px;
  border: 1px solid rgba(43, 36, 31, 0.18);
  border-radius: 10px;
  background: transparent;
  color: var(--gift-dark);
  font-weight: 600;
}

.gift-certificate-page__store-note {
  max-width: 580px;
  margin-top: 22px;
  padding: 15px 18px;
  border-left: 4px solid var(--gift-green);
  border-radius: 0 10px 10px 0;
  background: rgba(255, 255, 255, 0.7);
  color: var(--gift-muted);
  font-size: 14px;
  line-height: 1.5;
}

.gift-certificate-page__store-note strong {
  display: block;
  margin-bottom: 2px;
  color: var(--gift-dark);
  font-size: 15px;
}

.gift-certificate-page__hero-image {
  position: relative;
  min-height: 100%;
}

.gift-certificate-page__hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}

.gift-certificate-page__image-badge {
  position: absolute;
  right: 26px;
  bottom: 26px;
  display: flex;
  min-width: 220px;
  padding: 16px 20px;
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 30px rgba(43, 36, 31, 0.16);
  flex-direction: column;
  backdrop-filter: blur(8px);
}

.gift-certificate-page__image-badge span {
  color: var(--gift-muted);
  font-size: 13px;
}

.gift-certificate-page__image-badge strong {
  margin-top: 2px;
  color: var(--gift-dark);
  font-size: 18px;
}

.gift-certificate-page__section {
  padding-top: 82px;
}

.gift-certificate-page__section-heading {
  max-width: 820px;
  margin-bottom: 34px;
}

.gift-certificate-page__section-heading h2,
.gift-certificate-page__bottom-cta h2 {
  margin-bottom: 0;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.gift-certificate-page__advantages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.gift-certificate-page__card {
  min-height: 220px;
  padding: 30px;
  border: 1px solid rgba(43, 36, 31, 0.1);
  border-radius: 18px;
  background: #fff;
}

.gift-certificate-page__card-icon {
  display: grid;
  width: 50px;
  height: 50px;
  margin-bottom: 32px;
  border-radius: 50%;
  background: rgba(19, 165, 56, 0.1);
  color: var(--gift-green);
  font-size: 24px;
  font-weight: 700;
  place-items: center;
}

.gift-certificate-page__card h3,
.gift-certificate-page__step h3 {
  margin-bottom: 10px;
  font-size: 22px;
  line-height: 1.2;
}

.gift-certificate-page__card p,
.gift-certificate-page__step p {
  margin-bottom: 0;
  color: var(--gift-muted);
  font-size: 16px;
  line-height: 1.6;
}

.gift-certificate-page__how {
  display: grid;
  grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);
  gap: 64px;
}

.gift-certificate-page__section-copy {
  max-width: 600px;
  margin: 18px 0 0;
  color: var(--gift-muted);
  font-size: 17px;
  line-height: 1.65;
}

.gift-certificate-page__steps {
  display: grid;
  gap: 14px;
}

.gift-certificate-page__step {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 20px;
  padding: 24px;
  border-radius: 16px;
  background: var(--gift-cream);
}

.gift-certificate-page__step > span {
  display: grid;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--gift-green);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  place-items: center;
}

.gift-certificate-page__occasion {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 60px;
  margin-top: 82px;
  padding: 46px 50px;
  border-radius: 22px;
  background:
    linear-gradient(115deg, rgba(19, 165, 56, 0.08), rgba(255, 255, 255, 0.7)),
    var(--gift-cream);
  align-items: center;
}

.gift-certificate-page__occasion h2 {
  margin-bottom: 0;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.gift-certificate-page__occasion-list {
  display: grid;
  gap: 12px;
}

.gift-certificate-page__occasion-list span {
  position: relative;
  padding: 16px 18px 16px 50px;
  border: 1px solid rgba(43, 36, 31, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--gift-dark);
  font-size: 16px;
  font-weight: 600;
}

.gift-certificate-page__occasion-list span::before {
  position: absolute;
  top: 50%;
  left: 18px;
  display: grid;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--gift-green);
  color: #fff;
  font-size: 13px;
  content: "✓";
  place-items: center;
  transform: translateY(-50%);
}

.gift-certificate-page__faq-list {
  border-top: 1px solid rgba(43, 36, 31, 0.12);
}

.gift-certificate-page__faq-list details {
  border-bottom: 1px solid rgba(43, 36, 31, 0.12);
}

.gift-certificate-page__faq-list summary {
  position: relative;
  padding: 24px 54px 24px 0;
  cursor: pointer;
  font-size: 19px;
  font-weight: 650;
  list-style: none;
}

.gift-certificate-page__faq-list summary::-webkit-details-marker {
  display: none;
}

.gift-certificate-page__faq-list summary::after {
  position: absolute;
  top: 22px;
  right: 10px;
  color: var(--gift-green);
  font-size: 28px;
  font-weight: 400;
  content: "+";
}

.gift-certificate-page__faq-list details[open] summary::after {
  content: "−";
}

.gift-certificate-page__faq-list details p {
  max-width: 920px;
  padding: 0 54px 24px 0;
  color: var(--gift-muted);
  font-size: 16px;
  line-height: 1.65;
}

.gift-certificate-page__bottom-cta {
  display: flex;
  gap: 32px;
  margin-top: 82px;
  padding: 44px 48px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.09), transparent 28%),
    var(--gift-brown);
  color: #fff;
  align-items: center;
  justify-content: space-between;
}

.gift-certificate-page__bottom-cta .gift-certificate-page__eyebrow {
  color: #9ff2b2 !important;
}

.gift-certificate-page__bottom-cta .gift-certificate-page__eyebrow::before {
  background: #8ee7a3;
}

.gift-certificate-page__bottom-cta p {
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 16px;
}

.gift-certificate-page__bottom-cta h2,
.gift-certificate-page__bottom-cta p {
  color: #fff !important;
}

.gift-certificate-page__bottom-button {
  flex: 0 0 auto;
  max-width: 280px;
  text-align: center;
  white-space: normal;
}

@media (max-width: 991px) {
  .gift-certificate-page__hero {
    grid-template-columns: 1fr;
  }

  .gift-certificate-page__hero-content {
    padding: 46px 36px;
  }

  .gift-certificate-page__hero-image {
    min-height: 420px;
  }

  .gift-certificate-page__how {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .gift-certificate-page__occasion {
    grid-template-columns: 1fr;
    gap: 26px;
  }
}

@media (max-width: 767px) {
  .gift-certificate-page {
    padding-bottom: 44px;
  }

  .gift-certificate-page__hero {
    border-radius: 16px;
  }

  .gift-certificate-page__hero-content {
    padding: 34px 22px;
  }

  .gift-certificate-page__hero h1 {
    font-size: 38px;
  }

  .gift-certificate-page__lead {
    font-size: 17px;
  }

  .gift-certificate-page__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .gift-certificate-page__actions .btn {
    width: 100%;
  }

  .gift-certificate-page__hero-image {
    min-height: 270px;
  }

  .gift-certificate-page__section {
    padding-top: 56px;
  }

  .gift-certificate-page__advantages {
    grid-template-columns: 1fr;
  }

  .gift-certificate-page__card {
    min-height: 0;
    padding: 24px;
  }

  .gift-certificate-page__card-icon {
    margin-bottom: 22px;
  }

  .gift-certificate-page__step {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 16px;
    padding: 20px;
  }

  .gift-certificate-page__step > span {
    width: 46px;
    height: 46px;
  }

  .gift-certificate-page__bottom-cta {
    margin-top: 56px;
    padding: 32px 24px;
    align-items: stretch;
    flex-direction: column;
  }

  .gift-certificate-page__occasion {
    margin-top: 56px;
    padding: 32px 24px;
  }

  .gift-certificate-page__image-badge {
    right: 16px;
    bottom: 16px;
    min-width: 0;
  }

  .gift-certificate-page__bottom-button {
    width: 100%;
  }
}

/* Buyer information and legal pages */
.buyer-info-page,
.legal-doc-page {
  --bani-green: #13a538;
  --bani-green-dark: #0d7f2b;
  --bani-cream: #f7f4ef;
  --bani-warm: #ece4d8;
  --bani-dark: #27231f;
  --bani-muted: #746d66;
  --bani-line: rgba(39, 35, 31, 0.11);
  color: var(--bani-dark);
}

.buyer-info-page {
  padding-bottom: 72px;
}

.buyer-info-page h1,
.buyer-info-page h2,
.buyer-info-page h3,
.buyer-info-page p,
.legal-doc-page h1,
.legal-doc-page h2,
.legal-doc-page h3,
.legal-doc-page p {
  color: inherit;
}

.buyer-info-page__hero {
  display: grid;
  overflow: hidden;
  border-radius: 24px;
  background:
    radial-gradient(circle at 90% 12%, rgba(19, 165, 56, 0.16), transparent 33%),
    var(--bani-cream);
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
}

.buyer-info-page__hero-copy {
  padding: 64px 66px;
}

.buyer-info-page__eyebrow {
  display: flex;
  gap: 12px;
  color: var(--bani-green);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  align-items: center;
}

.buyer-info-page__eyebrow::before {
  width: 34px;
  height: 2px;
  background: currentColor;
  content: "";
}

.buyer-info-page__hero h1 {
  max-width: 820px;
  margin: 22px 0 24px;
  font-size: clamp(38px, 4.7vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.buyer-info-page__lead {
  max-width: 780px;
  margin: 0;
  color: var(--bani-muted) !important;
  font-size: 19px;
  line-height: 1.6;
}

.buyer-info-page__actions {
  display: flex;
  gap: 12px;
  margin-top: 34px;
  flex-wrap: wrap;
}

.buyer-info-page__actions .btn,
.buyer-info-page__bottom .btn {
  min-height: 48px;
  padding-right: 26px;
  padding-left: 26px;
}

.buyer-info-page__hero-aside {
  display: flex;
  padding: 50px 42px;
  border-left: 1px solid rgba(39, 35, 31, 0.08);
  background: rgba(255, 255, 255, 0.72);
  flex-direction: column;
  justify-content: center;
}

.buyer-info-page__hero-label {
  display: inline-flex;
  width: max-content;
  margin-bottom: 20px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(19, 165, 56, 0.1);
  color: var(--bani-green-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.buyer-info-page__hero-aside strong {
  font-size: 25px;
  line-height: 1.28;
}

.buyer-info-page__hero-aside p {
  margin: 16px 0 0;
  color: var(--bani-muted) !important;
  line-height: 1.6;
}

.buyer-info-page__section {
  padding-top: 78px;
}

.buyer-info-page__heading {
  max-width: 880px;
  margin-bottom: 34px;
}

.buyer-info-page__heading h2,
.buyer-info-page__notice h2,
.buyer-info-page__bottom h2 {
  margin: 16px 0 0;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.buyer-info-page__cards {
  display: grid;
  gap: 18px;
}

.buyer-info-page__cards--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.buyer-info-page__cards--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.buyer-info-page__card {
  position: relative;
  min-height: 330px;
  padding: 34px;
  border: 1px solid var(--bani-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(45, 37, 31, 0.05);
}

.buyer-info-page__card-mark {
  display: grid;
  width: 48px;
  height: 48px;
  margin-bottom: 50px;
  border-radius: 50%;
  background: var(--bani-green);
  color: #fff;
  font-size: 13px;
  font-weight: 750;
  place-items: center;
}

.buyer-info-page__card h3 {
  margin: 0 0 14px;
  font-size: 24px;
  line-height: 1.25;
}

.buyer-info-page__card p {
  margin: 0;
  color: var(--bani-muted) !important;
  font-size: 16px;
  line-height: 1.65;
}

.buyer-info-page__card a {
  display: inline-block;
  margin-top: 22px;
  color: var(--bani-green);
  font-weight: 650;
}

.buyer-info-page__card-note {
  display: block;
  margin-top: 22px;
  color: var(--bani-green-dark);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.buyer-info-page__process {
  display: grid;
  gap: 58px;
  grid-template-columns: minmax(280px, 0.65fr) minmax(0, 1.35fr);
}

.buyer-info-page__steps {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.buyer-info-page__steps li {
  display: grid;
  gap: 20px;
  padding: 24px 26px;
  border: 1px solid var(--bani-line);
  border-radius: 15px;
  background: #fff;
  grid-template-columns: 46px minmax(0, 1fr);
}

.buyer-info-page__steps li > span {
  display: grid;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--bani-cream);
  color: var(--bani-green);
  font-weight: 750;
  place-items: center;
}

.buyer-info-page__steps h3 {
  margin: 1px 0 7px;
  font-size: 19px;
}

.buyer-info-page__steps p {
  margin: 0;
  color: var(--bani-muted) !important;
  line-height: 1.55;
}

.buyer-info-page__steps--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.buyer-info-page__steps--three li {
  grid-template-columns: 1fr;
}

.buyer-info-page__notice {
  display: grid;
  gap: 48px;
  margin-top: 78px;
  padding: 46px 50px;
  border-radius: 22px;
  background:
    linear-gradient(120deg, rgba(19, 165, 56, 0.08), rgba(255, 255, 255, 0.7)),
    var(--bani-cream);
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  align-items: center;
}

.buyer-info-page__notice > p,
.buyer-info-page__notice > ul {
  margin: 0;
  color: var(--bani-muted) !important;
  font-size: 16px;
  line-height: 1.7;
}

.buyer-info-page__notice > ul {
  display: grid;
  gap: 12px;
  padding-left: 22px;
}

.buyer-info-page__claim-contacts {
  display: grid;
  gap: 14px;
}

.buyer-info-page__claim-contacts p {
  margin: 0;
  padding: 15px 18px;
  border: 1px solid var(--bani-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.84);
  line-height: 1.55;
}

.buyer-info-page__faq-list {
  border-top: 1px solid var(--bani-line);
}

.buyer-info-page__faq-list details {
  border-bottom: 1px solid var(--bani-line);
}

.buyer-info-page__faq-list summary {
  position: relative;
  padding: 23px 54px 23px 0;
  cursor: pointer;
  font-size: 19px;
  font-weight: 650;
  list-style: none;
}

.buyer-info-page__faq-list summary::-webkit-details-marker {
  display: none;
}

.buyer-info-page__faq-list summary::after {
  position: absolute;
  top: 18px;
  right: 10px;
  color: var(--bani-green);
  font-size: 28px;
  content: "+";
}

.buyer-info-page__faq-list details[open] summary::after {
  content: "−";
}

.buyer-info-page__faq-list details p {
  max-width: 960px;
  margin: 0;
  padding: 0 54px 23px 0;
  color: var(--bani-muted) !important;
  font-size: 16px;
  line-height: 1.65;
}

.buyer-info-page__bottom {
  display: flex;
  gap: 36px;
  margin-top: 78px;
  padding: 44px 48px;
  border-radius: 22px;
  background: var(--bani-dark);
  color: #fff;
  align-items: center;
  justify-content: space-between;
}

.buyer-info-page__bottom .buyer-info-page__eyebrow {
  color: #75dc8e;
}

.buyer-info-page__bottom p {
  margin: 13px 0 0;
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 16px;
}

/* Legal documents */
.legal-doc-page {
  max-width: 1120px;
  margin: 0 auto;
  padding-bottom: 74px;
}

.legal-doc-page__header {
  margin-bottom: 34px;
  padding: 54px 58px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 10%, rgba(19, 165, 56, 0.15), transparent 30%),
    var(--bani-cream);
}

.legal-doc-page__header h1 {
  max-width: 930px;
  margin: 20px 0 20px;
  font-size: clamp(38px, 4.5vw, 58px);
  line-height: 1.07;
  letter-spacing: -0.04em;
}

.legal-doc-page__header p {
  max-width: 860px;
  margin: 0;
  color: var(--bani-muted) !important;
  font-size: 18px;
  line-height: 1.6;
}

.legal-doc-page__operator {
  display: grid;
  gap: 6px;
  margin-bottom: 34px;
  padding: 28px 32px;
  border-left: 4px solid var(--bani-green);
  border-radius: 0 15px 15px 0;
  background: #fff;
  box-shadow: 0 12px 40px rgba(45, 37, 31, 0.06);
}

.legal-doc-page__operator strong {
  margin-bottom: 6px;
  font-size: 18px;
}

.legal-doc-page__toc {
  display: grid;
  gap: 9px;
  margin-bottom: 40px;
  padding: 28px 32px;
  border: 1px solid var(--bani-line);
  border-radius: 15px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.legal-doc-page__toc strong {
  margin-bottom: 5px;
  grid-column: 1 / -1;
}

.legal-doc-page__toc a {
  color: var(--bani-green-dark);
}

.legal-doc-page > section {
  padding: 30px 6px;
  border-bottom: 1px solid var(--bani-line);
  scroll-margin-top: 110px;
}

.legal-doc-page > section h2 {
  margin: 0 0 18px;
  font-size: 28px;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.legal-doc-page > section h3 {
  margin: 0 0 10px;
  font-size: 20px;
}

.legal-doc-page > section p,
.legal-doc-page > section li {
  color: #56504a;
  font-size: 16px;
  line-height: 1.72;
}

.legal-doc-page > section p {
  margin: 0 0 14px;
}

.legal-doc-page > section p:last-child {
  margin-bottom: 0;
}

.legal-doc-page > section ul {
  display: grid;
  gap: 8px;
  margin: 14px 0;
}

.legal-doc-page__table-wrap {
  overflow-x: auto;
  border: 1px solid var(--bani-line);
  border-radius: 14px;
}

.legal-doc-page table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.legal-doc-page th,
.legal-doc-page td {
  padding: 16px 18px;
  border-bottom: 1px solid var(--bani-line);
  text-align: left;
  vertical-align: top;
}

.legal-doc-page th {
  background: var(--bani-cream);
  color: var(--bani-dark);
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.legal-doc-page td {
  color: #56504a;
  font-size: 14px;
  line-height: 1.55;
}

.legal-doc-page__cookie-types,
.legal-doc-page__document-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.legal-doc-page__cookie-types article {
  padding: 24px;
  border: 1px solid var(--bani-line);
  border-radius: 14px;
}

.legal-doc-page__cookie-types article > span {
  color: var(--bani-green-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.legal-doc-page__cookie-reset {
  margin-top: 10px;
}

.legal-doc-page__document-grid a {
  display: flex;
  min-height: 220px;
  padding: 30px;
  border: 1px solid var(--bani-line);
  border-radius: 17px;
  background: #fff;
  color: var(--bani-dark);
  box-shadow: 0 16px 44px rgba(45, 37, 31, 0.05);
  flex-direction: column;
}

.legal-doc-page__document-grid a:hover {
  border-color: rgba(19, 165, 56, 0.45);
  color: var(--bani-dark);
  transform: translateY(-2px);
}

.legal-doc-page__document-grid a > span {
  margin-bottom: auto;
  color: var(--bani-green);
  font-weight: 750;
}

.legal-doc-page__document-grid strong {
  margin: 32px 0 10px;
  font-size: 20px;
  line-height: 1.3;
}

.legal-doc-page__document-grid small {
  color: var(--bani-muted);
  font-size: 14px;
  line-height: 1.5;
}

.legal-doc-page__requisites-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.legal-doc-page__requisites-grid dl {
  margin: 0;
  padding: 30px;
  border: 1px solid var(--bani-line);
  border-radius: 17px;
}

.legal-doc-page__requisites-grid dl > div {
  padding: 17px 0;
  border-bottom: 1px solid var(--bani-line);
}

.legal-doc-page__requisites-grid dl > div:last-child {
  border-bottom: 0;
}

.legal-doc-page__requisites-grid dt {
  margin-bottom: 6px;
  color: var(--bani-muted);
  font-size: 13px;
}

.legal-doc-page__requisites-grid dd {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
}

.legal-doc-page__callout {
  margin-top: 28px;
  padding: 36px !important;
  border: 0 !important;
  border-radius: 17px;
  background: var(--bani-cream);
}

/* Cookie choice */
.bani-cookie[hidden] {
  display: none !important;
}

.bani-cookie {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 10020;
  display: flex;
  width: min(720px, calc(100vw - 48px));
  gap: 26px;
  padding: 24px;
  border: 1px solid rgba(39, 35, 31, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 70px rgba(25, 21, 18, 0.22);
  align-items: center;
}

.bani-cookie__copy {
  min-width: 0;
  flex: 1 1 auto;
}

.bani-cookie__copy strong {
  display: block;
  margin-bottom: 6px;
  color: #27231f;
  font-size: 18px;
}

.bani-cookie__copy p {
  margin: 0;
  color: #746d66;
  font-size: 13px;
  line-height: 1.55;
}

.bani-cookie__actions {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
  flex-direction: column-reverse;
}

.bani-cookie__actions .btn {
  min-width: 180px;
  min-height: 42px;
  padding: 0 18px;
  font-size: 13px;
}

.bani-external-content {
  position: relative;
  display: grid;
  min-height: 300px;
  background: #f7f4ef;
  place-items: center;
}

.bani-external-content iframe {
  position: absolute !important;
  inset: 0;
}

.bani-external-content__placeholder {
  display: flex;
  max-width: 480px;
  gap: 10px;
  padding: 32px;
  color: #27231f;
  text-align: center;
  flex-direction: column;
  align-items: center;
}

.bani-external-content__placeholder span {
  margin-bottom: 8px;
  color: #746d66;
}

.bani-external-content.is-loaded .bani-external-content__placeholder {
  display: none;
}

@media (max-width: 991px) {
  .buyer-info-page__hero,
  .buyer-info-page__process,
  .buyer-info-page__notice {
    grid-template-columns: 1fr;
  }

  .buyer-info-page__hero-aside {
    border-top: 1px solid rgba(39, 35, 31, 0.08);
    border-left: 0;
  }

  .buyer-info-page__cards--three,
  .buyer-info-page__steps--three,
  .legal-doc-page__cookie-types,
  .legal-doc-page__document-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .buyer-info-page__card {
    min-height: 300px;
  }
}

@media (max-width: 767px) {
  .buyer-info-page {
    padding-bottom: 46px;
  }

  .buyer-info-page__hero {
    border-radius: 16px;
  }

  .buyer-info-page__hero-copy,
  .buyer-info-page__hero-aside {
    padding: 34px 22px;
  }

  .buyer-info-page__hero h1 {
    font-size: 38px;
  }

  .buyer-info-page__lead {
    font-size: 17px;
  }

  .buyer-info-page__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .buyer-info-page__actions .btn {
    width: 100%;
  }

  .buyer-info-page__section {
    padding-top: 56px;
  }

  .buyer-info-page__cards--three,
  .buyer-info-page__cards--two,
  .buyer-info-page__steps--three,
  .legal-doc-page__cookie-types,
  .legal-doc-page__document-grid,
  .legal-doc-page__requisites-grid {
    grid-template-columns: 1fr;
  }

  .buyer-info-page__card {
    min-height: 0;
    padding: 26px;
  }

  .buyer-info-page__card-mark {
    margin-bottom: 28px;
  }

  .buyer-info-page__notice {
    gap: 25px;
    margin-top: 56px;
    padding: 32px 24px;
  }

  .buyer-info-page__bottom {
    margin-top: 56px;
    padding: 32px 24px;
    align-items: stretch;
    flex-direction: column;
  }

  .legal-doc-page {
    padding-bottom: 48px;
  }

  .legal-doc-page__header {
    padding: 36px 24px;
    border-radius: 16px;
  }

  .legal-doc-page__header h1 {
    font-size: 38px;
  }

  .legal-doc-page__operator,
  .legal-doc-page__toc {
    padding: 24px;
  }

  .legal-doc-page__toc {
    grid-template-columns: 1fr;
  }

  .legal-doc-page > section {
    padding: 26px 2px;
  }

  .bani-cookie {
    right: 12px;
    bottom: 12px;
    width: calc(100vw - 24px);
    gap: 16px;
    padding: 18px;
    align-items: stretch;
    flex-direction: column;
  }

  .bani-cookie__actions {
    width: 100%;
    flex-direction: column-reverse;
  }

  .bani-cookie__actions .btn {
    width: 100%;
  }
}

/* Legal pages and buyer information: responsive reliability */
.legal-doc-page,
.legal-doc-page *,
.buyer-info-page,
.buyer-info-page * {
  box-sizing: border-box;
}

/* Footer service links: keep legal shortcuts readable at every width. */
.footer__license {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
}

.footer__license > a {
	display: inline-flex;
	line-height: 1.45;
}

@media (max-width: 767px) {
	.footer__license {
		gap: 8px 14px;
	}
}

.legal-doc-page,
.legal-doc-page__header,
.legal-doc-page__operator,
.legal-doc-page__toc,
.legal-doc-page__document-grid,
.legal-doc-page__requisites-grid,
.legal-doc-page__table-wrap,
.buyer-info-page,
.buyer-info-page__hero,
.buyer-info-page__hero-copy,
.buyer-info-page__hero-aside {
  min-width: 0;
}

.legal-doc-page__operator > * {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.legal-doc-page__toc a {
  display: flex;
  min-height: 48px;
  padding: 12px 15px;
  border: 1px solid var(--bani-line);
  border-radius: 10px;
  background: #fff;
  line-height: 1.35;
  text-decoration: none;
  align-items: center;
}

.legal-doc-page__toc a:hover {
  border-color: rgba(19, 165, 56, 0.45);
}

.legal-doc-page__requisites-grid dd,
.legal-doc-page__operator,
.legal-doc-page td,
.legal-doc-page p,
.legal-doc-page li {
  overflow-wrap: anywhere;
}

@media (max-width: 767px) {
  .legal-doc-page__header {
    margin-bottom: 22px;
    padding: 30px 22px;
  }

  .legal-doc-page__header h1 {
    margin: 16px 0;
    font-size: 34px;
    line-height: 1.08;
    letter-spacing: -0.035em;
  }

  .legal-doc-page__header p {
    font-size: 16px;
    line-height: 1.55;
  }

  .legal-doc-page__operator {
    gap: 9px;
    margin-bottom: 24px;
    padding: 22px 20px;
    border-left-width: 3px;
    font-size: 15px;
    line-height: 1.5;
  }

  .legal-doc-page__operator strong {
    margin-bottom: 3px;
    font-size: 17px;
  }

  .legal-doc-page__toc {
    gap: 9px;
    margin-bottom: 28px;
    padding: 0;
    border: 0;
  }

  .legal-doc-page__toc strong {
    margin-bottom: 4px;
    font-size: 17px;
  }

  .legal-doc-page__toc a {
    min-height: 0;
    padding: 13px 14px;
    border-radius: 10px;
    font-size: 15px;
  }

  .legal-doc-page > section {
    padding: 25px 0;
  }

  .legal-doc-page > section h2 {
    margin-bottom: 15px;
    font-size: 24px;
    line-height: 1.25;
  }

  .legal-doc-page > section h3 {
    font-size: 19px;
  }

  .legal-doc-page > section p,
  .legal-doc-page > section li {
    font-size: 15px;
    line-height: 1.65;
  }

  .legal-doc-page__document-grid {
    gap: 12px;
  }

  .legal-doc-page__document-grid a {
    min-height: 0;
    padding: 22px;
    border-radius: 14px;
  }

  .legal-doc-page__document-grid a > span {
    margin-bottom: 18px;
  }

  .legal-doc-page__document-grid strong {
    margin: 0 0 8px;
    font-size: 18px;
  }

  .legal-doc-page__document-grid small {
    font-size: 14px;
  }

  .legal-doc-page__requisites-grid {
    gap: 14px;
  }

  .legal-doc-page__requisites-grid dl {
    padding: 18px 20px;
    border-radius: 14px;
  }

  .legal-doc-page__requisites-grid dl > div {
    padding: 14px 0;
  }

  .legal-doc-page__requisites-grid dt {
    margin-bottom: 5px;
    font-size: 12px;
    font-weight: 650;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .legal-doc-page__requisites-grid dd {
    font-size: 15px;
    line-height: 1.5;
  }

  .legal-doc-page__table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
  }

  .legal-doc-page table,
  .legal-doc-page tbody,
  .legal-doc-page tr,
  .legal-doc-page td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .legal-doc-page thead {
    display: none;
  }

  .legal-doc-page tbody {
    display: grid;
    gap: 12px;
  }

  .legal-doc-page tr {
    overflow: hidden;
    border: 1px solid var(--bani-line);
    border-radius: 13px;
    background: #fff;
  }

  .legal-doc-page td {
    padding: 13px 16px;
    border: 0;
    border-bottom: 1px solid var(--bani-line);
    font-size: 14px;
    line-height: 1.5;
  }

  .legal-doc-page td:last-child {
    border-bottom: 0;
  }

  .legal-doc-page td::before {
    display: block;
    margin-bottom: 4px;
    color: var(--bani-muted);
    content: attr(data-label);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .legal-doc-page__cookie-types article {
    padding: 20px;
  }

  .legal-doc-page__callout {
    padding: 26px 22px !important;
  }

  .legal-doc-page__callout .btn {
    width: 100%;
  }

  .buyer-info-page__hero {
    display: grid;
    overflow: hidden;
    background:
      radial-gradient(circle at 92% 5%, rgba(19, 165, 56, 0.16), transparent 35%),
      var(--bani-cream);
  }

  .buyer-info-page__hero-copy,
  .buyer-info-page__hero-aside {
    display: block;
  }

  .buyer-info-page__hero h1 {
    font-size: 36px;
    line-height: 1.08;
  }

  .buyer-info-page__hero-aside strong {
    display: block;
  }

  .buyer-info-page__heading h2,
  .buyer-info-page__notice h2,
  .buyer-info-page__bottom h2 {
    font-size: 32px;
  }
}
