:root {
    color-scheme: light;
    font-family: "Manrope", Arial, sans-serif;
    background: #f4f6f8;
    color: #20252b;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
}

.shell {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto;
}

.topbar {
    background: #ffffff;
    border-bottom: 1px solid #dce1e6;
}

.topbar__inner {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.brand {
    font-size: 22px;
    font-weight: 750;
    color: #171a1e;
}

.environment {
    color: #5e6872;
    font-size: 14px;
}

.main {
    padding: 48px 0;
}

.status {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 32px;
    align-items: start;
}

h1 {
    max-width: 720px;
    margin: 0 0 16px;
    font-size: 52px;
    line-height: 1.04;
    letter-spacing: 0;
}

/* Public catalog */
.store-shell {
    width: min(1240px, calc(100% - 40px));
    margin: 0 auto;
}

.store-header {
    position: sticky;
    z-index: 20;
    top: 0;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid #dde2e5;
}

.store-header__accent {
    height: 4px;
    background: #d21f2b;
}

.store-header__main {
    min-height: 76px;
    display: grid;
    grid-template-columns: auto auto minmax(260px, 1fr) auto auto;
    align-items: center;
    gap: 32px;
}

.store-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #15191d;
    font-size: 23px;
    font-weight: 800;
    text-decoration: none;
}

.store-logo__mark {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    background: #d21f2b;
    color: #fff;
    font-size: 18px;
}

.store-nav {
    display: flex;
    align-items: stretch;
    gap: 30px;
    align-self: stretch;
}

.store-nav a {
    display: flex;
    align-items: center;
    border-bottom: 3px solid transparent;
    color: #30373d;
    font-size: 15px;
    font-weight: 650;
    text-decoration: none;
}

.store-nav a:hover,
.store-nav a[aria-current="page"] {
    border-bottom-color: #d21f2b;
    color: #111417;
}

.store-nav__logout {
    display: flex;
    align-items: stretch;
}

.store-nav__logout button {
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #59636b;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 650;
}

.store-nav__logout button:hover {
    border-bottom-color: #d21f2b;
    color: #111417;
}

.store-location {
    color: #49525a;
    font-size: 14px;
}

.store-location__label::before {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 8px;
    border-radius: 50%;
    background: #20845b;
    content: "";
}

.store-cart {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    border: 1px solid #cfd5d9;
    color: #252b30;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.store-cart:hover,
.store-cart[aria-current="page"] {
    border-color: #d21f2b;
    color: #b71b25;
}

.store-cart strong {
    display: grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    padding: 0 5px;
    border-radius: 11px;
    background: #d21f2b;
    color: #fff;
    font-size: 11px;
}

.store-cart strong[hidden] {
    display: none;
}

.store-search {
    position: relative;
    min-width: 0;
}

.store-search form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    border: 1px solid #cfd5d9;
    background: #fff;
}

.store-search input,
.store-search button,
.search-page__form input,
.search-page__form button,
.catalog-filters input,
.catalog-filters select,
.catalog-filters button {
    min-width: 0;
    border: 0;
    border-radius: 0;
    font: inherit;
}

.store-search input {
    width: 100%;
    padding: 10px 12px;
    outline: 0;
}

.store-search form:focus-within {
    border-color: #747e85;
    box-shadow: 0 0 0 2px rgba(210, 31, 43, 0.1);
}

.store-search button,
.search-page__form button,
.filter-actions button {
    padding: 10px 16px;
    background: #d21f2b;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
}

.store-search button:hover,
.search-page__form button:hover,
.filter-actions button:hover {
    background: #b71b25;
}

.store-search__results {
    position: absolute;
    z-index: 30;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    max-height: 420px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid #d7dcdf;
    background: #fff;
    box-shadow: 0 14px 34px rgba(20, 26, 30, 0.16);
}

.store-search__item {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 12px;
    min-height: 66px;
    padding: 8px 12px;
    border-bottom: 1px solid #e8ebed;
    color: #20252a;
    text-decoration: none;
}

.store-search__item:hover,
.store-search__item:focus-visible {
    background: #f5f6f7;
    outline: 0;
}

.store-search__media {
    display: grid;
    width: 56px;
    height: 50px;
    place-items: center;
    overflow: hidden;
    background: #f3f5f6;
    color: #a4abb0;
    font-weight: 800;
}

.store-search__media img {
    width: 100%;
    height: 100%;
    padding: 3px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.store-search__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

.store-search__body strong {
    overflow: hidden;
    font-size: 13px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.store-search__body span {
    color: #606a72;
    font-size: 12px;
}

.store-search__all {
    display: block;
    padding: 11px 14px;
    color: #b71b25;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.store-main {
    min-height: calc(100vh - 190px);
    background: #fff;
}

.catalog-heading {
    padding: 60px 0 42px;
}

.catalog-heading--compact {
    padding-bottom: 28px;
}

.catalog-heading h1,
.listing-header h1,
.product-summary h1 {
    margin: 0;
    max-width: 920px;
    color: #15191d;
    font-size: 42px;
    line-height: 1.12;
}

.catalog-heading > p:last-child {
    margin: 14px 0 0;
    color: #667078;
    font-size: 18px;
}

.eyebrow {
    margin: 0 0 10px;
    color: #b71b25;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.category-band {
    padding: 0 0 70px;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #dfe3e6;
    border-left: 1px solid #dfe3e6;
}

.category-tile {
    position: relative;
    min-height: 170px;
    padding: 28px;
    border-right: 1px solid #dfe3e6;
    border-bottom: 1px solid #dfe3e6;
    background: #fff;
    color: #181c20;
    text-decoration: none;
}

.category-tile:hover {
    background: #f7f8f9;
}

.category-tile__name {
    display: block;
    max-width: 280px;
    font-size: 22px;
    font-weight: 750;
    line-height: 1.25;
}

.category-tile__count {
    display: block;
    margin-top: 12px;
    color: #747e86;
    font-size: 14px;
}

.category-tile__arrow {
    position: absolute;
    right: 25px;
    bottom: 22px;
    color: #d21f2b;
    font-size: 24px;
}

.listing-page,
.brand-page,
.product-page {
    padding: 28px 0 72px;
}

.breadcrumbs {
    display: flex;
    overflow-x: auto;
    align-items: center;
    gap: 8px;
    margin-bottom: 30px;
    color: #7a838a;
    font-size: 13px;
    scrollbar-width: none;
    white-space: nowrap;
}

.breadcrumbs::-webkit-scrollbar {
    display: none;
}

.breadcrumbs > * {
    flex: 0 0 auto;
}

.breadcrumbs a {
    color: #59636b;
    text-decoration: none;
}

.breadcrumbs a:hover {
    color: #b71b25;
}

.listing-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 30px;
}

.listing-count {
    flex: 0 0 auto;
    margin: 0 0 5px;
    color: #717a82;
    font-size: 14px;
}

.subcategory-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 34px;
}

.subcategory-list a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #dce1e4;
    border-radius: 4px;
    color: #2f363c;
    font-size: 14px;
    text-decoration: none;
}

.subcategory-list a:hover {
    border-color: #929ba2;
}

.subcategory-list small {
    color: #818990;
    font-size: 12px;
}

.catalog-results-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.catalog-filters {
    position: sticky;
    top: 104px;
    min-width: 0;
}

.catalog-filters form {
    border: 1px solid #dce1e4;
}

.catalog-sort {
    display: grid;
    gap: 7px;
    padding: 16px;
    border-bottom: 1px solid #e1e5e7;
}

.catalog-sort label,
.filter-group legend {
    color: #6a737b;
    font-size: 12px;
    font-weight: 700;
}

.catalog-sort select {
    width: 100%;
    padding: 9px 30px 9px 10px;
    border: 1px solid #cfd5d9;
    background: #fff;
    color: #252b30;
}

.catalog-filter-panel > summary {
    padding: 15px 16px;
    cursor: pointer;
    font-weight: 750;
    list-style-position: inside;
}

.catalog-filter-panel > summary span {
    display: inline-grid;
    min-width: 22px;
    height: 22px;
    margin-left: 6px;
    place-items: center;
    border-radius: 50%;
    background: #d21f2b;
    color: #fff;
    font-size: 11px;
}

.catalog-filter-panel__body {
    border-top: 1px solid #e1e5e7;
}

.filter-group {
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #e5e8ea;
}

.filter-group > summary,
.filter-group > legend {
    width: 100%;
    padding: 13px 16px;
    color: #272d32;
    cursor: pointer;
    font-size: 13px;
    font-weight: 750;
}

.filter-options {
    overflow-y: auto;
    max-height: 236px;
    padding: 0 10px 12px;
    scrollbar-width: thin;
}

.filter-check {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px;
    padding: 7px 6px;
    color: #3e464c;
    cursor: pointer;
    font-size: 13px;
}

.filter-check input {
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    accent-color: #d21f2b;
}

.filter-check small {
    color: #899198;
    font-size: 11px;
}

.filter-check--stock {
    padding: 14px 16px;
    border-bottom: 1px solid #e5e8ea;
}

.filter-price {
    padding-bottom: 14px;
}

.filter-price > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 0 16px;
}

.filter-price label {
    color: #7a838a;
    font-size: 12px;
}

.filter-price input {
    width: 100%;
    margin-top: 5px;
    padding: 9px;
    border: 1px solid #cfd5d9;
}

.filter-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
}

.filter-actions a {
    color: #606970;
    font-size: 13px;
}

.catalog-products {
    min-width: 0;
}

.catalog-products .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.search-page__form {
    max-width: 720px;
    margin-bottom: 36px;
}

.search-page__form > label {
    display: block;
    margin-bottom: 8px;
    color: #626c74;
    font-size: 13px;
    font-weight: 700;
}

.search-page__form > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}

.search-page__form input {
    padding: 13px 14px;
    border: 1px solid #cbd1d5;
    outline: 0;
}

.search-page__form input:focus {
    border-color: #747e85;
    box-shadow: inset 0 0 0 1px #747e85;
}

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

.product-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    border: 1px solid #e0e4e7;
    border-radius: 6px;
    background: #fff;
}

.favorite-toggle {
    position: absolute;
    z-index: 3;
    top: 10px;
    right: 10px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid #d8dde0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    cursor: pointer;
    text-decoration: none;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.favorite-toggle__icon {
    width: 20px;
    height: 18px;
    display: block;
    background: url('/media/legacy/ui/heart-blue.svg') center / contain no-repeat;
}

.favorite-toggle:hover,
.favorite-toggle[aria-pressed="true"] {
    border-color: #4592eb;
    background: #f1f7ff;
    box-shadow: 0 4px 12px rgba(69, 146, 235, 0.18);
    transform: translateY(-1px);
}

.favorite-toggle[aria-pressed="true"] {
    background: #4592eb;
}

.favorite-toggle[aria-pressed="true"] .favorite-toggle__icon {
    background-image: url('/media/legacy/ui/heart-white.svg');
}

.favorite-toggle:disabled {
    cursor: wait;
    opacity: 0.6;
}

.product-card:hover {
    border-color: #a9b0b5;
    box-shadow: 0 8px 24px rgba(24, 31, 36, 0.08);
}

.product-card__image {
    display: grid;
    aspect-ratio: 4 / 3;
    place-items: center;
    overflow: hidden;
    background: #f6f7f8;
}

.product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 12px;
    mix-blend-mode: multiply;
}

.product-card__placeholder {
    color: #a6adb2;
    font-size: 18px;
    font-weight: 800;
}

.product-card__body {
    min-height: 210px;
    display: flex;
    flex-direction: column;
    padding: 18px;
}

.product-card__brand {
    margin: 0 0 8px;
    color: #b71b25;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.product-card__title {
    margin: 0;
    font-size: 16px;
    line-height: 1.38;
}

.product-card__title a {
    color: #20252a;
    text-decoration: none;
}

.product-card__article {
    margin: 9px 0 0;
    color: #818990;
    font-size: 12px;
}

.product-card__footer {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
    padding-top: 24px;
}

.product-card__cart,
.product-summary__cart,
.button-primary {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    border: 1px solid #c71924;
    background: #d21f2b;
    color: #fff;
    font: inherit;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.product-card__cart:hover,
.product-summary__cart:hover,
.button-primary:hover {
    background: #b91822;
}

.product-card__cart[data-in-cart="1"],
.product-summary__cart[data-in-cart="1"] {
    border-color: #eceef1;
    background: #f1f2f4;
    color: #20252a;
}

.product-card__cart[data-in-cart="1"]:hover,
.product-summary__cart[data-in-cart="1"]:hover {
    border-color: #e2e5e8;
    background: #e7e9ec;
}

.product-card__cart:disabled,
.product-summary__cart:disabled {
    cursor: wait;
    opacity: 0.68;
}

.product-card__cart {
    width: 100%;
    margin-top: 16px;
}

.price {
    color: #171b1f;
    font-size: 20px;
    white-space: nowrap;
}

.price--muted {
    color: #69737a;
    font-size: 14px;
}

.stock {
    font-size: 12px;
    white-space: nowrap;
}

.stock--yes {
    color: #18734e;
}

.stock--order {
    color: #7b6243;
}

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding-top: 44px;
}

.pagination a,
.pagination span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid transparent;
    color: #333a40;
    text-decoration: none;
}

