@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
    color-scheme: light;
    --nova-ink: #1e2030;
    --nova-muted: #8c8e9d;
    --nova-line: #e8e8ef;
    --nova-paper: #f4f5fa;
    --nova-white: #fff;
    --nova-purple: #f26b12;
    --nova-purple-dark: #d95708;
    --nova-pink: #fff0e5;
    --nova-orange: #fff0e5;
    --nova-green: #eef4ee;
    --nova-shadow: 0 2px 12px rgba(37, 39, 56, .055);
    font-family: 'DM Sans', 'Manrope', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body.storefront-home { margin: 0; color: var(--nova-ink); background: var(--nova-paper); font-size: 15px; -webkit-font-smoothing: antialiased; }
body.storefront-home > main { width: 100%; max-width: none; margin: 0; padding: 12px; }
body.storefront-home button,
body.storefront-home input,
body.storefront-home select { color: inherit; font: inherit; }
body.storefront-home button,
body.storefront-home a { -webkit-tap-highlight-color: transparent; }
body.storefront-home a { color: inherit; text-decoration: none; }
body.storefront-home button { cursor: pointer; }

.nova-store {
    width: 100%;
    min-height: calc(100vh - 24px);
    display: grid;
    grid-template-columns: 226px minmax(0, 1fr) 348px;
    align-items: start;
    gap: 14px;
}

.nova-sidebar,
.nova-cart-panel {
    position: sticky;
    top: 12px;
    min-height: calc(100vh - 24px);
    border: 1px solid var(--nova-line);
    border-radius: 17px;
    background: var(--nova-white);
    box-shadow: var(--nova-shadow);
}

