:root {
    --bg: #f4f6f8;
    --panel: #ffffff;
    --ink: #101820;
    --muted: #697586;
    --dark: #07111a;
    --dark-2: #0d1b26;
    --line: #dfe5eb;
    --orange: #ff5a1f;
    --orange-2: #ff7a00;
    --green: #0f8f65;
    --blue: #1b6ca8;
}

* {
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: var(--site-font-family, Arial, Helvetica, sans-serif);
    font-size: 14px;
    line-height: 1.45;
    overflow-x: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

button,
input,
select {
    font: inherit;
}

.page-wrap {
    width: min(100% - 28px, 1320px);
    margin: 0 auto;
    min-width: 0;
}

.top-strip {
    background: #071018;
    color: #d6dde5;
    font-size: 12px;
    overflow: hidden;
}

.top-strip__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 34px;
    overflow: hidden;
    white-space: nowrap;
}

.top-strip span::before,
.top-strip a::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 7px;
    border-radius: 50%;
    background: var(--orange);
}

.top-strip span,
.top-strip a {
    display: inline-flex;
    align-items: center;
}

.top-strip a {
    color: inherit;
}

.top-strip__clone {
    display: none !important;
}

.main-header {
    background: var(--panel);
    border-bottom: 1px solid var(--line);
}

.mobile-header {
    display: none;
}

.mobile-search-form {
    display: none;
}

.mobile-menu-overlay,
.mobile-menu-drawer {
    display: none;
}

.main-header__inner {
    display: grid;
    grid-template-columns: 235px minmax(320px, 1fr) 390px;
    gap: 22px;
    align-items: center;
    min-height: 78px;
}

.mobile-menu-button,
.mobile-search-button,
.mobile-cart-button {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 0;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
}

.mobile-menu-button::before,
.mobile-search-button::before,
.mobile-cart-button::before {
    content: "";
    width: 24px;
    height: 24px;
    background: currentColor;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 24px 24px;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 24px 24px;
}

.mobile-menu-button::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");
}

.mobile-search-button::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m16.5 16.5 4 4'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m16.5 16.5 4 4'/%3E%3C/svg%3E");
}

.mobile-cart-button::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h14l-1.4 9H7.2L6 7Z'/%3E%3Cpath d='M6 7 5.4 4H3'/%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='17' cy='20' r='1'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h14l-1.4 9H7.2L6 7Z'/%3E%3Cpath d='M6 7 5.4 4H3'/%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='17' cy='20' r='1'/%3E%3C/svg%3E");
}

.mobile-cart-button b {
    position: absolute;
    top: 5px;
    right: 4px;
    display: grid;
    place-items: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: var(--orange);
    color: white;
    font-size: 10px;
    box-shadow: 0 0 0 2px white;
}

.mobile-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ink);
    font-size: 22px;
    font-weight: 900;
}

.mobile-logo strong {
    color: var(--orange);
}

.mobile-logo small {
    font-size: 13px;
}

.mobile-logo img {
    width: auto;
    max-width: min(var(--store-logo-width, 190px), 180px);
    max-height: min(var(--store-logo-height, 48px), 42px);
    object-fit: contain;
}

.mobile-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
}

.mobile-menu-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 54px;
    padding: 0 16px;
    background: #07111a;
    color: white;
}

.mobile-menu-drawer__head button {
    position: relative;
    width: 38px;
    height: 38px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.mobile-menu-drawer__head button::before,
.mobile-menu-drawer__head button::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    top: 18px;
    height: 2px;
    border-radius: 999px;
    background: white;
}

.mobile-menu-drawer__head button::before {
    transform: rotate(45deg);
}

.mobile-menu-drawer__head button::after {
    transform: rotate(-45deg);
}

.logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 25px;
    font-weight: 800;
    color: #17202a;
}

.logo strong {
    color: var(--orange);
}

.logo small {
    font-size: 15px;
}

.site-logo-image {
    width: auto;
    max-width: var(--store-logo-width, 190px);
    max-height: var(--store-logo-height, 48px);
    object-fit: contain;
}

.logo-mark {
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 38px;
    border: 3px solid var(--dark);
    border-radius: 9px;
    color: var(--orange);
    font-size: 15px;
    font-weight: 900;
    transform: skew(-8deg);
}

.search-box {
    position: relative;
}

.search-box__fields {
    display: grid;
    grid-template-columns: 1fr 170px 96px;
    min-height: 48px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 6px 20px rgba(16, 24, 32, .06);
    overflow: hidden;
}

.search-box__fields input,
.search-box__fields select {
    min-width: 0;
    border: 0;
    padding: 0 16px;
    background: transparent;
    color: var(--ink);
}

.search-box__fields input {
    background: #fbfcfe;
}

.search-box__fields input:focus,
.search-box__fields select:focus {
    outline: none;
}

.search-box__fields select {
    border-left: 1px solid var(--line);
    padding-right: 38px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    appearance: none;
    background:
        linear-gradient(45deg, transparent 50%, #5f6b7a 50%) calc(100% - 18px) 50% / 6px 6px no-repeat,
        linear-gradient(135deg, #5f6b7a 50%, transparent 50%) calc(100% - 14px) 50% / 6px 6px no-repeat,
        linear-gradient(180deg, #ffffff, #f7f9fb);
    color: #121a24;
    transition: background-color .18s ease, color .18s ease;
}

.search-box__fields select:hover {
    background:
        linear-gradient(45deg, transparent 50%, var(--orange) 50%) calc(100% - 18px) 50% / 6px 6px no-repeat,
        linear-gradient(135deg, var(--orange) 50%, transparent 50%) calc(100% - 14px) 50% / 6px 6px no-repeat,
        linear-gradient(180deg, #ffffff, #f3f6f9);
}

.search-box__fields button {
    border: 0;
    background: linear-gradient(135deg, var(--orange), var(--orange-2));
    color: white;
    cursor: pointer;
    font-weight: 700;
    transition: filter .18s ease;
}

.search-box__fields button:hover {
    filter: brightness(.96);
}

.search-suggestions {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 50;
    display: grid;
    gap: 6px;
    max-height: 390px;
    overflow-y: auto;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 8px;
    background: white;
    box-shadow: 0 18px 40px rgba(7, 17, 26, .18);
}

.search-suggestions[hidden] {
    display: none;
}

.search-suggestion {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    border-radius: 8px;
    padding: 8px;
}

.search-suggestion:hover {
    background: #f5f7f9;
}

.search-suggestion__media {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 8px;
    background: #eef3f7;
    color: var(--orange);
    font-weight: 900;
    object-fit: contain;
}

.search-suggestion__content {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.search-suggestion strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.search-suggestion small {
    color: var(--muted);
    font-size: 12px;
}

.search-suggestion b {
    color: #101820;
    white-space: nowrap;
}

.search-suggestions__empty {
    padding: 12px;
    color: var(--muted);
}

.cart-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(7, 17, 26, .48);
}

.cart-drawer {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 100;
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    width: min(420px, 92vw);
    background: white;
    box-shadow: -18px 0 42px rgba(7, 17, 26, .22);
    transform: translateX(102%);
    transition: transform .22s ease;
}

.cart-drawer[aria-hidden="true"] {
    display: none;
}

.cart-drawer[aria-hidden="false"] {
    display: grid;
    transform: translateX(0);
}

.cart-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 72px;
    border-bottom: 1px solid var(--line);
    padding: 16px 18px;
}

.cart-drawer__head strong,
.cart-summary h3 {
    display: block;
    font-size: 18px;
}

.cart-drawer__head span {
    color: var(--muted);
    font-size: 13px;
}

.cart-drawer__head button {
    position: relative;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: #f2f4f7;
    cursor: pointer;
}

.cart-drawer__head button::before,
.cart-drawer__head button::after {
    content: "";
    position: absolute;
    left: 11px;
    right: 11px;
    top: 18px;
    height: 2px;
    background: #263343;
}

.cart-drawer__head button::before {
    transform: rotate(45deg);
}

.cart-drawer__head button::after {
    transform: rotate(-45deg);
}

.cart-drawer__message {
    margin: 12px 14px 0;
    border-radius: 8px;
    padding: 10px 12px;
    background: #edfdf3;
    color: #1b5e32;
    font-weight: 700;
}

.cart-drawer__message.is-error {
    background: #fff1f1;
    color: #991b1b;
}

.cart-drawer__items {
    display: grid;
    align-content: start;
    gap: 10px;
    overflow-y: auto;
    padding: 14px;
}

.cart-drawer__item {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 9px;
}

.cart-drawer__item img,
.cart-drawer__item a > span {
    width: 62px;
    height: 62px;
    border-radius: 8px;
    background: #eef3f7;
    object-fit: contain;
}

.cart-drawer__item a > span {
    display: grid;
    place-items: center;
    color: var(--orange);
    font-weight: 900;
}

.cart-drawer__item strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.25;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.cart-drawer__item small {
    color: var(--muted);
}

.cart-drawer__item b {
    white-space: nowrap;
}

.cart-drawer__empty {
    border: 1px dashed var(--line);
    border-radius: 10px;
    padding: 22px;
    color: var(--muted);
    text-align: center;
}

.cart-drawer__foot {
    display: grid;
    gap: 12px;
    align-self: end;
    border-top: 1px solid var(--line);
    padding: 16px;
}

.cart-drawer__total,
.cart-summary > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.cart-summary button,
.checkout-button,
.checkout-summary button,
.thank-you-card > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    background: var(--orange);
    color: white;
    font-weight: 900;
}

.cart-drawer__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.cart-drawer__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--orange);
    border-radius: 8px;
    padding: 0 16px;
    background: var(--orange);
    color: white;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
}