.pagination a:hover {
    border-color: var(--legacy-primary, #4592eb);
    color: var(--legacy-primary, #4592eb);
}

.pagination a[aria-current="page"] {
    border-color: var(--legacy-primary, #4592eb);
    background: var(--legacy-primary, #4592eb);
    color: #fff;
}

.pagination a[aria-current="page"]:hover {
    color: #fff;
}

.brand-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid #dfe3e6;
    border-left: 1px solid #dfe3e6;
}

.brand-list a {
    min-height: 176px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    padding: 22px;
    border-right: 1px solid #dfe3e6;
    border-bottom: 1px solid #dfe3e6;
    color: #1c2125;
    text-decoration: none;
}

.brand-list a:hover {
    background: #f7f8f9;
}

.brand-list strong {
    overflow-wrap: anywhere;
    font-size: 19px;
}

.brand-list__logo {
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
}

.brand-list__logo-image {
    display: block;
    max-width: 100%;
    max-height: 64px;
    object-fit: contain;
}

.brand-list .brand-list__count {
    margin-top: auto;
    color: #798188;
    font-size: 13px;
}

.brand-detail-heading {
    display: flex;
    align-items: center;
    gap: 24px;
}

.brand-detail-heading__logo {
    width: 150px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.brand-detail-heading__logo-image {
    display: block;
    max-width: 100%;
    max-height: 72px;
    object-fit: contain;
}

.product-detail {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
    gap: 58px;
    align-items: start;
}

.product-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.product-gallery__item {
    display: grid;
    aspect-ratio: 1;
    place-items: center;
    overflow: hidden;
    margin: 0;
    border: 1px solid #e1e5e7;
    background: #f7f8f8;
}

.product-gallery__item--main {
    grid-column: 1 / -1;
    aspect-ratio: 4 / 3;
}

.product-gallery__item img {
    width: 100%;
    height: 100%;
    padding: 18px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.product-gallery__empty {
    display: grid;
    aspect-ratio: 4 / 3;
    place-items: center;
    background: #f3f5f6;
    color: #9ba3a8;
    font-size: 24px;
    font-weight: 800;
}

.product-summary {
    position: sticky;
    top: 112px;
}

.favorite-toggle--detail {
    top: 0;
    right: 0;
}

.customer-page {
    min-height: 62vh;
    padding-top: 48px;
    padding-bottom: 72px;
}

.customer-auth {
    width: min(440px, 100%);
    margin: 0 auto;
}

.customer-auth h1,
.customer-page__header h1 {
    font-size: 36px;
}

.customer-auth form {
    display: grid;
    gap: 10px;
    margin-top: 28px;
}

.customer-auth label {
    margin-top: 8px;
    font-size: 14px;
    font-weight: 700;
}

.customer-auth input {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #cbd1d5;
    border-radius: 0;
    font: inherit;
}

.customer-auth button,
.customer-empty a {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 0 20px;
    border: 0;
    background: #d21f2b;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 750;
    text-decoration: none;
}

.form-error {
    margin: 20px 0 0;
    padding: 12px 14px;
    border-left: 3px solid #d21f2b;
    background: #fff2f2;
    color: #8e1720;
}

.form-error p,
.form-success p {
    margin: 0;
}

.form-success {
    margin: 20px 0;
    padding: 12px 14px;
    border-left: 3px solid #238257;
    background: #eef9f4;
    color: #17613f;
}

.customer-page__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 30px;
}

.customer-page__header p {
    margin: 8px 0 0;
    color: #687179;
}

.customer-page__eyebrow {
    color: #b71b25 !important;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.button-secondary,
.favorite-entry > form button {
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #cbd1d5;
    background: #fff;
    color: #30373d;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
}

.favorite-entry {
    min-width: 0;
}

.favorite-entry > form {
    margin-top: 8px;
}

.favorite-entry > form button {
    width: 100%;
}

.customer-empty {
    padding: 48px 0;
    border-top: 1px solid #dce1e4;
}

.customer-empty h2 {
    margin: 0 0 10px;
    font-size: 24px;
}

.customer-empty p {
    margin: 0;
    color: #687179;
}

.product-summary__brand {
    display: inline-block;
    margin-bottom: 14px;
    color: #b71b25;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}

.product-summary h1 {
    font-size: 34px;
}

.product-summary__article {
    margin: 14px 0 0;
    color: #7a838a;
    font-size: 13px;
}

.product-summary__purchase {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 34px 0;
    padding: 24px 0;
    border-top: 1px solid #e0e4e6;
    border-bottom: 1px solid #e0e4e6;
}

.product-summary__purchase > div {
    display: grid;
    gap: 8px;
}

.product-summary__cart {
    min-width: 156px;
    padding: 0 22px;
}

.product-summary__price {
    font-size: 30px;
}

.product-summary__price--muted {
    color: #687179;
    font-size: 18px;
}

.product-facts,
.specifications dl {
    margin: 0;
}

.product-facts > div,
.specifications dl > div {
    display: grid;
    grid-template-columns: minmax(120px, 0.45fr) minmax(0, 0.55fr);
    gap: 24px;
    padding: 13px 0;
    border-bottom: 1px solid #e4e7e9;
}

.product-facts dt,
.specifications dt {
    color: #737c83;
}

.product-facts dd,
.specifications dd {
    margin: 0;
    color: #252b30;
    overflow-wrap: anywhere;
}

.product-facts a {
    color: #252b30;
}

.specifications {
    max-width: 860px;
    margin-top: 70px;
}

.specifications h2 {
    margin: 0 0 22px;
    font-size: 28px;
}

.empty-state {
    grid-column: 1 / -1;
    padding: 45px 0;
    color: #6e777e;
}

.cart-page {
    min-height: 58vh;
    padding: 38px 0 72px;
}

.cart-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 36px;
    align-items: start;
}

.cart-lines {
    border-top: 1px solid #dfe3e6;
}

.cart-line {
    display: grid;
    grid-template-columns: 112px minmax(180px, 1fr) auto 170px auto auto;
    gap: 20px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid #dfe3e6;
}

.cart-line__image {
    display: grid;
    aspect-ratio: 4 / 3;
    place-items: center;
    overflow: hidden;
    background: #f5f6f7;
    color: #9ca4a9;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.cart-line__image img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    box-sizing: border-box;
    padding: 6px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.cart-line__product p,
.cart-line__product small {
    margin: 0;
    color: #788189;
    font-size: 12px;
}

.cart-line__product h2 {
    margin: 5px 0;
    font-size: 16px;
    line-height: 1.35;
}

.cart-line__product a {
    color: #20252a;
    text-decoration: none;
}

.cart-line__price,
.cart-line__total {
    font-size: 14px;
    white-space: nowrap;
}

.cart-line__quantity label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.cart-line__quantity > div {
    display: grid;
    grid-template-columns: 64px auto;
}

.cart-line__quantity input,
.cart-line__quantity button,
.cart-line__remove button,
.cart-summary button {
    min-height: 38px;
    border: 1px solid #cfd5d9;
    background: #fff;
    color: #30373d;
    font: inherit;
}

.cart-line__quantity input {
    width: 64px;
    padding: 0 8px;
}

.cart-line__quantity button,
.cart-line__remove button,
.cart-summary button {
    padding: 0 12px;
    cursor: pointer;
}

.cart-line__remove button {
    color: #9c1b24;
}

.cart-summary {
    position: sticky;
    top: 112px;
    padding: 24px;
    border: 1px solid #d9dee1;
    background: #f8f9f9;
}

.cart-summary > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 8px 0;
}

.cart-summary__total {
    margin: 12px 0 20px;
    padding-top: 18px !important;
    border-top: 1px solid #d9dee1;
    font-size: 20px;
}

.cart-summary .button-primary,
.cart-summary form,
.cart-summary button {
    width: 100%;
}

.cart-summary form {
    margin-top: 10px;
}

.cart-empty {
    max-width: 560px;
    padding: 42px 0;
    border-top: 1px solid #dfe3e6;
}

.cart-empty h2 {
    margin: 0 0 12px;
    font-size: 26px;
}

.cart-empty p {
    margin: 0 0 24px;
    color: #626c73;
}

.cart-empty .button-primary {
    padding: 0 22px;
}

.store-footer {
    background: #22282d;
    color: #dfe3e5;
}

.store-footer__inner {
    min-height: 110px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    font-size: 13px;
}

.store-footer__inner span:first-child {
    font-size: 19px;
    font-weight: 800;
}

.lead {
    max-width: 700px;
    margin: 0;
    color: #4e5862;
    font-size: 18px;
    line-height: 1.6;
}

.panel {
    border: 1px solid #d7dde3;
    border-radius: 8px;
    background: #ffffff;
    padding: 20px;
}

.panel__label {
    margin: 0 0 8px;
    color: #68727d;
    font-size: 13px;
}

.panel__value {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
}

.dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 8px;
    border-radius: 50%;
    background: #24915d;
}

@media (max-width: 760px) {
    .status {
        grid-template-columns: 1fr;
    }

    .main {
        padding: 32px 0;
    }

    h1 {
        font-size: 36px;
    }

    .store-shell {
        width: min(100% - 28px, 1240px);
    }

    .store-header__main {
        min-height: 0;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 10px 20px;
        padding: 10px 0 12px;
    }

    .store-nav {
        justify-self: center;
        gap: 18px;
    }

    .store-nav__secondary,
    .store-nav__logout {
        display: none;
    }

    .store-search {
        grid-column: 1 / -1;
        width: 100%;
    }

    .store-cart {
        grid-row: 1;
        grid-column: 3;
        padding: 0 8px;
        justify-self: end;
    }

    .store-cart > span {
        font-size: 12px;
    }

    .store-search__results {
        position: fixed;
        top: 116px;
        right: 14px;
        left: 14px;
    }

    .store-location {
        display: none;
    }

    .store-logo {
        font-size: 19px;
    }

    .store-logo__mark {
        width: 30px;
        height: 30px;
        font-size: 16px;
    }

    .catalog-heading {
        padding: 38px 0 28px;
    }

    .catalog-heading h1,
    .listing-header h1,
    .product-summary h1 {
        font-size: 31px;
    }

    .category-grid,
    .brand-list {
        grid-template-columns: 1fr;
    }

    .category-tile {
        min-height: 122px;
        padding: 22px;
    }

    .category-tile__name {
        padding-right: 34px;
        font-size: 19px;
    }

    .listing-page,
    .brand-page,
    .product-page {
        padding-top: 20px;
    }

    .breadcrumbs {
        margin-bottom: 24px;
    }

    .listing-header {
        display: block;
    }

    .listing-count {
        margin-top: 12px;
    }

    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .catalog-results-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .catalog-filters {
        position: static;
    }

    .catalog-products .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-card__body {
        min-height: 195px;
        padding: 14px;
    }

    .product-card__title {
        font-size: 14px;
    }

    .product-card__footer {
        display: block;
    }

    .price {
        display: block;
        margin-bottom: 6px;
        font-size: 18px;
    }

    .product-detail {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .product-summary {
        position: static;
    }

    .product-summary__purchase {
        display: grid;
        margin: 24px 0;
    }

    .product-summary__cart {
        width: 100%;
    }

    .cart-page {
        padding-top: 24px;
    }

    .customer-page {
        padding-top: 28px;
    }

    .customer-page__header {
        display: grid;
        align-items: start;
    }

    .cart-page__layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .cart-line {
        grid-template-columns: 82px minmax(0, 1fr) auto;
        gap: 12px;
    }

    .cart-line__price {
        display: none;
    }

    .cart-line__quantity {
        grid-column: 2;
    }

    .cart-line__total {
        grid-column: 3;
        grid-row: 2;
    }

    .cart-line__remove {
        grid-column: 2 / -1;
    }

    .cart-line__remove button {
        width: 100%;
    }

    .cart-summary {
        position: static;
    }

    .product-facts > div,
    .specifications dl > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .specifications {
        margin-top: 48px;
    }

    .store-footer__inner {
        display: grid;
        padding: 28px 0;
    }
}

@media (min-width: 761px) and (max-width: 1080px) {
    .store-header__main {
        grid-template-columns: auto auto minmax(240px, 1fr) auto;
        gap: 24px;
    }

    .store-location {
        display: none;
    }

    .category-grid,
    .brand-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .catalog-results-layout {
        grid-template-columns: 230px minmax(0, 1fr);
        gap: 22px;
    }

    .catalog-products .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Production visual parity foundation */
:root {
    --sfera-navy: #0e1d2f;
    --sfera-navy-soft: #1c3a5e;
    --sfera-blue: #4592eb;
    --sfera-blue-dark: #29588d;
    --sfera-blue-pale: #eef4ff;
    --sfera-magenta: #d1486f;
    --sfera-ink: #141b34;
    --sfera-muted: #6f7685;
    --sfera-line: #e9eaeb;
    background: #fff;
    color: var(--sfera-ink);
    font-family: "Manrope", Arial, sans-serif;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.store-shell {
    width: min(1420px, calc(100% - 32px));
}

.store-header {
    position: relative;
    top: auto;
    border: 0;
    background: var(--sfera-navy);
    color: #fff;
}

.store-header__top {
    min-height: 38px;
    background: var(--sfera-navy-soft);
}

.store-header__top-inner {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 32px;
}

.store-city select {
    max-width: 320px;
    border: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 12px;
}

.store-city option {
    color: var(--sfera-ink);
}

.store-phone,
.store-header__utility a {
    color: #fff;
    font-size: 12px;
    text-decoration: none;
}

.store-phone::before {
    margin-right: 8px;
    content: "☎";
}

.store-header__utility {
    display: flex;
    gap: 28px;
    margin-left: auto;
}

.store-header__mainbar {
    background: var(--sfera-navy);
}

.store-header__main {
    min-height: 96px;
    display: grid;
    grid-template-columns: 220px auto minmax(280px, 1fr) 300px;
    align-items: center;
    gap: 28px;
}

.store-logo {
    display: grid;
    grid-template-columns: 60px auto;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-size: inherit;
    text-decoration: none;
}

.store-logo img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.store-logo__copy {
    display: grid;
    gap: 4px;
}

.store-logo__copy strong {
    font-size: 20px;
    line-height: 1;
}

.store-logo__copy small {
    color: #fff;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.25;
}

.store-header__buttons {
    display: flex;
    gap: 10px;
}

.store-pill {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border-radius: 23px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.store-pill::before {
    margin-right: 9px;
    font-size: 17px;
}

.store-pill--catalog {
    background: var(--sfera-blue);
}

.store-pill--catalog::before {
    content: "≡";
}

.store-pill--sale {
    background: var(--sfera-magenta);
}

.store-pill--sale::before {
    content: "◇";
}

.store-search form {
    min-height: 44px;
    border: 0;
    border-radius: 24px;
    overflow: hidden;
}

.store-search input {
    padding: 0 20px;
    color: var(--sfera-ink);
    font-size: 13px;
}

.store-search button {
    width: 48px;
    padding: 0;
    background: #fff;
    color: var(--sfera-ink);
    font-size: 25px;
}

.store-search button:hover {
    background: #fff;
}

.store-controls {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.store-control {
    position: relative;
    min-height: 58px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    color: #fff;
    font-size: 11px;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.store-control > span {
    font-size: 25px;
    line-height: 1;
}

.store-control strong {
    position: absolute;
    top: 2px;
    right: 7px;
    min-width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    padding: 0 4px;
    border-radius: 9px;
    background: #f44336;
    font-size: 10px;
}

.store-burger {
    display: none;
}

.store-mobile-menu[hidden],
.store-mobile-nav {
    display: none;
}

.store-main {
    min-height: 58vh;
    background: #fff;
}

.home-page {
    padding: 36px 0 90px;
}

.home-page section + section {
    margin-top: 72px;
}

.home-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}

.home-section-title h1,
.home-section-title h2 {
    margin: 0;
    color: var(--sfera-ink);
    font-size: 35px;
    font-weight: 600;
    line-height: 1.15;
}

.home-section-title a {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    padding: 0 18px;
    border: 1px solid var(--sfera-blue);
    border-radius: 17px;
    color: var(--sfera-blue-dark);
    font-size: 12px;
    text-decoration: none;
}

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

.home-promotions__grid a {
    overflow: hidden;
    aspect-ratio: 416 / 230;
    border-radius: 18px;
    background: #eef1f4;
}

.home-promotions__grid img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.home-category-mosaic {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(3, 230px);
    gap: 18px;
}

.home-category {
    position: relative;
    overflow: hidden;
    min-width: 0;
    padding: 30px;
    border-radius: 18px;
    background: var(--sfera-blue-pale);
    color: var(--sfera-ink);
    text-decoration: none;
}

.home-category strong {
    position: relative;
    z-index: 2;
    display: block;
    max-width: 260px;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.15;
}

.home-category img {
    position: absolute;
    right: -4%;
    bottom: -10%;
    width: 72%;
    height: 72%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.home-category--sink,
.home-category--washer,
.home-category--dishwasher {
    grid-row: span 2;
}

.home-category--hood {
    grid-column: span 2;
}

.home-category--hood img {
    width: 48%;
    height: 60%;
}

.home-category--dishwasher {
    grid-column: 4;
    grid-row: 2 / span 2;
}

.home-wholesale {
    position: relative;
    overflow: hidden;
    min-height: 300px;
    border-radius: 18px;
    background: #e4e9ec;
}

.home-wholesale img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
}

.home-wholesale a {
    position: absolute;
    z-index: 2;
    left: 14.5%;
    bottom: 26%;
    min-width: 164px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: var(--sfera-blue);
    color: #fff;
    font-size: 12px;
    text-decoration: none;
}

.home-services {
    padding: 72px;
    border-radius: 18px;
    background: #f4f4f4;
}

.home-services > h2 {
    max-width: 540px;
    margin: 0 0 42px;
    font-size: 34px;
    font-weight: 600;
    line-height: 1.16;
}

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

.home-services article {
    min-height: 180px;
    padding: 28px;
    border: 1px solid #e4e4e4;
    border-radius: 18px;
    background: #fff;
}

.home-services article span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f4f6fa;
    color: var(--sfera-blue);
    font-size: 12px;
}

.home-services article h3 {
    margin: 18px 0 10px;
    font-size: 18px;
}

.home-services article p {
    margin: 0;
    color: var(--sfera-muted);
    font-size: 14px;
    line-height: 1.5;
}

.store-footer {
    background: var(--sfera-navy);
    color: #fff;
}

.store-footer__grid {
    display: grid;
    grid-template-columns: 1.25fr repeat(4, 1fr);
    gap: 48px;
    padding: 64px 0 52px;
}

.store-footer h2 {
    margin: 0 0 25px;
    color: #fff;
    font-size: 19px;
    font-weight: 600;
}

.store-footer__grid > nav,
.store-footer__grid > div {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 13px;
}

.store-footer a,
.store-footer p {
    margin: 0;
    color: #d9e0e8;
    font-size: 13px;
    line-height: 1.45;
    text-decoration: none;
}

.store-logo--footer {
    margin-bottom: 12px;
}

.store-social {
    min-width: 142px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: #fff;
    color: var(--sfera-ink) !important;
}

.store-social__icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.store-social--vk .store-social__icon {
    background: #3d769c;
}

.store-social--telegram .store-social__icon {
    background: #139bd0;
}

.store-social__icon img {
    display: block;
}

body.auth-modal-open {
    overflow: hidden;
}

.auth-modal[hidden] {
    display: none;
}

.auth-modal {
    position: fixed;
    z-index: 100;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(8, 13, 20, 0.88);
}

.auth-modal__panel {
    position: relative;
    width: min(430px, 100%);
    padding: 30px 24px 34px;
    border: 1px solid #e1e4e7;
    border-radius: 24px;
    background: #f5f5f5;
    color: var(--sfera-ink);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.24);
}

.auth-modal__panel h2 {
    margin: 0 0 28px;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.15;
}

.auth-modal__close {
    position: absolute;
    top: -42px;
    right: 2px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font-size: 34px;
    font-weight: 300;
    line-height: 1;
}

.auth-modal__panel form {
    display: grid;
    gap: 16px;
}

.auth-modal__field {
    position: relative;
    display: block;
}

.auth-modal__field::before {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 14px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #f5f9ff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 15px;
    content: "";
    transform: translateY(-50%);
}

.auth-modal__field--account::before {
    background-image: url("/media/legacy/ui/account-blue.svg");
}

.auth-modal__field--password::before {
    background-image: url("/media/legacy/ui/lock-blue.svg");
}

.auth-modal__field input {
    position: relative;
    width: 100%;
    height: 54px;
    padding: 0 18px 0 48px;
    border: 1px solid #cbd7e7;
    border-radius: 28px;
    outline: 0;
    background: #eaf1ff;
    color: var(--sfera-ink);
    font: inherit;
}

.auth-modal__field input:focus {
    border-color: var(--sfera-blue);
    box-shadow: 0 0 0 2px rgba(66, 145, 228, 0.15);
}

.auth-modal__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 2px 0;
    font-size: 14px;
}

.auth-modal__controls label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.auth-modal__controls input {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: var(--sfera-blue);
}

.auth-modal__controls a,
.auth-modal__register a {
    color: var(--sfera-ink);
    text-decoration: underline;
}

.auth-modal__submit {
    width: 100%;
    min-height: 52px;
    border: 0;
    border-radius: 26px;
    background: var(--sfera-blue);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
}

.auth-modal__submit:hover {
    background: var(--sfera-blue-dark);
}

.auth-modal__submit:disabled {
    cursor: wait;
    opacity: 0.7;
}

.auth-modal__register {
    margin: 28px 0 0;
    font-size: 14px;
    text-align: center;
}

.auth-modal__error {
    margin: -12px 0 16px;
    padding: 10px 12px;
    border-left: 3px solid #bd2732;
    background: #fff0f1;
    color: #8e1720;
    font-size: 13px;
}

.store-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.store-footer__bottom > div {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: #cbd3dc;
    font-size: 12px;
}

.catalog-heading h1,
.listing-header h1,
.product-summary h1,
.customer-auth h1,
.customer-page__header h1 {
    color: var(--sfera-ink);
    font-weight: 600;
}

.eyebrow,
.customer-page__eyebrow,
.product-card__brand {
    color: var(--sfera-blue-dark) !important;
}

.category-grid {
    gap: 18px;
    border: 0;
}

.category-tile {
    min-height: 210px;
    border: 0;
    border-radius: 18px;
    background: var(--sfera-blue-pale);
}

.category-tile__arrow {
    color: var(--sfera-blue);
}

.product-card {
    border-color: var(--sfera-line);
    border-radius: 12px;
}

.product-card__image {
    background: #fff;
}

.product-card__cart,
.product-summary__cart,
.button-primary,
.customer-auth button,
.customer-empty a {
    border-color: var(--sfera-blue);
    border-radius: 22px;
    background: var(--sfera-blue);
}

.product-card__cart:hover,
.product-summary__cart:hover,
.button-primary:hover,
.customer-auth button:hover,
.customer-empty a:hover {
    background: var(--sfera-blue-dark);
}

@media (max-width: 1180px) {
    .store-header__main {
        grid-template-columns: 190px auto minmax(220px, 1fr) 250px;
        gap: 16px;
    }

    .store-pill {
        padding: 0 16px;
    }

    .store-control {
        font-size: 10px;
    }

    .home-category-mosaic {
        grid-template-rows: repeat(3, 190px);
    }
}

@media (max-width: 900px) {
    body.menu-open {
        overflow: hidden;
    }

    .store-header__top,
    .store-header__buttons,
    .store-controls {
        display: none;
    }

    .store-header__main {
        min-height: 84px;
        grid-template-columns: 34px 64px minmax(0, 1fr);
        gap: 14px;
    }

    .store-burger {
        display: grid;
        width: 34px;
        height: 34px;
        place-content: center;
        gap: 5px;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .store-burger span {
        width: 22px;
        height: 2px;
        display: block;
        background: #fff;
    }

    .store-logo {
        grid-template-columns: 54px;
    }

    .store-logo img {
        width: 54px;
        height: 54px;
    }

    .store-logo__copy {
        display: none;
    }

    .store-search {
        grid-column: 3;
        width: 100%;
    }

    .store-search__results {
        top: 76px;
    }

    .store-mobile-menu {
        position: fixed;
        z-index: 50;
        inset: 84px 0 0;
        overflow-y: auto;
        background: var(--sfera-navy);
    }

    .store-mobile-menu > nav {
        display: grid;
        padding: 22px 0 40px;
    }

    .store-mobile-menu a,
    .store-mobile-menu button {
        min-height: 52px;
        display: flex;
        align-items: center;
        padding: 0 4px;
        border: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
        background: transparent;
        color: #fff;
        font: inherit;
        text-decoration: none;
    }

    .store-mobile-menu form {
        margin: 0;
    }

    .home-page {
        padding-top: 28px;
    }

    .home-page section + section {
        margin-top: 48px;
    }

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

    .home-category-mosaic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .home-category,
    .home-category--sink,
    .home-category--washer,
    .home-category--dishwasher,
    .home-category--hood {
        min-height: 220px;
        grid-row: auto;
        grid-column: auto;
    }

    .home-services {
        padding: 36px;
    }

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

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

@media (max-width: 600px) {
    body {
        padding-bottom: 64px;
    }

    .store-shell {
        width: min(100% - 28px, 1420px);
    }

    .store-header__main {
        grid-template-columns: 28px 52px minmax(0, 1fr);
        gap: 10px;
    }

    .store-logo,
    .store-logo img {
        width: 48px;
        height: 48px;
    }

    .store-search form {
        min-height: 42px;
    }

    .home-section-title {
        margin-bottom: 22px;
    }

    .home-section-title h1,
    .home-section-title h2 {
        font-size: 25px;
    }

    .home-promotions__grid {
        display: flex;
        overflow-x: auto;
        gap: 12px;
        scroll-snap-type: x mandatory;
    }

    .home-promotions__grid a {
        min-width: 86vw;
        scroll-snap-align: start;
    }

    .home-category-mosaic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .home-category,
    .home-category--sink,
    .home-category--washer,
    .home-category--dishwasher,
    .home-category--hood {
        min-height: 185px;
        padding: 18px;
        border-radius: 13px;
    }

    .home-category strong {
        font-size: 17px;
    }

    .home-category img {
        width: 88%;
        height: 65%;
    }

    .home-wholesale {
        min-height: 150px;
    }

    .home-wholesale a {
        left: 14%;
        bottom: 20%;
        min-width: 92px;
        min-height: 28px;
        font-size: 10px;
    }

    .home-services {
        padding: 24px;
    }

    .home-services > h2 {
        font-size: 25px;
    }

    .home-services__grid {
        grid-template-columns: 1fr;
    }

    .store-footer__grid {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 42px 0;
    }

    .store-footer__bottom > div {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
    }

    .store-mobile-nav {
        position: fixed;
        z-index: 40;
        right: 0;
        bottom: 0;
        left: 0;
        height: 64px;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        border-top: 1px solid #dce1e6;
        background: #fff;
    }

    .store-mobile-nav a {
        display: grid;
        place-items: center;
        color: var(--sfera-navy);
        font-size: 11px;
        text-decoration: none;
    }
}

/* Customer account and imported order history */
.account-layout {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 52px;
    align-items: start;
}

.account-nav {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--sfera-line);
    border-radius: 12px;
    background: #fff;
}

.account-nav a,
.account-nav button {
    min-height: 52px;
    display: flex;
    width: 100%;
    align-items: center;
    padding: 0 18px;
    border: 0;
    border-bottom: 1px solid var(--sfera-line);
    background: #fff;
    color: var(--sfera-ink);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    text-align: left;
    text-decoration: none;
}

.account-nav a[aria-current="page"] {
    background: var(--sfera-blue-pale);
    color: var(--sfera-blue-dark);
    font-weight: 700;
}

.account-nav form,
.account-nav button {
    margin: 0;
}

.account-content {
    min-width: 0;
}

.order-list {
    display: grid;
    gap: 14px;
}

.order-card {
    min-height: 116px;
    display: grid;
    grid-template-columns: 1.25fr 1.5fr auto auto;
    align-items: center;
    gap: 28px;
    padding: 24px;
    border: 1px solid var(--sfera-line);
    border-radius: 12px;
    background: #fff;
}

.order-card p,
.order-card time,
.order-card small {
    display: block;
    margin: 0;
}

.order-card__number {
    margin-bottom: 7px !important;
    font-weight: 700;
}

.order-card time,
.order-card small {
    color: var(--sfera-muted);
    font-size: 12px;
}

.order-card small {
    margin-top: 8px;
}

.order-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #7c622e;
    font-size: 13px;
    font-weight: 700;
}

.order-status::before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d6a84e;
    content: "";
}

.order-status--paid {
    color: #26704d;
}

.order-status--paid::before {
    background: #3ba875;
}

.order-status--canceled {
    color: #a33d45;
}

.order-status--canceled::before {
    background: #d45f68;
}

.order-card .button-secondary {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    border-radius: 20px;
    text-decoration: none;
}

.order-back {
    display: inline-block;
    margin-bottom: 24px;
    color: var(--sfera-blue-dark);
    font-size: 13px;
    text-decoration: none;
}

.order-detail__total {
    font-size: 26px;
    white-space: nowrap;
}

.order-detail__section {
    padding: 26px;
    border: 1px solid var(--sfera-line);
    border-radius: 12px;
}

.order-detail__section > h2 {
    margin: 0 0 20px;
    font-size: 20px;
}

.order-items {
    display: grid;
}

.order-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    align-items: center;
    gap: 28px;
    padding: 16px 0;
    border-top: 1px solid var(--sfera-line);
    font-size: 14px;
}

.order-item:first-child {
    border-top: 0;
}

.order-item small {
    display: block;
    margin-top: 6px;
    color: var(--sfera-muted);
}

.order-detail__columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.order-detail__section p,
.order-detail__section dd,
.order-detail__section dt {
    font-size: 13px;
    line-height: 1.5;
}

.order-detail__section dl,
.order-detail__section dl > div:last-child {
    margin-bottom: 0;
}

.order-detail__section dl > div {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 10px;
}

.order-detail__section dt {
    color: var(--sfera-muted);
}

.order-detail__section dd {
    margin: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .account-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .account-nav {
        grid-template-columns: repeat(3, 1fr);
    }

    .account-nav a,
    .account-nav button {
        justify-content: center;
        padding: 0 10px;
        border-right: 1px solid var(--sfera-line);
        border-bottom: 0;
        text-align: center;
    }

    .order-card {
        grid-template-columns: 1fr auto;
    }

    .order-detail__columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .account-nav a,
    .account-nav button {
        font-size: 12px;
    }

    .order-card {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .order-card .button-secondary {
        justify-content: center;
    }

    .order-detail .customer-page__header {
        display: grid;
    }

    .order-item {
        grid-template-columns: 1fr auto;
        gap: 8px 16px;
    }

    .order-item > span:last-of-type {
        display: none;
    }

    .order-detail__section {
        padding: 20px;
    }
}

/* Production catalog journey parity */
.catalog-index {
    padding-top: 52px;
    padding-bottom: 88px;
}

.catalog-index__header h1 {
    margin: 0 0 56px;
    font-size: 42px;
    font-weight: 600;
}

.catalog-families {
    display: grid;
    gap: 28px;
}

.catalog-family {
    display: grid;
    grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.68fr);
    gap: 20px;
}

.catalog-family__root,
.catalog-category-tile {
    position: relative;
    overflow: hidden;
    min-width: 0;
    border-radius: 18px;
    background: var(--sfera-blue-pale);
    color: var(--sfera-ink);
    text-decoration: none;
}

.catalog-family__root {
    height: 500px;
    min-height: 500px;
    align-self: start;
    padding: 38px;
}

.catalog-family__root h2 {
    position: relative;
    z-index: 2;
    max-width: 320px;
    margin: 0;
    font-size: 30px;
    line-height: 1.22;
}

.catalog-family__root span {
    position: relative;
    z-index: 2;
    display: block;
    margin-top: 12px;
    color: var(--sfera-muted);
    font-size: 13px;
}

.catalog-family__root img,
.catalog-category-tile img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 78%;
    height: 62%;
    object-fit: contain;
    object-position: right bottom;
}

.catalog-family__root img {
    right: -7%;
    bottom: -2%;
    width: 108%;
    height: 390px;
}

.catalog-category-tile img {
    right: 2%;
    bottom: -4%;
    width: 72%;
    height: 68%;
    mix-blend-mode: multiply;
}

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

.catalog-category-tile {
    min-height: 240px;
    padding: 32px;
}

.catalog-category-tile strong {
    position: relative;
    z-index: 2;
    display: block;
    max-width: 270px;
    font-size: 25px;
    line-height: 1.22;
}

.catalog-category-tile small {
    position: relative;
    z-index: 2;
    display: block;
    margin-top: 9px;
    color: var(--sfera-muted);
}

.catalog-family__root:hover,
.catalog-category-tile:hover {
    background: #e6efff;
}

.listing-page {
    padding-top: 26px;
}

.listing-hero {
    position: relative;
    overflow: hidden;
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
    padding: 38px 52px;
    border-radius: 18px;
    background: #fff;
}

.listing-hero::before {
    position: absolute;
    inset: 0 0 0 50%;
    background: var(--sfera-blue-pale);
    content: "";
}

.listing-hero::after {
    position: absolute;
    z-index: 0;
    right: -45px;
    bottom: -210px;
    width: 600px;
    height: 430px;
    border-radius: 50% 50% 0 0;
    background: #e5efff;
    content: "";
}

.listing-hero > div,
.listing-hero img {
    position: relative;
    z-index: 1;
}

.listing-hero h1 {
    max-width: 760px;
    margin: 0;
    font-size: 42px;
    font-weight: 600;
    line-height: 1.15;
}

.listing-hero p {
    margin: 14px 0 0;
    color: var(--sfera-muted);
}

.listing-hero img {
    align-self: stretch;
    width: min(390px, 34%);
    height: 210px;
    object-fit: contain;
    object-position: center bottom;
}

.subcategory-list {
    overflow-x: auto;
    flex-wrap: nowrap;
    margin-bottom: 30px;
    padding-bottom: 4px;
    scrollbar-width: thin;
}

.subcategory-list a {
    flex: 0 0 auto;
    min-height: 42px;
    border-radius: 22px;
    background: #f4f6f8;
}

.catalog-toolbar {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-left: 304px;
    border-top: 1px solid var(--sfera-line);
}

.catalog-toolbar p {
    margin: 0;
    color: var(--sfera-muted);
    font-size: 13px;
}

.catalog-sort {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    border: 0;
}

.catalog-sort label {
    color: var(--sfera-ink);
    font-size: 13px;
    font-weight: 400;
}

.catalog-sort select {
    min-height: 38px;
    padding: 0 34px 0 12px;
    border: 0;
    background-color: #f4f6f8;
}

.catalog-sort button {
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid var(--sfera-blue);
    border-radius: 20px;
    background: #fff;
    color: var(--sfera-blue-dark);
}

.catalog-results-layout {
    grid-template-columns: 276px minmax(0, 1fr);
    gap: 28px;
}

.catalog-filters {
    top: 20px;
}

.catalog-filters form {
    border: 0;
}

.catalog-filter-panel {
    overflow: visible;
    border-radius: 0;
    background: transparent;
}

.catalog-filter-panel > summary {
    display: none;
}

.catalog-filter-panel__body {
    display: grid;
    gap: 10px;
    border: 0;
}

@media (min-width: 901px) {
    .catalog-filter-panel:not([open]) .catalog-filter-panel__body {
        display: block;
    }
}

.filter-check--stock {
    min-height: 48px;
    align-items: center;
    border-radius: 10px;
    background: var(--sfera-blue);
    color: #fff;
}

.filter-check--stock small {
    color: #fff;
}

.filter-check input {
    accent-color: var(--sfera-blue);
}

.filter-price,
.filter-group {
    margin-top: 0;
    border: 0;
    border-radius: 12px;
    background: #f3f4f5;
}

.filter-group > summary,
.filter-group > legend {
    min-height: 46px;
    padding: 14px 16px;
    font-size: 14px;
}

.filter-price > div {
    padding-bottom: 16px;
}

.filter-price input {
    min-height: 40px;
    border: 0;
    border-radius: 4px;
    background: #fff;
}

.filter-options {
    max-height: 250px;
    padding: 0 12px 14px;
}

.filter-actions {
    position: sticky;
    bottom: 0;
    border: 1px solid var(--sfera-line);
    border-radius: 10px;
    background: #f3f4f5;
}

.filter-actions button {
    min-height: 42px;
    flex: 1;
    border: 0;
    border-radius: 22px;
    background: var(--sfera-blue);
    color: #fff;
}

.catalog-products .product-grid {
    gap: 18px;
}

.product-card {
    display: flex;
    min-height: 470px;
    flex-direction: column;
    border-radius: 10px;
    box-shadow: none;
}

.product-card:hover {
    border-color: #c9d0d7;
    box-shadow: 0 6px 18px rgba(14, 29, 47, 0.08);
}

.product-card__badge {
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 14px;
    padding: 5px 9px;
    border-radius: 12px;
    background: #70bd6a;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
}

.favorite-toggle {
    top: 14px;
    right: 14px;
    color: var(--sfera-muted);
}

.product-card__image {
    aspect-ratio: 1;
}

.product-card__image img {
    padding: 24px;
}

.product-card__body {
    min-height: 200px;
    padding: 18px 20px 20px;
}

.product-card__title {
    min-height: 48px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
    text-align: center;
}

.product-card__article {
    overflow: hidden;
    margin-top: 7px;
    color: var(--sfera-muted);
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.product-card__footer {
    align-items: center;
    gap: 12px;
    padding-top: 20px;
}

.product-card__footer > div {
    display: grid;
    gap: 4px;
}

.product-card__cart {
    width: auto;
    min-width: 104px;
    min-height: 38px;
    margin: 0;
    padding: 0 16px;
    border-radius: 20px;
    font-size: 13px;
}

.product-card .price {
    font-size: 21px;
}

.product-card .stock {
    font-size: 10px;
}

.product-page {
    padding-top: 24px;
}

.product-page__title {
    margin: 0 0 80px;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.2;
}

.product-detail {
    display: grid;
    grid-template-columns: minmax(440px, 1.2fr) minmax(300px, 0.9fr) 310px;
    gap: 28px;
}

.product-gallery {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.product-gallery__thumbs {
    max-height: clamp(320px, 32vw, 520px);
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
}

.product-gallery__thumbs::-webkit-scrollbar {
    display: none;
}

.product-gallery__thumb {
    flex: 0 0 76px;
    aspect-ratio: 1;
    display: grid;
    overflow: hidden;
    place-items: center;
    padding: 6px;
    border: 1px solid var(--sfera-line);
    border-radius: 7px;
    background: #fff;
    cursor: pointer;
}

.product-gallery__thumb.is-active {
    border-color: var(--sfera-blue);
}

.product-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-gallery__stage {
    aspect-ratio: 1;
    position: relative;
    display: grid;
    overflow: hidden;
    margin: 0;
    place-items: center;
    border: 1px solid var(--sfera-line);
    border-radius: 10px;
    background: #fff;
}

.product-gallery__stage img {
    width: 100%;
    height: 100%;
    padding: 28px;
    object-fit: contain;
}

.product-gallery__arrow {
    position: absolute;
    z-index: 3;
    top: 50%;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding: 0;
    transform: translateY(-50%);
    border: 1px solid var(--sfera-line);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: var(--sfera-ink);
    box-shadow: 0 4px 16px rgba(16, 36, 59, .08);
    cursor: pointer;
}

.product-gallery__arrow:hover,
.product-gallery__arrow:focus-visible {
    border-color: var(--sfera-blue);
    color: var(--sfera-blue-dark);
}

.product-gallery__arrow span {
    margin-top: -3px;
    font-size: 34px;
    font-weight: 300;
    line-height: 1;
}

.product-gallery__arrow--previous {
    left: 14px;
}

.product-gallery__arrow--next {
    right: 14px;
}

.product-gallery__empty {
    grid-column: 1 / -1;
    border-radius: 10px;
}

.product-information {
    min-width: 0;
    padding-top: 18px;
}

.product-information h2 {
    margin: 0;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.25;
}

.product-information__meta {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 22px;
    color: var(--sfera-muted);
    font-size: 12px;
}

.product-information__meta button {
    border: 0;
    background: transparent;
    color: var(--sfera-blue-dark);
    cursor: pointer;
}

.product-information__variants {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 9px;
    margin: 12px 0 52px;
}

.product-information__variants img {
    aspect-ratio: 1.35;
    width: 100%;
    padding: 6px;
    border: 1px solid var(--sfera-line);
    border-radius: 6px;
    object-fit: contain;
}

.product-brand-link {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    border-radius: 24px;
    background: var(--sfera-blue-pale);
    color: var(--sfera-ink);
    font-size: 12px;
    text-decoration: none;
}

.product-brand-link strong {
    color: var(--sfera-blue-dark);
    text-transform: uppercase;
}

.product-brand-link__logo {
    width: auto;
    height: auto;
    display: block;
    max-width: 96px;
    max-height: 32px;
    object-fit: contain;
}

.product-buy-card {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.product-buy-card__checkout {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    border-radius: 16px;
    background: #f5f6f8;
}

.product-buy-card__checkout > .product-summary__price {
    padding-bottom: 16px;
    border-bottom: 1px solid #d9e6ef;
    color: #0f0f0f;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.8;
}

.product-buy-card__pricing {
    padding-bottom: 16px;
    border-bottom: 1px solid #d9e6ef;
}

.product-buy-card__price-item > span {
    display: block;
    margin-bottom: 4px;
    color: #657080;
    font-size: 11px;
    font-weight: 500;
}

.product-buy-card__price-item > strong {
    display: inline-block;
    color: var(--sfera-ink);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.product-buy-card__price-item--retail > strong {
    font-size: 32px;
}

.product-buy-card__wholesale-prices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e1e7ec;
}

.product-buy-card__price-item--profit > strong {
    color: #168451;
}

.product-buy-card__request-price {
    color: #657080;
    font-size: 18px;
}

.product-buy-card__wholesale-prices--request {
    grid-template-columns: minmax(0, 1fr);
}

.product-buy-card__price-item--request {
    min-width: 0;
    grid-column: 1 / -1;
}

.product-buy-card__price-item--request > .product-buy-card__request-price {
    display: block;
    font-size: 16px;
    line-height: 1.35;
    white-space: normal;
}

.product-buy-card__price-item > small {
    display: block;
    margin-top: 3px;
    color: #657080;
    font-size: 10px;
}

.product-buy-card__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 8px;
}

.product-buy-card__actions form {
    margin: 0;
}

.product-buy-card .product-summary__cart {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 0 14px;
}

.product-buy-card .favorite-toggle--detail {
    position: static;
    width: 42px;
    height: 42px;
}

.product-buy-card__cheaper {
    color: var(--sfera-muted);
    font-size: 12px;
    text-align: center;
}

.product-buy-card__stock {
    padding: 24px;
    border-radius: 16px;
    background: #f5f6f8;
}

.product-buy-card__delivery strong,
.product-buy-card__stock strong {
    display: block;
    margin-bottom: 14px;
    font-size: 13px;
}

.product-buy-card__delivery-item,
.product-buy-card__stock-location {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: start;
    gap: 9px;
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.45;
}

.product-buy-card__delivery-item img,
.product-buy-card__stock-location img {
    width: 20px;
    height: 20px;
    margin-top: 1px;
}

.product-buy-card__delivery-item small,
.product-buy-card__stock-location small {
    display: block;
    margin-top: 2px;
    color: var(--sfera-muted);
}

.product-buy-card__delivery-rate {
    margin: 14px 0 0 29px;
    color: var(--sfera-muted);
    font-size: 12px;
    line-height: 1.45;
}

.product-buy-card__delivery-rate a,
.product-delivery a {
    color: var(--legacy-blue-75);
    text-underline-offset: 2px;
}

.product-buy-card__stock .stock {
    white-space: normal;
}

.product-buy-card__stock-location {
    margin-top: 0;
}

.product-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 72px;
    margin-top: 38px;
}

.product-delivery h2,
.product-content-grid .specifications h2 {
    margin: 0 0 18px;
    font-size: 23px;
}

.product-delivery h2:not(:first-child) {
    margin-top: 40px;
}

.product-delivery ul,
.product-delivery p {
    padding-left: 20px;
    color: var(--legacy-blue-100);
    font-size: 15px;
    line-height: 1.6;
}

.product-delivery p {
    padding-left: 0;
}

.product-content-grid .specifications {
    max-width: none;
    margin: 0;
}

.product-content-grid .specifications dl > div {
    grid-template-columns: minmax(150px, 0.7fr) minmax(0, 1fr);
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px dotted #aab0b8;
    color: var(--legacy-blue-100);
    font-size: 15px;
    line-height: 1.45;
}

.product-content-grid .specifications dd {
    text-align: right;
}

.product-related {
    margin-top: 84px;
    padding-bottom: 60px;
}

.product-related > h2 {
    margin: 0 0 32px;
    font-size: 38px;
    font-weight: 400;
}

.product-grid--related {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.product-grid--related .product-card {
    min-height: 390px;
}

.product-grid--related .product-card__body {
    min-height: 180px;
    padding: 14px;
}

.product-grid--related .product-card__title {
    min-height: 58px;
    font-size: 12px;
}

.product-grid--related .product-card__cart {
    min-width: 78px;
    padding: 0 10px;
    font-size: 11px;
}

.product-grid--related .price {
    font-size: 17px;
}

@media (max-width: 1180px) {
    .catalog-family {
        grid-template-columns: minmax(220px, 0.65fr) minmax(0, 1.35fr);
    }

    .product-detail {
        grid-template-columns: minmax(420px, 1.15fr) minmax(280px, 0.85fr);
    }

    .product-buy-card {
        grid-column: 2;
    }

    .product-information {
        grid-column: 2;
        grid-row: 1;
    }

    .product-buy-card {
        grid-row: 2;
    }

    .product-gallery {
        grid-row: 1 / span 2;
    }

    .product-grid--related {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .catalog-family {
        grid-template-columns: 1fr;
    }

    .catalog-family__root {
        height: 260px;
        min-height: 260px;
    }

    .catalog-family__root img {
        right: -2%;
        width: 72%;
        height: 230px;
    }

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

    .listing-hero {
        min-height: 210px;
        padding: 30px;
    }

    .listing-hero h1 {
        font-size: 34px;
    }

    .catalog-toolbar {
        margin-left: 0;
    }

    .catalog-results-layout {
        grid-template-columns: 1fr;
    }

    .catalog-filter-panel > summary {
        display: block;
        border-radius: 24px;
        background: var(--sfera-blue);
        color: #fff;
    }

    .catalog-filter-panel:not([open]) {
        background: transparent;
    }

    .catalog-filters {
        position: static;
    }

    .product-detail {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .product-gallery {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .product-information,
    .product-buy-card {
        grid-column: 2;
    }

    .product-content-grid {
        gap: 34px;
    }

    .product-grid--related {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .catalog-index {
        padding-top: 34px;
        padding-bottom: 60px;
    }

    .catalog-index__header h1 {
        margin-bottom: 32px;
        font-size: 30px;
    }

    .catalog-families {
        gap: 18px;
    }

    .catalog-family,
    .catalog-family__children {
        gap: 10px;
    }

    .catalog-family__root {
        height: 210px;
        min-height: 210px;
        padding: 24px;
        border-radius: 13px;
    }

    .catalog-family__root h2 {
        max-width: 220px;
        font-size: 23px;
    }

    .catalog-family__root img {
        right: -4%;
        width: 76%;
        height: 180px;
    }

    .catalog-category-tile {
        min-height: 175px;
        padding: 18px;
        border-radius: 13px;
    }

    .catalog-category-tile strong {
        font-size: 17px;
    }

    .catalog-category-tile small {
        display: none;
    }

    .breadcrumbs {
        margin-bottom: 16px;
        font-size: 11px;
    }

    .listing-hero {
        min-height: 150px;
        margin-bottom: 22px;
        padding: 22px;
        border-radius: 13px;
        background: var(--sfera-blue-pale);
    }

    .listing-hero h1 {
        max-width: 65%;
        font-size: 27px;
    }

    .listing-hero p {
        font-size: 12px;
    }

    .listing-hero img {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 42%;
        height: 130px;
    }

    .listing-hero::after {
        display: none;
    }

    .listing-hero::before {
        inset: 0;
    }

    .catalog-toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
        padding: 14px 0;
    }

    .catalog-sort {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .catalog-sort label {
        display: none;
    }

    .catalog-sort button {
        padding: 0 12px;
    }

    .catalog-products .product-grid {
        gap: 10px;
    }

    .product-card {
        min-height: 360px;
    }

    .favorite-toggle {
        width: 32px;
        height: 32px;
        font-size: 18px;
    }

    .product-card__badge {
        display: none;
    }

    .product-card__image img {
        padding: 12px;
    }

    .product-card__body {
        min-height: 185px;
        padding: 12px;
    }

    .product-card__title {
        min-height: 54px;
        font-size: 12px;
        text-align: left;
    }

    .product-card__article,
    .product-card .stock {
        display: none;
    }

    .product-card__footer {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        padding-top: 12px;
    }

    .product-card .price {
        margin: 0;
        font-size: 16px;
    }

    .product-card__cart {
        width: 100%;
        min-width: 0;
        min-height: 34px;
        font-size: 11px;
    }

    .product-page__title {
        margin-bottom: 28px;
        font-size: 28px;
    }

    .product-detail {
        display: flex;
        flex-direction: column;
        gap: 26px;
    }

    .product-gallery {
        width: 100%;
        display: flex;
        flex-direction: column-reverse;
        gap: 12px;
    }

    .product-gallery__thumbs {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 8px;
    }

    .product-gallery__thumb {
        width: 56px;
        flex: 0 0 56px;
    }

    .product-information {
        width: 100%;
        padding-top: 0;
    }

    .product-information h2 {
        font-size: 20px;
    }

    .product-information__variants {
        margin-bottom: 24px;
    }

    .product-brand-link {
        max-width: 100%;
    }

    .product-buy-card {
        width: 100%;
    }

    .product-buy-card__checkout,
    .product-buy-card__stock {
        padding: 18px;
    }

    .product-content-grid {
        display: flex;
        flex-direction: column-reverse;
        gap: 38px;
        margin-top: 42px;
    }

    .product-content-grid .specifications dl > div {
        grid-template-columns: minmax(110px, 0.7fr) minmax(0, 1fr);
        font-size: 11px;
    }

    .product-related {
        margin-top: 58px;
    }

    .product-related > h2 {
        font-size: 27px;
    }

    .product-grid--related {
        display: flex;
        overflow-x: auto;
        gap: 10px;
        scroll-snap-type: x mandatory;
    }

    .product-grid--related .product-card {
        min-width: 72vw;
        scroll-snap-align: start;
    }
}

/* Production search, cart and customer-account parity */
.search-page__header {
    margin-bottom: 54px;
}

.search-page__header h1,
.cart-page__header h1 {
    max-width: 980px;
    margin: 0;
    color: var(--sfera-ink);
    font-size: 42px;
    font-weight: 600;
    line-height: 1.2;
}

.search-page__header p,
.cart-page__header p {
    margin: 12px 0 0;
    color: var(--sfera-muted);
    font-size: 13px;
}

.search-results-layout .catalog-products .product-grid,
.favorites-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.search-page .catalog-filter-panel__body {
    padding-top: 0;
}

@media (min-width: 901px) {
    .search-page .catalog-filter-panel:not([open]) .catalog-filter-panel__body {
        display: block !important;
    }
}

.search-page .filter-options {
    max-height: 260px;
    overflow-y: auto;
}

.cart-page {
    min-height: 62vh;
    padding-top: 52px;
    padding-bottom: 90px;
}

.cart-page__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 44px;
}

.cart-page__layout {
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 30px;
}

.cart-lines {
    border: 0;
}

.cart-lines__header,
.cart-line {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) 120px 180px 130px;
    gap: 20px;
}

.cart-lines__header {
    align-items: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 8px;
    background: #f5f7f8;
    color: var(--sfera-muted);
    font-size: 12px;
    font-weight: 600;
}

.cart-line {
    align-items: center;
    padding: 22px 18px;
    border-bottom: 1px solid var(--sfera-line);
}

.cart-line__identity {
    display: grid;
    grid-template-columns: 126px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    min-width: 0;
}

.cart-line__image {
    width: 126px;
    height: 108px;
    aspect-ratio: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
}

.cart-line__image img {
    width: 100%;
    height: 100%;
    display: block;
    padding: 6px;
    object-fit: contain;
    object-position: center;
    mix-blend-mode: normal;
}

.cart-line__product h2 {
    font-size: 15px;
    font-weight: 500;
}

.cart-line__product p {
    color: var(--sfera-blue-dark);
    font-weight: 700;
    text-transform: uppercase;
}

.cart-line__price,
.cart-line__total {
    display: grid;
    gap: 5px;
    font-size: 16px;
}

.cart-line__price > span,
.cart-line__total > span {
    display: none;
    color: var(--sfera-muted);
    font-size: 11px;
    font-weight: 400;
}

.cart-line__quantity > div {
    grid-template-columns: 72px;
}

.cart-line__quantity input,
.cart-line__quantity button {
    border-color: var(--sfera-line);
    border-radius: 6px;
}

.cart-line__quantity input {
    width: 72px;
    text-align: center;
}

.cart-line__quantity button {
    margin-left: 6px;
    color: var(--sfera-blue-dark);
    font-size: 12px;
}

.cart-line__remove {
    margin-top: 10px;
}

.cart-line__remove button {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--sfera-muted);
    font-size: 12px;
    text-decoration: underline;
}

.cart-summary {
    top: 132px;
    padding: 28px;
    border: 0;
    border-radius: 8px;
    background: #f4f6f7;
}

.cart-summary h2 {
    margin: 0 0 20px;
    font-size: 22px;
}

.cart-summary__total {
    font-size: 22px;
}

.cart-summary .button-primary {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
}

.cart-summary form button {
    border: 0;
    background: transparent;
    color: var(--sfera-muted);
    font-size: 12px;
    text-decoration: underline;
}

.cart-empty {
    max-width: 620px;
    padding: 50px;
    border: 0;
    border-radius: 8px;
    background: #f4f6f7;
}

.customer-auth {
    width: min(540px, 100%);
    margin: 0;
}

.customer-auth--wide {
    width: min(860px, 100%);
}

.customer-auth h1 {
    margin: 0 0 54px;
    font-size: 42px;
}

.customer-auth form {
    gap: 18px;
    margin-top: 0;
}

.customer-auth input {
    min-height: 50px;
    padding: 0 22px;
    border-color: var(--sfera-line);
    border-radius: 25px;
    background: #fff;
}

.customer-auth button {
    min-height: 50px;
    margin-top: 6px;
}

.customer-auth__intro {
    margin: -30px 0 30px;
    color: var(--sfera-muted);
}

.customer-auth__links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-top: 22px;
}

.customer-auth__links a {
    color: var(--sfera-blue-dark);
}

.customer-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.customer-form-grid label,
.profile-section--form > form > label,
.public-form > label,
.availability-request label {
    min-width: 0;
    display: grid;
    gap: 7px;
    color: var(--sfera-ink);
    font-size: 13px;
    font-weight: 600;
}

.customer-form-grid input,
.profile-section--form input,
.profile-section--form textarea,
.public-form input,
.public-form textarea,
.availability-request input {
    width: 100%;
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid var(--sfera-line);
    border-radius: 6px;
    background: #fff;
    color: var(--sfera-ink);
    font: inherit;
}

.profile-section--form textarea,
.public-form textarea {
    min-height: 112px;
    resize: vertical;
}

.profile-section--form form,
.public-form,
.availability-request form {
    display: grid;
    gap: 16px;
}

.profile-company-fields {
    display: grid;
    gap: 16px;
    margin: 8px 0 0;
    padding: 24px 0 0;
    border: 0;
    border-top: 1px solid var(--sfera-line);
}

.profile-company-fields legend {
    padding: 0 16px 0 0;
    color: var(--sfera-ink);
    font-size: 18px;
    font-weight: 700;
}

.profile-company-fields > label {
    min-width: 0;
    display: grid;
    gap: 7px;
    color: var(--sfera-ink);
    font-size: 13px;
    font-weight: 600;
}

.profile-section--form form > button,
.public-form > button,
.availability-request form > button {
    width: fit-content;
    min-height: 46px;
    padding: 0 24px;
    border: 0;
    border-radius: 23px;
    background: var(--sfera-blue);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
}

.form-consent {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    align-items: start;
    gap: 9px !important;
    font-size: 12px !important;
    font-weight: 400 !important;
}

.form-consent input {
    width: 18px !important;
    min-height: 18px !important;
    margin: 1px 0 0;
    padding: 0 !important;
    accent-color: var(--sfera-blue);
}

.form-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
}

.account-nav {
    border-radius: 8px;
}

.account-nav a,
.account-nav button {
    min-height: 56px;
}

.profile-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.profile-section {
    padding: 26px;
    border: 1px solid var(--sfera-line);
    border-radius: 8px;
    background: #fff;
}

.profile-section--compact {
    grid-column: 1 / -1;
}

.profile-section h2 {
    margin: 0 0 22px;
    font-size: 20px;
}

.profile-section dl,
.profile-section p {
    margin: 0;
}

.profile-section dl > div {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 14px;
    padding: 12px 0;
    border-top: 1px solid var(--sfera-line);
    font-size: 13px;
}

.profile-section dl > div:first-child {
    border-top: 0;
}

.profile-section dt {
    color: var(--sfera-muted);
}

.profile-section dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.account-layout--dashboard {
    padding-top: 48px;
    padding-bottom: 88px;
}

.account-dashboard__header {
    align-items: center;
}

.account-customer-kind {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 0 14px;
    border: 1px solid var(--sfera-blue);
    border-radius: 18px;
    color: var(--sfera-blue-dark);
    font-size: 12px;
    font-weight: 700;
}

.account-dashboard__profile {
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
    align-items: start;
}

.account-dashboard__side {
    display: grid;
    gap: 18px;
}

.account-dashboard__side .profile-section {
    min-width: 0;
}

.profile-section--pricing > p,
.account-dashboard__exports > p {
    color: var(--sfera-muted);
    font-size: 13px;
    line-height: 1.55;
}

.profile-section--password form > button {
    width: 100%;
}

.account-dashboard__exports > div {
    display: grid;
    gap: 9px;
    margin-top: 18px;
}

.account-dashboard__exports .button-secondary {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border-radius: 21px;
    font-size: 12px;
    text-align: center;
    text-decoration: none;
}

.account-orders {
    margin-top: 48px;
}

.account-orders__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.account-orders__heading h2,
.account-orders__heading p {
    margin: 0;
}

.account-orders__heading h2 {
    font-size: 30px;
}

.account-orders__heading > span {
    color: var(--sfera-muted);
    font-size: 13px;
}

.account-order-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--sfera-line);
    border-radius: 8px;
    background: #fff;
}

.account-order-table {
    width: 100%;
    min-width: 830px;
    border-collapse: collapse;
    font-size: 13px;
}

.account-order-table--wholesale {
    min-width: 1120px;
}

.account-order-table th {
    padding: 13px 14px;
    background: #f4f6f7;
    color: var(--sfera-muted);
    font-size: 11px;
    font-weight: 700;
    text-align: left;
}

.account-order-table td {
    padding: 16px 14px;
    border-top: 1px solid var(--sfera-line);
    vertical-align: middle;
}

.account-order-table td:first-child,
.account-order-table td:nth-child(2) {
    min-width: 145px;
}

.account-order-table td strong,
.account-order-table td time,
.account-order-table td small {
    display: block;
}

.account-order-table td time,
.account-order-table td small {
    margin-top: 5px;
    color: var(--sfera-muted);
    font-size: 11px;
}

.account-order-table__profit {
    color: #26704d;
    font-weight: 700;
}

.account-order-table__open {
    color: var(--sfera-blue-dark);
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 900px) {
    .account-dashboard__profile {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .account-layout--dashboard {
        padding-top: 30px;
        padding-bottom: 64px;
    }

    .account-dashboard__header,
    .account-orders__heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .account-orders {
        margin-top: 36px;
    }

    .account-orders__heading h2 {
        font-size: 25px;
    }
}

.info-page {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 72px;
    padding-top: 62px;
    padding-bottom: 92px;
}

.info-page--wide {
    grid-template-columns: minmax(0, 980px);
}

.info-nav {
    display: flex;
    align-items: stretch;
    flex-direction: column;
    align-self: start;
    border-top: 1px solid var(--sfera-line);
}

.info-nav a {
    min-height: 53px;
    display: flex;
    align-items: center;
    padding: 10px 18px;
    border-bottom: 1px solid var(--sfera-line);
    color: var(--sfera-ink);
    font-size: 14px;
    line-height: 1.35;
    text-decoration: none;
}

.info-nav a:hover,
.info-nav a.is-active {
    background: var(--sfera-blue-pale);
    color: var(--sfera-blue-dark);
}

.info-article {
    min-width: 0;
    max-width: 920px;
    font-size: 15px;
    line-height: 1.7;
}

.info-article h1 {
    margin: 0 0 46px;
    color: var(--sfera-ink);
    font-size: 42px;
    font-weight: 600;
    line-height: 1.14;
}

.info-article h2 {
    margin: 42px 0 16px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.25;
}

.info-article h3 {
    margin: 28px 0 14px;
    font-size: 18px;
}

.info-article p,
.info-article ul,
.info-article ol {
    margin: 0 0 18px;
}

.info-article a {
    color: var(--sfera-blue-dark);
}

.brand-landing {
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 54px;
}

.brand-landing__content {
    min-width: 0;
}

.brand-landing__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--sfera-line);
}

.brand-landing__identity {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 20px;
}

.brand-landing__identity h1 {
    margin: 0;
    color: var(--sfera-ink);
    font-size: 38px;
    font-weight: 600;
    line-height: 1.1;
}

.brand-landing__logo {
    width: 112px;
    height: 56px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
}

.brand-landing__logo-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.brand-landing__all {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 13px;
    padding: 9px 16px;
    border: 1px solid var(--sfera-line);
    border-radius: 8px;
    color: var(--sfera-ink);
    font-size: 14px;
    text-decoration: none;
}

.brand-landing__all:hover {
    border-color: var(--sfera-blue);
    color: var(--sfera-blue-dark);
}

.brand-landing__all span:last-child {
    font-size: 24px;
    line-height: 1;
}

.brand-landing__description {
    max-width: 1040px;
    padding-top: 28px;
    color: #4f5965;
    font-size: 14px;
    line-height: 1.72;
}

.brand-landing__description p {
    margin: 0 0 17px;
}

.brand-categories {
    margin-top: 42px;
}

.brand-categories__heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.brand-categories__heading h2 {
    margin: 0;
    color: var(--sfera-ink);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
}

.brand-categories__heading span {
    color: var(--sfera-muted);
    font-size: 14px;
}

.brand-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.brand-category-card {
    height: 190px;
    min-width: 0;
    display: block;
    position: relative;
    overflow: hidden;
    padding: 20px;
    border: 1px solid #dce6f3;
    border-radius: 8px;
    background: #eef4fb;
    color: var(--sfera-ink);
    text-decoration: none;
}

.brand-category-card:hover {
    border-color: #96bff0;
    box-shadow: 0 8px 22px rgba(20, 45, 74, 0.08);
}

.brand-category-card__title {
    max-width: 78%;
    display: block;
    position: relative;
    z-index: 2;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
}

.brand-category-card__arrow {
    width: 30px;
    height: 30px;
    display: grid;
    position: absolute;
    bottom: 18px;
    left: 18px;
    z-index: 2;
    place-items: center;
    border: 1px solid #cad7e6;
    border-radius: 50%;
    background: #fff;
    font-size: 22px;
    line-height: 1;
}

.brand-category-card img {
    width: 58%;
    height: 60%;
    position: absolute;
    right: 5px;
    bottom: 2px;
    object-fit: contain;
    object-position: center;
    transition: transform 180ms ease;
}

.brand-category-card:hover img {
    transform: scale(1.04);
}

.info-lead {
    max-width: 780px;
    font-size: 19px;
    line-height: 1.55;
}

.info-details {
    margin: 0;
    border-top: 1px solid var(--sfera-line);
}

.info-details > div {
    display: grid;
    grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1fr);
    gap: 28px;
    padding: 14px 0;
    border-bottom: 1px solid var(--sfera-line);
}

