html {
  scroll-padding-block-start: calc(var(--sg-site-nav-height, 0px) + var(--sg-category-height, 0px));
}

.sg-site-nav-bar {
  flex: none;
  border-block: 1px solid var(--sg-line);
  background: var(--sg-surface);
  color: var(--sg-text);
  transition: box-shadow var(--sg-motion-enter);
}

.sg-site-header[data-sticky-ready] {
  position: sticky;
  inset-block-start: calc(-1 * var(--sg-header-top-height, 0px));
  z-index: 990;
}

.sg-site-header.is-stuck .sg-site-nav-bar { box-shadow: var(--sg-shadow-soft); }

.sg-site-nav-bar__inner {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--sg-space-xs);
  min-height: 56px;
}

.sg-site-nav { flex: 1; min-width: 0; }
.sg-site-nav ul { margin: 0; padding: 0; list-style: none; }
.sg-site-nav__row { display: flex; align-items: stretch; }
.sg-site-nav :is(a, button),
.sg-site-nav-bar :is(.sg-site-nav-bar__cart, .sg-site-nav__toggle) {
  min-height: 46px;
  border: 0;
  border-radius: var(--sg-radius-sm);
  background: transparent;
  color: inherit;
  text-align: start;
  text-decoration: none;
  touch-action: manipulation;
}

.sg-site-nav button { font: inherit; cursor: pointer; }
.sg-site-nav :is(a, button):focus-visible,
.sg-site-nav-bar :is(.sg-site-nav-bar__cart, .sg-site-nav__toggle):focus-visible { outline-offset: -3px; }

.sg-site-nav :is(.sg-site-nav__link, button),
.sg-site-nav-bar .sg-site-nav-bar__cart {
  display: inline-flex;
  align-items: center;
  font-size: var(--sg-font-small);
  font-weight: 600;
  line-height: 1.3;
}

.sg-site-nav :is(.sg-site-nav__link, .sg-site-nav__disclosure--label) {
  padding-inline: var(--sg-space-sm);
}

.sg-site-nav-bar .sg-site-nav__toggle {
  display: grid;
  place-items: center;
  width: var(--sg-control-height);
  padding: 0;
  color: var(--sg-brand-strong);
  cursor: pointer;
}
.sg-site-nav-bar .sg-site-nav__toggle[hidden] { display: none; }
.sg-site-nav__toggle svg, .sg-site-nav-bar__cart svg { width: 22px; height: 22px; flex: none; }
.sg-site-nav__menu-line {
  transform-origin: 12px 12px;
  transition: transform var(--sg-motion-enter), opacity var(--sg-motion-press);
}
.sg-site-nav__toggle[aria-expanded="true"] .sg-site-nav__menu-line:first-child { transform: rotate(45deg) translateY(6px); }
.sg-site-nav__toggle[aria-expanded="true"] .sg-site-nav__menu-line:nth-child(2) { opacity: 0; }
.sg-site-nav__toggle[aria-expanded="true"] .sg-site-nav__menu-line:last-child { transform: rotate(-45deg) translateY(-6px); }
.sg-site-nav__disclosure { justify-content: center; min-width: 32px; padding: 0; }
.sg-site-nav__disclosure svg { width: 16px; height: 16px; flex: none; transition: transform var(--sg-motion-enter); }
.sg-site-nav__disclosure[aria-expanded="true"] svg { transform: rotate(180deg); }
.sg-site-nav__disclosure--label { gap: var(--sg-space-xs); }

.sg-site-nav__row:has([aria-expanded="true"]),
.sg-site-nav :is([aria-current="page"], button[aria-expanded="true"]) {
  border-radius: var(--sg-radius-sm);
  background: var(--sg-surface-soft);
  color: var(--sg-brand-strong);
}

.sg-site-nav .sg-site-nav__subitems { padding: var(--sg-space-xs); }
.sg-site-nav__subitems a {
  display: flex;
  align-items: center;
  gap: var(--sg-space-xs);
  padding: var(--sg-space-xs) var(--sg-space-sm);
  font-size: var(--sg-font-small);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.sg-site-nav__subitems a::before {
  content: "";
  flex: 0 0 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sg-brand-soft);
}