.nova-sidebar { display: flex; flex-direction: column; gap: 18px; padding: 15px 12px; }
.nova-brand { min-height: 43px; display: flex; align-items: center; gap: 9px; padding: 0 4px; color: var(--nova-ink); }
.nova-brand > img { display: block; width: min(155px, 100%); height: 42px; object-fit: contain; object-position: left center; }
.nova-brand-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--nova-purple); color: #fff; font-size: 18px; font-weight: 800; }
.nova-side-nav { display: grid; gap: 4px; }
.nova-side-link { min-height: 38px; position: relative; display: flex; align-items: center; gap: 11px; padding: 0 11px; border: 0; border-radius: 9px; background: transparent; color: #5e6172; text-align: left; font-size: 14px; font-weight: 600; }
.nova-side-link > span:first-child { width: 15px; color: #626577; font-size: 16px; text-align: center; }
.nova-side-link:hover { background: #f6f3fe; color: var(--nova-purple); }
.nova-side-link.is-active { background: linear-gradient(100deg, #7956dc, #6b45c8); color: #fff; }
.nova-side-link.is-active > span:first-child { color: #fff; }
.nova-hot { margin-left: auto; padding: 3px 7px; border-radius: 12px; background: #ff626b; color: #fff; font-size: 11px; }
.nova-side-categories > summary { list-style: none; cursor: pointer; }
.nova-side-categories > summary::-webkit-details-marker { display: none; }
.nova-side-category-list { display: grid; gap: 2px; margin: 3px 0 4px 25px; }
.nova-side-category-list button { padding: 7px 8px; border: 0; border-radius: 6px; background: transparent; color: #747687; text-align: left; font-size: 13px; }
.nova-side-category-list button:hover { background: #f4f1fc; color: var(--nova-purple); }
.nova-side-divider { height: 1px; background: var(--nova-line); }
.nova-account-nav { gap: 2px; }
.nova-promo { min-height: 183px; position: relative; display: flex; overflow: hidden; flex-direction: column; justify-content: center; gap: 8px; margin-top: auto; padding: 17px 13px; border-radius: 13px; background: linear-gradient(145deg, #9671ef 0%, #754ed8 60%, #693ecb 100%); color: white !important; }
.nova-promo > span:first-child { position: relative; z-index: 1; font-size: 11px; opacity: .84; }
.nova-promo > strong { position: relative; z-index: 1; max-width: 145px; font-size: 19px; line-height: 1.2; }
.nova-promo > small { position: relative; z-index: 1; max-width: 145px; color: rgba(255,255,255,.85); font-size: 12px; line-height: 1.5; }
.nova-promo-cta { position: relative; z-index: 1; width: fit-content; display: inline-flex; align-items: center; gap: 15px; margin-top: 4px; padding: 8px 11px; border-radius: 7px; background: #fff; color: var(--nova-purple); font-size: 12px; font-weight: 700; }
.nova-promo-art { position: absolute; right: 6px; bottom: -26px; color: rgba(255,255,255,.16); font-size: 104px; font-weight: 800; transform: rotate(-15deg); }
.nova-help { display: flex; align-items: center; gap: 10px; margin: 1px 3px 0; color: #626577 !important; }
.nova-help > span:first-child { font-size: 17px; }
.nova-help strong, .nova-help small { display: block; }
.nova-help strong { font-size: 12px; }
.nova-help small { margin-top: 3px; color: var(--nova-muted); font-size: 11px; }

.nova-main { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 4px 0 0; }
.nova-topbar { min-width: 0; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.nova-search { min-width: 180px; max-width: 535px; height: 42px; display: flex; flex: 1; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid var(--nova-line); border-radius: 11px; background: var(--nova-white); color: #858797; box-shadow: var(--nova-shadow); }
.nova-search > span { font-size: 21px; line-height: 1; }
.nova-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 12px !important; }
.nova-search input::placeholder { color: #a5a6b0; }
.nova-search kbd { color: #777987; font-size: 17px; }
.nova-top-actions { display: flex; align-items: center; gap: 17px; }
.nova-top-actions > a { display: inline-flex; align-items: center; gap: 7px; color: #56596a !important; font-size: 12px; }
.nova-top-actions > a > span:first-child { font-size: 18px; }
.nova-top-actions b { font-weight: 600; }
.nova-top-actions .nova-user-action { gap: 7px; }
.nova-user-menu { position: relative; }
.nova-user-action { display: inline-flex; align-items: center; color: #56596a !important; list-style: none; cursor: pointer; }
.nova-user-action::-webkit-details-marker { display: none; }
.nova-user-menu-panel { min-width: 165px; position: absolute; z-index: 20; top: calc(100% + 9px); right: 0; display: grid; gap: 3px; padding: 6px; border: 1px solid var(--nova-line); border-radius: 10px; background: var(--nova-white); box-shadow: 0 8px 28px rgba(34, 32, 50, .16); }
.nova-user-menu-panel a, .nova-user-menu-panel button { width: 100%; display: block; padding: 9px 10px; border: 0; border-radius: 7px; background: transparent; color: #55576a !important; text-align: left; font: inherit; font-size: 12px; }
.nova-user-menu-panel a:hover, .nova-user-menu-panel button:hover { background: #f4f0fd; color: var(--nova-purple) !important; }
.nova-user-menu-panel form { margin: 0; }
.nova-user-menu-panel button { cursor: pointer; }
.nova-avatar { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #e6e1f5; color: #5134a0; font-size: 13px !important; }
.nova-top-actions .nova-bell { width: 25px; height: 25px; position: relative; display: grid; place-items: center; font-size: 16px; }
.nova-bell:after { width: 6px; height: 6px; position: absolute; top: 1px; right: 2px; border: 1px solid #fff; border-radius: 50%; background: #fa5662; content: ''; }
.nova-status { margin: 0; padding: 9px 12px; border-radius: 8px; background: #f0eaff; color: #5333a0; }
.nova-status a { margin-left: 6px; font-weight: 700; }

.nova-hero { min-height: 268px; position: relative; display: flex; overflow: hidden; align-items: center; justify-content: space-between; padding: 25px clamp(22px, 5%, 48px); border-radius: 16px; background: linear-gradient(105deg, #7657d3 0%, #a66ad7 70%, #df65a9 100%); color: #fff; }
.nova-hero:after { width: 205px; height: 205px; position: absolute; right: -49px; bottom: -96px; border-radius: 50%; background: rgba(255, 76, 123, .55); content: ''; }
.nova-hero-copy { width: min(53%, 390px); position: relative; z-index: 2; }
.nova-hero-kicker { display: inline-flex; padding: 5px 8px; border: 1px solid rgba(255,255,255,.38); border-radius: 5px; color: rgba(255,255,255,.92); font-size: 12px; }
.nova-hero h1 { margin: 13px 0 9px; font-size: clamp(24px, 2.25vw, 34px); font-weight: 600; letter-spacing: -.045em; line-height: 1.15; }
.nova-hero h1 span { color: #fff; }
.nova-hero p { max-width: 290px; margin: 0 0 16px; color: rgba(255,255,255,.84); font-size: 12px; line-height: 1.7; }
.nova-button { min-height: 34px; display: inline-flex; align-items: center; gap: 17px; padding: 0 12px; border-radius: 7px; background: #fff; color: #554093 !important; font-size: 11px; font-weight: 700; }
.nova-button span { font-size: 15px; }
.nova-hero-image-button { width: 48%; height: 100%; position: absolute; z-index: 1; top: 0; right: 0; display: grid; place-items: end center; padding: 0; border: 0; background: transparent; }
.nova-hero-image { width: min(53%, 300px); height: 94%; position: absolute; z-index: 1; right: 4%; bottom: 0; object-fit: contain; object-position: bottom; filter: drop-shadow(0 10px 18px rgba(50,20,76,.16)); }
.nova-hero-image-button .nova-hero-image { width: 100%; height: 100%; right: auto; }
.nova-hero-placeholder { display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.15); color: rgba(255,255,255,.74); font-size: 118px; font-weight: 800; }
.nova-hero-dots { position: absolute; z-index: 3; right: 50%; bottom: 11px; display: flex; gap: 5px; }
.nova-hero-dots i { width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,.5); }
.nova-hero-dots i:first-child { background: #fff; }

.nova-advert-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; scroll-margin-top: 14px; }
.nova-category-ad { min-height: 126px; position: relative; display: flex; overflow: hidden; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; padding: 15px 18px; border: 1px solid transparent; border-radius: 13px; isolation: isolate; }
.nova-category-ad:after { width: 175px; height: 175px; position: absolute; z-index: -1; right: -52px; bottom: -115px; border-radius: 50%; background: rgba(255,255,255,.22); content: ''; }
.nova-category-ad-orange { background: linear-gradient(115deg, #fff0e7, #ffe0cb); color: #754123 !important; }
.nova-category-ad-violet { background: linear-gradient(115deg, #f1eaff, #e5dbff); color: #433273 !important; }
.nova-category-ad > span { color: currentColor; font-size: 12px; font-weight: 800; letter-spacing: .12em; opacity: .72; }
.nova-category-ad > strong { max-width: 74%; font-size: clamp(13px, 1.4vw, 19px); font-weight: 800; letter-spacing: -.03em; line-height: 1.2; }
.nova-category-ad > small { max-width: 72%; overflow: hidden; color: currentColor; font-size: 11px; opacity: .76; text-overflow: ellipsis; white-space: nowrap; }
.nova-category-ad > b { display: flex; align-items: center; gap: 8px; margin-top: 2px; font-size: 11px; }
.nova-category-ad > b > span { font-size: 15px; }
.nova-category-ad > img { width: 31%; height: 94%; position: absolute; z-index: -1; right: 4%; bottom: 0; object-fit: contain; object-position: bottom; }
.nova-advert-picture-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.nova-advert-picture { min-height: 130px; display: grid; overflow: hidden; place-items: center; border: 1px solid var(--nova-line); border-radius: 12px; background: linear-gradient(135deg, #fff, #f5f3fa); }
.nova-advert-picture img { width: 100%; height: 100%; min-height: 130px; display: block; object-fit: cover; }
.nova-advert-picture-empty { align-content: center; gap: 7px; border-style: dashed; color: #9895a8; }
.nova-advert-picture-empty > span { font-size: 23px; }
.nova-advert-picture-empty > small { font-size: 11px; }
.nova-muted { color: var(--nova-muted); font-size: 13px; }

.nova-products-section { min-width: 0; scroll-margin-top: 15px; }
.nova-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin: 1px 0 10px; }
.nova-eyebrow { color: #9294a1; font-size: 12px; font-weight: 700; letter-spacing: .11em; }
.nova-section-heading h2 { margin: 3px 0 0; color: #2b2c38; font-size: 16px; font-weight: 700; letter-spacing: -.03em; }
.nova-section-heading > a { padding: 6px 8px; border: 1px solid var(--nova-line); border-radius: 7px; color: #585b6b !important; font-size: 11px; white-space: nowrap; }
.nova-section-heading > a span { margin-left: 5px; color: var(--nova-purple); }
.nova-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.nova-product-card { min-width: 0; position: relative; overflow: hidden; padding: 7px; border: 1px solid var(--nova-line); border-radius: 11px; background: var(--nova-white); box-shadow: 0 2px 8px rgba(33,35,52,.035); }
.nova-product-photo { width: 100%; height: clamp(102px, 11vw, 148px); position: relative; display: grid; place-items: center; overflow: hidden; padding: 0; border: 0; border-radius: 8px; background: #f0f0f3; }
.nova-product-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.nova-product-card:hover .nova-product-photo img { transform: scale(1.035); }
.nova-product-badge { position: absolute; top: 6px; left: 6px; padding: 4px 5px; border-radius: 4px; background: #ed5b5f; color: #fff; font-size: 12px; }
.nova-heart { width: 23px; height: 23px; position: absolute; z-index: 1; top: 12px; right: 12px; display: grid; place-items: center; border: 1px solid #e4e4e9; border-radius: 50%; background: rgba(255,255,255,.95); color: #606270 !important; font-size: 16px !important; line-height: 1; }
.nova-heart.is-saved { color: #e5516d !important; }
.nova-product-info { min-width: 0; display: grid; gap: 4px; padding: 8px 2px 0; }
.nova-product-info > small { overflow: hidden; color: #7f818e; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.nova-product-name { overflow: hidden; padding: 0; border: 0; background: transparent; color: #333541 !important; text-align: left; text-overflow: ellipsis; white-space: nowrap; font-size: 11px !important; font-weight: 700 !important; }
.nova-product-price { margin-top: 2px; color: #282a35; font-size: 12px; font-weight: 800; }
.nova-product-rating { color: #9495a1; font-size: 12px; }
.nova-product-rating span { color: #f2b42d; }
.nova-add { width: 23px; height: 23px; position: absolute; right: 9px; bottom: 10px; display: grid; place-items: center; border: 0; border-radius: 7px; background: var(--nova-purple); color: #fff !important; font-size: 17px !important; }
.nova-add:disabled { background: #d5d4dc; cursor: not-allowed; }
.nova-recommended { margin-top: 2px; }
.nova-catalog-tools { display: grid; grid-template-columns: minmax(95px, .8fr) minmax(160px, 1.4fr) minmax(105px, .8fr); align-items: center; gap: 9px; margin-bottom: 8px; }
.nova-catalog-tools select { min-width: 0; height: 32px; padding: 0 8px; border: 1px solid var(--nova-line); border-radius: 7px; background: #fff; color: #555766; font-size: 11px; }
.nova-price-filter { padding: 4px 8px 2px; border: 1px solid var(--nova-line); border-radius: 7px; background: #fff; }
.nova-price-filter > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 6px; color: #737583; font-size: 12px; }
.nova-price-filter output { color: #3e4050; font-size: 12px; white-space: nowrap; }
.nova-range { height: 20px; position: relative; margin: 1px 6px 0; }
.nova-range:before, .nova-range:after { height: 3px; position: absolute; top: 9px; right: 0; left: 0; border-radius: 9px; content: ''; }
.nova-range:before { background: #e4e3eb; }
.nova-range:after { right: calc(100% - var(--price-to)); left: var(--price-from); background: var(--nova-purple); }
.nova-range input { width: 100%; height: 20px; position: absolute; z-index: 2; top: 0; left: 0; margin: 0; appearance: none; background: none; pointer-events: none; }
.nova-range input::-webkit-slider-runnable-track { height: 3px; background: transparent; }
.nova-range input::-moz-range-track { height: 3px; background: transparent; }
.nova-range input::-webkit-slider-thumb { width: 12px; height: 12px; margin-top: -5px; appearance: none; border: 2px solid #fff; border-radius: 50%; background: var(--nova-purple); box-shadow: 0 0 0 1px var(--nova-purple); cursor: grab; pointer-events: auto; }
.nova-range input::-moz-range-thumb { width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; background: var(--nova-purple); box-shadow: 0 0 0 1px var(--nova-purple); cursor: grab; pointer-events: auto; }
.nova-active-filters { display: flex; align-items: center; gap: 5px; overflow: auto; margin-bottom: 8px; scrollbar-width: none; }
.nova-active-filters button { flex: 0 0 auto; padding: 5px 8px; border: 1px solid var(--nova-line); border-radius: 15px; background: #fff; color: #696b79 !important; font-size: 12px !important; }
.nova-active-filters button.is-active { border-color: #d9cff5; background: #f0ebfb; color: #6544be !important; }
.nova-active-filters > span { margin-left: auto; color: #9294a1; font-size: 12px; white-space: nowrap; }
.nova-pagination { margin-top: 12px; }
.nova-empty { padding: 34px 15px; border: 1px dashed #d9d9e2; border-radius: 12px; background: #fff; text-align: center; }
.nova-empty > span { color: #a4a3b2; font-size: 28px; }
.nova-empty h3 { margin: 8px 0 4px; font-size: 16px; }
.nova-empty p { color: var(--nova-muted); font-size: 12px; }
.nova-empty button { padding: 8px 12px; border: 0; border-radius: 7px; background: var(--nova-purple); color: #fff !important; font-size: 11px; }
.nova-footer { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; padding: 13px 9px; border: 1px solid #e6e0f6; border-radius: 11px; background: #f1edfb; }
.nova-footer > div { display: grid; grid-template-columns: 24px 1fr; align-items: center; column-gap: 6px; }
.nova-footer > div > span { grid-row: span 2; color: var(--nova-purple); font-size: 16px; }
.nova-footer b { color: #444554; font-size: 12px; }
.nova-footer small { margin-top: 2px; color: #858694; font-size: 12px; }

.nova-cart-panel { display: flex; overflow: auto; flex-direction: column; gap: 12px; padding: 14px 12px; scrollbar-width: thin; }
.nova-cart-heading { display: flex; align-items: center; justify-content: space-between; padding-bottom: 2px; }
.nova-cart-heading h2 { margin: 4px 0 0; font-size: 15px; }
.nova-cart-heading > a { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid var(--nova-line); border-radius: 8px; color: #646675 !important; font-size: 15px; }
.nova-cart-error { margin: 0; padding: 7px 8px; border-radius: 7px; background: #fff0f0; color: #a52d37; font-size: 11px; }
.nova-cart-items { display: grid; gap: 9px; }
.nova-cart-item { min-height: 86px; position: relative; display: grid; grid-template-columns: 73px minmax(0, 1fr) 20px; gap: 9px; padding: 6px; border: 1px solid #eeedf1; border-radius: 9px; background: #fff; }
.nova-cart-image { width: 73px; height: 73px; display: grid; place-items: center; overflow: hidden; padding: 0; border: 0; border-radius: 7px; background: #f0f0f3; }
.nova-cart-image img { width: 100%; height: 100%; object-fit: cover; }
.nova-cart-item-info { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.nova-cart-item-info > strong { width: 100%; overflow: hidden; color: #383a47; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.nova-cart-item-info > small { width: 100%; overflow: hidden; color: #999aa5; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.nova-cart-item-info > b { color: #30323e; font-size: 11px; }
.nova-quantity { height: 21px; display: inline-flex; align-items: center; gap: 9px; margin-top: auto; border: 1px solid #e9e8ed; border-radius: 5px; }
.nova-quantity button { width: 20px; height: 20px; padding: 0; border: 0; background: transparent; color: #555767 !important; font-size: 14px !important; }
.nova-quantity span { min-width: 10px; color: #565866; text-align: center; font-size: 12px; }
.nova-remove { align-self: end; padding: 3px; border: 0; background: transparent; color: #777986 !important; font-size: 16px !important; }
.nova-checkout-summary { display: grid; gap: 8px; padding: 10px 2px 0; border-top: 1px solid var(--nova-line); }
.nova-checkout-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #777986; font-size: 11px; }
.nova-checkout-summary > div > b { color: #4b4d5b; font-size: 11px; }
.nova-checkout-summary > div:nth-child(2) > b { font-size: 12px; font-weight: 500; }
.nova-checkout-summary .nova-total { padding-top: 7px; border-top: 1px solid var(--nova-line); color: #343643; font-size: 12px; font-weight: 700; }
.nova-checkout-summary .nova-total b { color: #272936; font-size: 16px; }
.nova-checkout-button { min-height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 11px; border-radius: 8px; background: var(--nova-purple); color: #fff !important; font-size: 11px; }
.nova-checkout-button > span { flex: 1; font-weight: 700; }
.nova-cart-empty { display: grid; justify-items: center; gap: 7px; padding: 18px 10px; border: 1px dashed #e3e2e9; border-radius: 10px; text-align: center; }
.nova-cart-empty > span { color: #a09fad; font-size: 25px; }
.nova-cart-empty strong { color: #4c4e5c; font-size: 12px; }
.nova-cart-empty p { margin: 0; color: #8b8d99; font-size: 11px; }
.nova-cart-empty a { color: var(--nova-purple) !important; font-size: 11px; font-weight: 700; }
.nova-cart-recommendations { display: grid; gap: 7px; padding-top: 10px; border-top: 1px solid var(--nova-line); }
.nova-cart-recommendations .nova-section-heading { margin: 0; }
.nova-cart-recommendations .nova-section-heading h3, .nova-recently-viewed h3 { margin: 0; color: #414350; font-size: 13px; }
.nova-cart-recommendations .nova-section-heading > a { padding: 4px 6px; font-size: 12px; }
.nova-recommendation { min-height: 70px; display: grid; grid-template-columns: 62px minmax(0, 1fr) 25px; align-items: center; gap: 8px; padding: 5px; border: 1px solid #efedf2; border-radius: 8px; }
.nova-recommendation-image { width: 62px; height: 58px; overflow: hidden; padding: 0; border: 0; border-radius: 6px; background: #f0f0f3; }
.nova-recommendation-image img { width: 100%; height: 100%; object-fit: cover; }
.nova-recommendation > div { min-width: 0; display: grid; gap: 3px; }
.nova-recommendation > div > strong, .nova-recommendation > div > small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nova-recommendation > div > strong { color: #41434f; font-size: 12px; }
.nova-recommendation > div > small { color: #92939e; font-size: 12px; }
.nova-recommendation > div > b { color: #4a4c59; font-size: 11px; }
.nova-recommendation > button:last-child { width: 23px; height: 23px; border: 0; border-radius: 7px; background: #f0ebfb; color: var(--nova-purple) !important; font-size: 15px !important; }
.nova-recently-viewed { display: grid; gap: 7px; }
.nova-recently-viewed > div { display: flex; gap: 6px; }
.nova-recently-viewed button { width: 47px; height: 43px; overflow: hidden; padding: 0; border: 1px solid var(--nova-line); border-radius: 6px; background: #f0f0f3; }
.nova-recently-viewed img { width: 100%; height: 100%; object-fit: cover; }
.nova-modal-backdrop { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; overflow: auto; padding: 20px; background: rgba(26, 27, 40, .55); }
.nova-modal { width: min(760px, 100%); position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; padding: 22px; border: 1px solid var(--nova-line); border-radius: 15px; background: #fff; box-shadow: 0 20px 65px rgba(20,22,36,.25); }
.nova-modal-close { width: 30px; height: 30px; position: absolute; z-index: 2; top: 10px; right: 10px; display: grid; place-items: center; border: 1px solid var(--nova-line); border-radius: 8px; background: #fff; color: #5a5b68 !important; font-size: 20px !important; }
.nova-modal-image { min-width: 0; display: grid; gap: 8px; align-content: start; }
.nova-modal-image > img { width: 100%; height: 300px; border-radius: 10px; background: #f3f3f6; object-fit: contain; }
.nova-modal-thumbnails { display: flex; gap: 6px; }
.nova-modal-thumbnails button { width: 48px; height: 48px; overflow: hidden; padding: 0; border: 1px solid var(--nova-line); border-radius: 6px; background: #f2f2f5; }
.nova-modal-thumbnails img { width: 100%; height: 100%; object-fit: cover; }
.nova-modal-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; padding-top: 12px; }
.nova-modal-copy > small { color: var(--nova-purple); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.nova-modal-copy h2 { margin: 0; font-size: 21px; }
.nova-modal-copy p { margin: 0; color: #767885; font-size: 13px; line-height: 1.65; }
.nova-modal-copy dl { width: 100%; display: grid; gap: 5px; margin: 0; }
.nova-modal-copy dl > div { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--nova-line); font-size: 11px; }
.nova-modal-copy dt { color: #7c7e89; }
.nova-modal-copy dd { margin: 0; color: #454754; text-align: right; }
.nova-modal-copy > strong { color: #2d2f3a; font-size: 16px; }
.nova-modal-actions { width: 100%; display: flex; gap: 7px; }
.nova-modal-actions input { width: 57px; min-height: 36px; border: 1px solid var(--nova-line); border-radius: 7px; text-align: center; }
.nova-modal-actions button { min-height: 36px; padding: 0 12px; border: 0; border-radius: 7px; background: var(--nova-purple); color: #fff !important; font-size: 11px !important; font-weight: 700 !important; }
.nova-modal-actions button:last-child { width: 36px; padding: 0; background: #f1edfb; color: var(--nova-purple) !important; font-size: 16px !important; }

@media (max-width: 1260px) {
    .nova-store { grid-template-columns: 190px minmax(0, 1fr) 300px; gap: 10px; }
    .nova-sidebar, .nova-cart-panel { padding-right: 10px; padding-left: 10px; }
    .nova-top-actions { gap: 10px; }
    .nova-cart-item { grid-template-columns: 62px minmax(0, 1fr) 18px; gap: 7px; }
    .nova-cart-image { width: 62px; height: 68px; }
    .nova-product-photo { height: clamp(100px, 12vw, 140px); }
}

@media (max-width: 1020px) {
    body.storefront-home > main { padding: 9px; }
    .nova-store { grid-template-columns: 185px minmax(0, 1fr); }
    .nova-sidebar { grid-row: span 2; min-height: calc(100vh - 18px); }
    .nova-cart-panel { min-height: auto; position: static; display: grid; grid-column: 2; grid-template-columns: minmax(0, 1.2fr) minmax(180px, .8fr); align-items: start; gap: 12px; }
    .nova-cart-heading, .nova-cart-items, .nova-cart-error, .nova-checkout-summary, .nova-checkout-button { grid-column: 1; }
    .nova-cart-recommendations, .nova-recently-viewed { grid-column: 2; }
    .nova-cart-recommendations { grid-row: 1 / span 3; }
    .nova-recently-viewed { align-self: end; }
    .nova-cart-panel:has(.nova-cart-empty) .nova-cart-empty { grid-column: 1; }
    .nova-cart-panel:has(.nova-cart-empty) .nova-cart-recommendations { grid-row: auto; }
    .nova-product-photo { height: clamp(112px, 15vw, 170px); }
}

@media (max-width: 680px) {
    body.storefront-home > main { padding: 7px; }
    .nova-store { grid-template-columns: minmax(0, 1fr); gap: 9px; }
    .nova-sidebar { min-height: 0; position: static; grid-row: auto; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 7px; padding: 9px; }
    .nova-brand { min-height: 36px; }
    .nova-brand > img { width: 122px; height: 34px; }
    .nova-sidebar > .nova-side-nav { display: flex; grid-column: 1 / -1; overflow-x: auto; gap: 4px; padding-bottom: 1px; scrollbar-width: none; }
    .nova-sidebar > .nova-side-nav .nova-side-link { flex: 0 0 auto; min-height: 31px; gap: 6px; padding: 0 8px; font-size: 11px; }
    .nova-sidebar > .nova-account-nav {
        width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        margin: 0;
        padding: 2px 0 4px;
        scrollbar-width: none;
    }

    .nova-store > .nova-sidebar > .nova-account-nav { display: none; }
    .nova-side-link > span:first-child { font-size: 15px; }
    .nova-side-categories { flex: 0 0 auto; }
    .nova-side-category-list { max-height: 45vh; position: absolute; z-index: 10; overflow: auto; margin: 3px 0; padding: 6px; border: 1px solid var(--nova-line); border-radius: 8px; background: var(--nova-white); box-shadow: var(--nova-shadow); }
    .nova-account-nav, .nova-side-divider, .nova-promo, .nova-help { display: none; }
    .nova-sidebar > .nova-brand-list { display: none; }
    .nova-main { gap: 9px; padding: 0; }
    .nova-topbar { min-height: 38px; gap: 8px; }
    .nova-search { min-width: 0; height: 36px; gap: 6px; padding: 0 8px; }
    .nova-search input { font-size: 11px !important; }
    .nova-top-actions { gap: 9px; }
    .nova-top-actions > a { gap: 4px; font-size: 11px; }
    .nova-top-actions > a > span:first-child { font-size: 16px; }
    .nova-user-menu .nova-user-action > b { max-width: 68px; display: block; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
    .nova-user-menu .nova-user-action .nova-chevron { width: 11px; height: 11px; }
    .nova-avatar { width: 25px; height: 25px; }
    .nova-hero { min-height: 205px; padding: 16px 15px; border-radius: 12px; }
    .nova-hero-copy { width: 61%; }
    .nova-hero h1 { margin: 10px 0 7px; font-size: clamp(20px, 6vw, 29px); }
    .nova-hero p { max-width: 195px; margin-bottom: 10px; font-size: 11px; }
    .nova-hero-image { width: 48%; height: 80%; right: 1%; }
    .nova-hero-image-button { width: 48%; }
    .nova-hero-dots { right: 47%; }
    .nova-advert-row { gap: 6px; }
    .nova-category-ad { min-height: 112px; gap: 5px; padding: 10px; border-radius: 10px; }
    .nova-category-ad > strong { max-width: 94%; font-size: 14px; }
    .nova-category-ad > span, .nova-category-ad > small, .nova-category-ad > b { max-width: 94%; font-size: 12px; }
    .nova-category-ad > img { width: 31%; height: 70%; right: 1%; opacity: .55; }
    .nova-advert-picture-row { gap: 6px; }
    .nova-advert-picture, .nova-advert-picture img { min-height: 88px; border-radius: 9px; }
    .nova-section-heading h2 { font-size: 16px; }
    .nova-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .nova-product-photo { height: clamp(135px, 43vw, 205px); }
    .nova-product-card { padding: 6px; }
    .nova-heart { top: 10px; right: 10px; }
    .nova-product-info { gap: 4px; }
    .nova-product-name { font-size: 12px !important; }
    .nova-product-price { font-size: 13px; }
    .nova-product-rating { font-size: 12px; }
    .nova-add { right: 8px; bottom: 9px; }
    .nova-catalog-tools { grid-template-columns: 1fr 1fr; gap: 6px; }
    .nova-price-filter { grid-column: 1 / -1; grid-row: 2; }
    .nova-catalog-tools select { height: 31px; }
    .nova-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 6px; }
    .nova-cart-panel { grid-column: 1; grid-template-columns: 1fr; gap: 10px; padding: 11px; }
    .nova-cart-heading, .nova-cart-items, .nova-cart-error, .nova-checkout-summary, .nova-checkout-button, .nova-cart-recommendations, .nova-recently-viewed, .nova-cart-panel:has(.nova-cart-empty) .nova-cart-empty { grid-column: 1; }
    .nova-cart-recommendations { grid-row: auto; }
    .nova-cart-item { grid-template-columns: 68px minmax(0, 1fr) 22px; }
    .nova-cart-image { width: 68px; height: 68px; }
    .nova-cart-recommendations { grid-template-columns: 1fr; }
    .nova-cart-panel .nova-recommendation { grid-template-columns: 66px minmax(0, 1fr) 27px; }
    .nova-recommendation-image { width: 66px; }
    .nova-recently-viewed button { width: 55px; height: 49px; }
    .nova-modal { grid-template-columns: 1fr; gap: 12px; padding: 14px; }
    .nova-modal-image > img { height: 220px; }
    .nova-modal-copy { gap: 8px; }
    .nova-modal-copy h2 { font-size: 18px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *:before, *:after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

.nova-icon-definitions { width: 0; height: 0; position: absolute; overflow: hidden; }
.nova-side-link > svg,
.nova-help > svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
.nova-top-actions > a > svg,
.nova-cart-link > svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.nova-top-actions .nova-user-action .nova-chevron { width: 13px; height: 13px; }
.nova-search > svg,
.nova-search button svg,
.nova-search kbd svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.nova-search kbd { display: flex; align-items: center; }
.nova-bell svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.nova-cart-link { width: 31px; height: 31px; position: relative; display: grid !important; place-items: center; border: 1px solid var(--nova-line); border-radius: 9px; }
.nova-cart-link:after { width: 6px; height: 6px; position: absolute; top: 3px; right: 3px; border: 1px solid #fff; border-radius: 50%; background: var(--nova-purple); content: ''; }
.nova-signout button { padding: 5px 7px; border: 1px solid var(--nova-line); border-radius: 7px; background: #fff; color: #686a79; font-size: 11px; }

.nova-brand-list { display: grid; gap: 5px; }
.nova-brand-list-heading { display: flex; align-items: center; justify-content: space-between; padding: 0 3px; }
.nova-brand-list-heading h2 { margin: 0; color: #858795; font-size: 11px; font-weight: 700; }
.nova-brand-list-heading a { color: var(--nova-purple) !important; font-size: 12px; font-weight: 700; }
.nova-brand-list-items { display: grid; gap: 2px; max-height: 175px; overflow: auto; scrollbar-width: thin; }
.nova-brand-item { min-height: 28px; display: flex; align-items: center; gap: 7px; padding: 3px 5px; border-radius: 6px; color: #626474 !important; font-size: 11px; }
.nova-brand-item:hover, .nova-brand-showcase-item:hover, .nova-brand-showcase-item.is-selected { background: #f4f0fd; color: #6544be !important; }
.nova-brand-logo { width: 22px; height: 22px; flex: 0 0 22px; display: grid; place-items: center; overflow: hidden; border: 1px solid #eeedf1; border-radius: 5px; background: #fff; color: #716b8d; font-size: 12px; font-weight: 800; }
.nova-brand-logo img { width: 100%; height: 100%; object-fit: contain; }
.nova-brand-showcase { padding: 10px; border: 1px solid var(--nova-line); border-radius: 12px; background: #fff; box-shadow: var(--nova-shadow); scroll-margin-top: 12px; }
.nova-brand-showcase .nova-section-heading { margin: 0 0 7px; }
.nova-brand-showcase-grid { display: flex; gap: 7px; overflow: auto; scrollbar-width: thin; }
.nova-brand-showcase-item { min-width: 76px; display: grid; justify-items: center; gap: 5px; padding: 6px 7px; border-radius: 8px; color: #626474 !important; font-size: 12px; font-weight: 600; text-align: center; }
.nova-brand-showcase-logo { width: 45px; height: 35px; display: grid; place-items: center; overflow: hidden; border: 1px solid #eeedf1; border-radius: 7px; background: #fff; color: var(--nova-purple); font-size: 16px; font-weight: 800; }
.nova-brand-showcase-logo img { width: 100%; height: 100%; object-fit: contain; }

.nova-customer-page { min-height: 100vh; background: var(--nova-paper); color: var(--nova-ink); }
.nova-customer-page > main { width: 100%; max-width: none; min-height: 100vh; margin: 0; padding: 12px; }
.nova-pageshell { width: 100%; min-height: calc(100vh - 24px); display: grid; grid-template-columns: 226px minmax(0, 1fr); align-items: start; gap: 14px; }
.nova-pageshell .nova-sidebar { width: 100%; grid-row: auto; }
.nova-page-main { min-width: 0; min-height: calc(100vh - 24px); display: flex; flex-direction: column; gap: 12px; padding: 4px 0 0; }
.nova-shared-topbar { min-height: 48px; }
.nova-page-content { min-width: 0; flex: 1; padding: 6px 9px 18px; border: 1px solid var(--nova-line); border-radius: 14px; background: var(--nova-white); box-shadow: var(--nova-shadow); }
.nova-page-footer { display: flex; justify-content: space-between; gap: 12px; padding: 2px 5px 5px; color: #90919d; font-size: 12px; }
.nova-customer-page .nova-sidebar { gap: 13px; }
.nova-customer-page .nova-sidebar .nova-promo { min-height: 145px; }
.nova-customer-page .nova-sidebar .nova-brand-list-items { max-height: 132px; }
.nova-customer-page .nova-side-divider { margin: 0; }
.nova-customer-page .nova-sidebar .nova-side-nav { gap: 3px; }
.nova-customer-page .nova-sidebar .nova-side-link { min-height: 34px; }
.nova-customer-page .nova-sidebar .nova-account-nav .nova-side-link { min-height: 32px; }

.nova-page-content .commerce-page,
.nova-page-content .auth-page,
.nova-page-content .orders-page,
.nova-page-content .campaign-page {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    padding: 18px clamp(4px, 1.5vw, 20px) 26px;
}
.nova-page-content .commerce-container { width: 100%; max-width: 1100px; margin: 0 auto; }
.nova-page-content .commerce-breadcrumb { align-items: center; gap: 8px; color: #9293a0; font-size: 11px; }
.nova-page-content .commerce-breadcrumb a:hover { color: var(--nova-purple); }
.nova-page-content .commerce-heading { margin: 20px 0 16px; align-items: end; }
.nova-page-content .commerce-heading h1,
.nova-page-content .orders-page h1 { color: #292b37; font-size: clamp(23px, 3vw, 34px); font-weight: 700; letter-spacing: -.045em; }
.nova-page-content .commerce-heading h1 span { color: var(--nova-purple); }
.nova-page-content .eyebrow { color: #858795; font: 700 8px 'DM Sans', sans-serif; letter-spacing: .12em; }
.nova-page-content .eyebrow-line { width: 16px; background: var(--nova-purple); }
.nova-page-content .quiet-link { color: var(--nova-purple); font-size: 11px; font-weight: 700; }
.nova-page-content .commerce-panel,
.nova-page-content .tracking-card,
.nova-page-content .order-detail-card,
.nova-page-content .auth-card,
.nova-page-content .commerce-empty,
.nova-page-content .orders-table-wrap {
    border: 1px solid var(--nova-line);
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(37, 39, 56, .045);
}
.nova-page-content .commerce-grid { gap: 12px; }
.nova-page-content .commerce-panel { padding: 16px; }
.nova-page-content .cart-list-heading { padding-bottom: 10px; border-bottom: 1px solid var(--nova-line); }
.nova-page-content .cart-list-heading h2,
.nova-page-content .cart-summary h2,
.nova-page-content .checkout-section-heading h2,
.nova-page-content .order-detail-card h2,
.nova-page-content .profile-password-heading h2 { color: #353744; font-size: 15px; }
.nova-page-content .cart-list-heading > span { color: #858795; font-size: 11px; }
.nova-page-content .cart-page-item { grid-template-columns: 86px minmax(0,1fr) auto; gap: 12px; padding: 12px 0; border-color: var(--nova-line); }
.nova-page-content .cart-page-image { width: 86px; height: 86px; display: grid; place-items: center; overflow: hidden; border-radius: 8px; background: #f1f1f5; color: var(--nova-purple); }
.nova-page-content .cart-page-image img { width: 100%; height: 100%; object-fit: cover; }
.nova-page-content .cart-page-brand { color: #888a97; font-size: 12px; text-transform: uppercase; }
.nova-page-content .cart-page-info h3 { margin: 4px 0; color: #353744; font-size: 13px; }
.nova-page-content .cart-page-unit-price { color: #868794; font-size: 11px; }
.nova-page-content .quantity-control { gap: 5px; margin-top: 8px; }
.nova-page-content .quantity-control button,
.nova-page-content .quantity-control > span { min-width: 26px; height: 26px; border: 1px solid var(--nova-line); border-radius: 6px; background: #fff; color: #565866; font-size: 12px; }
.nova-page-content .quantity-control .remove-line { width: auto; padding: 0 8px; color: #a84a55; font-size: 12px; }
.nova-page-content .cart-page-line-total { color: #373946; font-size: 13px; }
.nova-page-content .cart-summary h2 { margin: 0 0 15px; }
.nova-page-content .summary-row { margin-bottom: 10px; color: #757785; font-size: 11px; }
.nova-page-content .summary-row strong,
.nova-page-content .summary-total strong { color: #383a47; }
.nova-page-content .summary-total { padding-top: 12px; border-color: var(--nova-line); color: #343643; font-size: 12px; }
.nova-page-content .summary-total strong { font-size: 15px; }
.nova-page-content .commerce-note,
.nova-page-content .commerce-secure-note { color: #888a97; font-size: 11px; line-height: 1.6; }
.nova-page-content .button-lime { border-radius: 7px; background: var(--nova-purple); color: #fff; font-size: 12px; }
.nova-page-content .button-lime:hover { background: var(--nova-purple-dark); }
.nova-page-content .button-outline { border-radius: 7px; border-color: var(--nova-line); }
.nova-page-content .commerce-empty { min-height: 280px; padding: 25px; }
.nova-page-content .commerce-empty-icon { color: var(--nova-purple); }
.nova-page-content .commerce-empty h2 { color: #353744; font-size: 18px; }
.nova-page-content .commerce-empty p { color: #858795; font-size: 12px; }
.nova-page-content .commerce-alert,
.nova-page-content .alert-error,
.nova-page-content .form-error { border: 1px solid #f1d4d7; border-radius: 8px; background: #fff1f2; color: #9c3e49; font-size: 12px; }
.nova-page-content .alert-success { border: 1px solid #cde7d7; border-radius: 8px; background: #f0faf4; color: #287947; font-size: 12px; }
.nova-page-content .field-error { color: #ad404d; font-size: 11px; }

.nova-page-content .auth-page { min-height: 0; display: grid; place-items: center; }
.nova-page-content .auth-card { width: min(100%, 520px); padding: clamp(19px, 4vw, 34px); }
.nova-page-content .auth-card h1 { margin: 9px 0 7px; color: #292b37; font-size: clamp(25px, 4vw, 34px); font-weight: 700; letter-spacing: -.05em; }
.nova-page-content .auth-card > p { margin: 0 0 16px; color: #818390; font-size: 12px; line-height: 1.7; }
.nova-page-content .auth-form { gap: 9px; }
.nova-page-content .auth-form > label { display: grid; gap: 5px; color: #505260; font-size: 11px; font-weight: 600; }
.nova-page-content .auth-form input:not([type="checkbox"]) { width: 100%; min-height: 38px; padding: 0 10px; border: 1px solid #e3e3eb; border-radius: 7px; outline-color: #a88be9; background: #fff; color: #32343f; font-size: 12px; }
.nova-page-content .auth-form input:read-only,
.nova-page-content .auth-form input:disabled { background: #f6f6f8; color: #777986; }
.nova-page-content .remember-row { display: flex !important; flex-direction: row; align-items: center; gap: 7px !important; font-weight: 500 !important; }
.nova-page-content .auth-footnote { margin-top: 14px; color: #80828f; font-size: 11px; }
.nova-page-content .auth-footnote a { color: var(--nova-purple); font-weight: 700; }
.nova-page-content .profile-card { width: min(100%, 620px); }
.nova-page-content .profile-password-heading { padding-top: 11px; border-top: 1px solid var(--nova-line); }
.nova-page-content .profile-password-heading h2 { margin: 0 0 4px; }
.nova-page-content .profile-password-heading p { margin: 0; color: #858795; font-size: 11px; }

.nova-page-content .checkout-grid { align-items: start; }
.nova-page-content .checkout-form { gap: 11px; }
.nova-page-content .checkout-section-heading { gap: 10px; }
.nova-page-content .checkout-section-heading > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: #f0ebfb; color: var(--nova-purple); font-size: 11px; font-weight: 800; }
.nova-page-content .checkout-section-heading h2 { margin: 0 0 3px; }
.nova-page-content .checkout-section-heading p { margin: 0; color: #858795; font-size: 11px; }
.nova-page-content .checkout-form > label { display: grid; gap: 5px; color: #505260; font-size: 11px; font-weight: 600; }
.nova-page-content .checkout-form input { min-height: 37px; padding: 0 9px; border: 1px solid #e3e3eb; border-radius: 7px; outline-color: #a88be9; background: #fff; color: #343643; font-size: 12px; }
.nova-page-content .checkout-form label small { color: #9293a0; font-size: 12px; font-weight: 400; }
.nova-page-content .checkout-summary-items { display: grid; gap: 9px; margin: 10px 0; }
.nova-page-content .checkout-summary-item { gap: 8px; }
.nova-page-content .checkout-summary-image { width: 42px; height: 42px; border-radius: 7px; background: #f0f0f4; }
.nova-page-content .checkout-summary-image img { width: 100%; height: 100%; object-fit: cover; }
.nova-page-content .checkout-summary-item > div:nth-child(2) strong { color: #41434f; font-size: 11px; }
.nova-page-content .checkout-summary-item > div:nth-child(2) span,
.nova-page-content .checkout-summary-item > strong { color: #737583; font-size: 12px; }
.nova-page-content .checkout-summary-item > strong { color: #41434f; }

.nova-page-content .orders-page { padding-top: 21px; }
.nova-page-content .orders-page h1 { margin: 9px 0 7px; }
.nova-page-content .orders-intro { margin: 0 0 16px; color: #818390; font-size: 12px; }
.nova-page-content .orders-table-wrap { overflow: auto; }
.nova-page-content .orders-table { min-width: 650px; }
.nova-page-content .orders-table th { background: #f6f4fb; color: #6c6e7d; font-size: 12px; }
.nova-page-content .orders-table td { color: #484a57; font-size: 11px; }
.nova-page-content .orders-table a { color: var(--nova-purple); font-weight: 700; }
.nova-page-content .tracking-card,
.nova-page-content .order-detail-card { margin: 12px 0; padding: clamp(13px, 2vw, 20px); }
.nova-page-content .tracking-card-heading h2,
.nova-page-content .order-detail-card h2 { margin: 6px 0 0; color: #353744; font-size: 15px; }
.nova-page-content .tracking-updated { color: #858795; font-size: 12px; }
.nova-page-content .tracking-step-marker,
.nova-page-content .tracking-history-marker { background: #f0ebfb; color: var(--nova-purple); }
.nova-page-content .tracking-step.is-complete .tracking-step-marker { background: var(--nova-purple); color: #fff; }
.nova-page-content .tracking-step > span:last-child { color: #646675; font-size: 12px; }
.nova-page-content .tracking-history-item strong { color: #454754; font-size: 11px; }
.nova-page-content .tracking-history-item time,
.nova-page-content .tracking-history-item p { color: #898b97; font-size: 12px; }
.nova-page-content .order-detail-card > p { color: #717381; font-size: 11px; line-height: 1.7; }
.nova-page-content .order-items { width: 100%; color: #4b4d5a; font-size: 11px; }
.nova-page-content .order-total { border-color: var(--nova-line); color: #353744; font-size: 12px; }
.nova-page-content .order-total strong { font-size: 15px; }
.nova-page-content .receipt-links .button { margin: 4px; }

.nova-page-content .product-grid { grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 10px; }
.nova-page-content .product-grid .product-card { padding: 7px; border: 1px solid var(--nova-line); border-radius: 10px; background: #fff; }
.nova-page-content .product-grid .product-visual { height: 150px; overflow: hidden; border-radius: 7px; background: #f1f1f5; }
.nova-page-content .product-grid .product-visual img { width: 100%; height: 100%; object-fit: cover; }
.nova-page-content .product-meta { padding: 8px 2px 2px; }
.nova-page-content .product-brand { color: #888a97; font-size: 12px; }
.nova-page-content .product-name { color: #353744; font-size: 12px; }
.nova-page-content .product-bottom strong { color: #353744; font-size: 12px; }
.nova-page-content .wishlist-toggle { top: 13px; right: 13px; width: 28px; height: 28px; color: #787a88; }
.nova-page-content .wishlist-toggle:hover,
.nova-page-content .wishlist-toggle.is-saved { color: #db5270; }
.nova-page-content .product-bottom .button { min-height: 27px; padding: 0 8px; font-size: 12px; }
.nova-page-content .campaign-page { padding: 10px 0 20px; }
.nova-page-content .campaign-hero { min-height: 355px; border-radius: 12px; }
.nova-page-content .campaign-eyebrow { color: #e6dafe; font-size: 12px; }
.nova-page-content .campaign-copy h1 { font-size: clamp(30px, 5vw, 54px); }
.nova-page-content .campaign-copy p { font-size: 13px; }

@media (max-width: 1020px) {
    .nova-pageshell { grid-template-columns: 185px minmax(0, 1fr); gap: 10px; }
    .nova-pageshell .nova-sidebar { min-height: calc(100vh - 18px); position: sticky; grid-row: auto; }
    .nova-customer-page .nova-sidebar { gap: 10px; }
}

@media (max-width: 680px) {
    .nova-customer-page > main { padding: 7px; }
    .nova-pageshell { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .nova-pageshell .nova-sidebar { min-height: 0; position: static; display: grid; grid-template-columns: 1fr auto; grid-row: auto; gap: 6px; padding: 8px; }
    .nova-pageshell .nova-sidebar > .nova-side-nav { display: flex; grid-column: 1 / -1; overflow: auto; gap: 4px; padding-bottom: 1px; scrollbar-width: none; }
    .nova-pageshell .nova-sidebar > .nova-side-nav .nova-side-link { min-height: 31px; flex: 0 0 auto; gap: 6px; padding: 0 8px; font-size: 11px; }
    .nova-pageshell .nova-sidebar > .nova-account-nav { display: flex; }
    .nova-pageshell .nova-sidebar > .nova-brand-list { display: none; }
    .nova-pageshell .nova-sidebar > .nova-promo,
    .nova-pageshell .nova-sidebar > .nova-help,
    .nova-pageshell .nova-side-divider { display: none; }
    .nova-pageshell .nova-page-main { min-height: calc(100vh - 18px); gap: 7px; }
    .nova-pageshell .nova-shared-topbar { min-height: 39px; gap: 8px; }
    .nova-pageshell .nova-search { height: 36px; gap: 6px; padding: 0 8px; }
    .nova-pageshell .nova-search input { font-size: 11px; }
    .nova-pageshell .nova-top-actions { gap: 8px; }
    .nova-pageshell .nova-top-actions > a,
    .nova-pageshell .nova-top-actions .nova-user-menu .nova-user-action { gap: 4px; font-size: 12px; }
    .nova-pageshell .nova-top-actions > a > svg { width: 16px; height: 16px; }
    .nova-pageshell .nova-user-menu .nova-user-action > b { max-width: 68px; display: block; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
    .nova-pageshell .nova-user-menu .nova-user-action .nova-chevron { display: block; }
    .nova-pageshell .nova-page-content { padding: 6px 8px 13px; border-radius: 11px; }
    .nova-page-content .commerce-page,
    .nova-page-content .auth-page,
    .nova-page-content .orders-page,
    .nova-page-content .campaign-page { padding: 13px 0 17px; }
    .nova-page-content .commerce-container { width: 100%; }
    .nova-page-content .commerce-heading { align-items: flex-start; flex-direction: column; gap: 7px; margin: 15px 0 12px; }
    .nova-page-content .commerce-heading h1,
    .nova-page-content .orders-page h1 { font-size: 25px; }
    .nova-page-content .commerce-grid { grid-template-columns: minmax(0, 1fr); }
    .nova-page-content .cart-summary { position: static; }
    .nova-page-content .cart-page-item { grid-template-columns: 65px minmax(0,1fr); gap: 8px; }
    .nova-page-content .cart-page-image { width: 65px; height: 70px; }
    .nova-page-content .cart-page-line-total { grid-column: 2; }
    .nova-page-content .checkout-city-row { grid-template-columns: 1fr 1fr; gap: 8px; }
    .nova-page-content .checkout-summary { grid-row: 1; }
    .nova-page-content .checkout-details { grid-row: 2; }
    .nova-page-content .auth-card { padding: 17px 13px; }
    .nova-page-content .orders-page { padding-right: 0; padding-left: 0; }
    .nova-page-content .orders-table { min-width: 600px; }
    .nova-page-content .tracking-card,
    .nova-page-content .order-detail-card { padding: 12px 10px; }
    .nova-page-content .tracking-progress { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .nova-page-content .tracking-step > span:last-child { max-width: 68px; font-size: 12px; }
    .nova-page-content .tracking-updated { display: block; margin-top: 7px; }
    .nova-page-content .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .nova-page-content .product-grid .product-visual { height: clamp(120px, 38vw, 180px); }
    .nova-page-content .product-bottom { gap: 5px; flex-wrap: wrap; }
    .nova-page-content .campaign-hero { min-height: 315px; padding: 20px; }
    .nova-page-footer { flex-direction: column; gap: 4px; padding: 0 4px 4px; }
}

/* Orange storefront design system */
body.storefront-home,
body.nova-customer-page {
    background: #f6f7f9;
    color: #202632;
    font-family: 'DM Sans', 'Manrope', sans-serif;
}

body.storefront-home > main {
    padding: 0 clamp(14px, 4vw, 42px) 32px;
}

.nova-store {
    width: min(100%, 1440px);
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    margin: 0 auto;
}

.nova-site-header {
    min-width: 0;
    min-height: 72px;
    display: grid;
    grid-template-columns: 175px minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    padding: 10px 0;
    border-bottom: 1px solid #e7e9ed;
}

.nova-sidebar,
.nova-pageshell .nova-sidebar {
    min-height: 0;
    position: static;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border: 0;
    border-bottom: 1px solid #e7e9ed;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.nova-brand { flex: 0 0 auto; }
.nova-brand > img {
    width: min(175px, 100%);
    height: 126px;
}
.nova-brand-icon { background: var(--nova-purple); }
.nova-side-nav,
.nova-account-nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

.nova-side-link {
    min-height: 35px;
    gap: 8px;
    padding: 0 10px;
    border-radius: 7px;
    color: #58616c;
    font-size: 13px;
}

.nova-side-link:hover,
.nova-side-category-list a:hover {
    background: #fff3e9;
    color: var(--nova-purple);
}

.nova-side-link.is-active {
    background: var(--nova-purple);
    color: #fff;
}

.nova-side-link.is-active > svg { color: #fff; }
.nova-hot { background: var(--nova-purple); }
.nova-side-categories { position: relative; }
.nova-side-category-list {
    min-width: 190px;
    position: absolute;
    z-index: 30;
    top: calc(100% + 4px);
    left: 0;
    margin: 0;
    padding: 7px;
    border: 1px solid var(--nova-line);
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(25, 34, 44, .12);
}

.nova-side-category-list a {
    padding: 8px;
    border-radius: 6px;
    color: #555f6b;
    font-size: 12px;
}

.nova-sidebar > .nova-brand-list,
.nova-sidebar > .nova-side-divider,
.nova-sidebar > .nova-promo,
.nova-sidebar > .nova-help { display: none; }

.nova-account-nav { margin-left: auto; }
.nova-store > .nova-sidebar > .nova-account-nav { display: none; }
.nova-main { min-width: 0; gap: 18px; padding: 0; }
.nova-topbar { width: 100%; min-height: 48px; gap: 16px; }
.nova-search {
    width: 100%;
    max-width: 720px;
    height: 44px;
    border-color: #e2e5e9;
    border-radius: 8px;
    box-shadow: none;
}

.nova-search:focus-within {
    border-color: #f4a36b;
    box-shadow: 0 0 0 3px rgba(242, 107, 18, .1);
}

.nova-search button,
.nova-top-actions .nova-cart-link {
    color: var(--nova-purple) !important;
}

.nova-top-actions { gap: 16px; }
.nova-bell:after { background: var(--nova-purple); }
.nova-top-actions > a:hover,
.nova-user-action:hover { color: var(--nova-purple) !important; }
.nova-avatar { background: #fff0e5; color: #b84b08; }
.nova-user-menu-panel a:hover,
.nova-user-menu-panel button:hover { background: #fff3e9; }
.nova-status { background: #fff2e8; color: #98450e; }

.nova-category-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
    gap: 10px;
}

.nova-category-tile {
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #eceef1;
    border-radius: 9px;
    background: #fff;
    color: #303945;
    font-size: 12px;
    font-weight: 700;
    transition: border-color .18s ease, transform .18s ease, background .18s ease;
}

.nova-category-tile:hover {
    transform: translateY(-2px);
    border-color: #f4b17f;
    background: #fffaf6;
}

.nova-category-tile > span:first-child {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #fff0e5;
    color: var(--nova-purple);
}

.nova-category-tile svg { width: 19px; height: 19px; }

.nova-hero {
    min-height: 285px;
    padding: 32px clamp(24px, 5vw, 64px);
    border-radius: 12px;
    background: linear-gradient(108deg, #e75e0c 0%, #f26b12 48%, #ff9b47 100%);
}

.nova-hero:after { background: rgba(255, 255, 255, .16); }
.nova-hero:before { background: radial-gradient(ellipse at 77% 45%, rgba(255, 255, 255, .18), transparent 48%); }
.nova-hero-kicker { color: rgba(255, 255, 255, .84); }
.nova-hero h1 { color: #fff; }
.nova-hero h1 span { color: #fff0c9; }
.nova-hero p { color: rgba(255, 255, 255, .88); }
.nova-hero .nova-button { background: #fff; color: #bd4d08; }
.nova-hero .nova-button:hover { background: #fff4e8; }
.nova-hero-image { filter: drop-shadow(0 14px 20px rgba(92, 39, 6, .22)); }
.nova-hero-dots i:first-child { background: #fff; }

.nova-category-ad-orange {
    background: linear-gradient(115deg, #fff1e5, #ffe1c9);
    color: #813d12 !important;
}

.nova-category-ad-violet {
    background: linear-gradient(115deg, #fff4eb, #ffe6d4);
    color: #813d12 !important;
}

.nova-advert-picture { background: #fff8f1; }
.nova-section-heading { margin-bottom: 12px; }
.nova-section-heading h2 { color: #202632; font-size: 19px; }
.nova-eyebrow { color: #8a929b; }
.nova-section-heading > a { border-color: #e8eaed; color: #58616c !important; }
.nova-section-heading > a:hover { border-color: #f4b17f; color: var(--nova-purple) !important; }
.nova-section-heading > a span { color: var(--nova-purple); }
.nova-product-grid { gap: 12px; }
.nova-product-card {
    padding: 9px;
    border-color: #eceef1;
    border-radius: 10px;
    box-shadow: 0 2px 9px rgba(26, 36, 46, .035);
}

.nova-product-photo { height: clamp(130px, 15vw, 190px); background: #f5f6f8; }
.nova-product-photo img { object-fit: contain; mix-blend-mode: multiply; }
.nova-product-card:hover { border-color: #f1bd98; }
.nova-product-badge { background: var(--nova-purple); }
.nova-heart.is-saved { color: var(--nova-purple) !important; }
.nova-product-info > small,
.nova-product-rating { color: #818a94; }
.nova-product-name { color: #27313b !important; }
.nova-product-name:hover { color: var(--nova-purple) !important; }
.nova-product-price { color: #202632; }
.nova-add,
.nova-modal-actions button { background: var(--nova-purple); }
.nova-add:hover,
.nova-modal-actions button:hover { background: var(--nova-purple-dark); }
.nova-catalog-tools select:focus,
.nova-page-content .auth-form input:not([type="checkbox"]):focus,
.nova-page-content .checkout-form input:focus { outline-color: #f4a36b; }
.nova-range:after { background: var(--nova-purple); }
.nova-range input::-webkit-slider-thumb,
.nova-range input::-moz-range-thumb { background: var(--nova-purple); box-shadow: 0 0 0 1px var(--nova-purple); }
.nova-active-filters button.is-active { border-color: #f3b17e; background: #fff3e9; color: #a5480b; }
.nova-empty button,
.nova-pagination [aria-current="page"] span { background: var(--nova-purple); }
.nova-footer { border-color: #e8eaed; background: #fff; }
.nova-footer > div > span:first-child { color: var(--nova-purple); }
.nova-cart-panel { display: none; }

body.nova-customer-page > main {
    padding: 0 clamp(14px, 4vw, 42px) 32px;
}

.nova-pageshell {
    width: min(100%, 1440px);
    min-height: 100vh;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin: 0 auto;
}

.nova-pageshell .nova-site-header { grid-template-columns: 175px minmax(0, 1fr); }
.nova-pageshell .nova-sidebar { gap: 12px; }
.nova-pageshell .nova-sidebar > .nova-side-nav { margin-left: auto; }
.nova-pageshell .nova-sidebar > .nova-account-nav { margin-left: 0; }
.nova-page-main {
    min-height: calc(100vh - 75px);
    gap: 0;
    padding: 0;
}

.nova-shared-topbar {
    min-height: 64px;
    border-bottom: 1px solid #e7e9ed;
}

.nova-page-content {
    flex: 1;
    padding: 22px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.nova-page-footer {
    min-height: 44px;
    border-top: 1px solid #e7e9ed;
    color: #737e89;
}

.nova-page-content .commerce-heading h1 span,
.nova-page-content .eyebrow-line,
.nova-page-content .quiet-link,
.nova-page-content .auth-footnote a,
.nova-page-content .orders-table a,
.nova-page-content .nova-purple-link { color: var(--nova-purple); }

.nova-page-content .eyebrow-line { background: var(--nova-purple); }
.nova-page-content .button-lime { background: var(--nova-purple); color: #fff; }
.nova-page-content .button-lime:hover { background: var(--nova-purple-dark); }
.nova-page-content .checkout-section-heading > span,
.nova-page-content .tracking-step-marker,
.nova-page-content .tracking-history-marker,
.nova-page-content .commerce-empty-icon { background: #fff0e5; color: #bd4d08; }
.nova-page-content .tracking-step.is-complete .tracking-step-marker { background: var(--nova-purple); color: #fff; }
.nova-page-content .auth-form input:not([type="checkbox"]):focus,
.nova-page-content .checkout-form input:focus { border-color: #f4a36b; outline: 2px solid rgba(242, 107, 18, .12); }
.nova-page-content .orders-table th { background: #fff5ed; }
.nova-page-content .product-bottom .button { background: var(--nova-purple); color: #fff; }
.nova-page-content .wishlist-toggle:hover,
.nova-page-content .wishlist-toggle.is-saved { color: var(--nova-purple); }
.nova-page-content .campaign-hero { background-color: #f26b12; }

@media (max-width: 900px) {
    .nova-sidebar,
    .nova-pageshell .nova-sidebar { gap: 8px; }
    .nova-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nova-hero { min-height: 245px; }
}

@media (max-width: 680px) {
    body.storefront-home > main,
    body.nova-customer-page > main { padding: 0 12px 22px; }
    .nova-store { gap: 13px; }
    .nova-sidebar,
    .nova-pageshell .nova-sidebar {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 7px;
        padding: 9px 0;
    }

    .nova-site-header,
    .nova-pageshell .nova-site-header {
        min-height: 60px;
        grid-template-columns: 108px minmax(0, 1fr);
        gap: 7px;
        padding: 8px 0;
    }

    .nova-brand { min-height: 36px; }
    .nova-brand > img { width: 105px; height: 108px; }
    .nova-sidebar > .nova-side-nav,
    .nova-pageshell .nova-sidebar > .nova-side-nav {
        width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 4px;
        margin: 0;
        padding: 2px 0 4px;
        scrollbar-width: none;
    }

    .nova-sidebar > .nova-side-nav .nova-side-link,
    .nova-pageshell .nova-sidebar > .nova-side-nav .nova-side-link {
        min-height: 32px;
        flex: 0 0 auto;
        padding: 0 8px;
        font-size: 11px;
    }

    .nova-sidebar > .nova-account-nav { display: none; }
    .nova-sidebar > .nova-side-divider,
    .nova-sidebar > .nova-promo,
    .nova-sidebar > .nova-help { display: none; }
    .nova-main { gap: 13px; }
    .nova-topbar,
    .nova-pageshell .nova-shared-topbar { min-height: 38px; gap: 6px; }
    .nova-search { min-width: 0; height: 38px; gap: 6px; padding: 0 7px; }
    .nova-search input { font-size: 11px !important; }
    .nova-top-actions { gap: 9px; }
    .nova-top-actions > a { gap: 4px; font-size: 11px; }
    .nova-top-actions > a > svg { width: 17px; height: 17px; }
    .nova-user-menu .nova-user-action > b { max-width: 65px; }
    .nova-hero { min-height: 215px; padding: 18px 15px; border-radius: 10px; }
    .nova-hero-copy { width: 60%; }
    .nova-hero h1 { font-size: clamp(22px, 6vw, 31px); }
    .nova-hero p { max-width: 190px; font-size: 11px; }
    .nova-hero-image { width: 47%; height: 82%; right: 1%; }
    .nova-hero-image-button { width: 48%; }
    .nova-category-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .nova-category-tile { min-height: 60px; padding: 7px; font-size: 11px; }
    .nova-category-tile > span:first-child { width: 34px; height: 34px; flex-basis: 34px; }
    .nova-advert-row,
    .nova-advert-picture-row { grid-template-columns: minmax(0, 1fr); }
    .nova-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .nova-product-photo { height: clamp(125px, 40vw, 190px); }
    .nova-pageshell { min-height: 100vh; }
    .nova-page-main { min-height: calc(100vh - 76px); }
    .nova-page-content { padding: 12px 0 18px; }
    .nova-page-content .commerce-page,
    .nova-page-content .auth-page,
    .nova-page-content .orders-page,
    .nova-page-content .campaign-page { padding: 13px 0 17px; }
    .nova-page-footer { padding: 10px 0; }
}

@media (max-width: 390px) {
    .nova-top-actions { gap: 6px; }
    .nova-top-actions > a b { display: none; }
    .nova-user-menu .nova-user-action > b { display: none; }
}