.info-details dt {
    color: var(--sfera-muted);
}

.info-details dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.info-table-wrap {
    max-width: 100%;
    overflow-x: auto;
}

.info-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.info-table th,
.info-table td {
    padding: 14px 16px;
    border: 1px solid var(--sfera-line);
    text-align: left;
}

.info-table th {
    background: #f4f6f7;
    font-weight: 600;
}

.delivery-methods {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 0;
    list-style: none;
}

.delivery-methods li {
    display: grid;
    gap: 5px;
    padding: 18px;
    border: 1px solid var(--sfera-line);
    border-radius: 8px;
    background: #f7f9fb;
}

.delivery-methods span,
.delivery-notes {
    color: var(--sfera-muted);
    font-size: 13px;
}

.delivery-rates {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0 30px;
}

.delivery-rates > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    border-left: 4px solid var(--sfera-blue);
    background: var(--sfera-blue-pale);
}

.delivery-rates dd {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
}

.delivery-notes {
    margin-top: 16px;
    padding: 16px 18px;
    border-radius: 8px;
    background: #f7f9fb;
}

.delivery-notes p:last-child {
    margin-bottom: 0;
}

.info-steps {
    padding-left: 24px;
}

.info-steps li {
    padding: 0 0 20px 8px;
}

.contact-grid,
.service-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.contact-grid section,
.service-list section,
.store-location {
    padding: 28px;
    border: 1px solid var(--sfera-line);
    border-radius: 8px;
}