.sg-site-nav-bar .sg-site-nav-bar__cart {
  position: relative;
  inset: auto;
  flex: none;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-block: 5px;
  color: var(--sg-brand-strong);
}

.sg-site-nav-bar__cart .header-cart__link-text {
  position: absolute;
  inset: 2px 2px auto auto;
  min-width: 16px;
  margin: 0;
  padding: 2px 4px;
  border-radius: 999px;
  background: var(--sg-brand-strong);
  font-size: var(--sg-font-eyebrow);
  line-height: 1.1;
  text-align: center;
}
.sg-site-nav-bar__cart .header-cart__link-text:empty { display: none; }
.sg-site-nav-bar__home {
  display: none;
  flex: 0 0 var(--sg-control-height);
  align-items: center;
  justify-content: center;
  min-height: var(--sg-control-height);
  margin-block: 5px;
  border-radius: var(--sg-radius-sm);
}

.sg-site-nav-bar__home img { display: block; }
.sg-site-nav-bar__home:hover { background: var(--sg-surface-soft); }
.sg-site-nav [hidden],
.sg-site-nav[data-ready] .sg-site-nav__fallback-label { display: none; }

@media (hover: hover) {
  .sg-site-nav :is(a, button):hover,
  .sg-site-nav-bar :is(.sg-site-nav-bar__cart, .sg-site-nav__toggle):hover {
    background: var(--sg-surface-soft);
    color: var(--sg-brand-strong);
  }
}

@media (min-width: 1000px) {
  .sg-site-header.is-stuck .sg-site-nav-bar__home { display: inline-flex; }
  .sg-site-nav__list { display: flex; flex-wrap: wrap; opacity: 1; translate: none; transition: none; }
  .sg-site-nav[data-ready] .sg-site-nav__list { justify-content: space-between; }
  .sg-site-nav__row { min-height: 56px; }
  .sg-site-nav__link:has(+ .sg-site-nav__disclosure) { padding-inline-end: 0; }

  .sg-site-nav[data-ready] .sg-site-nav__subitems {
    position: absolute;
    inset: 100% 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--sg-space-xs);
    max-height: 60vh;
    max-height: 60dvh;
    overflow: auto;
    overscroll-behavior: contain;
    padding: var(--sg-space-md);
    border: 1px solid var(--sg-line);
    border-radius: 0 0 var(--sg-radius-md) var(--sg-radius-md);
    background: var(--sg-surface);
    box-shadow: var(--sg-shadow);
  }
  .sg-site-nav[data-ready] .sg-site-nav__subitems[hidden] { display: none; }
  .sg-site-nav[data-ready] .sg-site-nav__subitems:not([hidden]) { z-index: 1; }
  .sg-site-nav__subitems a { height: 100%; background: var(--sg-surface-soft); }
  .sg-site-nav__subitems a:hover { background: var(--sg-line); }
}

