/* Merchant storefront additions; Coco9 editorial layout remains intact. */
body[data-design="editorial"] .demo-notice {background:#f6f6f4;color:#545454}
body[data-design="editorial"] footer {gap:22px;flex-wrap:wrap}
.shop-page {width:min(820px,calc(100% - 42px));margin:64px auto 100px;min-height:48vh}
.shop-page h1 {font-size:clamp(30px,5vw,58px);letter-spacing:-.045em;margin:14px 0 24px}
.shop-page .eyebrow {font-size:12px;font-weight:750;letter-spacing:.22em}
.shop-page p {color:#333}
.shop-page a {text-decoration:underline}
.shop-muted {color:#626262;font-size:14px;line-height:1.7}
.shop-warning {padding:12px 15px;background:#f3f3f1;border-left:3px solid #222}
#detail {width:min(540px,calc(100% - 28px));border-radius:4px;max-height:min(90vh,750px);overflow-y:auto}
#detail h2 {font-size:27px;letter-spacing:-.03em}
.shop-product-cover {display:block;width:100%;max-height:260px;object-fit:cover;margin:0 0 20px;background:#eee}
.shop-product-details {white-space:pre-wrap;line-height:1.75}
.shop-delivery {margin:22px 0;padding:18px;background:#f6f6f2;border:1px solid #e1e1dc}
.shop-delivery h3 {margin:0 0 10px;font-size:18px}
.shop-delivery dl,.shop-delivery dd {margin:0}.shop-delivery div {padding:8px 0;border-top:1px solid #ddd}.shop-delivery div:first-child {border-top:0}
.shop-delivery dt {font-size:12px;font-weight:750;letter-spacing:.07em;color:#666}.shop-delivery dd {white-space:pre-wrap;margin-top:3px}
#detail input,.shop-form input,.shop-form textarea {display:block;width:100%;margin-top:8px;border:1px solid #ccc;padding:13px;border-radius:3px;font:inherit}
#order-form label,.shop-form label {font-weight:600;display:block;margin:18px 0 12px}
#order-form button,.shop-form button {background:#191919;color:white;border-radius:3px;min-height:44px}
#order-form button:disabled {opacity:.5;cursor:not-allowed}
#order-feedback:not(:empty) {padding:10px;background:#fff4ec;color:#8b3b0c}
.shop-order-created label {font-weight:600;display:block;margin:18px 0 8px}
.shop-order-created input {display:block;width:100%;margin-top:8px;border:1px solid #ccc;padding:13px;border-radius:3px;font-family:ui-monospace,monospace}
.shop-order-created button {margin-bottom:4px;background:#191919;color:#fff;border-radius:3px;min-height:44px}
.shop-form {max-width:560px}
.shop-order-result {padding:22px;margin-top:24px;background:#f6f6f4;border:1px solid #e5e5e0}
.shop-order-result h2 {margin-top:0}
.shop-order-result button,.shop-card-code button{background:#191919;color:#fff;border:0;padding:11px 15px;margin:8px 10px 8px 0}.shop-card-code{border-top:1px solid #d8d8d2;padding:14px 0}.shop-card-code input{font-family:ui-monospace,monospace}.shop-page hr{border:0;border-top:1px solid #ddd;margin:42px 0}
.shop-payment-link{display:inline-block;padding:.8rem 1rem;border:1px solid currentColor;font-weight:700;text-decoration:none!important}
.shop-order-result code{overflow-wrap:anywhere}.shop-page #order-created{margin:24px 0;padding:22px;background:#f6f6f4;border:1px solid #e5e5e0}
@media(max-width:767px){.shop-page{margin:38px auto 72px}body[data-design="editorial"] footer{align-items:flex-start}}

/* Xiaoman help-center layout */
.shop-policy {font-size:15px;color:#3f3b37}.shop-page .shop-policy li {font-size:14px}.shop-page .shop-policy h2 {letter-spacing:-.02em}


/* Xiaoman V2 — full-viewport left drawer, all screen widths. */
body.storefront[data-design="editorial"] > header {
  gap:14px;
}
body.storefront[data-design="editorial"] > header .nav-toggle {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  order:-1 !important;
  flex:0 0 auto;
  width:46px;
  height:46px;
  min-height:46px;
  padding:10px;
  color:#242424;
  background:transparent;
  border:1px solid #dedbd5;
  border-radius:10px;
  line-height:1;
}
body.storefront[data-design="editorial"] > header .nav-toggle:hover {
  background:#ede9e2;
}
body.storefront[data-design="editorial"] > header .nav-toggle:focus-visible,
body.storefront[data-design="editorial"] .store-drawer :focus-visible {
  outline:3px solid #ed743f;
  outline-offset:2px;
}
body.storefront[data-design="editorial"] > header .brand {
  order:0;
  margin-right:auto;
}
.store-drawer-backdrop {
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(20,21,21,.52);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .26s ease, visibility 0s linear .26s;
}
.store-drawer-backdrop.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .26s ease, visibility 0s;
}
.store-drawer {
  position:fixed;
  inset:0 auto 0 0;
  z-index:1001;
  width:min(360px,85vw);
  height:100vh;
  height:100dvh;
  max-width:85vw;
  display:flex;
  flex-direction:column;
  color:#242424;
  background:#fdfbf7;
  box-shadow:12px 0 45px rgba(15,16,18,.15);
  transform:translate3d(-103%,0,0);
  visibility:hidden;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), visibility 0s linear .28s;
  will-change:transform;
  isolation:isolate;
}
.store-drawer.is-open {
  transform:translate3d(0,0,0);
  visibility:visible;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), visibility 0s;
}
.store-drawer-top {
  flex:0 0 auto;
  padding:25px 24px 21px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #e7e2da;
}
.store-drawer .drawer-brand {
  color:#242424;
  display:inline-flex;
  align-items:center;
  gap:11px;
  font-size:22px;
  font-weight:750;
  letter-spacing:-.04em;
  text-decoration:none;
}
.store-drawer .drawer-brand .brandmark {
  width:174px;
  height:68px;
  flex:0 0 174px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  overflow:visible;
}
.store-drawer .drawer-brand .published-store-logo,
body.storefront[data-design="editorial"] > header .published-store-logo {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
body.storefront[data-design="editorial"] .store-drawer .drawer-close {
  flex:0 0 44px;
  width:44px;
  height:44px;
  padding:9px;
  background:transparent !important;
  color:#242424 !important;
  border:1px solid #dedbd5 !important;
  border-radius:9px;
}
.store-drawer-scroll {
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:20px 24px 22px;
  scrollbar-width:thin;
}
.store-drawer-main {
  display:flex;
  flex:none;
  flex-direction:column;
  gap:2px;
}
.store-drawer-main a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  min-height:51px;
  padding:12px 4px;
  color:#242424;
  font-size:17px;
  font-weight:630;
  line-height:1.45;
  border-radius:6px;
  text-decoration:none;
}
.store-drawer-main a span {
  color:#bdad9e;
  font-size:14px;
}
.store-drawer-main a:hover,
.store-drawer .store-drawer-category:hover {
  color:#aa562c;
  background:#f5eee7 !important;
}
.store-drawer-categories {
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid #e3ded6;
}
.store-drawer-categories h2 {
  color:#79736e;
  margin:0 0 12px;
  font-size:12px;
  font-weight:750;
  letter-spacing:.12em;
}
.store-drawer-category-list {
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
body.storefront[data-design="editorial"] .store-drawer .store-drawer-category {
  display:block;
  flex:0 0 auto;
  width:100%;
  min-height:45px;
  padding:10px 5px;
  margin:0;
  background:transparent !important;
  color:#373531 !important;
  border:0 !important;
  text-align:left;
  font-size:14px;
  font-weight:500;
  line-height:1.5;
  cursor:pointer;
  border-radius:6px;
}
.store-drawer-footer {
  flex:0 0 auto;
  padding:19px 24px 25px;
  border-top:1px solid #e3ded6;
  background:#faf7f2;
}
.store-drawer-footer a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:44px;
  color:#514840;
  font-size:13px;
  font-weight:650;
  text-decoration:none;
}
.store-drawer-footer a span {color:#b47652;}
.store-drawer-open {overscroll-behavior:none;}
/* Preserve the V1 server-driven image URL and original productCover fallback. */
body.storefront[data-design="editorial"] #detail {
  max-width:calc(100vw - 24px);
  overflow-wrap:break-word;
  overflow-x:hidden;
}
body.storefront[data-design="editorial"] #detail .shop-product-cover {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:5/3;
  max-height:min(245px,36vh);
  object-fit:cover;
  object-position:center;
  margin:0 0 20px;
  border-radius:12px;
}
body.storefront[data-design="editorial"] #detail #detail-title {
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
@media(max-width:767px) {
  body.storefront[data-design="editorial"] > header {
    gap:12px;
  }
  body.storefront[data-design="editorial"] > header .nav-toggle {
    order:-1 !important;
    width:44px;
    height:44px;
    min-height:44px;
  }
  .store-drawer-top {padding:18px 18px 16px;}
  .store-drawer-scroll {padding:17px 18px 20px;}
  .store-drawer-footer {padding:13px 18px 19px;}
  body.storefront[data-design="editorial"] #detail {
    width:calc(100vw - 20px);
    max-height:calc(100dvh - 20px);
    padding:16px;
    box-sizing:border-box;
  }
  body.storefront[data-design="editorial"] #detail .shop-product-cover {
    max-height:200px;
    aspect-ratio:16/9;
  }
}
@media(prefers-reduced-motion:reduce) {
  .store-drawer,.store-drawer-backdrop {
    transition:none !important;
  }
}

/* Xiaoman V3: sticky storefront header, preserving V2 drawer and body scroll lock.
 * The notice precedes the header; both remain sticky in document flow.
 * Drawer and overlay retain their original 1001 / 1000 stacking levels.
 * Native showModal() places product details in the top layer above the header.
 */
body.storefront[data-design="editorial"] > header {
  position: sticky;
  top: 36px;
  z-index: 40;
  background: rgba(247,245,240,.97);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(55,48,42,.12);
  box-shadow: 0 4px 16px rgba(31,27,23,.075);
}
/* Keep in-page focus/scrollIntoView targets clear of the sticky header.
 * These properties do not change layout geometry or add scroll bars.
 */
body.storefront[data-design="editorial"] #main,
body.storefront[data-design="editorial"] .factory-store .catalogue {
  scroll-margin-top: 126px;
}
@media(max-width:1000px) {
  body.storefront[data-design="editorial"] #main,
  body.storefront[data-design="editorial"] .factory-store .catalogue {
    scroll-margin-top: 118px;
  }
}
@media(max-width:767px) {
  body.storefront[data-design="editorial"] #main,
  body.storefront[data-design="editorial"] .factory-store .catalogue {
    scroll-margin-top: 112px;
  }
}

/* V5 taxonomy navigation: two-tier category filtering, no horizontal page overflow. */
body.storefront[data-design="editorial"] .factory-store .main-group-filters {
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  width:100%;
  max-width:100%;
  margin:0 0 13px;
  padding:0 0 12px;
  border-bottom:1px solid #e2dbd2;
}
body.storefront[data-design="editorial"] .factory-store .main-group-filter {
  min-height:44px;
  max-width:100%;
  padding:10px 15px;
  font-size:12px;font-weight:650;line-height:1.45;
  color:#39342f !important;
  background:#fdfaf5 !important;
  border:1px solid #ddd5cb !important;
  border-radius:9px;
  white-space:normal;
  text-align:center;
  cursor:pointer;
}
body.storefront[data-design="editorial"] .factory-store .main-group-filter .main-group-icon {
  display:inline-block;
  width:18px;height:18px;
  margin-right:6px;
  vertical-align:-4px;
  object-fit:contain;
  border-radius:2px;
}
body.storefront[data-design="editorial"] .factory-store .main-group-filter:hover {
  border-color:#7a6a5d !important;
}
body.storefront[data-design="editorial"] .factory-store .main-group-filter.active {
  background:#fdfaf5 !important;
  color:#39342f !important;
  border:2px solid #6e6256 !important;
  padding:9px 14px;
}
body.storefront[data-design="editorial"] .main-group-count {
  font:inherit;opacity:.72;margin-left:3px
}
body.storefront[data-design="editorial"] .factory-store .subcategory-filters {
  min-width:0;max-width:100%;margin-bottom:8px;
}
.store-drawer .drawer-category-group {border-bottom:1px solid #eee8df;}
.store-drawer .drawer-category-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  gap:3px;
  align-items:center;
}
body.storefront[data-design="editorial"] .store-drawer .drawer-group-toggle {
  height:44px;
  min-height:44px;
  width:44px;
  flex:0 0 44px;
  padding:6px;
  border:0 !important;
  background:transparent !important;
  color:#61554c !important;
  border-radius:8px;
  font-size:20px;font-weight:750;line-height:1;
  cursor:pointer;
  transition:transform .18s ease;
}
body.storefront[data-design="editorial"] .store-drawer .drawer-group-toggle[aria-expanded="true"] {
  transform:rotate(180deg);
}
.store-drawer .drawer-subcategories {
  display:flex;
  flex-direction:column;
  padding:0 0 8px 12px;
  border-left:2px solid #e5d9cb;
  margin:0 0 10px 12px;
}
.store-drawer .drawer-subcategories[hidden]{display:none !important;}
body.storefront[data-design="editorial"] .store-drawer .drawer-subcategories .store-drawer-category {
  min-height:44px;color:#645d55 !important;font-size:13px;padding-inline:11px;
}
@media(max-width:767px) {
  body.storefront[data-design="editorial"] .factory-store .main-group-filters {
    flex-wrap:nowrap;
    gap:7px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
    padding:0 0 12px;
  }
  body.storefront[data-design="editorial"] .factory-store .main-group-filter {
    flex:0 0 auto;
    min-height:44px;
    white-space:nowrap;
    padding:10px 13px;
  }
  body.storefront[data-design="editorial"] .factory-store .subcategory-filters {
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
  }
}
@media(prefers-reduced-motion:reduce) {
  .store-drawer .drawer-group-toggle{transition:none !important;}
}



/* LVJIAO V1.4 — a full product page replaces the old detail modal.
 * Separate document URL, natural browser history and scrolling, mobile-first details.
 */
body.storefront[data-design="editorial"] .product-detail-page {
  width:100%;
  max-width:1120px;
  margin:0 auto;
  padding:26px 0 88px;
  overflow-wrap:anywhere;
}
.product-detail-breadcrumb {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin:0 0 28px;
  font-size:12px;
  line-height:1.5;
  color:#81776d;
}
.product-detail-breadcrumb a,
.product-detail-return a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  text-underline-offset:5px;
  text-decoration:underline;
  color:#393530;
}
.product-detail-breadcrumb a:hover,
.product-detail-return a:hover {color:#bc6238}
.product-detail-hero {
  display:grid;
  grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);
  gap:clamp(24px,4vw,72px);
  align-items:start;
}
.product-detail-cover-panel {
  border-radius:17px;
  overflow:hidden;
  border:1px solid #e7e1d9;
  background:#f6f3ed;
  display:grid;
  place-items:center;
  min-height:340px;
  aspect-ratio:1/1;
}
.product-detail-cover {
  display:block;
  width:100%;
  height:100%;
  max-height:600px;
  object-fit:contain;
  object-position:center;
}
.product-detail-cover-placeholder {
  display:grid;
  place-items:center;
  width:min(175px,50%);
  aspect-ratio:1;
  border-radius:28px;
  background:#242424;
  color:#faf7f0;
  font-size:clamp(36px,5vw,62px);
  font-weight:650;
  letter-spacing:-.065em;
}
.product-detail-eyebrow {
  font-size:10px;
  letter-spacing:.2em;
  font-weight:700;
  color:#88786a;
  margin:0 0 12px;
}
.product-detail-category {
  display:inline-block;
  font-size:12px;
  line-height:1.4;
  padding:8px 11px;
  margin:0 0 20px;
  background:#f3eee8;
  border:1px solid #e8dfd3;
  border-radius:6px;
  color:#554c44;
}
.product-detail-intro {min-width:0}
.product-detail-intro .product-detail-purchase {margin-bottom:28px}
@media(min-width:1024px) {
  /* Desktop only: title and product identity above price and payment.
     The current mobile DOM order (price first) remains untouched. */
  body.storefront[data-design="editorial"] .product-detail-intro {
    display:flex;
    flex-direction:column;
  }
  body.storefront[data-design="editorial"] .product-detail-intro > .product-detail-purchase {
    order:1;
    margin:24px 0 0;
  }
  body.storefront[data-design="editorial"] .product-detail-intro > h1 {
    margin:0;
  }
}
body.storefront[data-design="editorial"] .product-detail-intro h1 {
  font-size:clamp(27px,3.3vw,47px);
  line-height:1.33;
  letter-spacing:-.035em;
  font-weight:700;
  margin:0;
  overflow-wrap:anywhere;
}
.product-detail-summary {
  white-space:pre-wrap;
  font-size:15px;
  line-height:1.85;
  color:#5e5750;
  margin:0 0 26px;
}
.product-detail-price {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:12px;
  padding:24px 0 23px;
  border-top:1px solid #ebe5dd;
  border-bottom:1px solid #ebe5dd;
  margin-bottom:25px;
}
.product-detail-price small {font-size:12px;color:#817970}
.product-detail-original-price {
  color:#8c8278;
  font-size:14px;
  text-decoration:line-through;
  font-variant-numeric:tabular-nums;
}
.product-detail-savings {
  color:#617264;
  background:#edf2ec;
  border-radius:5px;
  padding:3px 7px;
  font-size:12px;
  white-space:normal;
}
.product-detail-price strong {
  font-weight:700;
  font-size:clamp(26px,3vw,36px);
  color:#1f1d1a;
  font-variant-numeric:tabular-nums;
}
.product-detail-action {max-width:100%}
.product-detail-action .shop-warning {
  margin:0;
  border-left-color:#534940;
  border-radius:4px;
  font-size:13px;
  line-height:1.8;
  padding:16px;
}
.product-detail-action #order-form label {font-size:14px}
.product-detail-action #order-form input {
  display:block;
  width:100%;
  max-width:100%;
  background:#fff;
  border:1px solid #d7cfc5;
  border-radius:7px;
}
.product-detail-action #order-form button {
  min-height:46px;
  padding:12px 18px;
  border-radius:6px;
  width:100%;
  font-weight:650;
}
.product-detail-information {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr);
  gap:24px;
  margin-top:48px;
}
.product-detail-section {
  min-width:0;
  border:1px solid #e8e0d6;
  background:#fffefa;
  border-radius:12px;
  padding:27px;
}
.product-detail-section h2 {
  margin:0 0 18px;
  font-size:19px;
  line-height:1.5;
  letter-spacing:-.018em;
}
.product-detail-prose {
  color:#49433d;
  font-size:14px;
  white-space:pre-wrap;
  line-height:2.05;
  overflow-wrap:anywhere;
}
.product-detail-information .shop-delivery {
  margin:0;
  background:#f8f6f2;
  border-color:#e8e0d6;
}
.product-detail-information .shop-delivery h2 {margin-bottom:16px}
.product-detail-security {
  grid-column:1/-1;
  background:#f8f7f3;
}
.product-detail-security p {font-size:13px;line-height:1.9;color:#5c5650}
.product-detail-security a {font-size:13px;text-decoration:underline}
.product-detail-return {margin:28px 0 0;font-size:13px}
.product-detail-missing {text-align:left}
.product-detail-missing a {display:inline-block;margin-top:20px}
@media(max-width:850px){
  .product-detail-hero {gap:26px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .product-detail-cover-panel {min-height:240px}
  .product-detail-information {grid-template-columns:1fr}
  .product-detail-security {grid-column:auto}
}
@media(max-width:680px){
  body.storefront[data-design="editorial"] .product-detail-page {
    padding:16px 0 52px;
  }
  .product-detail-breadcrumb {margin-bottom:16px}
  .product-detail-hero {grid-template-columns:1fr;gap:24px}
  .product-detail-cover-panel {
    min-height:0;
    max-height:none;
    aspect-ratio:auto;
    border-radius:12px;
  }
  .product-detail-cover {
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
  }
  body.storefront[data-design="editorial"] .product-detail-intro h1 {font-size:clamp(24px,6vw,34px)}
  .product-detail-summary {font-size:14px;margin-bottom:20px}
  .product-detail-category {margin-bottom:14px}
  .product-detail-price {margin-bottom:20px;padding:16px 0}
  .product-detail-intro .product-detail-purchase {margin-bottom:24px}
  .product-detail-information {margin-top:25px;gap:15px}
  .product-detail-section {padding:20px 16px;border-radius:9px}
}


/* LVJIAO V1.5: production-safe, admin-authenticated test checkout. */
.product-test-checkout {
  margin:21px 0 0;padding:20px 18px;
  background:#fcf8ee;border:1px solid #d9bc8c;border-radius:10px;
  color:#443b30;line-height:1.75;overflow-wrap:anywhere;
}
.product-test-tag {
  display:inline-block;color:#805225;font-size:12px;font-weight:700;
  letter-spacing:.025em;margin:0 0 8px;
}
.product-test-checkout p {font-size:13px;line-height:1.75}
.product-test-checkout button,.product-test-actions button {
  background:#282522;color:#fff;border:1px solid #282522;
  border-radius:6px;padding:11px 13px;min-height:44px;
  cursor:pointer;font-size:13px;font-weight:650;
}
.product-test-checkout button:disabled {cursor:wait;opacity:.6}
.product-test-issued {margin:15px 0 0}
.product-test-issued label {display:block;font-size:13px;margin:14px 0 0}
.product-test-issued input {
  display:block;width:100%;padding:12px;margin-top:7px;
  font:600 14px ui-monospace,monospace;
  background:#fff;border:1px solid #bcb4aa;border-radius:5px;
}
.product-test-actions {
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;
}
.product-test-actions a {
  display:inline-flex;align-items:center;min-height:44px;
  font-size:13px;text-decoration:underline;text-underline-offset:4px;
}
#inspect-redemption-result .shop-order-result {margin:12px 0;padding:14px}
#inspect-redemption-card {background:#f5f1eb;color:#342c26;border:1px solid #c9bdae}

.shop-page .redeem-actions {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  width:100%;
  margin:18px 0 0;
}
.shop-page .redeem-actions button {
  width:100%;
  min-width:0;
  box-sizing:border-box;
  min-height:50px;
  padding:11px 8px;
  font-size:clamp(13px,3.5vw,16px);
  white-space:nowrap;
}
.shop-page #task-form button {min-height:48px}

@media(max-width:680px) {
 .product-test-checkout {padding:16px 13px}
 .product-test-actions {align-items:stretch;flex-direction:column}
 .product-test-actions button {width:100%}
}


/* LVJIAO V2.3: one genuine category row, no brand toolbar */
body.storefront[data-design="editorial"] .factory-store .main-group-filters {
  margin:0 0 17px;
  padding:0 0 12px;
  border-bottom:1px solid #e8e0d6;
}
body.storefront[data-design="editorial"] .factory-store .catalog-group-empty {
  padding:16px 0;
  margin:0 0 15px;
  color:#84776a;
  font-size:13px;
}


/* LVJIAO V2.4 — product title → price → checkout entry → full descriptions.
 * The checkout button follows the server-owned checkoutEnabled flag.
 */
body.storefront[data-design="editorial"] .product-detail-intro h1 {
  margin-bottom:16px;
}
body.storefront[data-design="editorial"] .product-detail-purchase {
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}
body.storefront[data-design="editorial"] .product-detail-purchase .product-detail-price {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px;
  padding:0;
  margin:0;
  border:0;
}
body.storefront[data-design="editorial"] .product-detail-purchase .product-detail-price small {
  color:#82766a;
  font-size:12px;
}
body.storefront[data-design="editorial"] .product-detail-purchase .product-detail-price strong {
  font-size:clamp(28px,3.4vw,39px);
  font-weight:750;
  line-height:1.25;
  color:#28231e;
}
body.storefront[data-design="editorial"] .product-detail-purchase .product-detail-action {
  width:100%;
  max-width:440px;
}
body.storefront[data-design="editorial"] .product-detail-pay-button {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  min-height:54px;
  padding:13px 20px;
  background:#242424;
  color:#fff;
  border:1px solid #242424;
  border-radius:9px;
  font-size:16px;
  font-weight:750;
  line-height:1.5;
  cursor:pointer;
}
body.storefront[data-design="editorial"] .product-detail-pay-button:not(:disabled):hover {
  background:#393530;
}
body.storefront[data-design="editorial"] .product-detail-pay-button:focus-visible {
  outline:3px solid #c37a50;
  outline-offset:3px;
}
body.storefront[data-design="editorial"] .product-detail-pay-button:disabled {
  background:#b9b5af;
  color:#fbfaf8;
  border-color:#b9b5af;
  cursor:not-allowed;
}
body.storefront[data-design="editorial"] .product-detail-pay-unavailable {
  margin:9px 0 0;
  color:#86766b;
  font-size:12px;
  line-height:1.75;
}
body.storefront[data-design="editorial"] .product-detail-action #order-form {
  width:100%;
  padding:15px 0 0;
}
body.storefront[data-design="editorial"] .product-detail-action #order-form[hidden] {
  display:none !important;
}
body.storefront[data-design="editorial"] .product-detail-action #order-form label {
  margin-top:0;
  color:#4d463e;
}
body.storefront[data-design="editorial"] .product-detail-action #order-form button[type="submit"] {
  min-height:49px;
}
body.storefront[data-design="editorial"] .product-detail-action #order-form .shop-muted {
  margin:12px 0 0;
  font-size:12px;
}
body.storefront[data-design="editorial"] .product-detail-information .product-detail-summary {
  color:#666057;
  font-size:14px;
  margin:0 0 17px;
}
@media(max-width:680px) {
  body.storefront[data-design="editorial"] .product-detail-intro h1 {
    margin:0 0 13px;
  }
  body.storefront[data-design="editorial"] .product-detail-purchase {
    gap:12px;
  }
  body.storefront[data-design="editorial"] .product-detail-purchase .product-detail-price {
    padding:0;
    margin:0;
    border:0;
  }
  body.storefront[data-design="editorial"] .product-detail-purchase .product-detail-price strong {
    font-size:clamp(28px,7vw,35px);
  }
  body.storefront[data-design="editorial"] .product-detail-purchase .product-detail-action {
    max-width:none;
  }
  body.storefront[data-design="editorial"] .product-detail-pay-button {
    min-height:52px;
    border-radius:8px;
  }
  body.storefront[data-design="editorial"] .product-detail-information {
    margin-top:35px;
    gap:14px;
  }
}

/* LVJIAO V2.6 — slim text-based navigation, not heavyweight buttons.
 * Public navigation still comes exclusively from GET /api/catalog.
 * Header menu and identity stay fixed; category text scrolls horizontally.
 */
body.storefront[data-design="editorial"] > header {
  height:80px;
  min-width:0;
  padding:0 max(24px,calc((100vw - 1280px)/2));
  gap:15px;
  overflow:visible;
  background:rgba(251,250,247,.97);
  border-bottom:1px solid #e9e4dd;
  box-shadow:0 2px 10px rgba(40,35,28,.04);
}
body.storefront[data-design="editorial"] > header .nav-toggle {
  flex:0 0 40px;
  width:40px;
  height:40px;
  min-height:40px;
  padding:8px;
  border:1px solid #e3dfd9;
  border-radius:9px;
  background:transparent!important;
  color:#34302b!important;
}
body.storefront[data-design="editorial"] > header .nav-toggle:hover {
  background:#eeebe6!important;
}
body.storefront[data-design="editorial"] > header .brand {
  flex:0 0 auto;
  margin-right:0;
  gap:7px;
  color:#262522;
  font-size:16px;
  font-weight:720;
  letter-spacing:-.45px;
}
body.storefront[data-design="editorial"] > header .brandmark {
  display:flex;
  align-items:center;
  justify-content:center;
  width:192px;
  height:72px;
  flex:0 0 192px;
  background:transparent;
  border-radius:0;
}
body.storefront[data-design="editorial"] > header .header-category-nav {
  display:flex;
  flex:1 1 0;
  align-items:stretch;
  justify-content:flex-start;
  gap:1px;
  min-width:0;
  max-width:100%;
  height:100%;
  margin:0 0 0 1px;
  padding:0 12px 0 8px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  white-space:nowrap;
  -webkit-mask-image:linear-gradient(to right,#000 0%,#000 calc(100% - 10px),transparent 100%);
  mask-image:linear-gradient(to right,#000 0%,#000 calc(100% - 10px),transparent 100%);
}
body.storefront[data-design="editorial"] > header .header-category-nav::-webkit-scrollbar {
  display:none;
}
body.storefront[data-design="editorial"] > header .header-category-nav[hidden] {
  display:none!important;
}
body.storefront[data-design="editorial"] > header .header-category-chip {
  position:relative;
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  max-width:none;
  min-height:44px!important;
  padding:0 15px;
  margin:0;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#766e65!important;
  font-size:14px;
  font-weight:520;
  letter-spacing:0;
  line-height:1.4;
  white-space:nowrap;
  cursor:pointer;
  scroll-snap-align:start;
  transition:color .18s ease;
}
body.storefront[data-design="editorial"] > header .header-category-chip::after {
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:10px;
  height:2px;
  border-radius:2px;
  background:#2f2c28;
  opacity:0;
  transition:opacity .18s ease;
  pointer-events:none;
}
body.storefront[data-design="editorial"] > header .header-category-chip:hover {
  background:transparent!important;
  color:#302c27!important;
}
body.storefront[data-design="editorial"] > header .header-category-chip.active,
body.storefront[data-design="editorial"] > header .header-category-chip[aria-pressed="true"] {
  background:transparent!important;
  color:#23201d!important;
  font-weight:720;
}
body.storefront[data-design="editorial"] > header .header-category-chip.active::after,
body.storefront[data-design="editorial"] > header .header-category-chip[aria-pressed="true"]::after {
  opacity:1;
}
body.storefront[data-design="editorial"] > header .header-category-chip:focus-visible {
  outline:2px solid #bd886b;
  outline-offset:-3px;
  border-radius:4px!important;
}
@media(max-width:1000px) {
  body.storefront[data-design="editorial"] > header {
    height:64px;
    padding:0 18px;
    gap:10px;
  }
  body.storefront[data-design="editorial"] > header .header-category-chip {
    padding:0 11px;
    font-size:11.5px;
  }
  body.storefront[data-design="editorial"] > header .header-category-chip::after {
    left:11px;
    right:11px;
    bottom:8px;
  }
}
@media(max-width:767px) {
  body.storefront[data-design="editorial"] > header {
    top:40px;
    height:60px;
    gap:8px;
    padding:0 0 0 12px;
  }
  body.storefront[data-design="editorial"] > header .nav-toggle {
    flex:0 0 38px;
    width:38px;
    height:38px;
    min-height:38px;
    padding:8px;
    border-radius:9px;
  }
  body.storefront[data-design="editorial"] > header .nav-toggle svg {
    width:20px;
    height:20px;
  }
  body.storefront[data-design="editorial"] > header .brand {
    margin-right:0;
    gap:6px;
    font-size:14px;
    letter-spacing:-.35px;
  }
  body.storefront[data-design="editorial"] > header .brandmark {
    width:118px;
    height:46px;
    flex-basis:118px;
  }
  body.storefront[data-design="editorial"] > header .header-category-nav {
    flex:1 1 0;
    gap:0;
    margin-left:1px;
    padding-left:6px;
    padding-right:11px;
    min-width:0;
  }
  body.storefront[data-design="editorial"] > header .header-category-chip {
    min-height:44px!important;
    max-width:none;
    padding:0 10px;
    font-size:11px;
    font-weight:520;
  }
  body.storefront[data-design="editorial"] > header .header-category-chip::after {
    bottom:7px;
    left:10px;
    right:10px;
    height:2px;
  }
}
@media(prefers-reduced-motion:reduce){
  body.storefront[data-design="editorial"] > header .header-category-chip,
  body.storefront[data-design="editorial"] > header .header-category-chip::after {
    transition:none;
  }
}

/* LVJIAO V2.7 — dedicated, server-backed category document.
 * No duplicated home hero, invented groups, brand row, or price data.
 */
body.storefront[data-design="editorial"] .category-page {
  width:100%;
  margin:0 auto;
  min-height:58vh;
  padding:33px 0 86px;
  color:#25231f;
}
body.storefront[data-design="editorial"] .category-page-inner {
  width:100%;
  min-width:0;
}
body.storefront[data-design="editorial"] .category-breadcrumb {
  display:flex;
  flex:0 1 auto;
  align-items:center;
  gap:11px;
  margin:0 0 29px;
  color:#8d8479;
  font-size:12px;
  line-height:1.5;
}
body.storefront[data-design="editorial"] .category-breadcrumb a {
  color:#6d645b;
  text-decoration:none;
  transition:color .15s ease;
}
body.storefront[data-design="editorial"] .category-breadcrumb a:hover {
  color:#222;
}
body.storefront[data-design="editorial"] .category-breadcrumb [aria-current="page"] {
  color:#38322e;
  overflow-wrap:anywhere;
}
body.storefront[data-design="editorial"] .category-page-heading {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:4px 0 31px;
  border-bottom:1px solid #e6dfd5;
}
body.storefront[data-design="editorial"] .category-page-title {
  max-width:760px;
  min-width:0;
}
body.storefront[data-design="editorial"] .category-page-eyebrow {
  margin:0 0 17px;
  color:#a17c66;
  font-size:10px;
  font-weight:750;
  letter-spacing:.19em;
}
body.storefront[data-design="editorial"] .category-page h1 {
  max-width:100%;
  margin:0;
  font-size:clamp(34px,4.1vw,52px);
  line-height:1.26;
  font-weight:750;
  letter-spacing:-.045em;
  overflow-wrap:anywhere;
}
body.storefront[data-design="editorial"] .category-page-description {
  max-width:620px;
  margin:16px 0 0;
  color:#7c746b;
  font-size:13px;
  line-height:1.9;
}
body.storefront[data-design="editorial"] .category-page-tally {
  display:flex;
  align-items:baseline;
  flex:0 0 auto;
  gap:7px;
  padding-bottom:4px;
  color:#8c8277;
}
body.storefront[data-design="editorial"] .category-page-tally strong {
  font-family:Georgia,"Noto Serif SC",serif;
  font-size:31px;
  color:#302b25;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
body.storefront[data-design="editorial"] .category-page-tally span {
  font-size:11px;
}
body.storefront[data-design="editorial"] .category-catalogue {
  padding-top:29px;
}
body.storefront[data-design="editorial"] .category-tools {
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:24px;
}
body.storefront[data-design="editorial"] .category-search-label {
  display:block;
  width:100%;
  margin:0 0 -5px;
  color:#5e544a;
  font-size:12px;
  font-weight:700;
}
body.storefront[data-design="editorial"] .category-search-wrap {
  display:block;
  position:relative;
  width:min(390px,100%);
  min-width:0;
}
body.storefront[data-design="editorial"] .category-search-wrap input.search {
  display:block;
  width:100%!important;
  min-height:47px;
  margin:0;
  padding:12px 46px 12px 15px;
  border:1px solid #ddd6cc;
  border-radius:8px;
  outline-offset:3px;
  color:#2a2723;
  background:#fffefa;
  font-size:13px;
}
body.storefront[data-design="editorial"] .category-search-wrap input.search:focus {
  border-color:#948171;
}
body.storefront[data-design="editorial"] .category-search-icon {
  position:absolute;
  right:15px;
  top:5px;
  color:#a86e49;
  font-size:29px;
  line-height:1.3;
  pointer-events:none;
}
body.storefront[data-design="editorial"] .category-search-count {
  margin:0 0 3px;
  font-size:12px;
  color:#877c70;
  line-height:1.7;
  font-variant-numeric:tabular-nums;
}
body.storefront[data-design="editorial"] .category-page .products {
  width:100%;
  margin:0;
  padding:0;
}
body.storefront[data-design="editorial"] .category-page .products .product {
  background:#fffefa;
  border-radius:11px;
  border:1px solid #e3dfd7;
}
body.storefront[data-design="editorial"] .category-page-empty {
  grid-column:1/-1;
  text-align:center;
  padding:65px 22px;
  background:#fffefa;
  border:1px dashed #ded6cd;
  border-radius:11px;
}
body.storefront[data-design="editorial"] .category-page-empty h2 {
  margin:0 0 10px;
  font-size:21px;
}
body.storefront[data-design="editorial"] .category-page-empty p {
  margin:0;
  color:#81766a;
  font-size:13px;
  line-height:1.8;
}
body.storefront[data-design="editorial"] .category-page-bottom {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:26px 0 0;
  margin-top:37px;
  border-top:1px solid #e7dfd5;
  font-size:12px;
  color:#81776b;
  line-height:1.7;
}
body.storefront[data-design="editorial"] .category-page-bottom a {
  display:inline-flex;
  gap:7px;
  align-items:center;
  font-weight:700;
  color:#302a24;
}
body.storefront[data-design="editorial"] .category-page-missing {
  width:min(780px,calc(100% - 42px));
  min-height:47vh;
  margin:70px auto 95px;
  padding:40px 25px;
  border:1px solid #ebe3da;
  background:#fffefa;
  border-radius:14px;
}
body.storefront[data-design="editorial"] .category-page-missing h1 {
  font-size:clamp(27px,4vw,37px);
  margin:0 0 18px;
  line-height:1.4;
}
body.storefront[data-design="editorial"] .category-page-missing p:not(.category-page-eyebrow) {
  margin:0 0 32px;
  color:#74695d;
  font-size:14px;
  line-height:1.85;
}
body.storefront[data-design="editorial"] .category-page-missing a {
  display:inline-flex;
  align-items:center;
  min-height:43px;
  padding:10px 16px;
  border:1px solid #292522;
  border-radius:7px;
  font-size:12px;
}
@media(max-width:767px) {
  body.storefront[data-design="editorial"] .category-page {
    width:calc(100% - 30px);
    padding:22px 0 62px;
  }
  body.storefront[data-design="editorial"] .category-breadcrumb {
    margin-bottom:23px;
    font-size:11px;
  }
  body.storefront[data-design="editorial"] .category-page-heading {
    gap:13px;
    padding-bottom:24px;
  }
  body.storefront[data-design="editorial"] .category-page h1 {
    font-size:clamp(30px,7.4vw,40px);
    letter-spacing:-.035em;
  }
  body.storefront[data-design="editorial"] .category-page-eyebrow {
    font-size:9px;
    margin-bottom:11px;
  }
  body.storefront[data-design="editorial"] .category-page-description {
    margin:10px 0 0;
    font-size:12px;
  }
  body.storefront[data-design="editorial"] .category-page-tally {
    gap:5px;
  }
  body.storefront[data-design="editorial"] .category-page-tally strong {
    font-size:25px;
  }
  body.storefront[data-design="editorial"] .category-catalogue {
    padding-top:24px;
  }
  body.storefront[data-design="editorial"] .category-tools {
    align-items:stretch;
    gap:10px;
    margin-bottom:17px;
  }
  body.storefront[data-design="editorial"] .category-search-wrap {
    width:100%;
  }
  body.storefront[data-design="editorial"] .category-search-count {
    margin:2px 0 0;
  }
  body.storefront[data-design="editorial"] .category-page .products {
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
  body.storefront[data-design="editorial"] .category-page .products .product {
    padding:19px 16px;
  }
  body.storefront[data-design="editorial"] .category-page .products .catalog-art {
    aspect-ratio:2.05/1;
  }
  body.storefront[data-design="editorial"] .category-page-bottom {
    align-items:flex-start;
    flex-direction:column;
    gap:13px;
    margin-top:24px;
  }
  body.storefront[data-design="editorial"] .category-page-missing {
    width:calc(100% - 30px);
    margin:30px auto 65px;
    padding:28px 20px;
  }
}

/* LVJIAO V2.8 — refined compact header type and right-edge scroll chevron. */
body.storefront[data-design="editorial"] > header .header-category-chip {
  font-size:11px;
  font-weight:520;
  padding-left:10px;
  padding-right:10px;
}
body.storefront[data-design="editorial"] > header .header-category-chip::after {
  left:10px;
  right:10px;
}
body.storefront[data-design="editorial"] > header .header-category-nav {
  padding-right:7px;
  -webkit-mask-image:linear-gradient(to right,#000 0%,#000 calc(100% - 8px),transparent 100%);
  mask-image:linear-gradient(to right,#000 0%,#000 calc(100% - 8px),transparent 100%);
}
body.storefront[data-design="editorial"] > header .header-category-next-slot {
  flex:0 0 37px;
  width:37px;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 8px 0 -2px;
}
body.storefront[data-design="editorial"] > header .header-category-next-slot[hidden] {
  display:none!important;
}
body.storefront[data-design="editorial"] > header .header-category-next {
  width:32px;
  min-width:32px;
  height:40px;
  min-height:40px;
  padding:0;
  border:0!important;
  border-radius:6px;
  background:transparent!important;
  color:#80766c!important;
  box-shadow:none!important;
  cursor:pointer;
}
body.storefront[data-design="editorial"] > header .header-category-next:hover {
  color:#2b2824!important;
  background:#eeeae4!important;
}
body.storefront[data-design="editorial"] > header .header-category-next:focus-visible {
  outline:2px solid #b48d6f;
  outline-offset:1px;
}
body.storefront[data-design="editorial"] > header .header-category-next[hidden] {
  display:none!important;
}
@media(max-width:1000px) {
  body.storefront[data-design="editorial"] > header .header-category-chip {
    font-size:10.5px;
    padding-left:9px;
    padding-right:9px;
  }
  body.storefront[data-design="editorial"] > header .header-category-chip::after {
    left:9px;
    right:9px;
  }
}
@media(max-width:767px) {
  body.storefront[data-design="editorial"] > header .header-category-chip {
    font-size:10px;
    font-weight:520;
    padding-left:8px;
    padding-right:8px;
  }
  body.storefront[data-design="editorial"] > header .header-category-chip::after {
    left:8px;
    right:8px;
  }
  body.storefront[data-design="editorial"] > header .header-category-nav {
    padding-right:4px;
  }
  body.storefront[data-design="editorial"] > header .header-category-next-slot {
    flex-basis:28px;
    width:28px;
    margin:0 8px 0 -3px;
  }
  body.storefront[data-design="editorial"] > header .header-category-next {
    width:28px;
    min-width:28px;
    height:42px;
    min-height:42px;
  }
  body.storefront[data-design="editorial"] > header .header-category-next svg {
    width:15px;
    height:15px;
  }
}

/* Published homepage artwork is owned by the existing theme renderer. */
body.storefront[data-design="editorial"] .editorial-scene.has-home-photo {
  position:relative;
  isolation:isolate;
}
body.storefront[data-design="editorial"] .editorial-home-photo {
  position:absolute;inset:0;z-index:0;
  display:block;width:100%;height:100%;
  object-fit:cover;object-position:center;
  pointer-events:none;
}
body.storefront[data-design="editorial"] .editorial-scene.has-home-photo::before {
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(255,253,249,.97) 0%,
      rgba(255,253,249,.86) 47%,rgba(255,253,249,.34) 100%);
  pointer-events:none;
}
body.storefront[data-design="editorial"] .editorial-scene.has-home-photo .editorial-visual {
  opacity:0;
}
body.storefront[data-design="editorial"] .editorial-scene.has-home-photo .editorial-copy {
  position:relative;z-index:2;
}
body.storefront[data-design="editorial"] .editorial-hero-wide {
  grid-template-columns:minmax(0,1fr);
}
body.storefront[data-design="editorial"] .editorial-hero-wide .editorial-margin {
  display:none;
}
body.storefront[data-design="editorial"] .editorial-hero-wide .editorial-scene {
  min-height:510px;border-radius:18px;
}
body.storefront[data-design="editorial"] .editorial-hero-wide .editorial-copy {
  max-width:800px;
  padding:108px clamp(26px,7vw,110px) 95px;
}
body.storefront[data-design="editorial"] .storefront-hero-action {
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:12px 22px;
  border:1px solid #242424;border-radius:8px;
  background:#242424;color:#fff;font-weight:700;font-size:13px;
  text-decoration:none;
}
body.storefront[data-design="editorial"] .storefront-hero-action:hover {
  background:#393530;color:#fff;
}
@media(max-width:767px){
  body.storefront[data-design="editorial"] .editorial-hero-wide .editorial-scene {
    min-height:425px;border-radius:12px;
  }
  body.storefront[data-design="editorial"] .editorial-hero-wide .editorial-copy {
    padding:65px 23px 55px;
  }
  body.storefront[data-design="editorial"] .editorial-scene.has-home-photo::before {
    background:linear-gradient(90deg,rgba(255,253,249,.95) 0%,
      rgba(255,253,249,.8) 68%,rgba(255,253,249,.52) 100%);
  }
}

/* LVJIAO V3.0.6 — customer-facing, authenticated delivery completion notice. */
.shop-page .shop-order-result.shop-fulfillment-complete {
  border:1px solid #b9d5bf;
  border-left:4px solid #538869;
  background:#f1f8f2;
}
.shop-page .shop-order-result.shop-fulfillment-complete strong {
  color:#225839;
}
.shop-page #task-result .shop-order-result {scroll-margin-top:126px;}

/* Hotfix 2026-10-25: all storefront backgrounds pure white (buttons/dark badges untouched) */
body.storefront[data-design="editorial"],
body.storefront[data-design="editorial"] > header,
body.storefront[data-design="editorial"] > header .header-category-nav,
body.storefront[data-design="editorial"] > header .nav-toggle:hover,
body.storefront[data-design="editorial"] > header .header-category-next:hover,
body.storefront[data-design="editorial"] main,
body.storefront[data-design="editorial"] .editorial-scene,
body.storefront[data-design="editorial"] .editorial-scene.has-home-photo::before,
body.storefront[data-design="editorial"] .editorial-scene.has-home-photo::after,
body.storefront[data-design="editorial"] .store-drawer,
body.storefront[data-design="editorial"] .store-drawer-footer,
body.storefront[data-design="editorial"] .store-drawer .store-drawer-category:hover,
body.storefront[data-design="editorial"] .factory-store .main-group-filter,
body.storefront[data-design="editorial"] .category-page .products .product,
body.storefront[data-design="editorial"] .category-page-empty,
body.storefront[data-design="editorial"] .category-page-missing,
body.storefront[data-design="editorial"] .category-search-wrap input.search,
.product-detail-cover-panel,
.product-detail-section,
.product-detail-information .shop-delivery,
.product-detail-security,
.product-test-checkout,
.shop-delivery,
.shop-order-result,
.shop-page #order-created,
#inspect-redemption-card,
.shop-warning
{background:#fff!important;background-image:none!important;}

/* V3.0.6 notification: visibly completed delivery must stand out even on the white storefront theme. */
body.storefront .shop-page .shop-order-result.shop-fulfillment-complete{background:#f1f8f2!important;}


/* V3.0.13: native, accessible email dialog before checkout; no overlay wrapper. */
body.checkout-modal-open{overflow:hidden}
body.storefront .checkout-email-dialog{
  box-sizing:border-box;
  position:fixed;
  width:min(460px,calc(100vw - 32px));
  max-height:min(88vh,680px);
  max-height:min(88dvh,680px);
  margin:auto;
  padding:28px;
  color:#252321;
  background:#fffdfa;
  border:1px solid #eadfd7;
  border-radius:16px;
  box-shadow:0 25px 90px rgba(32,25,20,.23);
  overflow-y:auto;
}
body.storefront .checkout-email-dialog::backdrop{background:rgba(23,25,27,.54)}
.checkout-email-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.checkout-email-eyebrow{font-size:10px;letter-spacing:.17em;font-weight:750;color:#b16b4c}
body.storefront .checkout-email-close{
  padding:0;width:36px;min-height:36px;margin:0;
  border:1px solid #e7ded6;background:transparent;color:#56504a;
  border-radius:50%;font-size:24px;line-height:1
}
body.storefront .checkout-email-dialog h2{margin:20px 0 10px;font-size:clamp(23px,4vw,28px);line-height:1.3;letter-spacing:-.035em}
.checkout-email-description{margin:0;color:#706c68;font-size:14px;line-height:1.7}
.checkout-email-product{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:16px;margin:20px 0;padding:14px 0;border-top:1px solid #eee6e0;border-bottom:1px solid #eee6e0;
  font-size:13px;line-height:1.5
}
.checkout-email-product span{min-width:0;overflow-wrap:anywhere}
.checkout-email-product strong{white-space:nowrap;font-size:16px}
#order-form label{display:block;font-size:14px;font-weight:700;margin:0 0 8px}
#order-form label span{color:#ba6c49}
body.storefront #checkout-email-input{
  box-sizing:border-box;display:block;width:100%;min-height:48px;
  margin:0;padding:12px 14px;border:1px solid #d4c8bf;border-radius:8px;
  background:white;color:#242424;font-size:16px
}
body.storefront #checkout-email-input:focus-visible,
body.storefront .checkout-email-dialog button:focus-visible{
  outline:2px solid #ba6c49;outline-offset:2px
}
.checkout-email-hint{margin:9px 0 0;font-size:12px;line-height:1.6;color:#81776f}
.checkout-marketing-choice{display:flex;align-items:flex-start;gap:9px;margin:14px 0 0;font-size:12px;font-weight:500;line-height:1.5;color:#4b4039}
.checkout-marketing-choice input{width:auto;margin:2px 0 0;flex:none;accent-color:#b87855}
.marketing-unsubscribe{max-width:680px;margin:48px auto;padding:28px;background:#fff}
.marketing-unsubscribe p{line-height:1.7}
.checkout-payment-channels {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin:18px 0 0;
  border:0;
  padding:0;
}
.checkout-payment-channels legend {
  display:block;
  width:100%;
  margin-bottom:8px;
  font-size:13px;
  font-weight:650;
  color:#4d4540;
}
.checkout-payment-channels label {
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #e3d9d2;
  border-radius:9px;
  padding:9px 14px;
  background:#fcfaf7;
  color:#2e2925;
  cursor:pointer;
  font-size:13px;
}
.checkout-alipay-icon {
  display:inline-block;
  width:20px;
  height:20px;
  flex:none;
  object-fit:contain;
  vertical-align:middle;
}
button[data-channel="alipay"] .checkout-alipay-icon {margin-right:7px}
.checkout-payment-channels input {accent-color:#b87855}
.checkout-payment-channels label:has(input:checked) {
  border-color:#ae876e;
  background:#fff6ee;
}
.checkout-email-unavailable,#order-feedback:not(:empty){
  padding:10px 12px;margin:16px 0 0;
  border-radius:7px;background:#fff3e9;color:#7b4934;
  font-size:13px;line-height:1.6
}
.checkout-email-actions{display:flex;gap:10px;margin-top:24px}
body.storefront .checkout-email-actions button{
  flex:1;min-height:48px;margin:0;padding:11px 12px;
  border-radius:8px;font-size:14px;font-weight:700
}
body.storefront .checkout-email-cancel{color:#544d47;background:#f4f0ec;border:1px solid #e2d9d2}
body.storefront .checkout-email-submit{background:#f6b79e;color:#242424;border:1px solid #f6b79e}
body.storefront .checkout-email-submit:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:520px){
 body.storefront .checkout-email-dialog{padding:22px 18px}
 .checkout-email-actions{flex-direction:column-reverse}
}


/* Product-card header: dedicated product artwork and readable merchant data. */
body.storefront[data-design="editorial"] .factory-store .catalog-visual {
  display:grid;
  grid-template-columns:minmax(0,47%) minmax(0,1fr);
  gap:12px;
  align-items:stretch;
  width:100%;
  min-height:0;
  margin:0 0 15px;
}
body.storefront[data-design="editorial"] .factory-store .catalog-visual .catalog-art {
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:1/1;
  margin:0;
  padding:0;
  border-radius:8px;
  overflow:hidden;
  background:#f4f2ee;
}
body.storefront[data-design="editorial"] .factory-store .catalog-visual .catalog-art:has(img) {
  background:transparent;
}
body.storefront[data-design="editorial"] .factory-store .catalog-visual .catalog-art img {
  position:absolute;
  inset:0;
  box-sizing:border-box;
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  padding:0;
  object-fit:contain;
  background:transparent;
}
body.storefront[data-design="editorial"] .factory-store .catalog-image-placeholder {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-height:0;
  color:#9b9186;
  font-size:11px;
  font-weight:500;
  letter-spacing:.02em;
}
body.storefront[data-design="editorial"] .factory-store .catalog-visual-copy {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-width:0;
  gap:10px;
  padding:8px 0;
}
body.storefront[data-design="editorial"] .factory-store .catalog-visual-title {
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:anywhere;
  margin:0;
  font-size:13px;
  font-weight:700;
  line-height:1.55;
  letter-spacing:normal;
  color:#292521;
}
body.storefront[data-design="editorial"] .factory-store .catalog-visual-description {
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:anywhere;
  margin:0;
  color:#736b63;
  font-size:11px;
  line-height:1.6;
}
body.storefront[data-design="editorial"] .factory-store .catalog-visual-title a {
  color:inherit;
  text-decoration:none;
}
body.storefront[data-design="editorial"] .factory-store .catalog-product-copy {
  margin-top:auto;
}
body.storefront[data-design="editorial"] .factory-store .catalog-purchase {
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  width:100%;
}
body.storefront[data-design="editorial"] .factory-store .catalog-price-group {
  display:flex;
  flex:1 1 170px;
  flex-wrap:wrap;
  align-items:baseline;
  gap:3px 8px;
  min-width:0;
  max-width:100%;
}
body.storefront[data-design="editorial"] .factory-store .catalog-original-price {
  color:#8c8278;
  font-size:12px;
  text-decoration:line-through;
  font-variant-numeric:tabular-nums;
}
body.storefront[data-design="editorial"] .factory-store .catalog-savings {
  color:#617264;
  background:#edf2ec;
  border-radius:5px;
  padding:2px 6px;
  font-size:11px;
  white-space:normal;
}
body.storefront[data-design="editorial"] .factory-store .catalog-price {
  font-size:19px;
  font-weight:750;
  line-height:1.4;
  white-space:nowrap;
}
body.storefront[data-design="editorial"] .factory-store .catalog-buy {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  gap:7px;
  padding:9px 12px;
  min-height:40px;
  margin-left:auto;
  border-radius:7px;
  font-size:12px;
  white-space:nowrap;
}
@media(max-width:767px) {
  body.storefront[data-design="editorial"] .factory-store .catalog-visual {
    grid-template-columns:minmax(0,43%) minmax(0,1fr);
    gap:12px;
  }
  body.storefront[data-design="editorial"] .factory-store .catalog-visual-title {
    font-size:14px;
  }
  body.storefront[data-design="editorial"] .factory-store .catalog-visual-description {
    font-size:12px;
  }
}
@media(max-width:360px) {
  body.storefront[data-design="editorial"] .factory-store .catalog-visual {
    gap:9px;
  }
  body.storefront[data-design="editorial"] .factory-store .catalog-visual-title {
    font-size:12px;
  }
}


/* Session page typography */
.shop-page.session-page {
  color: #374151;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.75;
}

.shop-page.session-page h1 {
  color: #111827;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.02em;
}

.shop-page.session-page p,
.shop-page.session-page .shop-muted {
  color: #374151;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.75;
}

.shop-page.session-page strong,
.shop-page.session-page label {
  color: #111827;
  font-weight: 600;
}

.shop-page.session-page .eyebrow {
  color: #374151;
  font-size: 13px;
  font-weight: 600;
}

.shop-page.session-page a {
  color: #1d4ed8;
  font-weight: 600;
  text-decoration: underline;
}

.shop-page.session-page #session-task-info,
.shop-page.session-page #session-task-feedback,
.shop-page.session-page #session-task-result {
  color: #1f2937;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.shop-page.session-page textarea {
  color: #111827;
  font-size: 15px;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .shop-page.session-page {
    width: calc(100% - 32px);
    margin-top: 36px;
  }

  .shop-page.session-page h1 {
    font-size: 24px;
  }
}

/* Support page */
.shop-page.shop-support-page {
  max-width: 760px;
  color: #222;
}

.shop-support-page .support-intro {
  font-size: 16px;
  line-height: 1.95;
  font-weight: 500;
  color: #444;
  margin: 24px 0 40px;
}

.shop-support-page .support-section {
  padding: 25px 0;
  border-top: 1px solid #e8e8e8;
}

.shop-support-page .support-section h2 {
  font-size: 19px;
  font-weight: 700;
  color: #171717;
  margin: 0 0 15px;
  letter-spacing: -.02em;
}

.shop-support-page .support-section p {
  font-size: 15px;
  line-height: 1.95;
  font-weight: 500;
  color: #444;
  margin: 0 0 14px;
}

.shop-support-page .support-section strong {
  color: #111;
  font-weight: 700;
}

.shop-support-page .support-back {
  margin-top: 32px;
  font-size: 14px;
}

@media (max-width: 767px) {
  .shop-support-page .support-intro {
    font-size: 15px;
  }

  .shop-support-page .support-section {
    padding: 22px 0;
  }

  .shop-support-page .support-section h2 {
    font-size: 18px;
  }
}