.contact-grid h2,
.service-list h2,
.store-location h2 {
    margin-top: 0;
}

.info-note {
    margin-top: 28px !important;
    padding: 20px 24px;
    border-left: 3px solid var(--sfera-blue);
    background: #f4f6f7;
}

.public-form-section {
    margin-top: 46px;
    padding-top: 2px;
    border-top: 1px solid var(--sfera-line);
}

.public-form {
    max-width: 760px;
}

.availability-request {
    margin-top: 14px;
}

.availability-request summary {
    color: var(--sfera-blue-dark);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.availability-request form {
    margin-top: 14px;
}

.availability-request form > button {
    width: 100%;
}

.info-action {
    width: fit-content;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 24px;
    border-radius: 23px;
    color: #fff !important;
    text-decoration: none;
}

.info-article--legal {
    max-width: 980px;
}

.info-document-date {
    color: var(--sfera-muted);
}

.store-footer__legal {
    display: flex;
    gap: 28px;
}

.cart-summary__continue {
    display: block;
    color: var(--sfera-blue-dark);
    text-align: center;
    text-decoration: none;
}

.checkout-page {
    padding-top: 52px;
    padding-bottom: 96px;
}

.checkout-page__header {
    margin-bottom: 38px;
}

.checkout-page__header a {
    color: var(--sfera-muted);
    font-size: 13px;
    text-decoration: none;
}

.checkout-page__header h1 {
    margin: 18px 0 0;
    font-size: 42px;
    font-weight: 600;
}

.checkout-alert {
    margin-bottom: 24px;
    padding: 16px 20px;
    border-left: 3px solid #bc3f36;
    background: #fff2f0;
    color: #7e2420;
}

.checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 64px;
    align-items: start;
}