@media (width < 1000px) {
  .sg-site-header {
    --sg-header-gutter: 20px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) var(--sg-control-height) var(--sg-control-height);
    align-items: center;
    gap: 0 4px;
    min-height: 58px;
    padding-inline: var(--sg-header-gutter);
    border-bottom: 1px solid var(--sg-line);
    background: var(--sg-surface);
    transition: box-shadow var(--sg-motion-enter);
  }
  .sg-site-header[data-sticky-ready] { inset-block-start: 0; }
  .sg-site-header.is-stuck { box-shadow: var(--sg-shadow-soft); }
  .sg-site-header :is(.sg-site-header__top, .sg-site-header__links, .sg-site-nav-bar, .sg-site-nav-bar__inner) { display: contents; }
  .sg-site-header .sg-site-header__logo { grid-column: 1; width: clamp(68px, 22vw, 96px); }
  .sg-site-header .header-city { grid-column: 2; justify-self: center; min-width: 0; }
  .sg-site-header .sg-site-header__contact { display: none; }
  .sg-site-header .sg-site-nav-bar__cart { grid-column: 3; }
  .sg-site-nav__toggle { grid-column: 4; }
  .sg-site-nav__toggle[aria-expanded="true"] { background: var(--sg-surface-soft); }
  .sg-site-nav { grid-column: 1 / -1; grid-row: 2; }
  .sg-site-nav[data-ready] { position: absolute; grid-area: auto; inset: 100% var(--sg-header-gutter) auto; }
  .sg-site-nav[data-ready] .sg-site-nav__list {
    max-height: 62vh;
    max-height: min(62dvh, max(120px, calc(var(--sg-nav-room, 100dvh) - var(--sg-space-xs))));
    overflow: auto;
    overscroll-behavior: contain;
    padding: var(--sg-space-xs);
    border: 1px solid var(--sg-line);
    border-radius: 0 0 var(--sg-radius-md) var(--sg-radius-md);
    background: var(--sg-surface);
    box-shadow: var(--sg-shadow);
  }

  .sg-site-nav__item + .sg-site-nav__item { border-top: 1px solid var(--sg-line); }
  .sg-site-nav__row { min-height: 48px; }
  .sg-site-nav__row > :is(.sg-site-nav__link, .sg-site-nav__disclosure--label) { flex: 1; }
  .sg-site-nav__disclosure { min-width: 48px; }
  .sg-site-nav__disclosure--label { justify-content: space-between; padding-inline-end: var(--sg-space-md); }
  .sg-site-nav .sg-site-nav__subitems {
    margin-block: 0 var(--sg-space-xs);
    border-radius: var(--sg-radius-sm);
    background: var(--sg-surface-soft);
    opacity: 1;
    translate: none;
    transition: none;
  }
}

.sg-content-nav .content-nav__wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sg-space-xs) var(--sg-space-lg);
  width: var(--sg-container-width);
  margin-inline: auto;
  padding: var(--sg-space-xs) 0;
  border-color: var(--sg-line);
}
.sg-content-nav .content-nav__wrapper::after { content: none; }
.sg-content-nav .content-nav__breadcrumbs {
  flex: 1 1 240px;
  min-width: 0;
  float: none;
  border: 0;
}
.sg-content-nav .breadcrumbs { padding: 0; }
.sg-content-nav .breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  white-space: normal;
}
.sg-content-nav .breadcrumbs__item {
  flex: 0 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}
.sg-content-nav .breadcrumbs__item:last-child { padding-inline-end: 0; }
.sg-content-nav .content-nav__pages {
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--sg-space-xs) var(--sg-space-md);
  min-width: 0;
  max-width: 100%;
  float: none;
}
.sg-content-nav .flex-container__delivery { width: auto; }
.sg-content-nav .delivery { margin: 0; text-align: start; }
.sg-content-nav .delivery__link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  height: auto;
  padding: 0;
  background: none;
  color: var(--sg-brand-strong);
  font-size: var(--sg-font-small);
  text-underline-offset: 4px;
}
.sg-content-nav .delivery__link:hover { text-decoration: underline; }
.sg-content-nav .inner-menu { min-width: 0; padding: 0; }
.sg-content-nav .inner-menu__items {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sg-space-xs);
  margin: 0;
  white-space: normal;
}
.sg-content-nav .inner-menu__item { flex: 0 1 auto; margin: 0; }
.sg-content-nav .content-nav__pages:not(:has(> *)) { display: none; }

@media (max-width: 760px) {
  .sg-content-nav .content-nav__pages { justify-content: flex-start; }
}

.sg-site-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sg-space-md);
  padding-block: var(--sg-space-md);
}

.sg-site-header__logo { flex: none; width: 112px; }
.sg-site-header__logo img, .sg-site-footer__logo img { display: block; width: 100%; height: auto; }
.sg-site-header__links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  column-gap: var(--sg-space-lg);
  min-width: 0;
  font-size: var(--sg-font-small);
  font-weight: 400;
}