.cart-drawer__button--secondary {
    background: white;
    color: var(--orange);
}

.checkout-button,
.thank-you-card > a {
    text-decoration: none;
}

.cart-open {
    overflow: hidden;
}

.mobile-search-form {
    position: relative;
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 8px;
    padding: 0 14px 12px;
    background: white;
}

.mobile-search-form input {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 0 12px;
    min-height: 42px;
}

.mobile-search-form button {
    border: 0;
    border-radius: 8px;
    background: var(--orange);
    color: white;
    font-weight: 800;
}

.quick-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    align-items: center;
}

.quick-actions a {
    position: relative;
    display: inline-grid;
    grid-template-columns: 28px minmax(0, 1fr);
    column-gap: 7px;
    align-items: center;
    min-height: 38px;
    padding-left: 0;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.15;
    white-space: nowrap;
    color: #17202a;
}

.quick-actions a::before {
    content: "";
    width: 28px;
    height: 28px;
    background: #7c8a99;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 25px 25px;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 25px 25px;
    transition: background .18s ease, transform .18s ease;
}

.quick-actions a:nth-child(1)::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

.quick-actions a:nth-child(2)::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19.5 12.6 12 20l-7.5-7.4a5 5 0 0 1 7.1-7.1L12 5.9l.4-.4a5 5 0 0 1 7.1 7.1Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19.5 12.6 12 20l-7.5-7.4a5 5 0 0 1 7.1-7.1L12 5.9l.4-.4a5 5 0 0 1 7.1 7.1Z'/%3E%3C/svg%3E");
}

.quick-actions a:nth-child(3)::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.78a2 2 0 0 0 1.95-1.57L21 7H5.12'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.78a2 2 0 0 0 1.95-1.57L21 7H5.12'/%3E%3C/svg%3E");
}

.quick-actions a:hover::before {
    background: var(--orange);
    transform: translateY(-1px);
}

.quick-actions a b {
    position: absolute;
    top: -2px;
    left: 18px;
    display: grid;
    place-items: center;
    min-width: 17px;
    height: 17px;
    border-radius: 50%;
    padding: 0 5px;
    background: var(--orange);
    color: white;
    font-size: 10px;
    line-height: 1;
    box-shadow: 0 0 0 2px white;
}

.category-nav {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0)),
        radial-gradient(circle at 50% 0, rgba(255, 90, 31, .16), transparent 36%),
        #07111a;
    color: #eef4fa;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 10px 28px rgba(7, 17, 26, .12);
    overflow: hidden;
}

.category-nav__inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    min-height: 48px;
    overflow-x: auto;
    scrollbar-width: none;
}

.category-nav__inner::-webkit-scrollbar {
    display: none;
}

.category-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    border: 0;
    border-radius: 0;
    padding: 0 16px;
    color: rgba(255, 255, 255, .9);
    white-space: nowrap;
    font-size: 14px;
    font-weight: 700;
    transition: color .18s ease;
}

.category-nav a::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 2px;
    height: 2px;
    border-radius: 999px;
    background: var(--orange);
    opacity: 0;
    transform: scaleX(.45);
    transition: opacity .18s ease, transform .18s ease;
}

.category-nav a:hover {
    color: #ffffff;
}

.category-nav a:hover::after,
.category-nav a.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

.storefront-flash {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.storefront-flash__message {
    border: 1px solid #9ed6b3;
    border-radius: 8px;
    padding: 11px 14px;
    background: #eefaf2;
    color: #1f6b37;
    font-weight: 800;
}

.storefront-flash__message.is-error {
    border-color: #f0afa7;
    background: #fff1ef;
    color: #9d2f12;
}

.hero-section {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-top: 12px;
}

.side-categories {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: white;
}

.side-categories__top {
    min-height: 42px;
    padding: 12px 18px;
    background: #06111b;
    color: white;
    font-weight: 900;
}

.side-categories h2 {
    margin: 0;
    padding: 14px 18px 8px;
    color: var(--orange);
    font-size: 12px;
    text-transform: uppercase;
}

.side-categories nav {
    display: grid;
    padding: 0 10px 10px;
}

.side-categories a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 30px;
    padding: 0 22px 0 30px;
    border-radius: 6px;
    color: #263343;
    font-size: 13px;
}

.side-categories a:hover {
    background: #f5f7f9;
    color: var(--orange);
}

.side-categories a::before {
    content: none;
}

.side-categories a::after {
    content: "›";
    position: absolute;
    right: 8px;
    color: #8a96a3;
    font-size: 18px;
    line-height: 1;
}

.menu-icon {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    background: #8a96a3;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 16px 16px;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 16px 16px;
    transition: background .18s ease;
}

.side-categories a:hover .menu-icon {
    background: var(--orange);
}

.menu-icon-bolt {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7l1-8Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7l1-8Z'/%3E%3C/svg%3E");
}

.menu-icon-lightbulb {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M9 21h6v-2H9v2Zm3-19a7 7 0 0 0-4 12.74V17h8v-2.26A7 7 0 0 0 12 2Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M9 21h6v-2H9v2Zm3-19a7 7 0 0 0-4 12.74V17h8v-2.26A7 7 0 0 0 12 2Z'/%3E%3C/svg%3E");
}

.menu-icon-home,
.menu-icon-garden {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3 11 12 3l9 8v10h-6v-6H9v6H3V11Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3 11 12 3l9 8v10h-6v-6H9v6H3V11Z'/%3E%3C/svg%3E");
}

.menu-icon-shield {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Z'/%3E%3C/svg%3E");
}

.menu-icon-plug {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M8 2h2v5h4V2h2v5h1v4a5 5 0 0 1-4 4.9V22h-2v-6.1A5 5 0 0 1 7 11V7h1V2Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M8 2h2v5h4V2h2v5h1v4a5 5 0 0 1-4 4.9V22h-2v-6.1A5 5 0 0 1 7 11V7h1V2Z'/%3E%3C/svg%3E");
}

.menu-icon-speaker {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 9h4l6-5v16l-6-5H4V9Zm13.5-.5a5 5 0 0 1 0 7l-1.4-1.4a3 3 0 0 0 0-4.2l1.4-1.4Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 9h4l6-5v16l-6-5H4V9Zm13.5-.5a5 5 0 0 1 0 7l-1.4-1.4a3 3 0 0 0 0-4.2l1.4-1.4Z'/%3E%3C/svg%3E");
}

.menu-icon-heart {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 21 4.4 13.6a5.1 5.1 0 0 1 7.2-7.2l.4.4.4-.4a5.1 5.1 0 0 1 7.2 7.2L12 21Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 21 4.4 13.6a5.1 5.1 0 0 1 7.2-7.2l.4.4.4-.4a5.1 5.1 0 0 1 7.2 7.2L12 21Z'/%3E%3C/svg%3E");
}

.menu-icon-wrench {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M22 6.5a6.5 6.5 0 0 1-8.7 6.1L6.4 19.5a2.7 2.7 0 0 1-3.8-3.8l6.9-6.9A6.5 6.5 0 0 1 16 2l-3.5 3.5 2 2L18 4a6.5 6.5 0 0 1 4 2.5Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M22 6.5a6.5 6.5 0 0 1-8.7 6.1L6.4 19.5a2.7 2.7 0 0 1-3.8-3.8l6.9-6.9A6.5 6.5 0 0 1 16 2l-3.5 3.5 2 2L18 4a6.5 6.5 0 0 1 4 2.5Z'/%3E%3C/svg%3E");
}