.checkout-section {
    padding: 0 0 38px;
    margin: 0 0 38px;
    border-bottom: 1px solid var(--sfera-line);
}

.checkout-section h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 24px;
    font-size: 21px;
    font-weight: 600;
}

.checkout-section h2 > span {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--sfera-blue);
    color: #fff;
    font-size: 14px;
}

.checkout-segmented {
    width: fit-content;
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    margin-bottom: 24px;
    border: 1px solid var(--sfera-line);
    border-radius: 6px;
    overflow: hidden;
}

.checkout-segmented label {
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 16px;
    cursor: pointer;
}

.checkout-segmented label + label {
    border-left: 1px solid var(--sfera-line);
}

.checkout-segmented label:has(input:checked) {
    background: var(--sfera-blue-pale);
    color: var(--sfera-blue-dark);
}

.checkout-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

.checkout-fields--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.checkout-fields--address {
    grid-template-columns: minmax(0, 1fr) 150px;
}

.checkout-field {
    min-width: 0;
    display: grid;
    gap: 7px;
    color: var(--sfera-ink);
    font-size: 13px;
}

.checkout-field b {
    margin-left: 3px;
    color: #bc3f36;
}

.checkout-field input,
.checkout-field textarea {
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid var(--sfera-line);
    border-radius: 4px;
    background: #fff;
    color: var(--sfera-ink);
    font: inherit;
}

.checkout-field textarea {
    resize: vertical;
}

.checkout-field input:focus,
.checkout-field textarea:focus {
    border-color: var(--sfera-blue);
    outline: 2px solid rgba(0, 126, 178, .14);
}

.checkout-field--error input,
.checkout-field--error textarea,
.checkout-field:has(> small) textarea {
    border-color: #bc3f36;
}

.checkout-field small,
.checkout-error {
    color: #a52d27;
    font-size: 12px;
}

.checkout-company,
.checkout-address {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px dashed var(--sfera-line);
}

.checkout-company[hidden],
.checkout-address[hidden] {
    display: none;
}

.checkout-pickup,
.checkout-delivery-note {
    margin: 18px 0 0;
    padding: 14px 16px;
    border-radius: 6px;
    background: var(--sfera-blue-pale);
    color: var(--sfera-blue-dark);
    font-size: 13px;
    line-height: 1.55;
}

.checkout-pickup[hidden] {
    display: none;
}

.checkout-delivery-note a {
    color: var(--sfera-blue-dark);
    font-weight: 600;
}

.checkout-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.checkout-options--payment {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkout-options label {
    min-height: 92px;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 18px;
    border: 1px solid var(--sfera-line);
    border-radius: 6px;
    cursor: pointer;
}

.checkout-options label:has(input:checked) {
    border-color: var(--sfera-blue);
    background: var(--sfera-blue-pale);
}

.checkout-options input {
    margin-top: 3px;
}

.checkout-options span,
.checkout-options strong,
.checkout-options small {
    display: block;
}

.checkout-options strong {
    font-size: 14px;
    line-height: 1.35;
}

.checkout-options small {
    margin-top: 7px;
    color: var(--sfera-muted);
    font-size: 12px;
}

.checkout-summary {
    position: sticky;
    top: 24px;
    padding: 28px;
    border: 1px solid var(--sfera-line);
    border-radius: 8px;
    background: #fff;
}

.checkout-summary h2 {
    margin: 0 0 24px;
    font-size: 21px;
}

.checkout-summary > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 0;
    color: var(--sfera-muted);
    font-size: 13px;
}

.checkout-summary > div strong {
    color: var(--sfera-ink);
}

.checkout-summary .checkout-summary__total {
    margin: 12px 0 20px;
    padding: 20px 0;
    border-top: 1px solid var(--sfera-line);
    border-bottom: 1px solid var(--sfera-line);
    color: var(--sfera-ink);
    font-size: 17px;
}

.checkout-summary__total strong {
    font-size: 22px;
}

.checkout-consent {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    margin: 12px 0;
    color: var(--sfera-muted);
    font-size: 12px;
    line-height: 1.45;
}

.checkout-consent input {
    margin-top: 2px;
}

.checkout-summary .button-primary {
    width: 100%;
    margin-top: 16px;
    border: 0;
    cursor: pointer;
}

.checkout-summary > p {
    margin: 16px 0 0;
    color: var(--sfera-muted);
    font-size: 11px;
    line-height: 1.5;
}

.checkout-success {
    max-width: 720px;
    padding-top: 84px;
    padding-bottom: 110px;
    text-align: center;
}

.checkout-success__mark {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #238257;
    color: #fff;
    font-size: 28px;
}

.checkout-success > p:first-of-type {
    margin: 20px 0 8px;
    color: #238257;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
}

.checkout-success h1 {
    margin: 0 0 20px;
    font-size: 42px;
}

.checkout-success__number {
    font-size: 18px;
}

.checkout-success > p {
    line-height: 1.65;
}

.checkout-success dl {
    margin: 34px 0;
    border-top: 1px solid var(--sfera-line);
}

.checkout-success dl > div {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 14px 0;
    border-bottom: 1px solid var(--sfera-line);
    text-align: left;
}

.checkout-success dd {
    margin: 0;
    font-weight: 600;
    text-align: right;
}

.checkout-success__actions {
    display: flex;
    justify-content: center;
    gap: 12px;
}

@media (min-width: 901px) and (max-width: 1100px) {
    .store-header__main {
        grid-template-columns: 170px auto minmax(180px, 1fr) 220px;
        gap: 12px;
    }

    .cart-page__layout {
        grid-template-columns: 1fr;
    }

    .cart-summary {
        position: static;
        width: min(480px, 100%);
        margin-left: auto;
    }
}

