/* Leaven commerce curation · 2026-09-26. Native EasyStore controls own commerce state. */
.lv-commerce-catalog,
.lv-commerce-search,
.lv-commerce-cart,
.product-section.lv-commerce-product {
  --lc-paper: var(--leaven-paper, #f8f5ed);
  --lc-sheet: var(--leaven-white, #fffefb);
  --lc-ink: var(--leaven-ink, #18252b);
  --lc-muted: var(--leaven-muted, #625f58);
  --lc-action: var(--leaven-action, #503a34);
  --lc-line: var(--leaven-line, #d9d4c8);
  color: var(--lc-ink);
  font-family: "Noto Sans TC", sans-serif;
}
.lv-commerce-eyebrow { color: var(--leaven-action, #503a34); font-size: 12px; font-weight: 700; letter-spacing: .1em; margin: 0 0 14px; }
.lv-commerce-catalog *, .lv-commerce-search *, .lv-commerce-cart * { box-sizing: border-box; }
.lv-commerce-catalog :is(h1,h2,h3), .lv-commerce-search :is(h1,h2,h3), .lv-commerce-cart :is(h1,h2,h3) { font-style: normal!important; text-transform: none!important; }
:is(.lv-commerce-catalog,.lv-commerce-search,.lv-commerce-cart,.lv-commerce-product) :is(a,button,input,select,summary):focus-visible { outline: 3px solid var(--leaven-action, #503a34); outline-offset: 4px; }

/* Collection: the approved artwork remains the category identity. */
.lv-commerce-catalog { background: var(--lc-paper); padding-bottom: 72px; }
.lv-commerce-catalog .lvx-catalog__hero { background: var(--leaven-sheet, #eae2d5); position: relative; isolation: isolate; overflow: hidden; border-bottom: 1px solid var(--lc-line); }
.lv-commerce-catalog.lvx-catalog--drip .lvx-catalog__hero,
.lv-commerce-catalog.lvx-catalog--kombucha .lvx-catalog__hero { background: #12483d; color: var(--leaven-white, #fffefb); }
.lv-commerce-catalog.lvx-catalog--cookies .lvx-catalog__hero { background: #b2c6a5; }
.lv-commerce-catalog .lvx-catalog__hero-inner,
.lv-commerce-catalog .lvx-catalog__main,
.lv-commerce-catalog .lvx-catalog__routes { width: min(1280px, calc(100% - 64px)); margin-inline: auto; }
.lv-commerce-catalog .lvx-catalog__hero-inner { display: flex; flex-direction: column; justify-content: center; gap: 22px; min-height: 310px; padding: 32px 0 24px; position: relative; z-index: 1; }
.lv-commerce-catalog.lvx-catalog--has-hero-art .lvx-catalog__hero-inner { display: grid; grid-template-columns: minmax(0, .53fr) minmax(0, .47fr); grid-template-rows: auto auto; gap: 16px 24px; }
.lv-commerce-catalog.lvx-catalog--has-hero-art .lvx-catalog__hero-title-block { grid-column: 1; grid-row: 1; align-self: end; }
.lv-commerce-catalog.lvx-catalog--has-hero-art .lvx-catalog__hero-copy { grid-column: 1; grid-row: 2; align-self: start; }
.lv-commerce-catalog .lvx-catalog__hero-title-block,
.lv-commerce-catalog .lvx-catalog__hero-copy { width: 100%; min-width: 0; }
.lv-commerce-catalog .lvx-catalog__kicker { color: inherit; font-family: inherit; font-size: 13px; font-weight: 650; letter-spacing: .04em; line-height: 1.5; margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 3px 10px; }
.lv-commerce-catalog .lvx-catalog__kicker span { white-space: nowrap; }
.lv-commerce-catalog .lvx-catalog__title { color: inherit!important; font-family: inherit!important; font-size: clamp(40px,4.3vw,64px)!important; font-weight: 750!important; line-height: 1.12!important; letter-spacing: -.045em!important; margin: 0!important; text-shadow: none!important; }
.lv-commerce-catalog .lvx-catalog__subtitle { font-size: 17px; line-height: 1.4; letter-spacing: .015em; margin: 8px 0 0; }
.lv-commerce-catalog .lvx-catalog__intro { font-size: 16px; line-height: 1.8; margin: 0; max-width: 36em; }
.lv-commerce-catalog .lvx-catalog__browse { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: inherit; font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; margin-top: 4px; }
.lv-commerce-catalog .lvx-catalog__hero-visual--backdrop { grid-column: 2; grid-row: 1 / 3; position: relative; width: 100%; height: 100%; min-height: 250px; margin: 0; overflow: hidden; opacity: 1; pointer-events: none; }
.lv-commerce-catalog .lvx-catalog__hero-art--backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; display: block; }
.lv-commerce-catalog .lvx-catalog__hero-visual:not(.lvx-catalog__hero-visual--backdrop) { position: absolute; right: 0; top: 24px; width: 36%; max-width: 310px; }
.lv-commerce-catalog .lvx-catalog__hero-visual:not(.lvx-catalog__hero-visual--backdrop) img { width: 100%; height: auto; }
.lv-commerce-catalog .lvx-catalog__routes { display: flex; gap: 6px; padding: 0 0 18px; position: relative; z-index: 1; }
.lv-commerce-catalog .lvx-catalog__route { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; min-height: 46px; padding: 10px 18px; border: 1px solid currentColor; border-radius: 4px; color: inherit; background: transparent; text-decoration: none; line-height: 1.4; box-shadow: none; }
.lv-commerce-catalog .lvx-catalog__route-zh { font-size: 15px; font-weight: 650; }
.lv-commerce-catalog .lvx-catalog__route-en { font-size: 12px; opacity: .72; }
.lv-commerce-catalog .lvx-catalog__route[aria-current="page"], .lv-commerce-catalog .lvx-catalog__route:hover { background: var(--leaven-action, #503a34); color: var(--leaven-white, #fffefb); border-color: var(--leaven-action, #503a34); }
.lv-commerce-catalog.lvx-catalog--drip .lvx-catalog__route[aria-current="page"] { background: var(--leaven-white, #fffefb); color: #12483d; border-color: var(--leaven-white, #fffefb); }
.lv-commerce-catalog .lvx-catalog__main { padding-top: 28px; scroll-margin-top: 90px; }
.lv-commerce-catalog .lvx-catalog__toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 16px; margin-bottom: 28px; border-bottom: 1px solid var(--lc-line); }
.lv-commerce-catalog .lvx-catalog__count { font-size: 13px; font-weight: 650; letter-spacing: .02em; margin: 0; color: var(--lc-action); }
.lv-commerce-catalog .lvx-catalog__sorting, .lv-commerce-catalog .collection-filters { margin: 0!important; }
.lv-commerce-catalog .lvx-catalog__sorting select { max-width: 100%; min-height: 44px; border: 1px solid var(--lc-line); border-radius: 4px; background: var(--lc-sheet); font-family: inherit; font-size: 15px; color: var(--lc-ink); }
.lv-commerce-catalog button[filter-container-toggle] { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: var(--lc-sheet); border: 1px solid var(--lc-line); border-radius: 4px; cursor: pointer; }
.lv-commerce-catalog button[filter-container-toggle] svg { width: 22px; height: 22px; }
.lv-commerce-catalog .lvx-product-shelf { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px 28px; }
.lv-commerce-catalog .lvx-product-shelf__item { min-width: 0; }
.lv-commerce-catalog .lvx-catalog__next, .lv-commerce-catalog .lvx-kombucha-gate { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; align-items: center; border-top: 1px solid var(--lc-line); padding-top: 34px; margin-top: 64px; }
.lv-commerce-catalog .lvx-kombucha-gate { margin-top: 0; border-top: 0; }
.lv-commerce-catalog .lvx-catalog__next--art { grid-template-columns: 110px minmax(0,1fr) auto; }
.lv-commerce-catalog :is(.lvx-catalog__next,.lvx-kombucha-gate) h2 { font-size: clamp(25px,2.4vw,36px)!important; line-height: 1.35; letter-spacing: -.035em; font-weight: 700; margin: 8px 0 0; color: var(--lc-ink); }
.lv-commerce-catalog .lvx-kombucha-gate p:not(.lvx-catalog__count) { font-size: 16px; line-height: 1.8; }
.lv-commerce-catalog .lvx-catalog__next-art { margin: 0; width: 110px; height: 110px; overflow: hidden; border-radius: 4px; }
.lv-commerce-catalog .lvx-catalog__next-art img { width: 100%; height: 100%; object-fit: cover; }
.lv-commerce-catalog .lvx-catalog__next-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.lv-commerce-catalog .lvx-catalog__button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; background: var(--lc-action); border: 1px solid var(--lc-action); border-radius: 4px; color: var(--leaven-white, #fffefb); text-decoration: none; font-size: 15px; font-weight: 650; line-height: 1.5; }
.lv-commerce-catalog .lvx-catalog__text-link { color: var(--lc-action); font-size: 15px; line-height: 1.5; text-underline-offset: 4px; }
.lv-commerce-catalog .lvx-catalog__guide { border-top: 1px solid var(--lc-line); margin-top: 40px; padding-top: 24px; }
.lv-commerce-catalog .lvx-catalog__guide summary { cursor: pointer; font-size: 16px; font-weight: 650; line-height: 1.6; color: var(--lc-action); }
.lv-commerce-catalog .lvx-catalog__guide .rte { max-width: 780px; padding-top: 24px; font-size: 16px; line-height: 1.85; }
.lv-commerce-catalog .lvx-catalog__empty { grid-column: 1 / -1; padding: 36px 0 48px; text-align: center; }
.lv-commerce-catalog .lvx-catalog__empty h2 { font-size: 24px; }
.lv-commerce-catalog .lvx-catalog__empty p { font-size: 16px; line-height: 1.7; }

/* Complete shared card, used by collection, search, related products and 404. */
.lvx-product-display { display: flex; flex-direction: column; min-width: 0; height: 100%; font-family: "Noto Sans TC",sans-serif; color: var(--leaven-ink, #18252b); }
.lvx-product-display__media { position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1; background: #eeeae1; border: 1px solid #e2ddd1; border-radius: 6px; overflow: hidden; color: inherit; text-decoration: none; }
.lvx-product-display__index { position: absolute; left: 14px; top: 12px; font-size: 12px; color: var(--leaven-muted, #625f58); font-weight: 600; z-index: 1; }
.lvx-product-display__image { display: flex; align-items: center; justify-content: center; width: 82%; height: 82%; }
.lvx-product-display__image img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 16px #18252b14); transition: transform 180ms ease; }
.lvx-product-display__media:hover img { transform: translateY(-3px); }
.lvx-product-display__status { position: absolute; right: 12px; top: 12px; background: var(--leaven-ink, #18252b); color: var(--leaven-white, #fffefb); padding: 6px 10px; font-size: 12px; border-radius: 3px; }
.lvx-product-display__status--sale { background: var(--leaven-ochre, #d7ad69); color: var(--leaven-ink, #18252b); }
.lvx-product-display__body { flex: 1; display: flex; flex-direction: column; padding-top: 16px; }
.lvx-product-display__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; color: var(--leaven-muted, #625f58); font-size: 12px; line-height: 1.5; margin-bottom: 8px; }
.lvx-product-display__meta span { white-space: nowrap; }
.lvx-product-display .lvx-product-display__title { font-family: inherit!important; color: var(--leaven-ink, #18252b)!important; font-size: clamp(18px,1.5vw,22px)!important; font-weight: 700!important; font-style: normal!important; text-transform: none!important; letter-spacing: -.025em!important; line-height: 1.45!important; margin: 0!important; }
.lvx-product-display__title a { color: inherit; text-decoration: none; }
.lvx-product-display__title small { display: block; font-size: 13px; line-height: 1.55; color: var(--leaven-muted, #625f58); font-weight: 450; margin-top: 4px; letter-spacing: 0; }
.lvx-product-display__note { font-size: 15px; color: var(--leaven-muted, #625f58); line-height: 1.75; margin: 10px 0 0; }
.lvx-product-display__buy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; border-top: 1px solid var(--leaven-line, #d9d4c8); padding-top: 12px; margin-top: 18px; }
.lvx-product-display__price .price { margin: 0; color: var(--leaven-action, #503a34); font-size: 17px; line-height: 1.5; }
.lvx-product-display__price .price .price-item { font-family: inherit!important; color: inherit!important; background: transparent!important; border: 0!important; padding: 0!important; font-size: 17px!important; box-shadow: none!important; margin: 0!important; }
.lvx-product-display__price .price__sale .price-item--regular { font-size: 13px!important; opacity: .7; }
.lvx-product-display__actions { display: inline-flex; align-items: center; gap: 14px; }
.lvx-product-display__details { display: inline-flex; align-items: center; min-height: 44px; color: var(--leaven-action, #503a34); font-size: 15px; font-weight: 650; text-underline-offset: 5px; }
.lvx-product-display__add { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: var(--leaven-action, #503a34); color: var(--leaven-white, #fffefb); border: 0; border-radius: 50%; padding: 0; font-size: 25px; cursor: pointer; }
.lvx-product-display__add:disabled { opacity: .4; cursor: not-allowed; }
.lvx-product-display__add:hover:not(:disabled) { background: var(--leaven-action-deep, #382923); }
.lvx-product-display :is(a,button):focus-visible { outline: 3px solid var(--leaven-action, #503a34); outline-offset: 4px; }

/* General PDP. The accepted drip-box page never receives lv-commerce-product. */
body.template-product .product-section.lv-commerce-product { max-width: 1320px; padding: 28px 32px 56px!important; margin-inline: auto; background: var(--leaven-paper, #f8f5ed)!important; }
body.template-product .product-section.lv-commerce-product .lvx-product-context { margin-bottom: 20px; font-size: 14px; line-height: 1.6; }
body.template-product .product-section.lv-commerce-product .product.grid { display: grid; grid-template-columns: minmax(0,1.06fr) minmax(0,.94fr); align-items: start; gap: 42px 54px!important; width: 100%; max-width: none; padding: 0!important; margin: 0!important; background: transparent!important; border: 0!important; box-shadow: none!important; }
body.template-product .product-section.lv-commerce-product .product.grid::after { display: none; }
body.template-product .product-section.lv-commerce-product .product__media-wrapper,
body.template-product .product-section.lv-commerce-product .product__info-wrapper { width: 100%!important; max-width: none!important; min-width: 0; padding: 0!important; margin: 0!important; border: 0!important; background: transparent!important; box-shadow: none!important; }
body.template-product .product-section.lv-commerce-product .product__media-list { background: #eeeae1!important; border-radius: 6px!important; box-shadow: none!important; }
body.template-product .product-section.lv-commerce-product .product__info-container { padding: 8px 0 0!important; }
body.template-product .product-section.lv-commerce-product .product__title { display: block; font-family: "Noto Sans TC",sans-serif!important; font-size: clamp(28px,2.6vw,38px)!important; line-height: 1.35!important; letter-spacing: -.035em!important; text-transform: none!important; font-style: normal!important; font-weight: 700!important; padding: 0!important; margin: 0 0 14px!important; border: 0!important; color: var(--leaven-ink, #18252b)!important; }
body.template-product .product-section.lv-commerce-product .product__title::after { display: none!important; }
body.template-product .product-section.lv-commerce-product .lv-commerce-product__english { display: block; font-size: 17px; letter-spacing: 0; font-weight: 450; color: var(--leaven-muted, #625f58); margin-top: 8px; }
body.template-product .product-section.lv-commerce-product .price--large { margin: 0 0 12px; min-height: 0; }
body.template-product .product-section.lv-commerce-product .price .price-item { padding: 0!important; margin: 0!important; border: 0!important; background: transparent!important; color: var(--leaven-action, #503a34)!important; font-family: "Noto Sans TC",sans-serif!important; font-size: 24px!important; font-weight: 650!important; line-height: 1.5; }
body.template-product .product-section.lv-commerce-product .price .price-item--regular { font-size: 24px!important; }
body.template-product .product-section.lv-commerce-product .price--on-sale .price-item--regular { font-size: 16px!important; color: var(--leaven-muted, #625f58)!important; }
.product-section.lv-commerce-product :is(#sf-es-star-rating,a.es-avg-rates)[hidden] { display: none!important; }
body.template-product .product-section.lv-commerce-product .product-form { margin-top: 8px; }
body.template-product .product-section.lv-commerce-product .product-form__quantity { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 12px 0!important; }
.product-section.lv-commerce-product .product-form__quantity .form__label { font-family: inherit!important; font-size: 15px; margin: 0; }
.product-section.lv-commerce-product .quantity { min-height: 44px; width: 140px; }
.product-section.lv-commerce-product .quantity__button { min-width: 44px; min-height: 44px; }
.product-section.lv-commerce-product .quantity__input { font-size: 16px; }
body.template-product .product-section.lv-commerce-product .product-form__submit,
body.template-product .product-section.lv-commerce-product .leaven-buy-now { width: 100%; min-height: 50px!important; height: auto!important; padding: 12px 20px!important; border: 1px solid var(--leaven-action, #503a34)!important; border-radius: 4px!important; box-shadow: none!important; transform: none!important; text-transform: none!important; font-family: inherit!important; font-weight: 650!important; font-size: 16px!important; letter-spacing: 0!important; margin: 0!important; }
body.template-product .product-section.lv-commerce-product .product-form__submit { color: var(--leaven-white, #fffefb)!important; background: var(--leaven-action, #503a34)!important; }
body.template-product .product-section.lv-commerce-product .leaven-buy-now { margin-top: 8px!important; min-height: 44px!important; background: transparent!important; color: var(--leaven-action, #503a34)!important; }
.product-section.lv-commerce-product .lv-commerce-purchase-notes { font-size: 14px; line-height: 1.8; color: var(--leaven-muted, #625f58); border-top: 1px solid var(--leaven-line, #d9d4c8); margin-top: 20px; padding-top: 14px; }
.product-section.lv-commerce-product .lv-commerce-purchase-notes p { margin: 0 0 7px; }
.product-section.lv-commerce-product .lv-commerce-purchase-notes a { color: var(--leaven-action, #503a34); text-underline-offset: 4px; }
body.template-product .product-section.lv-commerce-product .product__description-wrapper { grid-column: 1 / -1; width: 100%!important; max-width: none!important; padding: 0!important; margin: 14px 0 0!important; box-shadow: none!important; background: transparent!important; border: 0!important; }
body.template-product .product-section.lv-commerce-product .product__description-wrapper::before { display: none; }
body.template-product .product-section.lv-commerce-product .product__description { font-size: 16px; line-height: 1.85; }
body.template-product .product-section.lv-commerce-product .product__description :is(h2,h3) { font-style: normal!important; text-transform: none!important; line-height: 1.4!important; }
body.template-product .product-section.lv-commerce-product .lvx-cookie-quick-pick { margin: 12px 0; padding: 12px 0; border-top: 1px solid var(--leaven-line, #d9d4c8); border-bottom: 1px solid var(--leaven-line, #d9d4c8); }
body.template-product .product-section.lv-commerce-product .lvx-cookie-quick-pick__eyebrow { display: none; }
body.template-product .product-section.lv-commerce-product .lvx-cookie-quick-pick strong { font-size: 17px; }
body.template-product .product-section.lv-commerce-product .lvx-cookie-quick-pick span { font-size: 14px; }
body.template-product .product-section.lv-commerce-product .lvx-cookie-series { font-family: inherit; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: none; margin: 0 0 12px; }

/* Search: direct navigation with complete result cards. */
.lv-commerce-search.template-search { margin: 0!important; padding: 48px 0 72px; background: var(--leaven-paper, #f8f5ed); }
.lv-commerce-search > .page-width { width: min(1280px,calc(100% - 64px)); max-width: none; padding: 0; }
.lv-commerce-search__heading { max-width: 700px; margin: 0 auto 24px; }
.lv-commerce-search .lv-commerce-search__heading h1 { font-size: clamp(28px,3.2vw,40px)!important; letter-spacing: -.035em; font-weight: 700; line-height: 1.4; margin: 0; }
.lv-commerce-search .template-search__search { width: 100%; max-width: 620px; margin: 0 auto; }
.lv-commerce-search .search__input { font-family: inherit; font-size: 16px; min-height: 56px; border-radius: 4px; }
.lv-commerce-search .search__button { width: 52px; min-height: 52px; }
.lv-commerce-search__routes { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 20px; margin: 18px 0 30px; }
.lv-commerce-search__routes a { display: inline-flex; align-items: center; min-height: 44px; color: var(--leaven-action, #503a34); font-size: 15px; text-underline-offset: 4px; }
.lv-commerce-search__hint { font-size: 16px; line-height: 1.8; text-align: center; max-width: 600px; margin: 24px auto 8px; color: var(--leaven-muted, #625f58); }
.lv-commerce-search__count { border-top: 1px solid var(--leaven-line, #d9d4c8); padding-top: 20px; margin: 0 0 24px; font-size: 14px; color: var(--leaven-muted, #625f58); }
.lv-commerce-search .lv-commerce-results { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px 28px; list-style: none; padding: 0; margin: 0; }
.lv-commerce-search .lv-commerce-results > li { width: 100%; min-width: 0; max-width: none; padding: 0; }

/* Cart: retain platform table/form structure, organize items and summary. */
body.template-cart .lv-commerce-cart.spaced-section { margin: 0; padding: 44px 0 72px; background: var(--leaven-paper, #f8f5ed); }
body.template-cart .lv-commerce-cart #cart-template { width: min(1280px,calc(100% - 64px)); max-width: 1280px!important; margin: 0 auto; padding: 0; background: transparent!important; border: 0!important; border-radius: 0!important; box-shadow: none!important; }
body.template-cart .lv-commerce-cart #cart-form { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 44px; align-items: start; }
body.template-cart .lv-commerce-cart .page-width { width: 100%; max-width: 100%; padding: 0; margin: 0; min-width: 0; }
body.template-cart .lv-commerce-cart .title-wrapper-with-link { margin: 0 0 24px; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: baseline; }
body.template-cart .lv-commerce-cart .title--primary { font-size: 34px!important; line-height: 1.3; letter-spacing: -.04em; font-weight: 700; margin: 0; }
body.template-cart .lv-commerce-cart .underlined-link { font-size: 15px; color: var(--leaven-action, #503a34); min-height: 44px; display: inline-flex; align-items: center; text-underline-offset: 4px; }
body.template-cart .lv-commerce-cart .cart-items th { font-size: 13px; letter-spacing: .02em; color: var(--leaven-muted, #625f58); text-transform: none; padding-bottom: 14px; }
body.template-cart .lv-commerce-cart .cart-item__name { font-family: inherit; font-size: 17px; font-weight: 650; color: var(--leaven-ink, #18252b); line-height: 1.6; text-transform: none; }
body.template-cart .lv-commerce-cart .cart-item__image { object-fit: contain; background: #eeeae1; border-radius: 4px; }
body.template-cart .lv-commerce-cart .cart-item { border-color: var(--leaven-line, #d9d4c8); }
body.template-cart .lv-commerce-cart .product-option { color: var(--leaven-muted, #625f58); font-size: 14px; line-height: 1.6; }
body.template-cart .lv-commerce-cart .quantity { width: 136px; min-height: 44px; }
body.template-cart .lv-commerce-cart .quantity__button { min-width: 44px; min-height: 44px; }
body.template-cart .lv-commerce-cart .quantity__input { font-size: 16px; }
body.template-cart .lv-commerce-cart cart-remove-button a { min-width: 44px; min-height: 44px; }
body.template-cart .lv-commerce-cart .cart__footer { display: block; padding: 24px; margin: 0; background: var(--leaven-white, #fffefb)!important; border: 1px solid var(--leaven-line, #d9d4c8)!important; border-radius: 6px!important; box-shadow: none!important; }
body.template-cart .lv-commerce-cart body.template-cart .lv-commerce-cart__summary-title { font-size: 20px; line-height: 1.5; font-weight: 700; margin: 0 0 20px; }
body.template-cart .lv-commerce-cart .cart__footer > * { width: auto; max-width: 100%; margin-left: 0; }
body.template-cart .lv-commerce-cart .cart__blocks { width: 100%; margin-top: 0; }
body.template-cart .lv-commerce-cart .totals { justify-content: space-between; gap: 12px; border-top: 1px solid var(--leaven-line, #d9d4c8); padding-top: 20px; margin-top: 20px; }
body.template-cart .lv-commerce-cart .totals__subtotal { font-size: 16px; line-height: 1.5; margin: 0; }
body.template-cart .lv-commerce-cart .totals__subtotal-value { font-family: inherit; font-size: 24px; font-weight: 650; color: var(--leaven-action, #503a34); line-height: 1.3; }
body.template-cart .lv-commerce-cart .tax-note { font-size: 13px; line-height: 1.7; text-align: left; margin-top: 14px; }
body.template-cart .lv-commerce-cart .cart__ctas { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
body.template-cart .lv-commerce-cart .cart__ctas button { width: 100%; min-height: 50px; font-family: inherit; font-size: 16px; font-weight: 650; line-height: 1.5; border-radius: 4px; box-shadow: none!important; text-transform: none; letter-spacing: 0; }
body.template-cart .lv-commerce-cart .cart__checkout-button { background: var(--leaven-action, #503a34); color: var(--leaven-white, #fffefb); border: 1px solid var(--leaven-action, #503a34); }
body.template-cart .lv-commerce-cart .cart__ctas .button--secondary { color: var(--leaven-action, #503a34); background: transparent; border: 1px solid var(--leaven-action, #503a34); }
body.template-cart .lv-commerce-cart .cart__warnings { padding: 32px 0 56px; }
body.template-cart .lv-commerce-cart .cart__empty-text { font-size: 28px; line-height: 1.4; margin: 0 0 16px; }
body.template-cart .lv-commerce-cart .cart__warnings p { font-size: 16px; line-height: 1.8; margin: 0 0 24px; }
body.template-cart .lv-commerce-cart #cart-form:has(cart-items.is-empty) { grid-template-columns: minmax(0,1fr); }
body.template-cart .lv-commerce-cart #main-cart-footer.is-empty { display: none; }
body.template-cart .lv-commerce-cart .note.errors { font-size: 15px; line-height: 1.7; }
/* Override the legacy base.css body .button / cart frame rules inside this cart only. */
body.template-cart .lv-commerce-cart :is(.button, .btn) {
  background: var(--leaven-white, #fff8eb)!important;
  color: var(--leaven-action, #503a34)!important;
  border: 1px solid var(--leaven-line, #d8cbbb)!important;
  border-radius: 4px!important;
  box-shadow: none!important;
  transform: none!important;
  font-family: inherit!important;
  font-size: 15px!important;
  letter-spacing: 0!important;
  text-transform: none!important;
  padding: 10px 16px!important;
}
body.template-cart .lv-commerce-cart :is(.button, .btn):hover {
  background: var(--leaven-sheet, #eae2d5)!important;
  box-shadow: none!important;
  transform: none!important;
}
body.template-cart .lv-commerce-cart :is(.cart__checkout-button, button[name="checkout"], .cart__warnings > .button) {
  background: var(--leaven-action, #503a34)!important;
  color: var(--leaven-white, #fff8eb)!important;
  border-color: var(--leaven-action, #503a34)!important;
  font-size: 16px!important;
}
body.template-cart .lv-commerce-cart :is(.cart__checkout-button, button[name="checkout"], .cart__warnings > .button):hover {
  background: var(--leaven-action-deep, #382923)!important;
  border-color: var(--leaven-action-deep, #382923)!important;
}
body.template-cart .lv-commerce-cart :is(cart-remove-button, cart-edit-button) a.button {
  width: 44px; min-width: 44px; min-height: 44px;
  padding: 0!important;
}
body.template-cart .lv-commerce-cart .quantity {
  border: 1px solid var(--leaven-line, #d8cbbb)!important;
  background: var(--leaven-white, #fff8eb)!important;
  box-shadow: none!important;
}
body.template-cart .lv-commerce-cart .quantity__button {
  background: transparent!important;
  color: var(--leaven-action, #503a34)!important;
  border: 0!important;
  box-shadow: none!important;
}
body.template-cart .lv-commerce-cart :is(.price, .price-item, .money, .totals__subtotal-value) {
  color: var(--leaven-action, #503a34)!important;
  font-family: inherit!important;
  background: transparent!important;
  border: 0!important;
  box-shadow: none!important;
}
body.template-cart .lv-commerce-cart :is(a, button, input, select):focus-visible {
  outline: 3px solid var(--leaven-action, #503a34)!important;
  outline-offset: 3px;
}


@media (max-width: 989px) {
  .lv-commerce-catalog .lvx-product-shelf, .lv-commerce-search .lv-commerce-results { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lv-commerce-catalog .lvx-catalog__next--art { grid-template-columns: 90px minmax(0,1fr); }
  .lv-commerce-catalog .lvx-catalog__next-art { width: 90px; height: 90px; }
  .lv-commerce-catalog .lvx-catalog__next-actions { grid-column: 1 / -1; }
  body.template-cart .lv-commerce-cart #cart-form { grid-template-columns: minmax(0,1fr); gap: 32px; }
  body.template-cart .lv-commerce-cart #main-cart-footer { max-width: 560px; justify-self: end; }
}
@media (max-width: 749px) {
  .lv-commerce-catalog { padding-bottom: 48px; }
  .lv-commerce-catalog .lvx-catalog__hero-inner, .lv-commerce-catalog .lvx-catalog__main, .lv-commerce-catalog .lvx-catalog__routes { width: calc(100% - 32px); }
  .lv-commerce-catalog .lvx-catalog__hero-inner { min-height: 0; padding: 18px 0 10px; gap: 12px; }
  .lv-commerce-catalog.lvx-catalog--has-hero-art .lvx-catalog__hero-inner { grid-template-columns: minmax(0,.55fr) minmax(0,.45fr); grid-template-rows: auto auto; gap: 12px; }
  .lv-commerce-catalog.lvx-catalog--has-hero-art .lvx-catalog__hero-title-block { align-self: center; }
  .lv-commerce-catalog.lvx-catalog--has-hero-art .lvx-catalog__hero-copy { grid-column: 1 / -1; grid-row: 2; }
  .lv-commerce-catalog .lvx-catalog__hero-title-block, .lv-commerce-catalog .lvx-catalog__hero-copy { width: 100%; max-width: none; }
  .lv-commerce-catalog .lvx-catalog__hero-visual--backdrop { grid-column: 2; grid-row: 1; min-height: 164px; height: 100%; opacity: 1; }
  .lv-commerce-catalog .lvx-catalog__hero-art--backdrop { object-position: right center; }
  .lv-commerce-catalog.lvx-catalog--drip .lvx-catalog__hero-art--backdrop { object-position: center 25%; }
  .lv-commerce-catalog.lvx-catalog--all .lvx-catalog__hero-art--backdrop { object-position: center 55%; }
  .lv-commerce-catalog .lvx-catalog__kicker { font-size: 12px; margin-bottom: 8px; letter-spacing: .015em; }
  .lv-commerce-catalog .lvx-catalog__title { font-size: clamp(29px,8.2vw,36px)!important; line-height: 1.25!important; }
  .lv-commerce-catalog .lvx-catalog__subtitle { font-size: 15px; margin-top: 4px; }
  .lv-commerce-catalog .lvx-catalog__intro { font-size: 15px; line-height: 1.75; }
  .lv-commerce-catalog .lvx-catalog__browse { margin: 0; min-height: 40px; }
  .lv-commerce-catalog .lvx-catalog__routes { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; padding-bottom: 14px; gap: 7px; }
  .lv-commerce-catalog .lvx-catalog__route { min-height: 44px; padding: 8px 14px; }
  .lv-commerce-catalog .lvx-catalog__route-en { display: none; }
  .lv-commerce-catalog .lvx-catalog__route-zh { font-size: 15px; }
  .lv-commerce-catalog .lvx-catalog__main { padding-top: 18px; }
  .lv-commerce-catalog .lvx-catalog__toolbar { gap: 10px; margin-bottom: 20px; padding-bottom: 12px; }
  .lv-commerce-catalog .lvx-catalog__count { font-size: 13px; }
  .lv-commerce-catalog .lvx-product-shelf { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .lv-commerce-catalog .lvx-product-display__media { aspect-ratio: 1.3 / 1; }
  .lv-commerce-catalog .lvx-product-display__image { width: 78%; height: 88%; }
  .lv-commerce-catalog .lvx-catalog__next, .lv-commerce-catalog .lvx-kombucha-gate { grid-template-columns: minmax(0,1fr); gap: 18px; margin-top: 44px; padding-top: 28px; }
  .lv-commerce-catalog .lvx-kombucha-gate { margin-top: 0; padding-top: 8px; }
  .lv-commerce-catalog .lvx-catalog__next--art { grid-template-columns: 76px minmax(0,1fr); }
  .lv-commerce-catalog .lvx-catalog__next-art { width: 76px; height: 76px; }
  .lv-commerce-catalog :is(.lvx-catalog__next,.lvx-kombucha-gate) h2 { font-size: 25px!important; }
  .lv-commerce-catalog .lvx-catalog__guide { margin-top: 32px; }
  .lvx-product-display__title small { font-size: 14px; }
  .lvx-product-display__body { padding-top: 14px; }
  body.template-product .product-section.lv-commerce-product { padding: 12px 16px 40px!important; }
  body.template-product .product-section.lv-commerce-product .lvx-product-context { font-size: 13px; margin-bottom: 12px; }
  body.template-product .product-section.lv-commerce-product .product.grid { grid-template-columns: minmax(0,1fr); gap: 18px!important; }
  body.template-product .product-section.lv-commerce-product .product__media-list,
  body.template-product .product-section.lv-commerce-product .product__media-item { height: min(65vw,250px)!important; min-height: 0!important; }
  body.template-product .product-section.lv-commerce-product .product__media-item img { object-fit: contain!important; height: 100%!important; }
  body.template-product .product-section.lv-commerce-product .product__info-container { padding-top: 0!important; }
  body.template-product .product-section.lv-commerce-product .product__title { font-size: 26px!important; line-height: 1.35!important; margin-bottom: 10px!important; }
  body.template-product .product-section.lv-commerce-product .lv-commerce-product__english { font-size: 15px; margin-top: 5px; }
  body.template-product .product-section.lv-commerce-product .price .price-item { font-size: 23px!important; }
  body.template-product .product-section.lv-commerce-product .product__description-wrapper { margin-top: 20px!important; }
  .lv-commerce-search.template-search { padding: 32px 0 48px; }
  .lv-commerce-search > .page-width { width: calc(100% - 32px); }
  .lv-commerce-search__heading { margin-bottom: 20px; }
  .lv-commerce-search .lv-commerce-results { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .lv-commerce-search .lvx-product-display__media { aspect-ratio: 1.3 / 1; }
  .lv-commerce-search__routes { gap: 2px 16px; margin: 12px 0 22px; }
  body.template-cart .lv-commerce-cart.spaced-section { padding: 28px 0 48px; }
  body.template-cart .lv-commerce-cart #cart-template { width: calc(100% - 32px); }
  body.template-cart .lv-commerce-cart .title--primary { font-size: 30px!important; }
  body.template-cart .lv-commerce-cart .cart-item__name { font-size: 16px; }
  body.template-cart .lv-commerce-cart .cart__footer { padding: 20px 16px; }
  body.template-cart .lv-commerce-cart .cart-item { gap: 16px; }
  body.template-cart .lv-commerce-cart .cart-item__media { width: 76px; }
  body.template-cart .lv-commerce-cart .cart-item__image { width: 76px; height: 90px; }
  body.template-cart .lv-commerce-cart .cart-item__quantity { padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .lvx-product-display__image img { transition: none; }
}

.product-section.lv-commerce-product [data-lv-duplicate-spec][hidden] { display: none!important; }