.menu-icon-car {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M5 11 7 5h10l2 6 2 2v6h-3a2 2 0 0 1-4 0h-4a2 2 0 0 1-4 0H3v-6l2-2Zm3.5 5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm7 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM7 10h10l-1-3H8l-1 3Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M5 11 7 5h10l2 6 2 2v6h-3a2 2 0 0 1-4 0h-4a2 2 0 0 1-4 0H3v-6l2-2Zm3.5 5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm7 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM7 10h10l-1-3H8l-1 3Z'/%3E%3C/svg%3E");
}

.menu-icon-gamepad {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7 8h10a5 5 0 0 1 4.8 3.6l1 3.8a3 3 0 0 1-5 3L16 16H8l-1.8 2.4a3 3 0 0 1-5-3l1-3.8A5 5 0 0 1 7 8Zm0 3v2H5v2h2v2h2v-2h2v-2H9v-2H7Zm9.5 1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm3-2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7 8h10a5 5 0 0 1 4.8 3.6l1 3.8a3 3 0 0 1-5 3L16 16H8l-1.8 2.4a3 3 0 0 1-5-3l1-3.8A5 5 0 0 1 7 8Zm0 3v2H5v2h2v2h2v-2h2v-2H9v-2H7Zm9.5 1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm3-2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z'/%3E%3C/svg%3E");
}

.menu-icon-battery {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3 8h16a2 2 0 0 1 2 2v1h1v2h-1v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2Zm2 2v4h11v-4H5Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3 8h16a2 2 0 0 1 2 2v1h1v2h-1v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2Zm2 2v4h11v-4H5Z'/%3E%3C/svg%3E");
}

.menu-icon-solar {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2h2v3h-2V2ZM4.2 5.6 5.6 4.2l2.1 2.1-1.4 1.4-2.1-2.1ZM2 12h3v2H2v-2Zm17 0h3v2h-3v-2Zm-.6-7.8 1.4 1.4-2.1 2.1-1.4-1.4 2.1-2.1ZM8 13a5 5 0 1 1 8 4v2h-2v3h-4v-3H8v-2a5 5 0 0 1 0-4Zm3 6h2v-1h-2v1Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2h2v3h-2V2ZM4.2 5.6 5.6 4.2l2.1 2.1-1.4 1.4-2.1-2.1ZM2 12h3v2H2v-2Zm17 0h3v2h-3v-2Zm-.6-7.8 1.4 1.4-2.1 2.1-1.4-1.4 2.1-2.1ZM8 13a5 5 0 1 1 8 4v2h-2v3h-4v-3H8v-2a5 5 0 0 1 0-4Zm3 6h2v-1h-2v1Z'/%3E%3C/svg%3E");
}

.menu-icon-drone {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M5 3a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm14 0a3 3 0 1 1 0 6 3 3 0 0 1 0-6ZM5 15a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm14 0a3 3 0 1 1 0 6 3 3 0 0 1 0-6ZM8 6h8v2h-3v3h3v2h-3v3h-2v-3H8v-2h3V8H8V6Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M5 3a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm14 0a3 3 0 1 1 0 6 3 3 0 0 1 0-6ZM5 15a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm14 0a3 3 0 1 1 0 6 3 3 0 0 1 0-6ZM8 6h8v2h-3v3h3v2h-3v3h-2v-3H8v-2h3V8H8V6Z'/%3E%3C/svg%3E");
}

.menu-icon-toy {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7 4h10v4h3v8h-3v4H7v-4H4V8h3V4Zm2 2v12h6V6H9Zm8 4v4h1v-4h-1ZM6 10v4h1v-4H6Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7 4h10v4h3v8h-3v4H7v-4H4V8h3V4Zm2 2v12h6V6H9Zm8 4v4h1v-4h-1ZM6 10v4h1v-4H6Z'/%3E%3C/svg%3E");
}

.menu-icon-robot {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M11 2h2v3h5a2 2 0 0 1 2 2v10a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4V7a2 2 0 0 1 2-2h5V2ZM7 9v4h10V9H7Zm2 7h6v-2H9v2Zm0-6a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm6 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M11 2h2v3h5a2 2 0 0 1 2 2v10a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4V7a2 2 0 0 1 2-2h5V2ZM7 9v4h10V9H7Zm2 7h6v-2H9v2Zm0-6a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm6 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z'/%3E%3C/svg%3E");
}

.menu-icon-watch {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M8 2h8l1 5a7 7 0 0 1 0 10l-1 5H8l-1-5A7 7 0 0 1 7 7l1-5Zm4 6a5 5 0 1 0 0 10 5 5 0 0 0 0-10Zm1 2v3h3v2h-5v-5h2Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M8 2h8l1 5a7 7 0 0 1 0 10l-1 5H8l-1-5A7 7 0 0 1 7 7l1-5Zm4 6a5 5 0 1 0 0 10 5 5 0 0 0 0-10Zm1 2v3h3v2h-5v-5h2Z'/%3E%3C/svg%3E");
}

.menu-icon-clipper {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M8 2h8l1 5v12a3 3 0 0 1-3 3h-4a3 3 0 0 1-3-3V7l1-5Zm2 6v10h4V8h-4Zm0-4-.3 2h4.6L14 4h-4Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M8 2h8l1 5v12a3 3 0 0 1-3 3h-4a3 3 0 0 1-3-3V7l1-5Zm2 6v10h4V8h-4Zm0-4-.3 2h4.6L14 4h-4Z'/%3E%3C/svg%3E");
}

.menu-icon-headphones {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3a8 8 0 0 0-8 8v7a3 3 0 0 0 3 3h3v-8H6v-2a6 6 0 0 1 12 0v2h-4v8h3a3 3 0 0 0 3-3v-7a8 8 0 0 0-8-8Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3a8 8 0 0 0-8 8v7a3 3 0 0 0 3 3h3v-8H6v-2a6 6 0 0 1 12 0v2h-4v8h3a3 3 0 0 0 3-3v-7a8 8 0 0 0-8-8Z'/%3E%3C/svg%3E");
}

.menu-icon-dryer {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 7a5 5 0 0 1 5-5h8a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3h-5l2 8h-4l-2-8A5 5 0 0 1 4 7Zm5-2a2 2 0 1 0 0 4h8V5H9Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 7a5 5 0 0 1 5-5h8a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3h-5l2 8h-4l-2-8A5 5 0 0 1 4 7Zm5-2a2 2 0 1 0 0 4h8V5H9Z'/%3E%3C/svg%3E");
}

.menu-icon-straightener {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7 2h3v18a2 2 0 0 1-4 0V3a1 1 0 0 1 1-1Zm7 0h3a1 1 0 0 1 1 1v17a2 2 0 0 1-4 0V2Zm-3 3h2v12h-2V5Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7 2h3v18a2 2 0 0 1-4 0V3a1 1 0 0 1 1-1Zm7 0h3a1 1 0 0 1 1 1v17a2 2 0 0 1-4 0V2Zm-3 3h2v12h-2V5Z'/%3E%3C/svg%3E");
}

.menu-icon-scale {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M5 4h14a3 3 0 0 1 3 3v11a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3Zm7 3a5 5 0 0 0-5 5h3a2 2 0 0 1 4 0h3a5 5 0 0 0-5-5Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M5 4h14a3 3 0 0 1 3 3v11a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3Zm7 3a5 5 0 0 0-5 5h3a2 2 0 0 1 4 0h3a5 5 0 0 0-5-5Z'/%3E%3C/svg%3E");
}

.menu-icon-doorbell {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M8 2h8a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3Zm4 6a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-2 10h4v-2h-4v2Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M8 2h8a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3Zm4 6a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-2 10h4v-2h-4v2Z'/%3E%3C/svg%3E");
}

.menu-icon-camera {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 6h10a4 4 0 0 1 4 4v1l4-3v10l-4-3v1a4 4 0 0 1-4 4H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Zm5 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 6h10a4 4 0 0 1 4 4v1l4-3v10l-4-3v1a4 4 0 0 1-4 4H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Zm5 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z'/%3E%3C/svg%3E");
}

.menu-icon-grid {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 4h7v7H4V4Zm9 0h7v7h-7V4ZM4 13h7v7H4v-7Zm9 0h7v7h-7v-7Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 4h7v7H4V4Zm9 0h7v7h-7V4ZM4 13h7v7H4v-7Zm9 0h7v7h-7v-7Z'/%3E%3C/svg%3E");
}