@media (max-width: 1100px) {
    .cart-page__layout {
        grid-template-columns: 1fr;
    }

    .cart-summary {
        position: static;
        width: min(480px, 100%);
        margin-left: auto;
    }

    .checkout-layout {
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: 34px;
    }

    .checkout-options {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .cart-lines__header {
        display: none;
    }

    .cart-line {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 18px;
        padding: 20px 0;
    }

    .cart-line__identity,
    .cart-line__quantity {
        grid-column: 1 / -1;
    }

    .cart-line__price > span,
    .cart-line__total > span {
        display: block;
    }

    .cart-line__quantity > div {
        width: 72px;
    }
}

@media (max-width: 900px) {
    .info-page {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 34px;
    }

    .info-page--wide {
        grid-template-columns: 1fr;
    }

    .brand-landing {
        grid-template-columns: 190px minmax(0, 1fr);
        gap: 28px;
    }

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

    .search-results-layout .catalog-products .product-grid,
    .favorites-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .account-nav {
        grid-template-columns: repeat(4, 1fr);
    }

    .profile-sections {
        grid-template-columns: 1fr;
    }

    .profile-section--compact {
        grid-column: auto;
    }

    .checkout-layout {
        grid-template-columns: 1fr;
    }

    .checkout-summary {
        position: static;
    }
}

@media (max-width: 760px) {
    .info-page {
        grid-template-columns: 1fr;
        gap: 32px;
        padding-top: 36px;
        padding-bottom: 64px;
    }

    .info-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .info-nav a {
        border-right: 1px solid var(--sfera-line);
    }

    .brand-landing {
        grid-template-columns: 1fr;
    }

    .brand-landing__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .brand-landing__identity h1 {
        font-size: 30px;
    }

    .brand-landing__all {
        align-self: stretch;
        justify-content: space-between;
    }

    .brand-categories__heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .brand-categories__heading h2 {
        font-size: 24px;
    }

    .info-article h1 {
        margin-bottom: 32px;
        font-size: 30px;
    }

    .info-article h2 {
        margin-top: 34px;
        font-size: 21px;
    }

    .info-lead {
        font-size: 17px;
    }

    .delivery-methods,
    .delivery-rates {
        grid-template-columns: 1fr;
    }

    .contact-grid,
    .service-list {
        grid-template-columns: 1fr;
    }

    .store-footer__legal {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .search-page__header,
    .cart-page__header {
        margin-bottom: 30px;
    }

    .search-page__header h1,
    .cart-page__header h1,
    .customer-auth h1 {
        font-size: 30px;
    }

    .search-toolbar {
        align-items: stretch;
    }

    .cart-lines__header {
        display: none;
    }

    .cart-line {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 18px;
        padding: 20px 0;
    }

    .cart-line__identity {
        grid-column: 1 / -1;
    }

    .cart-line__price,
    .cart-line__total {
        display: grid;
    }

    .cart-line__price > span,
    .cart-line__total > span {
        display: block;
    }

    .cart-line__quantity {
        grid-column: 1 / -1;
    }

    .cart-line__quantity > div {
        width: 72px;
    }

    .customer-auth h1 {
        margin-bottom: 32px;
    }

    .customer-form-grid {
        grid-template-columns: 1fr;
    }

    .account-nav {
        grid-template-columns: repeat(2, 1fr);
    }

    .account-nav a,
    .account-nav button {
        border-right: 1px solid var(--sfera-line);
        border-bottom: 1px solid var(--sfera-line);
    }

    .checkout-page {
        padding-top: 34px;
        padding-bottom: 64px;
    }

    .checkout-page__header h1,
    .checkout-success h1 {
        font-size: 30px;
    }

    .checkout-fields,
    .checkout-fields--three,
    .checkout-fields--address,
    .checkout-options--payment {
        grid-template-columns: 1fr;
    }

    .checkout-segmented {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .checkout-segmented label + label {
        border-top: 1px solid var(--sfera-line);
        border-left: 0;
    }

    .checkout-summary {
        padding: 22px;
    }

    .checkout-success__actions {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 420px) {
    .brand-category-grid {
        grid-template-columns: 1fr;
    }

    .info-nav {
        grid-template-columns: 1fr;
    }

    .info-details > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .contact-grid section,
    .service-list section,
    .store-location {
        padding: 22px;
    }

    .search-results-layout .catalog-products .product-grid,
    .favorites-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .cart-line__identity {
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 14px;
    }

    .cart-line__product h2 {
        font-size: 13px;
    }

    .cart-empty {
        padding: 30px 22px;
    }

    .profile-section {
        padding: 20px;
    }

    .profile-section dl > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}

@media (max-width: 340px) {
    .info-article h1 {
        font-size: 25px;
    }
}

/* Legacy production storefront parity */
@font-face {
    font-family: "Manrope";
    src: url("/media/legacy/fonts/Manrope-Light.woff2") format("woff2");
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/media/legacy/fonts/Manrope-Regular.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/media/legacy/fonts/Manrope-Medium.woff2") format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/media/legacy/fonts/Manrope-Semibold.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/media/legacy/fonts/Manrope-Bold.woff2") format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/media/legacy/fonts/Manrope-ExtraBold.woff2") format("woff2");
    font-style: normal;
    font-weight: 800;
    font-display: swap;
}

.legacy-store {
    --legacy-primary: #4592eb;
    --legacy-blue-100: #0e1d2f;
    --legacy-blue-75: #29588d;
    --legacy-blue-50: #a4c5f4;
    --legacy-blue-10: #e8f1fd;
    --legacy-blue-5: #f0f6fe;
    --legacy-violet-dark: #1c3a5e;
    --legacy-magenta: #d1486f;
    --legacy-gray-10: #f1f1f1;
    color: var(--legacy-blue-100);
    font-family: "Manrope", Arial, sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.8;
    letter-spacing: 0;
}

.legacy-store *,
.legacy-store *::before,
.legacy-store *::after {
    box-sizing: border-box;
    letter-spacing: 0;
}

.legacy-store .store-shell {
    width: min(1790px, 100%);
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}

.legacy-header {
    z-index: 30;
    margin-bottom: 30px;
    color: #fff;
    font-weight: 500;
}

.legacy-header__top {
    height: 53.1875px;
    min-height: 53px;
    padding: 14px 0;
    background: var(--legacy-violet-dark);
}

.legacy-header .store-header__top-inner {
    min-height: 25px;
    gap: 40px;
}

.legacy-header__contacts,
.legacy-header__contacts a,
.legacy-header .store-header__utility {
    display: flex;
    align-items: center;
}

.legacy-header__contacts {
    gap: 40px;
}

.legacy-header__contacts a {
    gap: 10px;
}

.legacy-header__contacts a::before {
    width: 15px;
    height: 15px;
    display: block;
    content: "";
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.legacy-header__location::before {
    background-image: url("/media/legacy/ui/placemark-white.svg");
}

.legacy-header__phone::before {
    background-image: url("/media/legacy/ui/phone-white.svg");
}

.legacy-header .store-city select,
.legacy-header__contacts a,
.legacy-header .store-header__utility a {
    color: #fff;
    font-size: 14px;
    line-height: 1;
}

.legacy-header .store-header__utility {
    gap: 30px;
}

.legacy-header .store-header__mainbar {
    padding: 22px 0;
    background: var(--legacy-blue-100);
}

.legacy-header .store-header__main {
    height: 60px;
    min-height: 60px;
    display: flex;
    gap: 40px;
}

.legacy-header .store-logo {
    flex: 0 0 auto;
    grid-template-columns: 60px auto;
    gap: 4px 10px;
}

.legacy-header .store-logo img {
    width: 60px;
    height: 60px;
    grid-row: 1 / 3;
}

.legacy-header .store-logo__copy strong {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
}

.legacy-header .store-logo__copy small {
    color: var(--legacy-blue-10);
    font-size: 12px;
    font-weight: 300;
}

.legacy-header .store-header__buttons {
    flex: 0 0 auto;
    gap: 8px;
}

.legacy-header .store-pill {
    min-height: 48px;
    padding: 15px 20px;
    border: 1px solid transparent;
    border-radius: 50px;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    line-height: 1;
    transition: background-color .3s ease-in;
}

.legacy-header .store-pill::before {
    width: 16px;
    height: 16px;
    display: block;
    margin: 0 10px 0 0;
    content: "";
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.legacy-header .store-pill--catalog {
    background: var(--legacy-primary);
}

.legacy-header .store-pill--catalog::before {
    background-image: url("/media/legacy/ui/tiles-blue.svg");
    filter: brightness(0) invert(1);
}

.legacy-header .store-pill--sale {
    background: var(--legacy-magenta);
}

.legacy-header .store-pill--sale::before {
    background-image: url("/media/legacy/ui/sale-white.svg");
}

.legacy-header .store-search {
    min-width: 180px;
    flex: 1 1 auto;
}

.legacy-header .store-search form {
    position: relative;
    display: block;
    min-height: 48px;
    border: 0;
    border-radius: 50px;
    background: #fff;
}

.legacy-header .store-search input {
    height: 48px;
    border: 1px solid #eef1f4;
    border-radius: 50px;
    padding: 15px 100px 15px 24px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 300;
}

.legacy-header .store-search button {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 80px;
    height: 44px;
    padding: 0 18px;
    border-radius: 50px;
    background: var(--legacy-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 300;
}

.legacy-header .store-search button:hover {
    background: var(--legacy-primary);
}

.legacy-header .store-cart {
    padding: 0;
    border: 0;
    color: #fff;
}

.legacy-header .store-controls {
    flex: 0 0 auto;
    display: flex;
    gap: 40px;
}

.legacy-header .store-control {
    min-height: 60px;
    gap: 11px;
    font-size: 14px;
}

.legacy-header .store-control > span {
    width: 20px;
    height: 20px;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.legacy-header .store-control--favorite > span {
    background-image: url("/media/legacy/ui/heart-white.svg");
}

.legacy-header .store-control--account > span {
    background-image: url("/media/legacy/ui/account-white.svg");
}

.legacy-header .store-control--cart > span {
    background-image: url("/media/legacy/ui/cart-white.svg");
}

.legacy-catalog-menu {
    width: 100%;
    position: absolute;
    z-index: 99;
    left: 0;
    color: var(--legacy-blue-100);
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .16);
}

.legacy-catalog-menu[hidden] {
    display: none;
}

.legacy-catalog-menu__inner {
    display: flex;
    align-items: stretch;
}

.legacy-catalog-menu__roots {
    width: min(370px, 27vw);
    flex: 0 0 auto;
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 32px;
    border-right: 1px solid var(--legacy-blue-5);
}

.legacy-catalog-menu__root {
    display: flex;
    align-items: center;
    gap: 14px;
    color: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    transition: color .3s ease-in;
}

.legacy-catalog-menu__root::before {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    content: "";
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.legacy-catalog-menu__root--287::before { background-image: url("/media/legacy/ui/stove.svg"); }
.legacy-catalog-menu__root--295::before { background-image: url("/media/legacy/ui/sink.svg"); }
.legacy-catalog-menu__root--296::before { background-image: url("/media/legacy/ui/washing-machine.svg"); }
.legacy-catalog-menu__root--268::before { background-image: url("/media/legacy/ui/cupboard.svg"); }
.legacy-catalog-menu__root--282::before { background-image: url("/media/legacy/ui/furniture.svg"); }

.legacy-catalog-menu__root:hover,
.legacy-catalog-menu__root.is-active {
    color: var(--legacy-primary);
}

.legacy-catalog-menu__groups {
    min-width: 0;
    flex: 1 1 auto;
    padding: 32px;
}

.legacy-catalog-menu__group {
    max-height: 700px;
    display: flex;
    flex-flow: column wrap;
    align-content: flex-start;
    gap: 30px 56px;
}

.legacy-catalog-menu__group[hidden] {
    display: none;
}

.legacy-catalog-menu__section {
    width: min(310px, 28vw);
}

.legacy-catalog-menu__section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    color: inherit;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

.legacy-catalog-menu__section-title small {
    color: #5d5c5b;
    font-size: 14px;
    font-weight: 300;
}

.legacy-catalog-menu__links {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.legacy-catalog-menu__links a {
    color: inherit;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.3;
    text-decoration: none;
}

.legacy-catalog-menu__links a:hover {
    color: var(--legacy-primary);
}

.legacy-home {
    padding-top: 0;
    padding-bottom: 90px;
}

.legacy-home section + section {
    margin-top: 0;
}

.legacy-home .home-section-title {
    min-height: 46px;
    justify-content: flex-start;
    gap: 15px;
    margin-bottom: 55px;
}

.legacy-home .home-section-title h1,
.legacy-home .home-section-title h2 {
    margin: 0;
    color: var(--legacy-blue-100);
    font-size: 40px;
    font-weight: 600;
    line-height: 1.14;
}

.legacy-home .home-section-title a {
    height: 46px;
    min-height: 0;
    margin-left: auto;
    padding: 15px 20px;
    border-color: var(--legacy-primary);
    border-radius: 50px;
    color: var(--legacy-primary);
    font-size: 12px;
    line-height: 1;
}

.legacy-slider {
    position: relative;
    margin-bottom: 90px;
}

.legacy-slider__track {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.legacy-slider__track::-webkit-scrollbar {
    display: none;
}

.legacy-slider__slide {
    flex: 0 0 calc((100% - 60px) / 4);
    display: block;
    overflow: hidden;
    border-radius: 24px;
    scroll-snap-align: start;
}

.legacy-slider__slide picture,
.legacy-slider__slide img {
    width: 100%;
    height: 100%;
    display: block;
}

.legacy-slider__slide img {
    object-fit: cover;
}

.legacy-slider--promos .legacy-slider__slide {
    aspect-ratio: 416 / 230;
    max-height: 230px;
}

.legacy-slider__arrow {
    width: 42px;
    height: 42px;
    position: absolute;
    z-index: 2;
    top: calc(50% - 21px);
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .16);
    cursor: pointer;
}

.legacy-slider__arrow::before {
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--legacy-blue-100);
    border-right: 2px solid var(--legacy-blue-100);
    content: "";
}

.legacy-slider__arrow--prev { left: 14px; }
.legacy-slider__arrow--next { right: 14px; }
.legacy-slider__arrow--prev::before { transform: rotate(-135deg); }
.legacy-slider__arrow--next::before { transform: rotate(45deg); }

.legacy-slider__dots {
    position: absolute;
    right: 0;
    bottom: -25px;
    left: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.legacy-slider__dots button {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #d9d9d9;
    cursor: pointer;
}

.legacy-slider__dots button.is-active {
    background: var(--legacy-primary);
}

.legacy-home .main-sections {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(6, 140.5px);
    grid-auto-rows: 140.5px;
    gap: 34px;
    margin-bottom: 90px;
}

.legacy-home .main-sections__item {
    min-height: 315px;
    display: flex;
    grid-row: span 2;
    flex-direction: column;
    gap: 12px;
    padding: 32px;
    border-radius: 32px;
    background: #e8f1fd;
    color: var(--legacy-blue-100);
    transition: background .3s ease-in;
}

.legacy-home .main-sections__item:hover {
    background: linear-gradient(to bottom, var(--legacy-blue-50), #c6d5fc);
}

.legacy-home .main-sections__item:hover .main-sections__item-name {
    color: #fff;
}

.legacy-home .main-sections__item-name {
    max-width: 250px;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.3;
}

.legacy-home .main-sections__item-pic {
    width: auto;
    height: auto;
    position: absolute;
    top: 35%;
    right: -10%;
    bottom: auto;
    max-width: 65%;
    max-height: 90%;
}

.legacy-home .main-sections__item-pic img {
    position: static;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    mix-blend-mode: normal;
}

.catalog-promotions,
.product-promotions {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    margin: 18px 0 28px;
    scrollbar-width: thin;
}

.catalog-promotions a,
.product-promotions a {
    min-width: min(360px, 82vw);
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 13px 16px;
    border: 1px solid #f0b8c2;
    border-radius: 8px;
    color: #222;
    background: #fff7f8;
    text-decoration: none;
}

.catalog-promotions strong,
.product-promotions strong {
    color: #d7183f;
}

.subcategory-list img {
    width: 48px;
    height: 42px;
    flex: 0 0 48px;
    object-fit: contain;
}

.product-card__badge--promotion {
    color: #fff;
    background: #d7183f;
    text-decoration: none;
}

.promotion-index,
.promotion-detail {
    padding-top: 34px;
    padding-bottom: 90px;
}

.promotion-index__header {
    margin-bottom: 78px;
}

.promotion-index__header h1,
.promotion-detail__hero h1,
.promotion-products h2 {
    margin: 0;
    letter-spacing: 0;
}

.promotion-index__header h1 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.14;
}

.promotion-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr));
    gap: 20px;
}

.promotion-card {
    min-width: 0;
    display: grid;
    gap: 20px;
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: transparent;
}

.promotion-card__image,
.promotion-card__image picture {
    width: 100%;
    min-width: 0;
    display: block;
    overflow: hidden;
    background: transparent;
}

.promotion-card__image img {
    width: 100%;
    height: auto;
    display: block;
    max-width: 100%;
    border-radius: 20px;
}

.promotion-card__body {
    padding: 0;
}

.promotion-card__body h2 {
    margin: 0 0 5px;
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
}

.promotion-card__body h2 a {
    color: inherit;
    text-decoration: none;
}

.promotion-card__text {
    margin-bottom: 9px;
    color: #555;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.8;
}

.promotion-detail__eyebrow {
    margin: 0 0 8px;
    color: #d7183f;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.promotion-detail__hero {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    gap: 46px;
    align-items: center;
    margin: 28px 0 46px;
}

.promotion-detail__hero h1 {
    font-size: 46px;
    line-height: 1.08;
}

.promotion-detail__hero picture,
.promotion-detail__hero img {
    display: block;
    width: 100%;
}

.promotion-detail__hero img {
    max-height: 440px;
    object-fit: contain;
}

.promotion-detail__lead {
    margin-top: 18px;
    color: #555;
    font-size: 18px;
    line-height: 1.55;
}

.promotion-detail__content {
    max-width: 900px;
    font-size: 17px;
    line-height: 1.65;
}

.promotion-detail__content p,
.promotion-detail__lead p {
    margin: 0 0 18px;
}

.promotion-detail__content h2 {
    margin: 32px 0 14px;
    color: var(--sfera-ink);
    font-size: 24px;
    line-height: 1.25;
}

.promotion-detail__content ul {
    display: grid;
    gap: 10px;
    margin: 0 0 24px;
    padding-left: 24px;
}

.promotion-detail__content li::marker {
    color: #d7183f;
}

.promotion-detail__notice {
    padding: 14px 18px;
    border-left: 4px solid #d7183f;
    border-radius: 0 10px 10px 0;
    background: #fff3f5;
    color: #9f1430;
}

.promotion-detail__content img {
    max-width: 100%;
    height: auto;
}

.promotion-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 32px 0;
}

.promotion-links a {
    padding: 9px 13px;
    border: 1px solid #dcdcdc;
    border-radius: 6px;
    color: #222;
    text-decoration: none;
}

.promotion-products {
    margin-top: 52px;
}

.promotion-products h2 {
    margin-bottom: 24px;
    font-size: 32px;
}

@media (max-width: 768px) {
    .promotion-index,
    .promotion-detail {
        padding-top: 20px;
        padding-bottom: 56px;
    }

    .promotion-index__header h1 {
        font-size: 40px;
    }

    .promotion-detail__hero {
        grid-template-columns: 1fr;
    }

    .promotion-detail__hero {
        gap: 24px;
        margin-top: 20px;
    }

    .promotion-detail__hero h1 {
        font-size: 34px;
    }
}

.legacy-home .main-sections__item:nth-child(3),
.legacy-home .main-sections__item:nth-child(6n) {
    grid-row: span 3;
}

.legacy-home .main-sections__item:nth-child(2) {
    grid-column: span 2;
    flex-direction: column-reverse;
    align-items: flex-end;
}

.legacy-home .main-sections__item:nth-child(2)::before {
    position: absolute;
    inset: 0;
    content: "";
    background-image: url("/media/legacy/ui/pattern-1.webp");
    background-size: cover;
    opacity: .04;
}

.legacy-home .main-sections__item:first-child {
    grid-row: span 4;
}

.legacy-home .main-sections__item:first-child .main-sections__item-name {
    text-align: center;
}

.legacy-home .main-sections__item:first-child .main-sections__item-pic {
    top: auto;
    right: 0;
    bottom: -5%;
    max-width: 100%;
}

.legacy-home .home-category--hood .main-sections__item-pic {
    top: -40%;
    right: 5%;
}

.legacy-home .home-category--faucet .main-sections__item-pic {
    top: 15%;
    right: 0;
    max-width: 45%;
}

.legacy-slider--banners .legacy-slider__slide {
    flex-basis: min(1160px, calc(100% - 40px));
    aspect-ratio: 1160 / 300;
    opacity: .3;
    transition: opacity .3s ease-in;
}

.legacy-slider--banners .legacy-slider__slide.is-active {
    opacity: 1;
}

.legacy-home .features {
    position: relative;
    margin-bottom: 150px;
    padding: 98px 80px 113px;
    border-radius: 16px;
    background: var(--legacy-gray-10);
}

.legacy-home .features .home-section-title {
    margin-bottom: 55px;
}

.legacy-home .features-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.legacy-home .features-list::before {
    display: block;
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    content: "";
}

.legacy-home .features-list article {
    min-height: 0;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px 20px;
    padding: 40px 30px;
    border: 0;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .16);
}

.legacy-home .features-list article:nth-child(n + 4) {
    min-height: 208.765625px;
}

.legacy-home .features-list article span {
    width: 80px;
    height: 80px;
    grid-row: 1 / 3;
    background: var(--legacy-gray-10);
    color: var(--legacy-primary);
    font-size: 16px;
    font-weight: 600;
}

.legacy-home .features-list article h3 {
    margin: 0;
    color: var(--legacy-blue-100);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.8;
}

.legacy-home .features-list article p {
    margin: 0;
    color: var(--legacy-blue-100);
    font-size: 18px;
    font-weight: 300;
    line-height: 1.8;
}

.legacy-home .features__stars {
    position: absolute;
    bottom: -100px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 40px 11px;
}

.legacy-home .features__stars::before {
    width: 49px;
    height: 49px;
    content: "";
    background: url("/media/legacy/ui/star-black.svg") center / contain no-repeat;
}

.legacy-home .features__stars strong {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
    color: var(--legacy-primary);
    font-size: 400px;
    font-weight: 600;
    line-height: 1;
}

.legacy-home .features__stars span {
    font-size: 32px;
    font-weight: 400;
    line-height: 1.14;
}

.legacy-home .home-brands {
    padding-top: 0;
}

.legacy-home .legacy-slider--brands {
    margin-bottom: 0;
}

.legacy-brand-column {
    flex: 0 0 calc((100% - 140px) / 8);
    display: flex;
    flex-direction: column;
    gap: 32px;
    scroll-snap-align: start;
}

.legacy-brand-item {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--legacy-blue-100);
    text-align: center;
    text-decoration: none;
}

.legacy-brand-logo {
    width: auto;
    height: auto;
    display: block;
    max-width: 150px;
    max-height: 48px;
    object-fit: contain;
}

.brand-logo__fallback {
    font-size: 20px;
    font-weight: 700;
}

.legacy-store .store-footer {
    background: var(--legacy-blue-100);
    font-family: inherit;
    font-size: 16px;
    line-height: 1.8;
}

.legacy-store .store-footer__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 50px;
    padding-top: 80px;
    padding-bottom: 80px;
}

.legacy-store .store-footer h2 {
    margin-bottom: 12px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.8;
}

.legacy-store .store-footer__grid > nav,
.legacy-store .store-footer__grid > div {
    gap: 12px;
}

.legacy-store .store-footer a,
.legacy-store .store-footer p {
    font-size: 16px;
    line-height: 1;
}

.legacy-store .store-social {
    width: 162px;
    min-width: 162px;
    min-height: 48px;
    justify-content: flex-start;
    gap: 16px;
    padding: 0;
    border-radius: 50px;
    color: var(--legacy-blue-100) !important;
}

.legacy-store .store-social img {
    width: auto;
    height: auto;
    flex: 0 0 auto;
}

.legacy-store .store-social__icon {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
}

.legacy-store .store-social__icon img {
    width: 18px;
    max-height: 15px;
}

.legacy-store .store-footer__bottom {
    border-top: 0;
    background: var(--legacy-violet-dark);
}

.legacy-store .store-footer__bottom > div {
    min-height: 0;
    gap: 16px;
    padding-top: 12px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 16px;
    line-height: 1.8;
}

.legacy-store .store-mobile-menu[hidden] {
    display: none;
}

@media (max-width: 1199px) and (min-width: 800px) {
    .legacy-store .store-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .legacy-header .store-header__main {
        gap: 14px;
    }

    .legacy-header .store-logo__copy,
    .legacy-header .store-control {
        font-size: 11px;
    }

    .legacy-header .store-controls {
        gap: 10px;
    }

    .legacy-slider__slide {
        flex-basis: calc((100% - 20px) / 2);
    }

    .legacy-brand-column {
        flex-basis: calc((100% - 20px) / 2);
    }

    .legacy-home .main-sections__item-name {
        max-width: 100%;
        font-size: 20px;
        overflow-wrap: anywhere;
    }

    .legacy-home .features {
        overflow: hidden;
        padding-right: 40px;
        padding-left: 40px;
    }

    .legacy-home .features-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .legacy-home .features-list::before {
        display: none;
    }

    .legacy-home .features-list article {
        min-width: 0;
        padding: 28px 22px;
    }

    .legacy-home .features-list article span {
        width: 64px;
        height: 64px;
    }

    .legacy-home .features-list article h3 {
        font-size: 20px;
        line-height: 1.4;
    }

    .legacy-home .features-list article p {
        font-size: 16px;
        line-height: 1.5;
    }

    .legacy-home .features__stars strong {
        font-size: 260px;
    }
}

@media (min-width: 1200px) and (max-width: 1349px) {
    .legacy-slider__slide {
        flex-basis: calc((100% - 40px) / 3);
    }

    .legacy-brand-column {
        flex-basis: calc((100% - 60px) / 4);
    }
}

@media (max-width: 799px) {
    .legacy-store .store-footer__grid {
        grid-template-columns: 1fr;
        gap: 34px;
        padding-top: 42px;
        padding-bottom: 42px;
    }

    .legacy-store .store-footer__bottom > div {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
    }

    .legacy-header {
        margin-bottom: 30px;
    }

    .legacy-header__top,
    .legacy-header .store-header__buttons,
    .legacy-header .store-controls {
        display: none;
    }

    .legacy-header .store-header__mainbar {
        min-height: 100px;
        padding: 22px 0;
    }

    .legacy-header .store-header__main {
        height: 56px;
        min-height: 56px;
        display: grid;
        grid-template-columns: 28px 56px minmax(0, 1fr);
        gap: 12px;
        padding-top: 0;
        padding-bottom: 0;
    }

    .legacy-header .store-burger {
        width: 28px;
        height: 42px;
        display: grid;
    }

    .legacy-header .store-logo {
        width: 56px;
        height: 56px;
        display: block;
    }

    .legacy-header .store-logo img {
        width: 56px;
        height: 56px;
    }

    .legacy-header .store-logo__copy {
        display: none;
    }

    .legacy-header .store-search {
        grid-column: 3;
    }

    .legacy-header .store-search form {
        height: 46px;
        min-height: 46px;
    }

    .legacy-header .store-search input {
        min-width: 0;
        padding: 12px 56px 12px 16px;
    }

    .legacy-header .store-search button {
        width: 44px;
        padding: 0;
        background-color: #fff;
        background-image: url("/media/legacy/ui/loupe.svg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 18px;
        font-size: 0;
    }

    .legacy-catalog-menu {
        display: none;
    }

    .legacy-store .store-mobile-menu {
        position: fixed;
        z-index: 70;
        inset: 100px 0 0;
        display: block;
        overflow-y: auto;
        background: #fff;
        color: var(--legacy-blue-100);
    }

    .store-mobile-menu__inner {
        padding: 24px 16px 100px;
    }

    .store-mobile-menu__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-bottom: 24px;
    }

    .legacy-header .store-mobile-menu__actions .store-pill {
        color: #fff;
    }

    .legacy-header .store-mobile-menu__actions button.store-pill--catalog::after {
        width: 8px;
        height: 8px;
        margin-left: auto;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        content: "";
        transform: rotate(45deg) translateY(-2px);
        transition: transform .2s ease;
    }

    .legacy-header .store-mobile-menu__actions button.store-pill--catalog[aria-expanded="true"]::after {
        transform: rotate(225deg) translate(-2px, -1px);
    }

    .legacy-store .store-mobile-catalog[hidden] {
        display: none;
    }

    .legacy-store .store-mobile-catalog {
        margin: -8px 0 28px;
        padding: 0 16px;
        border: 1px solid var(--legacy-blue-5);
        background: #f7f9fc;
    }

    .legacy-store .store-mobile-catalog details {
        border-bottom: 1px solid var(--legacy-blue-5);
    }

    .legacy-store .store-mobile-catalog details:last-child {
        border-bottom: 0;
    }

    .legacy-store .store-mobile-catalog summary {
        min-height: 50px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        cursor: pointer;
        font-size: 15px;
        font-weight: 600;
        list-style: none;
    }

    .legacy-store .store-mobile-catalog summary::-webkit-details-marker {
        display: none;
    }

    .legacy-store .store-mobile-catalog summary::after {
        content: "+";
        color: var(--legacy-primary);
        font-size: 22px;
        font-weight: 400;
    }

    .legacy-store .store-mobile-catalog details[open] summary::after {
        content: "−";
    }

    .legacy-store .store-mobile-catalog details a {
        min-height: 42px;
        padding: 7px 0 7px 16px;
        font-size: 14px;
    }

    .legacy-store .store-mobile-menu nav {
        display: grid;
        margin-bottom: 24px;
    }

    .legacy-store .store-mobile-menu nav a {
        min-height: 48px;
        display: flex;
        align-items: center;
        padding: 10px 0;
        border-bottom: 1px solid var(--legacy-blue-5);
        color: inherit;
        font-size: 15px;
        line-height: 1.3;
        text-decoration: none;
    }

    .legacy-home .home-section-title {
        min-height: 26px;
        margin-bottom: 24px;
    }

    .legacy-home .home-section-title h1,
    .legacy-home .home-section-title h2 {
        font-size: 20px;
    }

    .legacy-home .home-section-title a {
        height: auto;
        min-height: 0;
        padding: 7px 14px;
    }

    .legacy-slider {
        margin-bottom: 30px;
    }

    .legacy-slider__slide {
        flex-basis: 100%;
        border-radius: 16px;
    }

    .legacy-slider--promos .legacy-slider__slide {
        aspect-ratio: 400 / 237;
    }

    .legacy-slider__arrow {
        display: none;
    }

    .legacy-slider__dots {
        bottom: -17px;
    }

    .legacy-home .main-sections {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: none;
        grid-auto-rows: auto;
        gap: 15px;
        margin-bottom: 30px;
    }

    .legacy-home .main-sections__item,
    .legacy-home .main-sections__item:nth-child(3),
    .legacy-home .main-sections__item:nth-child(6n),
    .legacy-home .main-sections__item:first-child {
        min-height: 180px;
        grid-column: auto;
        grid-row: span 2;
        align-items: flex-start;
        flex-direction: column;
        padding: 16px;
        border-radius: 16px;
    }

    .legacy-home .main-sections__item:nth-child(3) {
        grid-column: span 2;
    }

    .legacy-home .main-sections__item:nth-child(2) {
        grid-column: auto;
        align-items: flex-start;
        flex-direction: column;
    }

    .legacy-home .main-sections__item-name {
        position: relative;
        z-index: 2;
        max-width: 100%;
        font-size: 14px;
        line-height: 1.3;
        text-align: left;
    }

    .legacy-home .main-sections__item-pic,
    .legacy-home .main-sections__item:first-child .main-sections__item-pic,
    .legacy-home .home-category--faucet .main-sections__item-pic {
        top: auto;
        right: 0;
        bottom: -10%;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        width: 65%;
        height: 80%;
        max-width: 65%;
        max-height: 80%;
        overflow: hidden;
    }

    .legacy-home .main-sections__item-pic img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: right bottom;
    }

    .legacy-home .main-sections__item:nth-child(3) .main-sections__item-pic {
        right: 5%;
        width: 38%;
        max-width: 38%;
    }

    .legacy-home .home-category--hood .main-sections__item-pic {
        top: auto;
        right: 5%;
        bottom: 10%;
    }

    .legacy-slider--banners .legacy-slider__slide {
        flex-basis: 100%;
        aspect-ratio: 1;
        opacity: 1;
    }

    .legacy-home .features {
        margin-bottom: 150px;
        padding: 48px 16px 100px;
        border-radius: 64px;
    }

    .legacy-home .features .home-section-title {
        margin-bottom: 24px;
    }

    .legacy-home .features-list {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .legacy-home .features-list::before {
        display: none;
    }

    .legacy-home .features-list article {
        min-height: 0;
        display: grid;
        grid-template-columns: 48px 1fr;
        gap: 15px;
        padding: 16px;
    }

    .legacy-home .features-list article span {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }

    .legacy-home .features-list article h3 {
        font-size: 20px;
    }

    .legacy-home .features-list article p {
        font-size: 14px;
    }

    .legacy-home .features__stars {
        bottom: -60px;
        gap: 30px 11px;
    }

    .legacy-home .features__stars strong {
        font-size: 140px;
    }

    .legacy-home .features__stars span {
        font-size: 16px;
    }

    .legacy-home .home-brands {
        padding-top: 0;
    }

    .legacy-brand-column {
        flex-basis: calc((100% - 20px) / 2);
        gap: 42px;
    }

    .legacy-brand-logo {
        max-width: 120px;
        max-height: 48px;
    }

    .brand-logo__fallback {
        font-size: 16px;
    }
}

@media (min-width: 690px) and (max-width: 799px) {
    .legacy-slider__slide {
        flex-basis: calc((100% - 20px) / 2);
    }

    .legacy-slider--promos .legacy-slider__slide {
        aspect-ratio: 416 / 230;
    }

    .legacy-slider--banners .legacy-slider__slide {
        aspect-ratio: 1160 / 300;
    }
}

@media (min-width: 690px) and (max-width: 1199px) {
    .legacy-slider--banners .legacy-slider__slide {
        flex-basis: calc((100% - 20px) / 2);
    }
}

@media (max-width: 600px) {
    .legacy-store .store-mobile-nav a::before {
        width: 19px;
        height: 19px;
        display: block;
        content: "";
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }

    .legacy-store .store-mobile-nav__catalog::before { background-image: url("/media/legacy/ui/tiles-blue.svg"); }
    .legacy-store .store-mobile-nav__favorite::before { background-image: url("/media/legacy/ui/heart-blue.svg"); }
    .legacy-store .store-mobile-nav__cart::before { background-image: url("/media/legacy/ui/cart-blue.svg"); }
    .legacy-store .store-mobile-nav__account::before { background-image: url("/media/legacy/ui/account-blue.svg"); }
}

/* Catalog presentation measured from the active Bitrix storefront. */
.legacy-store .listing-page,
.legacy-store .product-page {
    font-family: "Manrope", Arial, sans-serif;
}

.legacy-store .breadcrumbs {
    color: var(--legacy-primary);
    font-size: 14px;
    line-height: 1.5;
}

.legacy-store .breadcrumbs a {
    color: var(--legacy-primary);
}

.legacy-store .listing-title {
    min-height: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    margin: 0 0 55px;
}

.legacy-store .listing-title__copy {
    min-width: 0;
}

.legacy-store .listing-title h1 {
    margin: 0;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.14;
}

.legacy-store .listing-title .title-text {
    max-width: 860px;
    margin: 18px 0 0;
    color: #5d5c5b;
    font-size: 16px;
    font-weight: 300;
}

.legacy-store .listing-title .title-pic {
    position: relative;
    overflow: hidden;
    width: 445px;
    height: 200px;
    flex: 0 0 445px;
    display: grid;
    place-items: center;
}

.legacy-store .listing-title .title-pic::before {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--legacy-blue-10);
    content: "";
}

