/* A roomier shared header and currency picker. Loaded after the page styles. */
.storefront .header-inner {
  height: 82px;
  min-height: 82px;
  gap: 16px;
}
.storefront .header-discovery .category-menu-button {
  flex: 1 1 0;
  justify-content: flex-start;
  width: auto;
  min-width: 150px;
  height: 48px;
  min-height: 48px;
  padding: 0 17px;
  gap: 11px;
  border-radius: 11px;
  font-size: 14px;
  box-shadow: 0 7px 18px rgba(170, 22, 41, .16);
}
.storefront .header-discovery .category-menu-button::after,
.storefront .legal-catalog-button::after,
.support-page .legal-catalog-button::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  margin-left: auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .22s ease;
}
.storefront .header-discovery .category-menu-button[aria-expanded="true"]::after {
  transform: translateY(2px) rotate(225deg);
}
.storefront a.category-menu-button::after,
.storefront a.legal-catalog-button::after,
.support-page a.legal-catalog-button::after { transform: rotate(-45deg); }
.storefront .header-primary .brand-mark { width: 35px; height: 35px; }
.storefront .header-primary .brand-name { font-size: 17px; }
.storefront .header-primary .header-tool,
.storefront .header-primary .header-cart { height: 42px; min-height: 42px; }
.storefront .locale-button {
  min-width: 118px;
  height: 44px;
  gap: 8px;
  padding: 0 11px;
  border-radius: 11px;
  border-color: #dce3e9;
  background: linear-gradient(180deg, #fff, #fafbfc);
  box-shadow: 0 3px 10px rgba(31, 44, 59, .045);
  font-size: 12px;
  transition: background .22s ease, border-color .22s ease,
    box-shadow .22s ease, transform .22s ease;
}
.storefront .locale-button:hover,
.storefront .locale-button[aria-expanded="true"] {
  border-color: #db8190;
  background: #fff6f7;
  box-shadow: 0 6px 18px rgba(197, 27, 45, .11);
}
.storefront .locale-button-globe {
  display: block;
  flex: none;
  width: 26px;
  height: 19px;
  border: 1px solid #d9e0e8;
  border-radius: 4px;
  background: #fff url('/assets/flag-ru.svg') center / cover no-repeat;
  box-shadow: 0 2px 5px rgba(27, 38, 53, .11);
}
.storefront .locale-button-globe svg { display: none; }
.storefront .locale-button[data-currency="RUB"] .locale-button-globe { background-image: url('/assets/flag-ru.svg'); }
.storefront .locale-button[data-currency="UAH"] .locale-button-globe { background-image: url('/assets/flag-uk.svg'); }
.storefront .locale-button[data-currency="KZT"] .locale-button-globe { background-image: url('/assets/flag-kk.svg'); }
.storefront .locale-button[data-currency="USD"] .locale-button-globe { background-image: url('/assets/flag-en.svg'); }
.storefront #localeButtonLabel { font-weight: 800; letter-spacing: -.015em; }
.storefront .locale-button > svg { margin-left: auto; }

.storefront .locale-menu {
  top: calc(100% + 20px);
  width: min(382px, calc(100vw - 24px));
  padding: 20px;
  overflow-x: hidden;
  overflow-y: auto;
  max-height: calc(100dvh - 98px);
  border: 1px solid #e3e8ed;
  border-radius: 17px;
  box-shadow: 0 22px 58px rgba(31, 39, 53, .2);
}
.storefront .locale-menu::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #8e1022, #c51b2d 60%, #e76070);
}
.storefront .locale-menu-heading { margin-bottom: 17px; padding-bottom: 15px; }
.storefront .locale-menu-heading strong { color: #1c2b3d; font-size: 18px; }
.storefront .locale-menu-heading span { color: #6f7e8d; font-size: 11px; }
.storefront .locale-menu-section + .locale-menu-section { margin-top: 19px; }
.storefront .locale-section-label {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
  color: #971829;
  font-size: 10px;
  letter-spacing: .1em;
}
.storefront .locale-section-label::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #c51b2d;
  box-shadow: 0 0 0 3px #fde9ec;
}
.storefront .locale-options,
.storefront .locale-currencies {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.storefront .locale-options button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  min-width: 0;
  min-height: 62px;
  padding: 10px 25px 10px 11px;
  border: 1px solid #e2e8ee;
  border-radius: 11px;
  background: #f9fafc;
  color: #26384c;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
  text-align: left;
  box-shadow: 0 2px 5px rgba(28, 41, 56, .025);
  transition: background .2s ease, border-color .2s ease,
    box-shadow .22s ease, transform .22s ease;
}
.storefront .locale-options button::before {
  content: "";
  display: block;
  flex: none;
  width: 26px;
  height: 19px;
  border: 1px solid #d9e0e8;
  border-radius: 4px;
  background: #fff center / cover no-repeat;
  box-shadow: 0 2px 5px rgba(27, 38, 53, .1);
}
.storefront .locale-options button[data-locale-currency="RUB"]::before { background-image: url('/assets/flag-ru.svg'); }
.storefront .locale-options button[data-locale-currency="UAH"]::before { background-image: url('/assets/flag-uk.svg'); }
.storefront .locale-options button[data-locale-currency="KZT"]::before { background-image: url('/assets/flag-kk.svg'); }
.storefront .locale-options button[data-locale-currency="USD"]::before { background-image: url('/assets/flag-en.svg'); }
.storefront .locale-options button::after {
  content: "";
  position: absolute;
  right: 9px;
  top: 9px;
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border: 1px solid #cad2da;
  border-radius: 50%;
  background: #fff;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}
.storefront .locale-options button:hover:not(:disabled) {
  border-color: #df8c9a;
  background: #fff6f7;
  box-shadow: 0 5px 13px rgba(164, 36, 55, .08);
  transform: translateY(-2px);
}
.storefront .locale-options button[aria-pressed="true"],
.storefront .locale-options button[aria-pressed="true"]:hover:not(:disabled) {
  border-color: #ce4257;
  background: #fff1f3;
  color: #92182a;
  box-shadow: 0 5px 14px rgba(197, 27, 45, .1);
}
.storefront .locale-options button[aria-pressed="true"]::after {
  content: "✓";
  border-color: #c51b2d;
  background: #c51b2d;
}
.storefront .locale-options button:active:not(:disabled) { transform: scale(.975); }
.storefront .locale-options button:focus-visible { outline: 3px solid #c51b2d; outline-offset: 2px; }
.storefront .locale-options button:disabled { background: #f4f5f7; opacity: .48; }
.storefront .locale-currencies button {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  grid-template-rows: 21px 17px;
  justify-content: start;
  align-content: center;
  column-gap: 9px;
  min-height: 64px;
  font-size: 19px;
  line-height: 1;
}
.storefront .locale-currencies button::before { grid-column: 1; grid-row: 1 / 3; align-self: center; }
.storefront .locale-currencies button span {
  grid-column: 2;
  grid-row: 2;
  color: #778596;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
}
.storefront .locale-currencies button[aria-pressed="true"] span { color: #a1394c; }

/* Keep the header focused on the category drawer; search sits with products. */
.storefront .category-mega .category-search-wrap,
.storefront .showcase-search { display: none !important; }
.storefront .category-mega-controls { display: flex; justify-content: flex-end; }
.storefront .category-mega .category-all { min-width: 135px; }
.storefront .header-discovery .header-search,
.storefront .legal-header-search,
.support-page .legal-header-search { display: none !important; }
.storefront .legal-catalog-button,
.support-page .legal-catalog-button {
  flex: 1 1 0;
  justify-content: flex-start;
  width: auto;
  min-width: 150px;
  height: 48px;
  min-height: 48px;
  padding: 0 17px;
  border-radius: 11px;
  font-size: 14px;
}

.storefront .catalog-toolbar {
  display: grid;
  grid-template-columns: minmax(100px, 1fr) minmax(220px, 2fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #e3e8ed;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(27, 42, 57, .04);
}
.storefront .catalog-toolbar-label { min-width: 0; font-size: 12px; }
.storefront .catalog-product-search {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-width: 0;
  height: 46px;
  padding: 0 15px;
  border: 1px solid #dce3e9;
  border-radius: 10px;
  background: #f7f9fb;
  color: #8997a7;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.storefront .catalog-product-search:focus-within {
  border-color: #c84b5e;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(197, 27, 45, .10);
}
.storefront .catalog-product-search svg { width: 19px; height: 19px; flex: none; }
.storefront .catalog-product-search input {
  flex: 1;
  width: 100%;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #253448;
  font: 600 14px var(--font);
}
.storefront .catalog-product-search input::placeholder { color: #929eaa; font-weight: 500; }
.storefront .catalog-toolbar .sort-wrap { height: 46px; margin: 0; }

/* Keep the menu aligned under the larger two-row header. */
@media (min-width: 801px) and (max-width: 1100px) {
  .storefront .header-inner { gap: 6px; }
  .storefront .header-primary .brand-mark { width: 31px; height: 31px; }
  .storefront .header-primary .brand-name { font-size: 14px; }
  .storefront .locale-button { min-width: 110px; gap: 6px; padding: 0 8px; }
}
@media (max-width: 900px) {
  .storefront .catalog-toolbar { grid-template-columns: minmax(0, 1fr) auto; }
  .storefront .catalog-toolbar-label { grid-column: 1; grid-row: 1; }
  .storefront .catalog-toolbar .sort-wrap { grid-column: 2; grid-row: 1; }
  .storefront .catalog-product-search { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 800px) {
  html { scrollbar-gutter: auto; }
  .storefront .header-inner {
    height: auto;
    min-height: 0;
    gap: 10px;
    padding-top: 11px;
    padding-bottom: 11px;
  }
  .storefront .header-primary { min-height: 48px; }
  .storefront .header-primary .brand-mark { width: 34px; height: 34px; }
  .storefront .header-primary .brand-name { font-size: clamp(12px, 3.5vw, 16px); }
  .storefront .header-primary .header-tool,
  .storefront .header-primary .header-cart { height: 48px; min-height: 48px; }
  .storefront .header-discovery { grid-template-columns: minmax(0, 1fr) 72px; }
  .storefront .header-discovery .category-menu-button {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    height: 48px;
    min-height: 48px;
    font-size: 14px;
  }
  .storefront .header-discovery .locale-switcher { grid-column: 2; grid-row: 1; }
  .storefront .header-discovery .locale-button {
    justify-content: center;
    width: 72px;
    min-width: 72px;
    height: 48px;
    padding: 0 7px;
    gap: 6px;
  }
  .storefront .header-discovery .locale-button-globe { display: block; width: 24px; height: 18px; }
  .storefront .header-discovery #localeButtonLabel,
  .storefront .header-discovery .locale-button > svg { display: none; }
  .storefront .header-discovery .locale-button::after {
    content: attr(data-currency-symbol);
    color: #9d1b2e;
    font-size: 14px;
    font-weight: 850;
    line-height: 1;
  }
  .storefront .category-mega {
    position: absolute;
    top: 100%;
    bottom: auto;
    height: calc(100dvh - 129px);
    max-height: calc(100dvh - 129px);
  }
  .storefront .header-discovery .locale-menu {
    top: calc(100% + 12px);
    max-height: calc(100dvh - 140px);
  }
  .storefront .category-mega-controls { display: flex; }
  .storefront .category-mega .category-all { width: 100%; min-width: 0; }
}
@media (max-width: 650px) {
  .storefront .header-discovery { grid-template-columns: minmax(0, 1fr) 58px; }
  .storefront .header-discovery .locale-switcher,
  .storefront .header-discovery .locale-button { width: 58px; min-width: 58px; }
  .storefront .header-discovery .locale-button { gap: 4px; padding: 0 5px; }
  .storefront .header-discovery .locale-button::after { font-size: 13px; }
  .storefront .header-discovery .locale-menu { top: 130px; padding: 16px; }
  .storefront .catalog-toolbar { grid-template-columns: 1fr; }
  .storefront .catalog-toolbar-label { display: none; }
  .storefront .catalog-product-search { grid-column: 1; grid-row: 1; }
  .storefront .catalog-toolbar .sort-wrap { grid-column: 1; grid-row: 2; width: 100%; min-width: 0; }
}
@media (max-width: 360px) {
  .storefront .header-discovery { grid-template-columns: minmax(0, 1fr) 52px; gap: 7px; }
  .storefront .header-discovery .locale-switcher,
  .storefront .header-discovery .locale-button { width: 52px; min-width: 52px; }
  .storefront .header-discovery .locale-button { gap: 3px; padding: 0 4px; }
  .storefront .header-discovery .locale-button-globe { width: 22px; height: 17px; }
  .storefront .locale-options button { gap: 7px; padding-left: 8px; padding-right: 20px; font-size: 11px; }
}
.storefront.legal-page .legal-header-inner,
.support-page .legal-header-inner { min-height: 82px; padding-top: 12px; padding-bottom: 12px; }
@media (max-width: 850px) {
  .storefront.legal-page .legal-header-inner,
  .support-page .legal-header-inner { gap: 10px; }
}
@media (max-width: 650px) {
  .storefront.legal-page .legal-header-bottom,
  .support-page .legal-header-bottom { display: flex; }
  .storefront.legal-page .legal-catalog-button,
  .support-page .legal-catalog-button { width: 100%; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .storefront .locale-button,
  .storefront .locale-options button { transition: none !important; }
  .storefront .locale-options button:hover,
  .storefront .locale-options button:active { transform: none !important; }
}