.sg-site-header__contact {
  display: inline-flex;
  align-items: center;
  min-height: var(--sg-control-height);
  color: var(--sg-text);
  text-decoration: none;
  white-space: nowrap;
}
.sg-site-header__contact:hover { color: var(--sg-brand-strong); text-decoration: underline; }

.sg-site-header .header-city {
  display: flex;
  align-items: center;
  min-height: var(--sg-control-height);
  max-width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  color: var(--sg-brand-strong);
}
.sg-site-header .header-city::before {
  flex: 0 0 20px;
  margin: 0 4px 0 0;
  background-position: center;
}
.sg-site-header .header-city__city {
  display: flex;
  min-width: 0;
  margin: 0;
  color: inherit;
}
.sg-site-header .header-city :is(select, .nice-select) {
  min-width: 0;
  min-height: var(--sg-control-height);
  margin: 0;
  padding-inline: 0 var(--sg-space-lg);
  color: inherit;
  font: inherit;
}
.sg-site-header .header-city select { appearance: auto; padding-inline-end: 0; }
.sg-site-header .header-city .nice-select { display: flex; align-items: center; }
.sg-site-header .header-city .nice-select::after { display: block; inset-inline-end: 7px; top: 50%; }
.sg-site-header .header-city .nice-select .list { inset-inline: auto 0; }


@media (width < 1000px) {
  .sg-site-header .header-city::before { flex-basis: 16px; margin-inline-end: 2px; background-size: 14px auto; }
  .sg-site-header .header-city :is(select, .nice-select) { max-width: 100%; font-size: var(--sg-font-note); }
  .sg-site-header .header-city .nice-select .current { overflow: hidden; text-overflow: ellipsis; }
  .sg-site-header .header-city .nice-select .list {
    position: fixed;
    inset: var(--sg-site-nav-height, 58px) var(--sg-header-gutter) auto;
    max-height: min(50dvh, 24rem);
    overflow: auto;
  }
}

.sg-site-footer {
  padding-block: var(--sg-section-space);
  background: var(--sg-brand-hover);
  color: var(--sg-surface);
  font-size: var(--sg-font-small);
  font-weight: 400;
  line-height: 1.5;
}
.sg-site-footer > .sg-container { padding-inline: var(--sg-space-lg); }
.sg-site-footer a { color: inherit; text-decoration: none; }
.sg-site-footer a:is(:hover, [aria-current="page"]) { text-decoration: underline; text-underline-offset: 4px; }
.sg-site-footer a:focus-visible { outline-color: currentColor; }
.sg-site-footer__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sg-space-lg);
  padding-bottom: var(--sg-space-lg);
  border-bottom: 1px solid rgba(255, 255, 255, .25);
}
.sg-site-footer__logo { display: block; width: 112px; }
.sg-site-footer__contacts { display: grid; justify-items: start; gap: 4px; }
.sg-site-footer__contacts a { color: var(--sg-line-strong); font-weight: 400; }
.sg-site-footer__nav { margin-top: var(--sg-space-xl); }
.sg-site-footer ul { margin: 0; padding: 0; list-style: none; }
.sg-site-footer__groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sg-space-xl) var(--sg-grid-gap); }
.sg-site-footer__title { display: inline-block; margin-bottom: var(--sg-space-xs); font-size: var(--sg-title-related-size); font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.sg-site-footer__links a { display: inline-block; padding-block: 5px; color: var(--sg-line-strong); font-weight: 350; overflow-wrap: anywhere; }
.sg-site-footer__links strong { font-weight: inherit; }
.sg-site-footer__links a:is(:hover, [aria-current="page"]) { color: var(--sg-surface); }

@media (max-width: 900px) {
  .sg-site-footer__groups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .sg-site-header { --sg-header-gutter: 16px; }
  .sg-site-footer > .sg-container { padding-inline: var(--sg-space-sm); }
  .sg-site-footer__top { gap: var(--sg-space-md); }
  .sg-site-footer__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sg-space-lg) var(--sg-grid-gap); }
}