.legacy-store .listing-title .title-pic img {
    position: absolute;
    z-index: 1;
    inset: 18px 0 0;
    width: 82%;
    height: 164px;
    display: block;
    margin: auto;
    object-fit: contain;
    object-position: center;
    mix-blend-mode: multiply;
}

.legacy-store .catalog-results-layout {
    grid-template-columns: 307px minmax(0, 1fr);
    gap: 30px;
}

.legacy-store .catalog-products-top {
    min-height: 184px;
    display: grid;
    gap: 16px;
    margin-bottom: 32px;
    padding: 16px 24px;
    border: 1px solid #d9e6ef;
    border-radius: 16px;
}

.legacy-store .catalog-products-top--toolbar-only {
    min-height: 0;
    display: block;
    padding-top: 14px;
    padding-bottom: 14px;
}

.legacy-store .catalog-promotions {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    overflow: visible;
    margin: 0;
}

.legacy-store .catalog-promotions .catalog-promo-list__item {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 6px 16px;
    border: 1px solid #d9e6ef;
    border-radius: 15px;
    background: #fff;
    color: var(--legacy-blue-100);
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5;
    white-space: nowrap;
    text-decoration: none;
    transition: background-color .3s ease-in;
    cursor: pointer;
}

.legacy-store .catalog-promotions .catalog-promo-list__item input {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    margin: 0 7px 0 0;
    accent-color: var(--legacy-blue-100);
}

.legacy-store .catalog-promotions .catalog-promo-list__item:has(input:checked) {
    background: var(--legacy-blue-10);
    border-color: var(--legacy-blue-100);
}

.legacy-store .catalog-promotions .catalog-promo-list__item:hover,
.legacy-store .catalog-promotions .catalog-promo-list__item:focus-visible {
    background: var(--legacy-blue-10);
}

.legacy-store .catalog-products-top .subcategory-list {
    margin: 0;
}

.legacy-store .catalog-products-top .subcategory-list a {
    min-height: 70px;
    padding: 8px 16px 8px 8px;
    border-radius: 16px;
    background: #f7f9fb;
}

.legacy-store .subcategory-list__image {
    width: 72px;
    height: 54px;
    flex: 0 0 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
}

.legacy-store .subcategory-list__image img,
.legacy-store .subcategory-list img {
    width: 100%;
    height: 100%;
    flex: none;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.legacy-store .catalog-toolbar {
    min-height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
}

.legacy-store .catalog-sort select {
    min-height: 32px;
    background: #fff;
}

.legacy-store .catalog-sort button {
    min-height: 34px;
}

.legacy-store .catalog-products .product-grid {
    grid-template-columns: repeat(auto-fill, minmax(266px, 1fr));
    align-items: start;
    gap: 40px 20px;
}

.legacy-store .product-card {
    height: 469px;
    min-height: 469px;
    display: grid;
    grid-template-rows: 283px 136px;
    gap: 16px 2px;
    overflow: hidden;
    padding: 16px;
    box-sizing: border-box;
    border: 1px solid #d9e6ef;
    border-radius: 16px;
    background: #fff;
    color: var(--legacy-blue-100);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8;
}

.legacy-store .product-card__labels {
    position: absolute;
    z-index: 2;
    top: 16px;
    right: 62px;
    left: 16px;
    min-height: 36px;
    display: flex;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.legacy-store .product-labels__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border: 0;
    border-radius: 25px;
    background: var(--legacy-blue-50);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    text-decoration: none;
}

.legacy-store .product-labels__item--promo,
.legacy-store .product-labels__item--stock {
    background: #4caf50;
}

.legacy-store .product-labels__item--unavailable {
    background: #cfcfcf;
}

.legacy-store .product-labels__item--red {
    background: #f55454;
}

.legacy-store .product-labels__item--brand {
    background: #256fca;
}

.legacy-store .product-labels__item--hit {
    background: #7e57c2;
}

.legacy-store .catalog-results-layout {
    grid-template-columns: 307px minmax(0, 1fr);
    gap: 30px;
}

.legacy-store .filter-price,
.legacy-store .filter-group {
    min-width: 0;
    border-radius: 16px;
    background: #f1f1f1;
    color: var(--legacy-blue-100);
}

.legacy-store .filter-group > summary,
.legacy-store .filter-group > legend {
    min-height: 0;
    padding: 20px 16px 12px;
    color: var(--legacy-blue-100);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
}

.legacy-store .filter-price > legend {
    width: auto;
    max-width: 100%;
    display: block;
    float: left;
}

.legacy-store .filter-price > div {
    width: 100%;
    clear: both;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 0 16px 16px;
    box-sizing: border-box;
}

.legacy-store .filter-price label {
    min-width: 0;
    margin: 0;
}

.legacy-store .filter-price input {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    padding: 10px;
    box-sizing: border-box;
    color: var(--legacy-blue-100);
    font-size: 14px;
}

.legacy-store .filter-options {
    padding: 0 16px 16px;
}

.legacy-store .filter-check {
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    color: var(--legacy-blue-100);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.35;
}

.legacy-store .filter-check input {
    width: 18px;
    height: 18px;
    margin: 0;
}

.legacy-store .filter-check small {
    color: #748294;
    font-size: 13px;
}

.legacy-store .filter-check--stock {
    padding: 14px 16px;
    color: #fff;
}

.legacy-store .filter-actions button:hover,
.legacy-store .filter-actions button:focus-visible {
    background: var(--legacy-blue-75);
    color: #fff;
}

.legacy-store .product-information__meta {
    color: var(--legacy-blue-100);
    font-size: 14px;
    font-weight: 300;
}

.legacy-store .product-information__meta > span {
    color: #657080;
}

.legacy-store .product-share {
    position: relative;
}

.legacy-store .product-share > button {
    padding: 6px 0;
    color: var(--legacy-blue-50);
    font-size: 14px;
    font-weight: 300;
}

.legacy-store .product-share__panel[hidden] {
    display: none;
}

.legacy-store .product-share__panel {
    position: absolute;
    z-index: 20;
    top: calc(100% + 8px);
    right: 0;
    width: min(360px, calc(100vw - 32px));
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid #d9e6ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(14, 29, 47, 0.16);
    color: var(--legacy-blue-100);
    text-align: left;
}

.legacy-store .product-share__panel > strong {
    padding-right: 28px;
    font-size: 16px;
    font-weight: 600;
}

.legacy-store .product-share__panel > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.legacy-store .product-share__panel input {
    min-width: 0;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid #cfdce7;
    border-radius: 6px;
    color: #657080;
    font: inherit;
}

.legacy-store .product-share__panel > div > button,
.legacy-store .product-share__panel nav a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid var(--legacy-blue-50);
    border-radius: 20px;
    background: #fff;
    color: var(--legacy-blue-75);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}

.legacy-store .product-share__panel nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.legacy-store .product-share__panel .product-share__close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 30px;
    height: 30px;
    padding: 0;
    color: #657080;
    font-size: 24px;
    line-height: 1;
}

.legacy-store .product-buy-card__cheaper {
    position: relative;
    color: var(--legacy-blue-100);
    font-size: 13px;
    text-align: center;
}

.legacy-store .product-buy-card__cheaper > summary {
    width: fit-content;
    margin: 0 auto;
    border-bottom: 1px solid currentColor;
    color: #657080;
    cursor: pointer;
    list-style: none;
}

.legacy-store .product-buy-card__cheaper > summary::-webkit-details-marker {
    display: none;
}

.legacy-store .product-buy-card__cheaper > form {
    display: grid;
    gap: 10px;
    margin-top: 14px;
    padding: 16px;
    border: 1px solid #d9e6ef;
    border-radius: 12px;
    background: #fff;
    text-align: left;
}

.legacy-store .product-buy-card__cheaper label:not(.form-honeypot) {
    display: grid;
    gap: 5px;
    color: var(--legacy-blue-100);
    font-size: 12px;
    font-weight: 500;
}

.legacy-store .product-buy-card__cheaper input:not([type="checkbox"]),
.legacy-store .product-buy-card__cheaper textarea {
    width: 100%;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #cfdce7;
    border-radius: 6px;
    background: #fff;
    color: var(--legacy-blue-100);
    font: inherit;
    box-sizing: border-box;
}

.legacy-store .product-buy-card__cheaper textarea {
    resize: vertical;
}

.legacy-store .product-buy-card__cheaper .form-consent {
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    font-size: 11px;
    font-weight: 300;
}

.legacy-store .product-buy-card__cheaper .form-consent input {
    width: 16px;
    height: 16px;
    margin: 0;
}

.legacy-store .product-buy-card__cheaper button[type="submit"] {
    min-height: 40px;
    border: 0;
    border-radius: 20px;
    background: var(--legacy-blue-50);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 500;
}

.legacy-store .product-delivery h2,
.legacy-store .product-content-grid .specifications h2 {
    margin: 0 0 18px;
    color: var(--legacy-blue-100);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.14;
}

@media (max-width: 700px) {
    .legacy-store .product-share__panel {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }

    .legacy-store .product-share__panel > div {
        grid-template-columns: minmax(0, 1fr);
    }
}

.legacy-store .product-gallery__stage {
    position: relative;
}

.legacy-store .product-gallery__labels {
    position: absolute;
    z-index: 2;
    top: 16px;
    left: 16px;
}

.legacy-store .product-information .product-promotions {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    overflow: visible;
    margin: 0 0 20px;
}

.legacy-store .product-information .product-promotions .catalog-promo-list__item {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    padding: 6px 16px;
    border: 1px solid #d9e6ef;
    border-radius: 15px;
    background: #fff;
    color: var(--legacy-blue-100);
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5;
    text-decoration: none;
}

.legacy-store .product-information .product-promotions .catalog-promo-list__item:hover,
.legacy-store .product-information .product-promotions .catalog-promo-list__item:focus-visible {
    background: var(--legacy-blue-10);
}

.legacy-store .product-information__variants {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 22px 0 28px;
}

.legacy-store .product-information__variants .product-detail__similar-item {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 8px;
    border: 1px solid #d9e6ef;
    border-radius: 8px;
    background: #fff;
    transition: box-shadow .3s ease-in;
}

.legacy-store .product-information__variants .product-detail__similar-item:hover {
    box-shadow: 0 1px 3px rgba(0, 0, 0, .16);
}

.legacy-store .product-information__variants .product-detail__similar-item img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    display: block;
    padding: 0;
    border: 0;
    border-radius: 0;
    object-fit: contain;
}

.legacy-store .product-information .product-brand-link {
    margin-top: 24px;
}

@media (min-width: 1024px) {
    .legacy-store .product-detail {
        grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr);
        gap: 32px;
    }

    .legacy-store .product-gallery {
        grid-template-columns: minmax(0, 1fr) minmax(0, 5fr);
        gap: 30px;
    }

    .legacy-store .product-information {
        padding-top: 0;
    }

    .legacy-store .product-information h2 {
        font-size: 32px;
        line-height: 1.14;
    }

    .legacy-store .product-information .product-brand-link {
        margin-top: 100px;
    }

    .legacy-store .product-buy-card__checkout {
        min-height: 387px;
    }
}

.legacy-store .product-card .favorite-toggle {
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
}

.legacy-store .product-card__favorite-form {
    display: contents;
}

.legacy-store .product-card__image {
    width: 100%;
    height: 283px;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: auto;
    overflow: hidden;
    padding: 14px 8px 0;
    background: #fff;
    box-sizing: border-box;
}

.legacy-store .product-card__image img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 255px;
    display: block;
    padding: 0;
    object-fit: contain;
    mix-blend-mode: normal;
}

.legacy-store .product-card--has-labels .product-card__image {
    padding-top: 60px;
}

.legacy-store .product-card--has-labels .product-card__image img {
    max-height: 223px;
}

.legacy-store .product-card__body {
    min-height: 0;
    display: grid;
    grid-template-rows: 62px 58px;
    gap: 16px;
    padding: 0;
}

