/* Customer shop surfaces follow the account and order tracking glass design. */
.storefront-shop-page {
    --shop-ink: #19212a;
    --shop-muted: #65717c;
    --shop-line: rgba(111, 131, 144, .18);
    --shop-surface: linear-gradient(155deg, rgba(255,255,255,.88), rgba(255,255,255,.58));
    --shop-shadow: 0 28px 70px rgba(45,61,74,.09), 0 3px 14px rgba(57,76,92,.035), inset 0 1px 0 rgba(255,255,255,.98);
    color: var(--shop-ink);
    background: #f4f6f7;
}
.storefront-shop-page main { min-height: calc(100vh - 160px); }
.storefront-shop-page .store-header { height: 68px; min-height: 68px; padding: 8px clamp(18px, 2.2vw, 32px); }
.storefront-shop-page .brand-mark { width: 36px; height: 36px; flex-basis: 36px; }
.storefront-shop-page .store-nav { gap: 18px; }
.storefront-shop-page .cart-link,
.storefront-shop-page .login-link { min-height: 44px; }
.storefront-shop-page .cart-icon,
.storefront-shop-page .store-nav .login-icon { width: 24px; height: 24px; stroke-width: 1.6; }
.storefront-shop-page .cart-link span { min-width: 20px; height: 20px; font-weight: 600; }
.storefront-shop-page .eyebrow { color: #64717d; font-size: 10px; font-weight: 500; letter-spacing: .18em; }
.storefront-shop-page .store-brand { font-weight: 600; }
.storefront-shop-page .store-brand small { font-weight: 400; }
.storefront-shop-page .button,
.storefront-shop-page .text-link { font-weight: 500; text-transform: none; }
.storefront-shop-home { --home-header-overlap: 68px; }
.storefront-shop-home .store-header { position: sticky; top: 0; z-index: 8; min-height: var(--home-header-overlap); margin-bottom: calc(-1 * var(--home-header-overlap)); border: 0; background: transparent; box-shadow: none; color: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; transition: background-color .2s ease, box-shadow .2s ease; }
.storefront-shop-home .store-header.is-scrolled { background: #111316; box-shadow: 0 10px 32px rgba(0,0,0,.28); }
.storefront-shop-home .store-brand,
.storefront-shop-home .store-nav a { color: #fff; text-shadow: 0 1px 10px rgba(0,0,0,.65); }
.storefront-shop-home .store-brand small { color: rgba(255,255,255,.82); }
.storefront-shop-home .cart-link span { background: #fff; color: #19212a; text-shadow: none; }
.storefront-shop-home .login-link:hover { background: rgba(255,255,255,.18); }
.storefront-shop-home .store-hero { height: min(760px, 100svh); max-height: 760px; }
.storefront-shop-home.storefront-com-domain .store-hero { height: min(760px, 80svh); }
.storefront-shop-page .store-hero { isolation: isolate; }
.storefront-shop-page .store-hero .eyebrow { color: rgba(255,255,255,.8); }
.storefront-shop-page .store-hero h1 { font-size: clamp(42px, 5.5vw, 70px); font-weight: 700; line-height: 1.05; letter-spacing: -.04em; }
.storefront-shop-page .store-hero .button { border-color: rgba(255,255,255,.7); }
.storefront-shop-page .storefront-featured { padding-top: 24px; }
.storefront-shop-page .section-heading { margin-bottom: 18px; padding-bottom: 14px; border-color: var(--shop-line); }
.storefront-shop-page .section-heading .eyebrow { margin-bottom: 6px; }
.storefront-shop-page .section-heading h2 { font-size: clamp(25px, 2.2vw, 32px); font-weight: 500; line-height: 1.15; letter-spacing: -.025em; text-transform: none; }
.storefront-shop-page .product-grid { gap: 16px; }
.storefront-shop-page .product-card,
.storefront-shop-page .filter-bar,
.storefront-shop-page .listing-head,
.storefront-shop-page .detail-copy,
.storefront-shop-page .summary-box,
.storefront-shop-page .checkout-form,
.storefront-shop-page .empty-state,
.storefront-shop-page .status-panel,
.storefront-shop-page .storefront-editorial-copy {
    border: 1px solid rgba(255,255,255,.86);
    background: var(--shop-surface);
    box-shadow: var(--shop-shadow);
    backdrop-filter: blur(28px) saturate(155%); -webkit-backdrop-filter: blur(28px) saturate(155%);
}
.storefront-shop-page .product-card { min-width: 0; padding: 8px; border-radius: 21px; transition: transform .2s ease, box-shadow .2s ease; }
.storefront-shop-page .product-card:hover { transform: translateY(-3px); box-shadow: 0 32px 72px rgba(45,61,74,.13), inset 0 1px 0 #fff; }
.storefront-shop-page .product-media { aspect-ratio: 6 / 5; border-radius: 15px; background: rgba(244,247,247,.75); }
.storefront-shop-page .product-card-body { padding: 11px 6px 6px; }
.storefront-shop-page .product-card h3 { min-height: 0; margin: 0 0 4px; color: var(--shop-ink); font-size: 14px; font-weight: 500; line-height: 1.3; }
.storefront-shop-page .product-card .product-price { margin: 0; font-size: 13px; font-weight: 400; }
.storefront-shop-page .product-card-actions { padding-top: 10px; }
.storefront-shop-page .product-card-cart-form select { border-radius: 12px; }
.storefront-shop-page .product-card-cart-button { width: 100%; min-height: 42px; border-radius: 999px; font-size: 11px; font-weight: 500; text-transform: none; }
.storefront-shop-page .product-card-cart-feedback:empty { display: none; }
.storefront-shop-page .product-card-quick-add { width: min(420px, calc(100% - 32px)); max-height: min(640px, calc(100dvh - 32px)); padding: 0; border: 1px solid rgba(255,255,255,.9); border-radius: 28px; background: linear-gradient(155deg,rgba(255,255,255,.97),rgba(243,248,248,.94)); box-shadow: 0 32px 90px rgba(18,29,38,.24), inset 0 1px 0 #fff; color: var(--shop-ink); }
.storefront-shop-page .product-card-quick-add::backdrop { background: rgba(17,27,35,.58); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.storefront-shop-page .product-card-quick-add-content { position: relative; padding: clamp(25px,4vw,38px); }
.storefront-shop-page .product-card-quick-add-close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border: 1px solid var(--shop-line); border-radius: 50%; background: rgba(255,255,255,.8); color: var(--shop-ink); cursor: pointer; font-size: 24px; line-height: 1; }
.storefront-shop-page .product-card-quick-add-kicker { margin: 0 42px 9px 0; color: var(--shop-muted); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.storefront-shop-page .product-card-quick-add h4 { margin: 0 40px 24px 0; font-size: clamp(24px,3vw,30px); line-height: 1.12; letter-spacing: -.04em; }
.storefront-shop-page .product-card-quick-add label { color: #3e4a54; font-size: 12px; font-weight: 750; }
.storefront-shop-page .product-card-quick-add .product-card-cart-form { gap: 14px; }
.storefront-shop-page .product-card-quick-add select { width: 100%; min-height: 48px; padding: 0 15px; border: 1px solid rgba(105,127,139,.23); border-radius: 13px; background: rgba(255,255,255,.8); color: var(--shop-ink); font-size: 13px; }
.storefront-shop-page .product-card-quick-add .product-card-cart-button { min-height: 48px; }
.storefront-shop-page .listing-head { width: min(calc(100% - 48px), 1392px); margin-top: clamp(24px,4vw,50px); padding: clamp(27px,4vw,52px); border-radius: 30px; }
.storefront-shop-page .listing-head h1 { font-size: clamp(36px,4.5vw,60px); font-weight: 500; letter-spacing: -.035em; }
.storefront-shop-page .listing-head > p:last-child:not(.eyebrow) { color: var(--shop-muted); }
.storefront-shop-page .storefront-catalog { padding-top: 26px; }
.storefront-shop-page .filter-bar { padding: 16px; border-radius: 22px; }
.storefront-shop-page .filter-bar input,
.storefront-shop-page .filter-bar select,
.storefront-shop-page .checkout-form input:not([type=radio]):not([type=checkbox]),
.storefront-shop-page .checkout-form select,
.storefront-shop-page .purchase-form input:not([type=hidden]),
.storefront-shop-page .cart-line input { border: 1px solid rgba(105,127,139,.23); border-radius: 13px; background: rgba(255,255,255,.7); color: var(--shop-ink); }
.storefront-shop-page .button-dark,
.storefront-shop-page .button-light,
.storefront-shop-page .button-outline-light,
.storefront-shop-page .product-card-cart-button,
.storefront-shop-page .purchase-form .button-dark { border: 1px solid #111316; border-radius: 999px; background: #111316; box-shadow: 0 12px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.14); color: #fff; }
.storefront-shop-page .button-dark:hover:not(:disabled),
.storefront-shop-page .button-light:hover:not(:disabled),
.storefront-shop-page .button-outline-light:hover:not(:disabled),
.storefront-shop-page .product-card-cart-button:hover:not(:disabled) { background: #2b2d31; }
.storefront-shop-page .product-detail { align-items: start; gap: clamp(24px,4vw,64px); }
.storefront-shop-page .product-gallery .detail-media { padding: 10px; border: 1px solid rgba(255,255,255,.85); border-radius: 27px; background: rgba(255,255,255,.62); box-shadow: var(--shop-shadow); }
.storefront-shop-page .detail-media #product-main-image { border-radius: 18px; }
.storefront-shop-page .detail-copy { top: 112px; padding: clamp(25px,3.5vw,42px); border-radius: 28px; }
.storefront-shop-page .detail-copy h1 { font-size: clamp(32px,4vw,54px); font-weight: 500; letter-spacing: -.035em; }
.storefront-shop-page .detail-price,
.storefront-shop-page .purchase-total strong { font-weight: 500; }
.storefront-shop-page .product-thumbnail { border-radius: 13px; }
.storefront-shop-page .variant-option,
.storefront-shop-page .quantity-stepper { border-radius: 13px; }
.storefront-shop-page .variant-option.is-selected { border-color: #111316; background: #111316; }
.storefront-shop-page .cart-layout,
.storefront-shop-page .checkout-layout { padding-top: 26px; }
.storefront-shop-page .cart-layout.is-empty { grid-template-columns: minmax(0,1fr); }
.storefront-shop-page .cart-layout.is-empty .empty-state { min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; text-align: center; }
.storefront-shop-page .cart-layout.is-empty .empty-state .button { margin-top: 0; }
.storefront-shop-page .cart-line { padding: 20px; margin-bottom: 12px; border: 1px solid rgba(255,255,255,.86); border-radius: 22px; background: var(--shop-surface); box-shadow: 0 12px 30px rgba(45,61,74,.06), inset 0 1px 0 #fff; }
.storefront-shop-page .cart-line-controls { grid-column: 2 / -1; display: flex; align-items: center; gap: 8px; min-width: 0; }
.storefront-shop-page .cart-line-controls form { display: flex; align-items: center; gap: 8px; margin: 0; }
.storefront-shop-page .cart-line-controls input { width: 64px; min-width: 64px; height: 44px; min-height: 44px; padding: 0 8px; text-align: center; }
.storefront-shop-page .cart-line-controls .text-button { display: inline-flex; align-items: center; justify-content: center; min-width: 76px; height: 44px; min-height: 44px; margin: 0; padding: 0 12px; border-radius: 12px; white-space: nowrap; }
.storefront-shop-page .cart-thumb { border-radius: 14px; }
.storefront-shop-page .summary-box,
.storefront-shop-page .checkout-form { border-radius: 27px; padding: clamp(22px,3vw,36px); }
.storefront-shop-page .summary-item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; }
.storefront-shop-page .summary-item-product { display: flex; align-items: center; gap: 12px; min-width: 0; }
.storefront-shop-page .summary-item-image { display: grid; place-items: center; flex: 0 0 64px; width: 64px; height: 72px; overflow: hidden; border-radius: 10px; background: #f1f3f3; color: var(--shop-muted); font-size: 12px; }
.storefront-shop-page .summary-item-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.storefront-shop-page .summary-item-details { display: grid; gap: 4px; min-width: 0; }
.storefront-shop-page .summary-item-name { color: var(--shop-ink); font-size: 14px; font-weight: 500; line-height: 1.35; overflow-wrap: anywhere; }
.storefront-shop-page .summary-item-quantity { color: var(--shop-muted); font-size: 12px; font-weight: 400; }
.storefront-shop-page .summary-item > strong { align-self: center; white-space: nowrap; font-size: 14px; }
.storefront-shop-page .checkout-form h2 { color: var(--shop-ink); }
.storefront-shop-page .checkout-form label { color: #3e4a54; }
.storefront-shop-page .payment-options label { border: 1px solid rgba(105,127,139,.2); border-radius: 16px; background: rgba(255,255,255,.55); }
.storefront-shop-page .payment-options label:has(input:checked) { border-color: rgba(64,133,103,.5); background: rgba(225,244,234,.68); box-shadow: 0 0 0 3px rgba(64,133,103,.1); }
.storefront-shop-page .choice-row { align-items: center; gap: clamp(14px, 3vw, 28px); }
.storefront-shop-page .choice-row label { display: inline-flex; align-items: center; gap: 8px; width: auto; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 14px; font-weight: 500; line-height: 1.4; white-space: nowrap; cursor: pointer; }
.storefront-shop-page .choice-row input[type=radio] { flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; box-shadow: none; }
.storefront-shop-page input[type=radio] { accent-color: #2d7855; }
.storefront-shop-page .empty-state { padding: clamp(30px,5vw,55px); border-radius: 27px; }
.storefront-shop-page .notice { border-radius: 16px; }
.storefront-shop-page .status-panel { width: min(calc(100% - 40px), 760px); margin: clamp(35px,7vw,88px) auto; padding: clamp(28px,5vw,55px); border-radius: 30px; }
.storefront-shop-page .storefront-promotions { gap: 20px; }
.storefront-shop-page .storefront-promotion { overflow: hidden; border-radius: 26px; }
.storefront-shop-page .storefront-editorial.has-media {
    width: 100%;
    max-width: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding: 0;
}
.storefront-shop-page .storefront-editorial.has-media .storefront-editorial-media {
    min-height: clamp(440px, 42vw, 660px);
    overflow: hidden;
    border-radius: 0;
}
.storefront-shop-page .storefront-editorial.has-media .storefront-editorial-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.storefront-shop-page .storefront-editorial.has-media .storefront-editorial-copy {
    min-width: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    padding: clamp(32px, 6vw, 96px);
}
@media (min-width: 1500px) {
    .storefront-shop-page .product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
    .storefront-shop-home { --home-header-overlap: 64px; }
    .storefront-shop-page .store-header { height: 64px; min-height: 64px; padding: 8px 16px; }
    .storefront-shop-page .store-nav { gap: 10px; }
    .storefront-shop-home .store-hero { height: min(680px, 100svh); }
    .storefront-shop-home.storefront-com-domain .store-hero { height: min(680px, 80svh); }
    .storefront-shop-page .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .storefront-shop-page .detail-copy { position: static; }
    .storefront-shop-page .storefront-editorial.has-media { grid-template-columns: 1fr; }
    .storefront-shop-page .storefront-editorial.has-media .storefront-editorial-media { min-height: 360px; }
    .storefront-shop-page .storefront-editorial.has-media .storefront-editorial-copy { padding: 38px 28px; }
}
@media (max-width: 540px) {
    .storefront-shop-home { --home-header-overlap: 64px; }
    .storefront-shop-page .store-hero { padding: 18px 16px 26px; }
    .storefront-shop-page .store-hero h1 { font-size: clamp(36px,9vw,46px); }
    .storefront-shop-page .section-heading h2 { font-size: 25px; }
    .storefront-shop-page .store-section,
    .storefront-shop-page .storefront-promotions,
    .storefront-shop-page .storefront-editorial { padding-right: 16px; padding-left: 16px; }
    .storefront-shop-page .storefront-editorial.has-media { padding-right: 0; padding-left: 0; }
    .storefront-shop-page .storefront-editorial.has-media .storefront-editorial-media { min-height: 300px; }
    .storefront-shop-page .storefront-editorial.has-media .storefront-editorial-copy { padding: 32px 22px; }
    .storefront-shop-page .product-grid { gap: 11px; }
    .storefront-shop-page .product-card { padding: 6px; border-radius: 17px; }
    .storefront-shop-page .product-media { border-radius: 12px; }
    .storefront-shop-page .product-media { aspect-ratio: 1 / 1; }
    .storefront-shop-page .product-card-body { padding: 9px 6px 6px; }
    .storefront-shop-page .product-card h3 { font-size: 12px; }
    .storefront-shop-page .product-card-cart-button { min-height: 40px; }
    .storefront-shop-page .listing-head { width: calc(100% - 32px); margin-top: 18px; padding: 26px 23px; border-radius: 24px; }
    .storefront-shop-page .listing-head h1 { font-size: 39px; }
    .storefront-shop-page .storefront-catalog { padding-top: 17px; }
    .storefront-shop-page .filter-bar { padding: 10px; border-radius: 18px; }
    .storefront-shop-page .product-detail,
    .storefront-shop-page .cart-layout,
    .storefront-shop-page .checkout-layout { padding-top: 18px; gap: 18px; }
    .storefront-shop-page .product-gallery .detail-media { padding: 6px; border-radius: 20px; }
    .storefront-shop-page .detail-copy { padding: 26px 22px; border-radius: 23px; }
    .storefront-shop-page .summary-box,
    .storefront-shop-page .checkout-form { padding: 24px 20px; border-radius: 23px; }
    .storefront-shop-page .summary-item { gap: 10px; }
    .storefront-shop-page .summary-item-product { gap: 10px; }
    .storefront-shop-page .summary-item-image { flex-basis: 54px; width: 54px; height: 62px; }
    .storefront-shop-page .summary-item-name,
    .storefront-shop-page .summary-item > strong { font-size: 13px; }
    .storefront-shop-page .cart-line { padding: 15px; border-radius: 18px; }
    .storefront-shop-page .cart-line > strong { grid-column: 2; grid-row: 2; text-align: left; }
    .storefront-shop-page .cart-line-controls { grid-column: 1 / -1; grid-row: 3; }
    .storefront-shop-page .status-panel { border-radius: 23px; }
}
@media (max-width: 360px) {
    .storefront-shop-page .store-header { padding-inline: 12px; column-gap: 6px; }
    .storefront-shop-page .brand-mark { width: 32px; height: 32px; flex-basis: 32px; }
    .storefront-shop-page .store-brand { gap: 6px; font-size: 12px; }
    .storefront-shop-page .store-brand small { font-size: 7px; }
    .storefront-shop-page .store-nav { gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
    .storefront-shop-home .store-header { transition: none; }
    .storefront-shop-page .product-card { transition: none; }
}