.hero-card {
    position: relative;
    aspect-ratio: 1600 / 740;
    min-height: 382px;
    overflow: hidden;
    border-radius: 10px;
    background: #071018;
    color: white;
}

.hero-card::after {
    content: none;
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 70% 45%, rgba(255, 90, 31, .32), transparent 34%),
        linear-gradient(90deg, rgba(7, 16, 24, .98) 0%, rgba(7, 16, 24, .88) 36%, rgba(7, 16, 24, .2) 72%, rgba(7, 16, 24, .7) 100%);
    pointer-events: none;
    z-index: 1;
}

.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .45s ease;
}

.hero-slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

.hero-slide--fallback::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(circle at 70% 45%, rgba(255, 90, 31, .32), transparent 34%),
        linear-gradient(90deg, rgba(7, 16, 24, .98) 0%, rgba(7, 16, 24, .88) 36%, rgba(7, 16, 24, .2) 72%, rgba(7, 16, 24, .7) 100%);
    pointer-events: none;
}

.hero-copy {
    position: relative;
    z-index: 3;
    width: min(520px, 55%);
    padding: 50px 48px;
}

.eyebrow {
    margin: 0 0 10px;
    color: #cad5df;
    font-size: 17px;
    font-weight: 700;
}

.hero-copy h1 {
    margin: 0;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.02;
    letter-spacing: 0;
}

.hero-copy h1 span {
    color: var(--orange);
}

.hero-description {
    max-width: 460px;
    margin: 16px 0 0;
    color: #d7e0e8;
    font-size: 15px;
    line-height: 1.55;
}

.hero-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 28px 0;
}

.hero-points span {
    position: relative;
    padding-left: 22px;
    color: #d7e0e8;
    font-size: 12px;
}

.hero-points span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 13px;
    height: 13px;
    border: 2px solid var(--orange);
    border-radius: 3px;
}

.cta {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    border-radius: 8px;
    padding: 0 28px;
    background: var(--orange);
    color: white;
    font-weight: 800;
}

.slider-dots {
    position: absolute;
    left: 50%;
    bottom: 22px;
    z-index: 4;
    display: flex;
    gap: 9px;
    transform: translateX(-50%);
}

.slider-dots button {
    width: 10px;
    height: 10px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .46);
    cursor: pointer;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .16);
}

.slider-dots button.is-active {
    background: var(--orange);
}

.hero-arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: rgba(7, 17, 26, .58);
    cursor: pointer;
    transform: translateY(-50%);
    transition: background .18s ease, transform .18s ease;
}

.hero-arrow:hover {
    background: rgba(255, 90, 31, .92);
    transform: translateY(-50%) scale(1.04);
}

.hero-arrow::before {
    content: "";
    position: absolute;
    inset: 14px;
    border-top: 3px solid white;
    border-right: 3px solid white;
}

.hero-arrow--prev {
    left: 16px;
}

.hero-arrow--prev::before {
    transform: rotate(-135deg);
}

.hero-arrow--next {
    right: 16px;
}

.hero-arrow--next::before {
    transform: rotate(45deg);
}

.hero-image {
    position: absolute;
    right: 0;
    top: 0;
    width: 72%;
    height: 100%;
    object-fit: cover;
}

.hero-slide:not(.hero-slide--fallback) .hero-image {
    left: 0;
    right: auto;
    width: 100%;
    object-position: center;
}

.hero-slide picture {
    display: block;
}

.hero-slide__link {
    position: absolute;
    inset: 0;
    z-index: 3;
}

.service-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 12px;
}

.service-row article {
    position: relative;
    display: grid;
    gap: 2px;
    min-height: 70px;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 16px 18px 16px 62px;
    background: white;
}

.service-row article::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 22px;
    width: 24px;
    height: 24px;
    background: var(--orange);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 24px 24px;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 24px 24px;
}

.service-delivery::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M15 18H9'/%3E%3Cpath d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M15 18H9'/%3E%3Cpath d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E");
}

.service-payment::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3Cpath d='M6 15h2'/%3E%3Cpath d='M11 15h4'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3Cpath d='M6 15h2'/%3E%3Cpath d='M11 15h4'/%3E%3C/svg%3E");
}

.service-return::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 14-4-4 4-4'/%3E%3Cpath d='M5 10h11a4 4 0 0 1 0 8h-1'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 14-4-4 4-4'/%3E%3Cpath d='M5 10h11a4 4 0 0 1 0 8h-1'/%3E%3C/svg%3E");
}

.service-support::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11a9 9 0 0 1 18 0'/%3E%3Cpath d='M21 11v4a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z'/%3E%3Cpath d='M3 11v4a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3Z'/%3E%3Cpath d='M12 20h3a3 3 0 0 0 3-3'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11a9 9 0 0 1 18 0'/%3E%3Cpath d='M21 11v4a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z'/%3E%3Cpath d='M3 11v4a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3Z'/%3E%3Cpath d='M12 20h3a3 3 0 0 0 3-3'/%3E%3C/svg%3E");
}

.service-row span {
    color: var(--muted);
    font-size: 12px;
}

.story-section {
    margin-top: 22px;
    padding: 20px 22px;
    border-radius: 10px;
    background: white;
}

.section-intro h2,
.section-heading h2 {
    margin: 0;
    font-size: 18px;
    text-transform: uppercase;
}

.section-intro p {
    margin: 8px 0 12px;
    color: var(--muted);
}

.section-intro a,
.section-heading a {
    display: inline-flex;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 7px 13px;
    color: #344052;
    font-size: 12px;
    font-weight: 700;
}