.legacy-store .product-card__title {
    min-height: 62px;
    max-height: 62px;
    display: -webkit-box;
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.legacy-store .product-card__footer {
    height: 58px;
    min-height: 58px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.legacy-store .product-card__pricing {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 2px;
}

.legacy-store .product-card .price {
    margin: 0;
    color: var(--legacy-blue-100);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.legacy-store .product-card--wholesale {
    height: 469px;
    min-height: 469px;
}

.legacy-store .product-card--wholesale .product-card__footer {
    grid-template-columns: minmax(0, 1fr) 104px;
    align-items: center;
    gap: 10px;
}

.legacy-store .product-card--wholesale .product-card__cart {
    width: 104px;
}

.legacy-store .product-card__pricing--wholesale {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 13px 29px 14px;
    align-items: start;
    gap: 0;
}

.legacy-store .product-card__pricing--wholesale .price-caption {
    grid-column: 1;
    line-height: 13px;
}

.legacy-store .product-card__pricing--wholesale .price {
    grid-column: 1;
    line-height: 29px;
}

.legacy-store .product-card__pricing--wholesale .price-retail {
    min-width: 0;
    grid-column: 1;
    overflow: hidden;
    line-height: 14px;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.legacy-store .product-card__pricing--request {
    grid-template-rows: minmax(29px, auto) 14px;
}

.legacy-store .product-card__pricing--request .price--request {
    min-width: 0;
    font-size: 13px;
    line-height: 1.2;
    white-space: normal;
}

.legacy-store .product-card--supplier-unavailable {
    opacity: .58;
}

.legacy-store .product-card--supplier-unavailable .product-card__image img {
    filter: grayscale(1);
}

.legacy-store .product-card--supplier-unavailable .product-card__footer {
    grid-template-columns: minmax(0, 1fr);
}

.product-page--supplier-unavailable .product-gallery,
.product-page--supplier-unavailable .product-information {
    opacity: .58;
    filter: grayscale(1);
}

.legacy-store .product-card__cart {
    width: auto;
    min-width: 104px;
    min-height: 36px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid var(--legacy-primary);
    border-radius: 50px;
    background: var(--legacy-primary);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
}

.legacy-store .product-card__cart:hover {
    background: var(--legacy-blue-75);
}

.legacy-home .home-category--hood .main-sections__item-pic {
    width: 64%;
    height: 86%;
    top: auto;
    right: 1%;
    bottom: -5%;
    max-width: none;
    max-height: none;
}

.legacy-home .main-sections__item.home-category--hood {
    align-items: flex-start;
    flex-direction: column;
}

.legacy-home .home-category--hood .main-sections__item-name {
    position: relative;
    z-index: 2;
    max-width: none;
    font-size: 30px;
    white-space: nowrap;
}

.legacy-home .home-category--hood .main-sections__item-pic img {
    width: 100%;
    height: 100%;
    object-position: right bottom;
}

@media (max-width: 900px) {
    .legacy-store .listing-title {
        min-height: 0;
        margin-bottom: 32px;
    }

    .legacy-store .listing-title .title-pic {
        width: 300px;
        height: 150px;
        flex-basis: 300px;
    }

    .legacy-store .listing-title .title-pic img {
        inset: 14px 0 0;
        width: 84%;
        height: 124px;
        margin: auto;
    }

    .legacy-store .catalog-results-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .legacy-store .catalog-products-top {
        min-height: 0;
        padding: 12px;
    }

    .legacy-store .catalog-promotions {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }
}

@media (max-width: 600px) {
    .legacy-store .listing-title {
        margin-bottom: 24px;
    }

    .legacy-store .listing-title h1 {
        font-size: 20px;
    }

    .legacy-store .listing-title .title-text {
        font-size: 14px;
    }

    .legacy-store .listing-title .title-pic {
        width: 42%;
        height: 120px;
        flex-basis: 42%;
    }

    .legacy-store .listing-title .title-pic img {
        inset: 10px 0 0;
        width: 88%;
        height: 100px;
        margin: auto;
    }

    .legacy-store .catalog-products-top {
        gap: 12px;
        margin-bottom: 20px;
        padding: 8px;
    }

    .legacy-store .catalog-promotions .catalog-promo-list__item {
        background: var(--legacy-blue-10);
    }

    .legacy-store .catalog-toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .legacy-store .catalog-products .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 8px;
    }

    .legacy-store .product-card {
        height: auto;
        min-height: 326px;
        grid-template-rows: 150px minmax(0, 1fr);
        gap: 12px 2px;
        padding: 12px;
    }

    .legacy-store .product-card .favorite-toggle {
        top: 12px;
        right: 12px;
        width: 32px;
        height: 32px;
    }

    .legacy-store .product-card__labels {
        top: 12px;
        right: 52px;
        left: 12px;
    }

    .legacy-store .product-card__image {
        height: 150px;
        padding: 8px 4px 0;
    }

    .legacy-store .product-card--has-labels .product-card__image {
        padding-top: 44px;
    }

    .legacy-store .product-card__image img,
    .legacy-store .product-card--has-labels .product-card__image img {
        max-height: 138px;
    }

    .legacy-store .product-card__body {
        grid-template-rows: minmax(52px, 1fr) auto;
        gap: 10px;
    }

    .legacy-store .product-card__title {
        min-height: 52px;
        max-height: 52px;
        overflow: hidden;
        display: -webkit-box;
        font-size: 12px;
        text-align: left;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .legacy-store .product-card__footer {
        height: auto;
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .legacy-store .product-card .price {
        font-size: 16px;
    }

    .legacy-store .product-card__cart {
        width: 100%;
        min-width: 0;
        min-height: 34px;
        padding: 8px;
        font-size: 11px;
    }

    .legacy-store .product-card--wholesale {
        height: auto;
        min-height: 326px;
    }

    .legacy-store .product-card--wholesale .product-card__footer {
        grid-template-columns: 1fr;
    }

    .legacy-store .product-card--wholesale .product-card__cart {
        width: 100%;
    }

    .legacy-home .home-category--hood .main-sections__item-pic {
        width: 74%;
        height: 72%;
        top: auto;
        right: 0;
        bottom: -3%;
    }

    .legacy-home .home-category--hood .main-sections__item-name {
        max-width: 100%;
        font-size: 14px;
        white-space: normal;
    }
}
.price-retail,
.product-summary__retail-price {
    display: block;
    color: #7a7a7a;
    font-size: 12px;
    text-decoration: none;
}

.price--wholesale,
.product-summary__price--wholesale {
    color: #009f4d;
}

.price-caption,
.product-summary__price-caption {
    display: block;
    color: #009f4d;
    font-size: 11px;
    font-weight: 600;
}

.cart-line__price small {
    display: block;
    color: #777;
    font-size: 11px;
    text-decoration: none;
}

.cart-page__header {
    display: grid;
    gap: 24px;
}

.cart-page__title {
    display: flex;
    align-items: baseline;
    gap: 14px;
}

.cart-links {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.cart-links__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    box-sizing: border-box;
    padding: 15px 20px;
    border: 1px solid #4592eb;
    border-radius: 50px;
    color: #4592eb;
    font-size: 14px;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: color .3s ease-out, background-color .3s ease-out, border-color .3s ease-out;
}

.cart-links__item::before {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    background: url('/media/legacy/cart/download-blue.svg') center / contain no-repeat;
    content: '';
}

.cart-links__item:hover {
    border-color: #4592eb;
    background: #4592eb;
    color: #fff;
}

.cart-links__item:hover::before {
    background-image: url('/media/legacy/cart/download-white.svg');
}

.store-footer__legal button {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.store-footer__cookie-settings {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border-radius: 50% !important;
    background: url('/media/legacy/ui/settings.svg') center / 16px 16px no-repeat !important;
}

.error-page {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
    align-items: center;
    gap: 72px;
    min-height: 620px;
    padding-top: 72px;
    padding-bottom: 110px;
}

.error-page__visual {
    position: relative;
    display: grid;
    min-height: 330px;
    place-items: center;
    overflow: hidden;
    border-top: 2px solid #d9e9fa;
    border-bottom: 2px solid #d9e9fa;
}

.error-page__visual::before,
.error-page__visual::after {
    position: absolute;
    width: 72%;
    height: 2px;
    background: #d9e9fa;
    content: '';
}

.error-page__visual::before {
    transform: rotate(24deg);
}

.error-page__visual::after {
    transform: rotate(-24deg);
}

.error-page__code {
    position: relative;
    z-index: 1;
    color: var(--legacy-primary);
    font-size: 220px;
    font-weight: 700;
    line-height: 0.85;
}

.error-page__mark {
    position: absolute;
    right: 24px;
    bottom: 24px;
    z-index: 2;
    color: var(--legacy-blue-100);
    font-size: 14px;
    font-weight: 700;
}

.error-page__label {
    margin: 0 0 8px;
    color: var(--legacy-primary);
    font-size: 16px;
    font-weight: 600;
}

.error-page__copy h1 {
    margin: 0 0 18px;
    font-size: 48px;
    line-height: 1.12;
}

.error-page__copy > p:not(.error-page__label) {
    max-width: 560px;
    margin: 0;
    color: #5d6977;
    font-size: 18px;
    line-height: 1.65;
}

.error-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.error-page__actions a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border: 1px solid var(--legacy-primary);
    border-radius: 50px;
    font-size: 15px;
    font-weight: 600;
}

.error-page__primary {
    background: var(--legacy-primary);
    color: #fff;
}

.error-page__secondary {
    background: #fff;
    color: var(--legacy-primary);
}

.error-page__links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 28px;
}

.error-page__links a {
    color: #5d6977;
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 999px) {
    .error-page {
        grid-template-columns: 1fr;
        gap: 44px;
        min-height: 0;
        padding-top: 48px;
        padding-bottom: 86px;
    }

    .error-page__visual {
        min-height: 260px;
    }

    .error-page__code {
        font-size: 168px;
    }
}

@media (max-width: 599px) {
    .error-page {
        gap: 34px;
        padding-top: 28px;
        padding-bottom: 64px;
    }

    .error-page__visual {
        min-height: 190px;
    }

    .error-page__code {
        font-size: 124px;
    }

    .error-page__copy h1 {
        font-size: 34px;
    }

    .error-page__copy > p:not(.error-page__label) {
        font-size: 16px;
    }

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

.cookie-notice {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    border-top: 1px solid #d9e6ef;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 0 5px rgba(0, 0, 0, .2);
}

.cookie-notice__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding-top: 18px;
    padding-bottom: 18px;
}

.cookie-notice__copy {
    max-width: 1100px;
}

.cookie-notice h2 {
    margin: 0 0 4px;
    font-size: 17px;
    font-weight: 700;
}

.cookie-notice p {
    margin: 0;
    color: #3f4d5c;
    font-size: 13px;
    line-height: 1.55;
}

.cookie-notice__actions {
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
}

.cookie-notice__actions button {
    min-height: 42px;
    padding: 10px 18px;
    border: 1px solid #4592eb;
    border-radius: 50px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.cookie-notice__accept {
    background: #4592eb;
    color: #fff;
}

.cookie-notice__reject {
    background: #fff;
    color: #397fcf;
}

@media (max-width: 767px) {
    .cookie-notice {
        bottom: 64px;
    }

    .cookie-notice__inner,
    .cookie-notice__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .cookie-notice__inner {
        gap: 14px;
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .cookie-notice__actions {
        gap: 8px;
    }

    .cookie-notice__actions button {
        width: 100%;
    }
}

.account-notice {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-left: 3px solid #009f4d;
    background: #f0f8f4;
    color: #20543a;
}

.wholesale-toggle {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 14px;
}

.wholesale-toggle label {
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
}

.wholesale-toggle input {
    width: 18px;
    height: 18px;
    accent-color: #009f4d;
}

.price-presentation {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.price-presentation__toggle {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: 9px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

.price-presentation__toggle input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--legacy-primary);
}

.price-presentation__markup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 140px;
    align-items: end;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--sfera-line);
}

.price-presentation .price-presentation__percent {
    display: grid;
    align-items: stretch;
    gap: 5px;
    color: var(--sfera-muted);
    font-size: 11px;
    cursor: text;
}

.price-presentation__percent > span:last-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 16px;
    align-items: center;
    gap: 4px;
    color: var(--sfera-ink);
}

.price-presentation .price-presentation__percent input {
    width: 100%;
    min-width: 88px;
    height: 44px;
    padding: 8px 10px;
    border: 1px solid var(--sfera-line);
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
    color: var(--sfera-ink);
    font: inherit;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    opacity: 1;
}

.price-presentation .price-presentation__percent input:focus {
    border-color: var(--legacy-primary);
    outline: 2px solid rgba(69, 146, 235, .18);
    outline-offset: 1px;
}

.price-presentation__note {
    margin: 0;
    color: var(--sfera-muted);
    font-size: 11px;
    line-height: 1.45;
}

.price-presentation > button {
    width: 100%;
}

.order-card__wholesale {
    display: grid;
    gap: 3px;
    min-width: 180px;
    font-size: 12px;
}

.order-card__wholesale span {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.order-card__wholesale span:last-child {
    color: #009f4d;
}

.order-item--wholesale {
    grid-template-columns: minmax(180px, 1fr) 70px repeat(3, minmax(110px, auto));
}

.order-item--wholesale > span,
.order-item--wholesale > strong {
    display: grid;
    gap: 3px;
}

.order-item--wholesale small {
    color: #777;
    font-size: 10px;
    font-weight: 400;
}

@media (max-width: 760px) {
    .auth-modal {
        padding: 52px 16px 20px;
    }

    .auth-modal__panel {
        padding: 26px 18px 28px;
    }

    .auth-modal__panel h2 {
        margin-bottom: 22px;
        font-size: 25px;
    }

    .auth-modal__controls {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .wholesale-toggle {
        align-items: stretch;
        flex-direction: column;
    }

    .order-item--wholesale {
        grid-template-columns: 1fr 70px;
    }

    .order-item--wholesale > span,
    .order-item--wholesale > strong {
        text-align: left;
    }
}

/* Home commerce rails: banners, products and portrait offers. */
.legacy-home .main-promo {
    padding-top: 28px;
}

.legacy-home > .home-portrait-promos:first-of-type {
    padding-top: 28px;
}

.legacy-home .legacy-slider--promos {
    width: 100%;
    overflow: hidden;
    margin-bottom: 72px;
}

.legacy-home .legacy-slider--promos .legacy-slider__track {
    align-items: center;
    gap: 20px;
    box-sizing: border-box;
    padding-inline: max(20px, calc((100% - min(1400px, 78vw)) / 2));
    scroll-padding-inline: max(20px, calc((100% - min(1400px, 78vw)) / 2));
}

.legacy-home .legacy-slider--promos .legacy-slider__slide {
    flex: 0 0 min(1400px, 78vw);
    aspect-ratio: auto;
    max-height: none;
    border-radius: 18px;
    opacity: .48;
    transform: scale(.94);
    transition: opacity .3s ease, transform .3s ease;
}

.legacy-home .legacy-slider--promos .legacy-slider__slide picture,
.legacy-home .legacy-slider--promos .legacy-slider__slide img {
    height: auto;
}

.legacy-home .legacy-slider--promos .legacy-slider__slide.is-active {
    opacity: 1;
    transform: scale(1);
}

.legacy-home .legacy-slider--promos .legacy-slider__arrow--prev {
    left: max(24px, calc(50% - min(700px, 39vw) + 18px));
}

.legacy-home .legacy-slider--promos .legacy-slider__arrow--next {
    right: max(24px, calc(50% - min(700px, 39vw) + 18px));
}

.legacy-home .home-popular-products,
.legacy-home .home-portrait-promos {
    margin-bottom: 72px;
}

.legacy-home .home-popular-products .home-section-title,
.legacy-home .home-portrait-promos .home-section-title {
    margin-bottom: 28px;
}

.legacy-home .home-portrait-promos {
    margin-bottom: 56px;
}

.legacy-home .home-portrait-promos .home-section-title {
    margin-bottom: 20px;
}

.legacy-home .home-product-slider,
.legacy-home .legacy-slider--portrait {
    margin-bottom: 0;
}

.legacy-home .home-product-slider {
    overflow: hidden;
}

.legacy-home .home-product-rail {
    align-items: stretch;
    padding: 1px;
}

.legacy-home .home-product-rail__item {
    --home-card-media-height: 200px;
    flex: 0 0 calc((100% - 60px) / 4);
    min-width: 0;
    display: flex;
    align-items: flex-start;
    scroll-snap-align: start;
}

.legacy-home .home-product-rail__item .product-card {
    width: 100%;
    height: auto;
    min-height: 0;
    grid-template-rows: var(--home-card-media-height) auto;
    gap: 16px 2px;
    align-self: flex-start;
    box-sizing: border-box;
}

.legacy-home .home-product-rail__item .product-card__image {
    height: var(--home-card-media-height);
    padding: 2px;
}

.legacy-home .home-product-rail__item .product-card__image img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.legacy-home .home-product-rail__item .product-card--has-labels .product-card__image {
    padding-top: 40px;
    box-sizing: border-box;
}

.legacy-home .home-product-rail__item .product-card__body {
    display: grid;
    grid-template-rows: 76px 58px;
    gap: 2px;
}

.legacy-home .home-product-rail__item .product-card__title {
    min-height: 76px;
    max-height: 76px;
    display: -webkit-box;
    overflow: hidden;
    line-height: 1.35;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.legacy-home .home-product-rail__item .product-card--wholesale {
    min-height: 0;
}

.legacy-home .home-product-rail__item .product-card__footer {
    grid-template-columns: minmax(0, 1fr) 112px;
    gap: 14px;
    margin-top: auto;
}

.legacy-home .home-product-rail__item .product-card__footer > div {
    min-width: 0;
}

.legacy-home .home-product-rail__item .product-card__cart {
    width: 100%;
    min-width: 0;
}

.legacy-home .home-product-rail__item .product-card--wholesale .product-card__footer {
    grid-template-columns: minmax(0, 1fr) 112px;
    gap: 14px;
}

@media (min-width: 1600px) {
    .legacy-home .home-product-rail__item {
        --home-card-media-height: 220px;
        flex-basis: calc((100% - 80px) / 5);
    }
}

@media (min-width: 2100px) {
    .legacy-home .home-product-rail__item {
        --home-card-media-height: 220px;
        flex-basis: calc((100% - 80px) / 5);
    }
}

.legacy-home .legacy-slider--portrait .legacy-slider__slide {
    flex: 0 0 clamp(164px, 10vw, 200px);
    aspect-ratio: 4 / 5;
    border-radius: 12px;
}

.legacy-home .legacy-slider--portrait .legacy-slider__track {
    gap: 12px;
}

.legacy-home .legacy-slider--portrait .legacy-slider__arrow {
    display: none;
}

.legacy-home .legacy-slider--portrait img {
    object-fit: cover;
}

@media (max-width: 1100px) {
    .legacy-home .home-product-rail__item {
        --home-card-media-height: 190px;
        flex-basis: calc((100% - 40px) / 3);
    }

}

@media (max-width: 780px) {
    .legacy-home .home-product-rail__item {
        --home-card-media-height: 170px;
        flex-basis: calc((100% - 20px) / 2);
    }
}

@media (max-width: 680px) {
    .legacy-home .main-promo {
        padding-top: 14px;
    }

    .legacy-home > .home-portrait-promos:first-of-type {
        padding-top: 14px;
    }

    .legacy-home .legacy-slider--promos,
    .legacy-home .home-popular-products,
    .legacy-home .home-portrait-promos {
        margin-bottom: 38px;
    }

    .legacy-home .legacy-slider--promos .legacy-slider__slide {
        flex-basis: 82vw;
        aspect-ratio: 4 / 5;
        border-radius: 14px;
    }

    .legacy-home .legacy-slider--promos .legacy-slider__slide picture,
    .legacy-home .legacy-slider--promos .legacy-slider__slide img {
        height: 100%;
    }

    .legacy-home .legacy-slider--promos .legacy-slider__track {
        gap: 12px;
        padding-inline: 9vw;
        scroll-padding-inline: 9vw;
    }

    .legacy-home .home-popular-products .home-section-title,
    .legacy-home .home-portrait-promos .home-section-title {
        margin-bottom: 18px;
    }

    .legacy-home .home-product-rail__item {
        flex-basis: min(76vw, 280px);
    }

    .legacy-home .legacy-slider--portrait .legacy-slider__slide {
        flex-basis: min(46vw, 184px);
        aspect-ratio: 4 / 5;
        border-radius: 12px;
    }
}

/* Mobile storefront QA: keep narrow screens readable and comfortably tappable. */
@media (max-width: 799px) {
    .legacy-header .store-header__main {
        grid-template-columns: 44px 48px minmax(0, 1fr);
        gap: 8px;
    }

    .legacy-header .store-burger {
        width: 44px;
        height: 44px;
    }

    .legacy-header .store-logo,
    .legacy-header .store-logo img {
        width: 48px;
        height: 48px;
    }

    .legacy-header .store-search input {
        padding-right: 48px;
    }

    .legacy-store input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]),
    .legacy-store select,
    .legacy-store textarea,
    .legacy-store .product-buy-card__cheaper textarea {
        font-size: 16px;
    }

    .legacy-store .product-content-grid .specifications dt {
        min-width: 0;
        overflow-wrap: anywhere;
        hyphens: auto;
    }

    .legacy-store .product-card .favorite-toggle {
        top: 8px;
        right: 8px;
        width: 44px;
        height: 44px;
    }

    .legacy-store .product-card__labels {
        top: 8px;
        right: 60px;
        left: 8px;
    }

    .legacy-store .product-card__cart {
        min-height: 44px;
    }

    .legacy-store .product-buy-card .favorite-toggle--detail {
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 600px) {
    .legacy-store .catalog-category-tile {
        padding: 12px;
    }

    .legacy-store .catalog-category-tile strong {
        min-width: 0;
        font-size: 14px;
        overflow-wrap: normal;
        hyphens: auto;
    }

    .legacy-store .breadcrumbs {
        flex-wrap: wrap;
        overflow-x: visible;
        row-gap: 4px;
        white-space: normal;
    }

    .legacy-store .breadcrumbs > * {
        min-width: 0;
        flex: 0 1 auto;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 360px) {
    .legacy-header .store-search input {
        padding-right: 46px;
        padding-left: 12px;
        letter-spacing: -0.3px;
    }

    .legacy-home .main-sections__item {
        padding: 8px;
    }

    .legacy-home .main-sections__item-name {
        min-width: 0;
        font-size: 13px;
        letter-spacing: -0.3px;
        overflow-wrap: normal;
        hyphens: auto;
    }

    .legacy-store .catalog-category-tile strong {
        font-size: 13px;
    }
}