.story-list {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.story-card {
    display: grid;
    justify-items: center;
    gap: 10px;
    text-align: center;
    font-size: 12px;
}

.story-visual {
    width: 112px;
    height: 112px;
    border: 3px solid var(--orange);
    border-radius: 50%;
    background: radial-gradient(circle at 50% 35%, #fff, #f3f6f9 36%, #cfd7df 100%);
    box-shadow: inset 0 0 0 6px white;
    position: relative;
    overflow: hidden;
}

.story-visual img {
    position: absolute;
    inset: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border-radius: 50%;
    object-fit: cover;
    z-index: 2;
}

.story-visual::after,
.product-art::after,
.category-grid span::after {
    content: "";
    position: absolute;
    inset: 24%;
    border-radius: 8px;
    background: #222d39;
}

.story-visual:has(img)::after {
    content: none;
}

.story-visual.bulb::after,
.product-art.bulb::after {
    border-radius: 50% 50% 42% 42%;
    background: radial-gradient(circle at 45% 35%, #ffe9a4, #ff9340 70%);
}

.story-visual.sale::after {
    content: "%";
    display: grid;
    place-items: center;
    inset: 12%;
    color: var(--orange);
    background: transparent;
    font-size: 44px;
    font-weight: 900;
}

.promo-block {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    gap: 14px;
    margin-top: 22px;
    border-radius: 8px;
    background:
        radial-gradient(circle at 80% 0, rgba(255, 90, 31, .13), transparent 34%),
        #071018;
    padding: 12px;
    box-shadow: 0 14px 34px rgba(7, 16, 24, .18);
}

.sale-panel {
    display: block;
    min-height: 398px;
    border-radius: 8px;
    padding: 26px;
    background:
        var(--event-banner, linear-gradient(135deg, transparent, transparent)),
        linear-gradient(135deg, #c50f0f 0%, #ff2618 46%, #1a0707 100%);
    background-position: center;
    background-size: cover;
    color: white;
    position: relative;
    overflow: hidden;
}

.sale-panel::after {
    content: "";
    position: absolute;
    right: -60px;
    bottom: -84px;
    width: 220px;
    height: 220px;
    border: 20px solid rgba(255, 122, 0, .8);
    transform: rotate(16deg);
}

.sale-panel.has-banner::after {
    content: none;
}

.sale-panel__eyebrow {
    position: relative;
    z-index: 1;
    display: inline-flex;
    margin-bottom: 18px;
    border-radius: 999px;
    padding: 7px 11px;
    background: rgba(255, 255, 255, .14);
    color: #fff0ea;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.sale-panel p {
    position: relative;
    z-index: 1;
    margin: 0;
    max-width: 230px;
    font-size: 34px;
    line-height: 1.08;
    font-weight: 900;
    text-transform: uppercase;
    font-style: italic;
}

.sale-panel h2 {
    position: relative;
    z-index: 1;
    max-width: 230px;
    margin: 18px 0 28px;
    font-size: 18px;
    line-height: 1.35;
}

.sale-panel strong {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 5px;
    font-size: 16px;
    text-transform: uppercase;
}

.sale-panel strong span {
    font-size: 76px;
    line-height: .9;
}

.sale-panel__button {
    position: relative;
    z-index: 1;
    display: inline-flex;
    margin-top: 30px;
    border-radius: 7px;
    padding: 11px 18px;
    background: white;
    color: var(--orange);
    font-weight: 800;
}

.promo-products {
    display: grid;
    align-content: stretch;
    min-width: 0;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 248px));
    gap: 16px;
    justify-content: start;
}

.product-grid--promo {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    height: 100%;
}

.promo-block .product-card {
    height: 100%;
    min-height: 398px;
    box-shadow: none;
}

.promo-block .product-card__media {
    aspect-ratio: auto;
    min-height: 210px;
}

.promo-block .product-card__body {
    align-content: start;
}

.product-card {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr auto auto;
    gap: 12px;
    min-height: 318px;
    min-width: 0;
    border: 1px solid rgba(16, 24, 32, .08);
    border-radius: 22px;
    padding: 10px;
    background: white;
    box-shadow: 0 10px 28px rgba(16, 24, 32, .12);
    overflow: hidden;
}

.product-card__favorite {
    position: absolute;
    z-index: 4;
    top: 18px;
    right: 18px;
}

.product-card__favorite button {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(16, 24, 32, .12);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(16, 24, 32, .12);
}

.product-card__favorite button::before {
    content: "";
    width: 19px;
    height: 19px;
    background: #8492a3;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.product-card__favorite button:hover::before,
.product-card__favorite button.is-active::before {
    background: var(--orange);
}

.product-card__favorite button.is-active {
    border-color: rgba(255, 90, 31, .28);
    background: #fff4ef;
}

.product-card__favorite button.is-active::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.08C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.08C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35Z'/%3E%3C/svg%3E");
}

.product-card__media {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    background: #f7f9fb;
    overflow: hidden;
}

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

.product-card__media .product-art {
    display: block;
    width: 100%;
    height: 100%;
}

.product-card h3 a:hover {
    color: var(--orange);
}

.product-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    border-radius: 999px;
    padding: 6px 10px;
    background: rgba(7, 17, 26, .66);
    color: white;
    font-size: 12px;
    font-weight: 800;
    backdrop-filter: blur(8px);
}

.product-art {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 16px;
    background: linear-gradient(180deg, #f7f9fb, #e6ecf2);
    overflow: hidden;
}

.product-art::before {
    content: "";
    position: absolute;
    inset: auto 18% 10px;
    height: 12px;
    border-radius: 50%;
    background: rgba(15, 24, 34, .14);
    filter: blur(4px);
}

.product-art.camera::after {
    inset: 22% 28%;
    border-radius: 24px 24px 8px 8px;
    background: radial-gradient(circle at 50% 45%, #0e1822 0 18%, #506070 20% 32%, #f5f7fa 34%);
}

.product-art.speaker::after {
    inset: 16% 28%;
    border-radius: 14px;
    background: radial-gradient(circle, #0d1117 2px, #202b36 3px, #202b36 9px, #111822 10px);
    background-size: 20px 20px;
}

.product-art.razor::after,
.product-art.brush::after {
    inset: 16% 42% 12%;
    border-radius: 18px;
    background: linear-gradient(#151d26 0 22%, #e8edf2 23% 100%);
}

.product-art.plug::after {
    inset: 30% 20%;
    border-radius: 12px;
    background: linear-gradient(90deg, #222d39 0 20%, #f6f8fa 21% 100%);
}

.product-art.lamp::after,
.product-art.diffuser::after {
    inset: 20% 30% 16%;
    border-radius: 50% 50% 18px 18px;
    background: linear-gradient(#fff, #cfd7df);
}

.product-card h3 {
    display: -webkit-box;
    margin: 0;
    min-height: 52px;
    overflow: hidden;
    color: #111820;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.16;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.product-card__body {
    display: grid;
    gap: 0;
    align-content: start;
    padding: 0 8px;
}

.product-card__description {
    display: none;
}

.price {
    margin: 0;
    color: #101820;
    font-weight: 900;
    white-space: nowrap;
}

.old-price {
    margin: -4px 8px 0;
    color: var(--muted);
    text-decoration: line-through;
    font-size: 12px;
}

.card-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    padding: 0 6px 4px;
}

.card-bottom .price {
    min-height: auto;
    padding: 0;
    background: transparent;
    font-size: 16px;
}

.card-bottom button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 92px;
    min-height: 36px;
    border: 0;
    border-radius: 999px;
    padding: 0 9px 0 13px;
    background: var(--orange);
    color: white;
    cursor: pointer;
    font-weight: 900;
    transition: background .18s ease, transform .18s ease;
}

.card-bottom button:hover {
    background: var(--orange-2);
    transform: translateY(-1px);
}

.card-bottom button span {
    font-size: 13px;
}

.card-bottom button::before {
    content: none;
}

.card-bottom button::after {
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: white;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h14l-1.4 9H7.2L6 7Z'/%3E%3Cpath d='M6 7 5.4 4H3'/%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='17' cy='20' r='1'/%3E%3C/svg%3E");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: 15px 15px;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h14l-1.4 9H7.2L6 7Z'/%3E%3Cpath d='M6 7 5.4 4H3'/%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='17' cy='20' r='1'/%3E%3C/svg%3E");
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 15px 15px;
}

.stock-status {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    text-align: right;
}

.products-section,
.categories-section,
.brands-section {
    margin-top: 20px;
}

.products-section {
    border: 1px solid rgba(214, 221, 229, .86);
    border-radius: 12px;
    padding: 22px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(16, 24, 32, .035);
}

.products-section + .products-section {
    margin-top: 26px;
}

.products-section--discounts {
    background: #ffffff;
    border-color: rgba(214, 221, 229, .86);
}

.cart-page,
.favorites-page {
    min-height: 560px;
    padding: 18px 0 54px;
}

.account-page {
    min-height: 560px;
    padding: 18px 0 54px;
}

.account-hero,
.account-card {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: white;
}

.account-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 28px;
    background:
        linear-gradient(135deg, rgba(255, 90, 31, .08), rgba(255, 255, 255, .96)),
        white;
    box-shadow: 0 12px 30px rgba(16, 24, 32, .06);
}

.account-hero__identity,
.account-hero__actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.account-avatar {
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border-radius: 18px;
    background: var(--orange);
    color: white !important;
    font-size: 30px;
    font-weight: 900;
    box-shadow: 0 12px 22px rgba(255, 90, 31, .22);
}

.account-hero .eyebrow {
    margin: 0 0 8px;
    color: var(--orange);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.account-hero h1 {
    margin: 0 0 6px;
    font-size: 30px;
    line-height: 1.1;
}

.account-hero span {
    color: var(--muted);
}

.account-hero__actions a,
.account-hero button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 0 16px;
    background: white;
    color: var(--ink);
    cursor: pointer;
    font-weight: 900;
}

.account-hero button {
    border-color: var(--ink);
    background: var(--ink);
    color: white;
}

.account-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.account-stats article {
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 18px;
    background: white;
    box-shadow: 0 8px 20px rgba(16, 24, 32, .04);
}

.account-stats span {
    display: block;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.account-stats strong {
    display: block;
    min-width: 0;
    font-size: 22px;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

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

.account-card {
    padding: 22px;
}

.account-card h2 {
    margin: 0 0 14px;
    font-size: 18px;
}

.account-card dl {
    display: grid;
    gap: 14px;
    margin: 0;
}

.account-card dt {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.account-card dd {
    margin: 4px 0 0;
    font-weight: 900;
}

.account-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.account-card__head h2 {
    margin: 0;
}

.account-card__head a {
    color: var(--orange);
    font-weight: 900;
}

.account-side nav {
    display: grid;
    gap: 9px;
}

.account-side nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 0 12px;
    background: #fbfcfe;
    font-weight: 900;
}

.account-side nav a:hover {
    border-color: rgba(255, 90, 31, .35);
    color: var(--orange);
}

.account-side nav b {
    display: grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    border-radius: 999px;
    background: var(--orange);
    color: white;
    font-size: 12px;
}

.account-side-stack {
    display: grid;
    gap: 16px;
    align-items: start;
}

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

.account-address-form {
    display: grid;
    gap: 10px;
}

.account-address-form details {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fbfcfe;
}

.account-address-form summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 42px;
    padding: 0 12px;
    color: var(--ink);
    cursor: pointer;
    font-weight: 900;
}

.account-address-form summary::after {
    content: "+";
    color: var(--orange);
    font-size: 18px;
    line-height: 1;
}

.account-address-form details[open] summary::after {
    content: "-";
}

.account-address-fields {
    display: grid;
    gap: 10px;
    border-top: 1px solid var(--line);
    padding: 12px;
}

.account-address-form label {
    display: grid;
    gap: 7px;
}

.account-address-form label span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.account-address-form input {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--line);
    border-radius: 7px;
    padding: 0 12px;
    background: white;
    color: var(--ink);
    font: inherit;
    font-weight: 700;
}

.account-address-form input:focus {
    outline: 2px solid rgba(255, 90, 31, .16);
    border-color: rgba(255, 90, 31, .5);
}

.account-address-actions {
    display: grid;
}

.account-address-actions button {
    min-height: 40px;
    border: 0;
    border-radius: 8px;
    padding: 0 14px;
    background: var(--orange);
    color: white;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
}

.account-order-list {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.account-order {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(110px, .6fr));
    gap: 14px;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid var(--line);
    background: white;
}

.account-order:last-child {
    border-bottom: 0;
}

.account-order div {
    display: grid;
    gap: 4px;
}

.account-order span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.account-order strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.account-empty {
    display: grid;
    place-items: center;
    gap: 10px;
    min-height: 170px;
    border: 1px dashed var(--line);
    border-radius: 10px;
    padding: 28px;
    background: #fbfcfe;
    text-align: center;
}

.account-empty strong {
    font-size: 18px;
}

.account-empty span {
    max-width: 440px;
    color: var(--muted);
}

.account-empty a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border-radius: 8px;
    padding: 0 16px;
    background: var(--orange);
    color: white;
    font-weight: 900;
}

.static-page {
    min-height: 560px;
    padding: 18px 0 54px;
}

.static-page__content {
    max-width: 900px;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 28px;
    background: white;
}

.static-page__content .eyebrow {
    margin: 0 0 10px;
    color: var(--orange);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.static-page__content h1 {
    margin: 0 0 14px;
    font-size: 36px;
    line-height: 1.1;
}

.static-page__excerpt {
    margin: 0 0 22px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.6;
}

.static-page__body {
    color: #263343;
    font-size: 16px;
    line-height: 1.8;
}

.cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 16px;
    align-items: start;
}

.cart-table,
.cart-summary,
.cart-trust article {
    border: 1px solid var(--line);
    border-radius: 10px;
    background: white;
}

.cart-table {
    display: grid;
    overflow: hidden;
}

.cart-row {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr) 170px 160px;
    gap: 18px;
    align-items: center;
    padding: 18px;
    border-bottom: 1px solid var(--line);
}

.cart-row:last-child {
    border-bottom: 0;
}

.cart-row__media img,
.cart-row__media span {
    width: 104px;
    height: 104px;
    border-radius: 10px;
    background: #eef3f7;
}

.cart-row__media img {
    object-fit: contain;
    padding: 10px;
}

.cart-row__media span {
    display: grid;
    place-items: center;
    color: var(--orange);
    font-size: 24px;
    font-weight: 900;
}

.cart-row__info {
    display: grid;
    gap: 7px;
}

.cart-row__info > a {
    font-size: 16px;
    font-weight: 900;
}

.cart-row__info small {
    color: var(--muted);
}

.cart-row__info button {
    justify-self: start;
    border: 0;
    padding: 0;
    background: transparent;
    color: #b42318;
    cursor: pointer;
    font-weight: 800;
}

.cart-row__qty {
    display: grid;
    gap: 8px;
    justify-items: start;
}

.cart-row__qty label {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.cart-row__qty input {
    width: 96px;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 0 10px;
    background: #fbfcfe;
    font-weight: 800;
}

.cart-row__qty small {
    min-height: 16px;
    color: var(--green);
    font-size: 12px;
    font-weight: 800;
}

.cart-row__price {
    display: grid;
    gap: 5px;
    text-align: right;
}

.cart-row__price span {
    color: var(--muted);
}

.cart-row__price strong {
    font-size: 19px;
}

.cart-summary {
    display: grid;
    gap: 14px;
    position: sticky;
    top: 16px;
    padding: 20px;
    box-shadow: 0 10px 24px rgba(16, 24, 32, .06);
}

.cart-summary h3,
.cart-summary p {
    margin: 0;
}

.cart-summary button:disabled {
    opacity: .75;
    cursor: not-allowed;
}

.cart-summary p {
    color: var(--muted);
    font-size: 13px;
}

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

.cart-trust article {
    display: grid;
    gap: 4px;
    padding: 16px;
}

.cart-trust b {
    color: var(--ink);
}

.cart-trust span {
    color: var(--muted);
    font-size: 13px;
}

.checkout-page {
    min-height: 620px;
    padding: 18px 0 58px;
}

.checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 18px;
    align-items: start;
}

.checkout-card,
.checkout-summary,
.thank-you-card,
.checkout-alert {
    border: 1px solid var(--line);
    border-radius: 10px;
    background: white;
}

.checkout-card {
    display: grid;
    grid-column: 1;
    gap: 20px;
    padding: 22px;
}

.checkout-card + .checkout-card {
    margin-top: 14px;
}

.checkout-card__head {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.checkout-card__head > span {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: var(--orange);
    color: white;
    font-weight: 900;
}

.checkout-card__head h3,
.checkout-card__head p,
.checkout-summary h3,
.checkout-summary p,
.thank-you-card h1,
.thank-you-card p {
    margin: 0;
}

.checkout-card__head p,
.checkout-summary p,
.thank-you-card p {
    color: var(--muted);
}

.checkout-card__head p {
    margin-top: 3px;
    font-size: 13px;
}

.checkout-fields {
    display: grid;
    gap: 14px;
}

.checkout-fields--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkout-field-wide {
    grid-column: 1 / -1;
}

.checkout-fields label {
    display: grid;
    gap: 7px;
}

.checkout-fields span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.checkout-fields input,
.checkout-fields textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fbfcfe;
    color: var(--ink);
    font: inherit;
    font-weight: 700;
}

.checkout-fields input.is-invalid,
.checkout-fields textarea.is-invalid {
    border-color: #ef4444;
    background: #fff7f7;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .08);
}

.checkout-fields input:focus,
.checkout-fields textarea:focus {
    outline: 2px solid rgba(255, 90, 24, .16);
    border-color: var(--orange);
}

.checkout-fields input {
    min-height: 44px;
    padding: 0 12px;
}

.checkout-fields textarea {
    min-height: 104px;
    padding: 12px;
    resize: vertical;
}

.checkout-fields small,
.checkout-error {
    color: #b42318;
    font-size: 12px;
    font-weight: 800;
}

.payment-option {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fbfcfe;
}

.checkout-options {
    display: grid;
    gap: 10px;
}

.payment-option input {
    flex: 0 0 auto;
    accent-color: var(--orange);
}

.payment-option span {
    min-width: 0;
    flex: 1 1 auto;
    display: grid;
    gap: 3px;
}

.payment-option b {
    white-space: nowrap;
}

.payment-option small {
    color: var(--muted);
}

.checkout-summary {
    display: grid;
    grid-column: 2;
    grid-row: 1 / span 4;
    gap: 14px;
    position: sticky;
    top: 16px;
    padding: 20px;
    box-shadow: 0 10px 24px rgba(16, 24, 32, .06);
}

.checkout-summary__items {
    display: grid;
    gap: 10px;
    max-height: 260px;
    overflow: auto;
    padding-right: 4px;
}

.checkout-summary__items article,
.checkout-summary__line,
.checkout-summary__total {
    display: flex;
    gap: 12px;
    justify-content: space-between;
    align-items: flex-start;
}

.checkout-summary__items span,
.checkout-summary__line span,
.checkout-summary p {
    color: var(--muted);
    font-size: 13px;
}

.checkout-summary__items strong,
.checkout-summary__line strong {
    white-space: nowrap;
}

.checkout-summary__line,
.checkout-summary__total {
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

.checkout-summary__total {
    font-size: 18px;
}

.checkout-summary button {
    width: 100%;
    font-size: 15px;
    cursor: pointer;
}

.checkout-summary p {
    line-height: 1.45;
}

.checkout-alert {
    margin-bottom: 14px;
    padding: 13px 15px;
    font-weight: 800;
}

.checkout-alert ul {
    margin: 8px 0 0;
    padding-left: 18px;
    font-weight: 700;
}

.checkout-alert li + li {
    margin-top: 4px;
}

.checkout-alert--error {
    border-color: #fecaca;
    background: #fff5f5;
    color: #b42318;
}

.checkout-page--thanks {
    display: grid;
    place-items: center;
}

.thank-you-card {
    width: min(100%, 620px);
    display: grid;
    justify-items: center;
    gap: 18px;
    padding: 38px;
    text-align: center;
    box-shadow: 0 14px 34px rgba(16, 24, 32, .08);
}

.thank-you-card__mark {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 50%;
    background: var(--orange);
    color: white;
    font-weight: 900;
}

.thank-you-card__summary {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.thank-you-card__summary div {
    display: grid;
    gap: 5px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fbfcfe;
}

.thank-you-card__summary span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.empty-products {
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 24px;
    background: white;
    color: var(--muted);
    text-align: center;
}

.empty-products strong {
    color: #344052;
}

.section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
}

.section-heading h2::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    background: var(--orange);
    transform: rotate(45deg);
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 10px;
}

.category-grid a {
    display: grid;
    justify-items: center;
    gap: 9px;
    min-height: 92px;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 14px 8px;
    background: white;
    text-align: center;
    font-size: 12px;
}

.category-grid span {
    position: relative;
    width: 42px;
    height: 36px;
    border-radius: 8px;
    background: #f1f5f8;
}

.category-grid span::after {
    inset: 24%;
}

.homepage-banners-products {
    display: grid;
    gap: 18px;
    margin-top: 20px;
}

.homepage-banner-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.homepage-banner-card {
    display: grid;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: white;
    box-shadow: 0 14px 30px rgba(16, 24, 32, .06);
}

.homepage-banner-card a {
    display: block;
}

.homepage-banner-card img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.section-heading--compact {
    margin-bottom: -2px;
}

.lantern-products-panel {
    display: grid;
    gap: 18px;
    border: 1px solid rgba(214, 221, 229, .86);
    border-radius: 12px;
    padding: 22px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(16, 24, 32, .035);
}

.lantern-products-slider {
    display: flex;
    grid-template-columns: none;
    gap: 16px;
    overflow-x: auto;
    padding: 2px 2px 18px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.lantern-products-slider::-webkit-scrollbar {
    display: none;
}

.lantern-products-slider .product-card {
    flex: 0 0 230px;
    min-width: 230px;
    scroll-snap-align: start;
}

.brand-strip {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    align-items: center;
    gap: 8px;
    min-height: 58px;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 10px;
    background: white;
}

.brand-strip span {
    text-align: center;
    color: #4a5564;
    font-size: 18px;
    font-weight: 900;
}

.site-footer {
    margin-top: 24px;
    background: #07111a;
    color: #d9e3ec;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.45fr repeat(4, minmax(130px, 1fr)) 270px;
    gap: 30px;
    padding: 28px 0;
}

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

.logo--footer .site-logo-image {
    max-width: min(var(--store-logo-width, 190px), 170px);
    max-height: min(var(--store-logo-height, 48px), 44px);
}

.footer-grid h3 {
    margin: 0 0 12px;
    color: white;
    text-transform: uppercase;
    font-size: 13px;
}

.footer-grid p,
.footer-grid a {
    display: block;
    margin: 0 0 7px;
    color: #aeb8c4;
    font-size: 13px;
}

.footer-anpc-badges {
    display: grid;
    gap: 8px;
}

.footer-anpc-badges a {
    margin: 0;
}

.footer-anpc-badges img {
    display: block;
    width: min(100%, 250px);
    height: auto;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.footer-bottom__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 0;
}

.footer-bottom p {
    margin: 0;
    color: #8e9aaa;
    font-size: 12px;
}

.error-page {
    min-height: 520px;
    padding: 42px 0 58px;
    background:
        radial-gradient(circle at top left, rgba(255, 90, 31, .09), transparent 30%),
        linear-gradient(180deg, #f5f7fa 0, #ffffff 100%);
}

.error-hero {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 34px;
    min-height: 420px;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 42px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(7, 17, 26, .08);
}

.error-hero__visual {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 10px;
    background:
        radial-gradient(circle at 72% 32%, rgba(255, 90, 31, .28), transparent 28%),
        linear-gradient(145deg, #07111a, #142231);
}

.error-hero__visual::before,
.error-hero__visual::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 90, 31, .34);
    border-radius: 50%;
}

.error-hero__visual::before {
    inset: 42px;
}

.error-hero__visual::after {
    inset: 82px;
}

.error-hero__visual span {
    position: relative;
    z-index: 1;
    color: white;
    font-size: clamp(72px, 12vw, 150px);
    font-weight: 900;
    letter-spacing: 0;
}

.error-hero__copy h1 {
    max-width: 680px;
    margin: 0;
    color: #07111a;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.05;
}

.error-hero__copy > p:not(.eyebrow) {
    max-width: 560px;
    margin: 16px 0 0;
    color: #526173;
    font-size: 16px;
}

.error-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    max-width: 560px;
    margin-top: 24px;
}

.error-search input {
    min-height: 48px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 0 14px;
    color: var(--ink);
    font: inherit;
}

.error-search button {
    min-height: 48px;
    border: 0;
    border-radius: 8px;
    padding: 0 24px;
    background: var(--orange);
    color: white;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.error-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

.error-actions > a:not(.cta) {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 0 18px;
    color: #07111a;
    font-weight: 900;
}


@media (max-width: 1180px) {
    .main-header__inner {
        grid-template-columns: 210px 1fr;
    }

    .quick-actions {
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, max-content);
        justify-content: end;
    }

    .promo-block,
    .bottom-promos,
    .cart-layout,
    .account-layout,
    .checkout-layout {
        grid-template-columns: 1fr;
    }

    .hero-section {
        grid-template-columns: 230px minmax(0, 1fr);
    }

    .service-row {
        grid-template-columns: repeat(4, 1fr);
    }

    .cart-row {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .cart-row__qty,
    .cart-row__price {
        grid-column: 2;
        text-align: left;
    }

    .cart-trust {
        grid-template-columns: 1fr;
    }

    .cart-summary,
    .checkout-summary {
        grid-column: auto;
        grid-row: auto;
        position: static;
    }

    .story-section {
        grid-template-columns: 1fr;
    }

    .story-list,
    .product-grid,
    .category-grid,
    .brand-strip {
        grid-template-columns: repeat(4, 1fr);
    }

    .footer-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px;
    }
}

@media (max-width: 1080px) {
    .hero-section {
        grid-template-columns: 1fr;
    }

    .side-categories {
        display: none;
    }
}

@media (max-width: 820px) {
    .page-wrap {
        width: min(100% - 12px, 1320px);
    }

    .products-section {
        padding: 10px;
        border-radius: 10px;
    }

    .section-heading {
        gap: 8px;
        margin-bottom: 12px;
    }

    .section-heading h2 {
        font-size: 17px;
    }

    .section-heading a {
        padding: 6px 10px;
        font-size: 11px;
    }

    .homepage-banners-products {
        gap: 12px;
        margin-top: 16px;
    }

    .homepage-banner-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .lantern-products-panel {
        gap: 12px;
        border-radius: 10px;
        padding: 10px;
    }

    .cart-page,
    .account-page {
        min-height: 0;
    }

    .account-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .account-hero__actions {
        flex-wrap: wrap;
        width: 100%;
    }

    .account-hero__actions a,
    .account-hero__actions form,
    .account-hero__actions button {
        width: 100%;
    }

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

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

    .checkout-page {
        min-height: 0;
        padding-bottom: 36px;
    }

    .checkout-fields--two,
    .thank-you-card__summary {
        grid-template-columns: 1fr;
    }

    .checkout-card,
    .checkout-summary,
    .thank-you-card {
        padding: 16px;
    }

    .top-strip__inner {
        justify-content: flex-start;
        gap: 0;
        width: 100%;
        animation: topStripTicker 24s linear infinite;
    }

    .top-strip {
        overflow: hidden;
    }

    .top-strip__inner span,
    .top-strip__inner a {
        flex: 0 0 min(calc(100vw - 28px), 1320px);
        justify-content: center;
        text-align: center;
        white-space: nowrap;
    }

    .top-strip__clone {
        display: inline-flex !important;
    }

    .top-strip__inner span,
    .top-strip__inner a {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .main-header {
        box-shadow: 0 3px 14px rgba(16, 24, 32, .12);
    }

    .mobile-header {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr) 92px;
        align-items: center;
        min-height: 60px;
    }

    .mobile-search-form:not([hidden]) {
        display: grid;
    }

    .main-header__inner {
        display: none;
    }

    .category-nav {
        display: none;
    }

    body.mobile-menu-open {
        overflow: hidden;
    }

    .mobile-menu-overlay {
        position: fixed;
        inset: 0;
        z-index: 70;
        display: block;
        background: rgba(7, 17, 26, .48);
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
    }

    .mobile-menu-drawer {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 80;
        display: block;
        width: min(88vw, 360px);
        background: white;
        box-shadow: 18px 0 36px rgba(7, 17, 26, .24);
        transform: translateX(-102%);
        transition: transform .24s ease;
    }

    .mobile-menu-drawer[aria-hidden="true"] {
        display: none;
    }

    .mobile-menu-open .mobile-menu-drawer {
        display: block;
    }

    .mobile-menu-drawer nav {
        display: grid;
        padding: 12px 10px 22px;
        overflow-y: auto;
        max-height: calc(100vh - 54px);
    }

    .mobile-menu-drawer a {
        position: relative;
        display: flex;
        align-items: center;
        min-height: 38px;
        border-radius: 7px;
        padding: 0 28px 0 10px;
        color: #263343;
        font-size: 14px;
    }

    .mobile-menu-drawer a::after {
        content: "›";
        position: absolute;
        right: 10px;
        color: #8a96a3;
        font-size: 20px;
    }

    .mobile-menu-drawer a:hover {
        background: #f5f7f9;
        color: var(--orange);
    }

    .mobile-menu-open .mobile-menu-overlay {
        opacity: 1;
        pointer-events: auto;
    }

    .mobile-menu-open .mobile-menu-drawer {
        transform: translateX(0);
    }

    .hero-card {
        aspect-ratio: 1 / 1;
        min-height: min(340px, calc(100vw - 28px));
    }

    .hero-copy {
        width: 100%;
        padding: 34px 24px;
    }

    .hero-points,
    .story-list,
    .product-grid,
    .product-grid--promo,
    .category-grid,
    .brand-strip,
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .story-section {
        overflow: hidden;
        padding: 16px;
    }

    .story-list {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .story-list::-webkit-scrollbar {
        display: none;
    }

    .story-card {
        flex: 0 0 calc((100% - 24px) / 3);
        scroll-snap-align: start;
    }

    .story-visual {
        width: 86px;
        height: 86px;
        border-width: 3px;
        box-shadow: inset 0 0 0 5px white;
    }

    .story-card {
        font-size: 11px;
        gap: 8px;
    }

    .service-row {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        overflow: visible;
        padding-bottom: 0;
    }

    .service-row::-webkit-scrollbar {
        display: none;
    }

    .service-row article {
        min-height: 68px;
        padding: 12px 8px 10px;
        text-align: center;
        justify-items: center;
    }

    .service-row article::before {
        position: static;
        width: 18px;
        height: 18px;
        margin-bottom: 6px;
        mask-size: 18px 18px;
        -webkit-mask-size: 18px 18px;
    }

    .service-row article b {
        display: block;
        font-size: 11px;
        line-height: 1.2;
    }

    .service-row article span {
        display: none;
    }

    .service-row article:nth-child(n + 4) {
        display: none;
    }

    .hero-section {
        grid-template-columns: 1fr;
    }

    .cart-row {
        gap: 12px;
        padding: 14px;
    }

    .cart-row__media img,
    .cart-row__media span {
        width: 92px;
        height: 92px;
    }

    .side-categories {
        display: none;
    }

    .hero-image {
        width: 100%;
        height: 100%;
        top: 0;
        bottom: auto;
        object-fit: cover;
        object-position: center;
    }

    .hero-arrow {
        width: 34px;
        height: 34px;
    }

    .hero-arrow::before {
        inset: 11px;
        border-width: 2px;
    }

    .hero-arrow--prev {
        left: 10px;
    }

    .hero-arrow--next {
        right: 10px;
    }

    .promo-block {
        gap: 12px;
        padding: 10px;
    }

    .sale-panel {
        min-height: 0;
        aspect-ratio: 12 / 7;
        padding: 18px;
        background:
            var(--event-mobile-banner, var(--event-banner, linear-gradient(135deg, transparent, transparent))),
            linear-gradient(135deg, #c50f0f 0%, #ff2618 46%, #1a0707 100%);
        background-position: center;
        background-size: cover;
    }

    .sale-panel p {
        font-size: 24px;
    }

    .sale-panel strong span {
        font-size: 58px;
    }

    .product-grid--promo {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        height: auto;
    }

    .promo-block .product-card {
        height: auto;
        min-height: 300px;
        gap: 8px;
        border-radius: 14px;
        padding: 6px;
    }

    .promo-block .product-card__media {
        aspect-ratio: 1 / 1;
        min-height: 0;
        border-radius: 12px;
    }

    .promo-block .product-card__media img {
        padding: 8px;
    }

    .promo-block .product-card__body {
        gap: 5px;
        padding: 0 4px;
    }

    .promo-block .product-card h3 {
        display: -webkit-box;
        min-height: 46px;
        overflow: hidden;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.18;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }

    .promo-block .product-card__description {
        display: none;
    }

    .promo-block .card-bottom {
        gap: 4px;
        padding: 0 2px 3px;
    }

    .promo-block .card-bottom .price {
        font-size: 14px;
    }

    .promo-block .card-bottom button {
        min-width: 36px;
        width: 36px;
        min-height: 34px;
        padding: 0;
    }

    .promo-block .card-bottom button span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .new-products-slider {
        display: flex;
        grid-template-columns: none;
        gap: 8px;
        overflow-x: auto;
        padding: 2px 0 12px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .new-products-slider::-webkit-scrollbar {
        display: none;
    }

    .new-products-slider .product-card {
        flex: 0 0 calc((100% - 8px) / 2);
        min-width: calc((100% - 8px) / 2);
        min-height: 300px;
        gap: 8px;
        border-radius: 14px;
        padding: 6px;
        scroll-snap-align: start;
    }

    .new-products-slider .product-card__media {
        border-radius: 12px;
    }

    .new-products-slider .product-card__media img {
        padding: 8px;
    }

    .new-products-slider .product-card__body {
        gap: 5px;
        padding: 0 4px;
    }

    .new-products-slider .product-card h3 {
        display: -webkit-box;
        min-height: 46px;
        overflow: hidden;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.18;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }

    .new-products-slider .product-card__description {
        display: none;
    }

    .new-products-slider .card-bottom {
        gap: 4px;
        padding: 0 2px 3px;
    }

    .new-products-slider .card-bottom .price {
        font-size: 14px;
    }

    .new-products-slider .card-bottom button {
        min-width: 36px;
        width: 36px;
        min-height: 34px;
        padding: 0;
    }

    .new-products-slider .card-bottom button span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }
}

@keyframes topStripTicker {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@media (max-width: 480px) {
    .top-strip__inner {
        animation: none;
        transform: none !important;
    }

    .top-strip__inner span:not(:first-child),
    .top-strip__inner a:not(:first-child) {
        display: none !important;
    }

    .top-strip__inner span:first-child,
    .top-strip__inner a:first-child {
        flex: 1 1 auto;
    }

    .quick-actions,
    .hero-points,
    .service-row,
    .story-list,
    .product-grid,
    .category-grid,
    .account-stats,
    .brand-strip,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom__inner {
        align-items: flex-start;
        flex-direction: column;
    }

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

    .new-products-slider {
        display: flex;
        grid-template-columns: none;
    }

    .new-products-slider .product-card {
        flex-basis: calc((100% - 12px) / 2);
        min-width: calc((100% - 12px) / 2);
    }

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

@media (max-width: 820px) {
    .products-section {
        padding: 10px;
    }

    .error-page {
        padding: 24px 0 36px;
    }

    .error-hero {
        grid-template-columns: 1fr;
        width: min(100% - 24px, 1320px);
        gap: 24px;
        padding: 22px;
    }

    .error-hero__visual {
        max-width: 320px;
        margin: 0 auto;
        width: 100%;
    }

    .error-search {
        grid-template-columns: 1fr;
    }

    .service-row {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .service-row article {
        min-width: 0;
    }

    .story-list {
        display: flex;
        grid-template-columns: none;
    }

    .story-card {
        flex-basis: calc((100% - 24px) / 3);
        min-width: calc((100% - 24px) / 3);
    }
}
