/* Shared customer-page presentation. Existing forms, APIs and checkout scripts remain intact. */
.storefront-modern .storefront-mobile-account { display: none !important; }
.storefront-inner #app > .wrap { padding-top: 24px; padding-bottom: 36px; min-height: 45vh; }
.storefront-inner #app > .wrap > .container { width: 100%; padding: 0; }
.storefront-inner #app > .wrap > .row { margin: 0; }
.storefront-inner #app > .wrap > .row > [class*="col-"] { width: 100%; margin-left: 0; padding: 0; float: none; }
.storefront-inner .panel { border: 1px solid var(--line); border-radius: 12px; box-shadow: none; overflow: visible; background: #fff; }
.storefront-inner .panel-default > .panel-heading { padding: 22px 24px 16px; background: #fff; border-color: var(--line); color: var(--ink); border-radius: 12px 12px 0 0; font: 600 23px/1.5 var(--display); }
.storefront-inner .panel-body { padding: 24px; }
.storefront-inner .panel-heading .pull-right { font: 500 13px/1.6 var(--font); padding-top: 7px; color: var(--ink-soft); }
.storefront-inner .form-control { min-height: 43px; border-color: #d6e0e5; border-radius: 5px; box-shadow: none; color: var(--ink); background: #fff; font-size: 14px; }
.storefront-inner .form-control:focus { border-color: var(--ink-soft); box-shadow: 0 0 0 2px #16324209; }
.storefront-inner .control-label { font-size: 13px; color: var(--ink-soft); }
.storefront-inner .help-block, .storefront-inner .text-muted { color: var(--muted); }
.storefront-inner .has-error .form-control { border-color: #a94c3c; }
.storefront-inner .has-error .help-block { color: #a94c3c; }
.storefront-inner .btn { border-radius: 5px; min-height: 38px; padding: 9px 16px; font: 500 13px/1.5 var(--font); }
.storefront-inner .btn-primary { background: var(--accent); border-color: var(--accent); color: #fff; }
.storefront-inner .btn-primary:hover { background: var(--accent-deep); border-color: var(--accent-deep); }
.storefront-inner .btn-default, .storefront-inner .btn-secondary, .storefront-inner .btn-outline { background: #fff; border: 1px solid #d6e0e5; color: var(--ink-soft); }
.storefront-inner .btn-danger { color: #a94c3c; border-color: #e9cfc9; background: #fff; }
.storefront-inner .btn-xs { min-height: 30px; padding: 5px 10px; }
.storefront-inner .btn-link { color: var(--ink-soft); }
.storefront-inner .alert { border-radius: 6px; font-size: 13px; line-height: 1.8; }
.storefront-inner .alert-info { background: #edf3f5; border-color: #d6e0e5; color: var(--ink-soft); }
.storefront-inner .alert-warning { background: #fff7eb; border-color: #ecd9bb; color: #88602a; }
.storefront-inner .table > thead > tr > th { font-size: 12px; color: var(--muted); font-weight: 500; border-color: var(--line); background: #f5f8f9; }
.storefront-inner .table > tbody > tr > td { border-color: var(--line); padding: 16px 12px; color: var(--ink-soft); font-size: 13px; }
.storefront-inner .table-striped > tbody > tr:nth-of-type(odd) { background: #fff; }
.storefront-inner .breadcrumb, .storefront-inner .show-breadcrumb { background: none; margin: 0 0 22px; padding: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.storefront-inner .pagination { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 24px; }
.storefront-inner .pagination > li > a, .storefront-inner .pagination > li > span { color: var(--ink-soft); border-color: var(--line); border-radius: 5px; background: #fff; }
.storefront-inner .pagination > .active > span { color: #fff; background: var(--ink); border-color: var(--ink); }
.storefront-member-links { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 18px; padding: 14px 0; margin: -4px 0 24px; border-bottom: 1px solid var(--line); font-size: 13px; }
.storefront-member-links [aria-current="page"] { color: var(--accent); font-weight: 600; }
.storefront-member-links form { margin: 0 0 0 auto; }
.storefront-member-links button { background: none; border: 0; color: var(--muted); padding: 4px 0; font: inherit; }

/* Classification and search preserve all existing category, stock and sorting rules. */
.storefront-catalog-layout { display: grid; grid-template-columns: 202px minmax(0, 1fr); gap: 24px; align-items: start; }
.storefront-catalog-layout > * { min-width: 0; }
.storefront-catalog-results { margin: 0; }
.storefront-catalog-results > .col-md-12 { padding: 0; }
.storefront-catalog-sidebar { position: sticky; top: calc(var(--sticky-header-height) + 20px); border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 20px 18px; }
.storefront-catalog-sidebar h2 { font-size: 14px; font-weight: 600; margin: 0 0 14px; }
.storefront-catalog-sidebar nav { display: flex; flex-direction: column; gap: 3px; }
.storefront-catalog-sidebar nav a { padding: 10px; border-radius: 5px; font-size: 13px; color: var(--ink-soft); }
.storefront-catalog-sidebar nav a[aria-current="page"] { color: var(--accent); background: #fff4e8; }
.storefront-catalog-sidebar__recommend { display: block; margin-top: 18px; padding: 16px 10px 0; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }
.storefront-page-heading h1 { margin: 0; font: 700 27px/1.5 var(--display); }
.storefront-page-heading p { margin: 8px 0 24px; color: var(--muted); font-size: 13px; }
.storefront-catalog-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 16px; margin-bottom: 18px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.storefront-catalog-toolbar form { display: flex; align-items: center; gap: 10px; margin: 0; }
.storefront-catalog-toolbar select { padding: 8px 10px; border: 1px solid var(--line); border-radius: 5px; color: var(--ink-soft); background: #fff; font: inherit; }
.storefront-inner .products-panel { border: 0; background: transparent; margin: 0; }
.storefront-inner .products-panel > .panel-body { padding: 0; }
.storefront-inner .products-panel .products-list { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; gap: 16px; }
.storefront-inner .products-list > .product-item { width: auto; padding: 0; float: none; }
.storefront-inner .products-list::before, .storefront-inner .products-list::after { display: none; }
.storefront-inner .products-list .product-title { margin: 0 0 14px; height: 4.5em; font: 500 14px/1.5 var(--font); overflow: hidden; }
.storefront-inner .products-list .product-title a { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.storefront-inner .product-category-path, .storefront-inner .product-rating, .storefront-inner .limit-note.is-placeholder { display: none; }
.storefront-inner .products-list .product-card-commerce { gap: 12px; }
.storefront-inner .product-card-commerce .product-price { min-height: 27px; font: 650 23px/1.25 var(--font); color: var(--ink); }
.storefront-inner .storefront-price-unit { color: var(--muted); margin-left: 4px; font-size: 11px; font-weight: 400; }
.storefront-inner .category-hub__grid { margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.storefront-inner .category-hub__grid::before, .storefront-inner .category-hub__grid::after { display: none; }
.storefront-inner .category-hub__item { width: auto; float: none; padding: 0; }
.storefront-inner .category-hub__card { border: 1px solid var(--line); border-radius: 10px; background: #fff; min-height: 104px; color: var(--ink); box-shadow: none; }

/* Detail controls keep their original selectors and original product/SKU endpoints. */
.storefront-inner .show-page-container { width: 100%; max-width: none; margin: 0; padding: 0; }
html.storefront-modern .storefront-inner .show-page-container .product-show { display: grid; grid-template-columns: 1fr 1.05fr; align-items: start; gap: 44px; padding: 32px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: none; margin: 0; }
html.storefront-modern .storefront-inner .show-page-container .product-show .product-gallery { width: 100%; min-width: 0; padding: 0; }
html.storefront-modern .storefront-inner .show-page-container .product-show .gallery-main { height: 370px; padding: 0; background: #f6f8f9; border: 0; border-radius: 8px; overflow: hidden; }
html.storefront-modern .storefront-inner .show-page-container .product-show .gallery-wrapper { position: relative; width: 100%; height: 100%; padding: 0; }
html.storefront-modern .storefront-inner .show-page-container .product-show .gallery-wrapper img { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-height: 100% !important; object-fit: contain !important; padding: 34px; mix-blend-mode: multiply; }
html.storefront-modern .storefront-inner .show-page-container .product-show .product-details { min-width: 0; padding: 0; width: auto; }
html.storefront-modern .storefront-inner .show-page-container .product-show h1.product-title { color: var(--ink); margin: 0 0 12px; font: 600 25px/1.6 var(--font); overflow-wrap: anywhere; }
html.storefront-modern .storefront-inner .show-page-container .product-show .product-ref { color: var(--muted); font-size: 12px; }
html.storefront-modern .storefront-inner .show-page-container .product-show .pricing-section { padding: 16px 0 22px; margin-bottom: 20px; border-bottom: 1px solid var(--line); background: none; }
html.storefront-modern .storefront-inner .show-page-container .product-show .price-display .amount { font: 650 34px/1.5 var(--font); color: var(--ink); }
html.storefront-modern .storefront-inner .show-page-container .product-show .price-display .amount small { font-size: 12px; }
html.storefront-modern .storefront-inner .show-page-container .product-show .action-box { margin: 20px 0; padding: 0; background: none; border: 0; }
html.storefront-modern .storefront-inner .show-page-container .product-show .qty-selector { height: 38px; background: #fff; border: 1px solid #d6e0e5; border-radius: 5px; box-shadow: none; }
html.storefront-modern .storefront-inner .show-page-container .product-show .qty-btn { width: 34px; border: 0; background: #fff; color: var(--ink-soft); }
html.storefront-modern .storefront-inner .show-page-container .product-show .qty-input { width: 45px; background: #fff; font-size: 14px; }
html.storefront-modern .storefront-inner .show-page-container .product-show .button-group { gap: 12px; display: flex; margin-top: 18px; }
html.storefront-modern .storefront-inner .show-page-container .product-show .button-group .btn { flex: 1; }
html.storefront-modern .storefront-inner .show-page-container .product-show .wishlist-section { margin-top: 14px; }
html.storefront-modern .storefront-inner .show-page-container .product-show .metadata-section { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 12px; }
html.storefront-modern .storefront-inner .show-page-container .product-show .meta-label { color: var(--muted); }
html.storefront-modern .storefront-inner .show-page-container .product-show .sku-option { border-radius: 5px; }
html.storefront-modern .storefront-inner .show-page-container .product-show .sku-option.active { border-color: var(--ink); background: #f3f7f9; color: var(--ink); }
.storefront-product-description { margin-top: 24px; padding: 26px 32px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.storefront-description-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; border-bottom: 1px solid var(--line); padding-bottom: 18px; margin-bottom: 20px; }
.storefront-description-heading h2 { margin: 0; font: 600 21px/1.5 var(--display); }
.storefront-description-heading a, .storefront-purchase-links { font-size: 12px; color: var(--muted); }
.storefront-product-description__copy { line-height: 1.9; color: var(--ink-soft); overflow-wrap: anywhere; }
.storefront-purchase-links { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 22px; }

/* Native authentication fields, errors, CSRF and reset tokens remain in the original forms. */
html.storefront-modern .storefront-inner .show-page-container .product-show .product-details .title-stack { padding-bottom: 0; margin-bottom: 0; border: 0; }
html.storefront-modern .storefront-inner .show-page-container .product-show .product-details .action-box .btn { border-radius: 5px; font: 500 14px/1.5 var(--font); }
html.storefront-modern .storefront-inner .show-page-container .product-show .product-details .action-box .btn.btn-primary:not(:disabled):not(.is-depleted) { background: var(--accent); border-color: var(--accent); }
html.storefront-modern .storefront-inner .show-page-container .product-show .product-details .action-box .btn.btn-secondary:not(:disabled):not(.is-depleted) { color: var(--ink-soft); border-color: #d6e0e5; }
html.storefront-modern .storefront-inner .show-page-container .product-show .product-gallery .gallery-main .gallery-wrapper { border: 0; border-radius: 8px; background: #f6f8f9; }
.storefront-inner .storefront-auth-shell { display: grid; grid-template-columns: .9fr 1.1fr; max-width: 880px; margin: 4px auto 20px; background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.storefront-inner .storefront-auth-row { margin: 0; }
.storefront-auth-brand { padding: 40px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); background: #edf2f5; }
.storefront-auth-brand img { width: 106px; height: 106px; margin-bottom: 24px; }
.storefront-auth-brand h2 { margin: 0 0 12px; font: 700 27px/1.5 var(--display); }
.storefront-auth-brand p { margin: 0; font-size: 13px; line-height: 1.9; color: var(--muted); }
.storefront-inner .storefront-auth-shell > .panel { margin: 0; border: 0; border-radius: 0; }
.storefront-inner .storefront-auth-shell .panel-heading { border: 0; padding: 30px 32px 0; font-size: 25px; }
.storefront-inner .storefront-auth-shell .panel-body { padding: 20px 32px 30px; }
.storefront-inner .storefront-auth-shell .form-horizontal .form-group { margin: 0 0 18px; }
.storefront-inner .storefront-auth-shell .form-group > [class*="col-"] { float: none; width: 100%; margin-left: 0; padding: 0; text-align: left; }
.storefront-inner .storefront-auth-shell label.control-label { display: block; padding: 0 0 8px; }
.storefront-inner .storefront-auth-shell .btn-primary { width: 100%; margin: 8px 0; }

/* Existing order, address, checkout and help content receives the same paper/card treatment. */
.storefront-inner .order-list-page { padding: 0; }
.storefront-inner .order-list-page__title { font: 700 27px/1.5 var(--display); color: var(--ink); }
.storefront-inner .order-list-page .order-card, .storefront-inner .order-show .panel { border: 1px solid var(--line); border-radius: 12px; box-shadow: none; background: #fff; }
.storefront-inner .order-list-page .order-card__top { background: #fff; border-color: var(--line); }
.storefront-inner .order-list-page .order-card__btn--primary { background: var(--accent); border-color: var(--accent); color: #fff; border-radius: 5px; }
.storefront-inner .order-list-page .order-card__product-name { color: var(--ink); }
.storefront-inner .policy-page { background: #fff; padding: 28px 32px; border: 1px solid var(--line); border-radius: 12px; }
.storefront-inner .policy-page h1 { font: 600 27px/1.5 var(--display); color: var(--ink); margin: 0 0 24px; }
.storefront-inner .policy-page-body { max-width: 850px; color: var(--ink-soft); font-size: 14px; line-height: 1.9; }
.storefront-inner .policy-page-body p, .storefront-inner .policy-page-body li { color: var(--ink-soft); line-height: 1.9; }
.storefront-inner .policy-notice { padding: 16px 20px; border-left: 3px solid #8ba1ad; background: #f4f7f9; border-radius: 5px; }
.storefront-inner .policy-page-body a { text-decoration: underline; text-underline-offset: 3px; }
.storefront-inner .cart-checkout-summary { border: 1px solid var(--line); background: #f5f8f9; border-radius: 8px; padding: 20px; }
.storefront-inner .cart-checkout-summary .summary-line { color: var(--ink-soft); line-height: 1.8; }
.storefront-inner .cart-checkout-summary .summary-line-payable { color: var(--ink); border-top: 1px solid var(--line); }
.storefront-inner .cart-items-table .preview { border-radius: 6px; background: #f5f8f9; }
.storefront-inner .cart-items-table .amount-group { border-radius: 5px; }
.storefront-inner .cart-items-table .btn-amount-minus, .storefront-inner .cart-items-table .btn-amount-plus { min-height: 32px; padding: 4px 10px; }

@media(max-width:1020px) {
  .storefront-inner .products-panel .products-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html.storefront-modern .storefront-inner .show-page-container .product-show { gap: 26px; padding: 24px; }
  html.storefront-modern .storefront-inner .show-page-container .product-show .gallery-main { height: 330px; }
}
@media(max-width:760px) {
  .storefront-modern .site-header__user-nav { gap: 10px; }
  .storefront-modern .site-header__user-nav > .storefront-mobile-account { display: inline-flex !important; align-items: center; justify-content: center; width: 32px; height: 36px; }
  .storefront-inner #app > .wrap { padding-top: 18px; padding-bottom: 24px; }
  .storefront-catalog-layout { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .storefront-catalog-sidebar { position: static; padding: 12px; }
  .storefront-catalog-sidebar h2, .storefront-catalog-sidebar__recommend { display: none; }
  .storefront-catalog-sidebar nav { flex-direction: row; overflow-x: auto; gap: 4px; }
  .storefront-catalog-sidebar nav a { flex-shrink: 0; font-size: 12px; padding: 8px 10px; }
  .storefront-page-heading h1 { font-size: 25px; }
  .storefront-catalog-toolbar { font-size: 11px; }
  .storefront-catalog-toolbar label { display: none; }
  .storefront-catalog-toolbar select { max-width: 130px; }
  .storefront-inner .products-panel .products-list { gap: 12px; }
  .storefront-inner .products-list .product-title { font-size: 12px; }
  html.storefront-modern .storefront-inner .show-page-container .product-show { grid-template-columns: minmax(0,1fr); padding: 20px; gap: 24px; }
  html.storefront-modern .storefront-inner .show-page-container .product-show .gallery-main { height: 290px; }
  html.storefront-modern .storefront-inner .show-page-container .product-show h1.product-title { font-size: 22px; }
  .storefront-product-description { padding: 22px; margin-top: 16px; }
  .storefront-description-heading { flex-wrap: wrap; }
  .storefront-inner .category-hub__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .storefront-inner .storefront-auth-shell { grid-template-columns: minmax(0,1fr); }
  .storefront-auth-brand { flex-direction: row; align-items: center; gap: 20px; padding: 22px; border-right: 0; border-bottom: 1px solid var(--line); }
  .storefront-auth-brand img { width: 66px; height: 66px; margin: 0; }
  .storefront-auth-brand h2 { font-size: 22px; margin-bottom: 5px; }
  .storefront-auth-brand p { font-size: 11px; }
  .storefront-inner .storefront-auth-shell .panel-heading { padding: 24px 24px 0; }
  .storefront-inner .storefront-auth-shell .panel-body { padding: 20px 24px 24px; }
  .storefront-inner .panel-body { padding: 20px; }
  .storefront-inner .panel-heading .pull-right { float: none !important; display: block; }
  .storefront-inner .policy-page { padding: 22px; }
  .storefront-inner .policy-page h1 { font-size: 24px; }
  .storefront-inner .policy-page-body { font-size: 13px; }
  .storefront-inner .table-responsive, .storefront-inner .storefront-table-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .storefront-member-links { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; font-size: 12px; gap: 16px; padding: 10px 0; margin-bottom: 18px; }
  .storefront-member-links > * { flex-shrink: 0; }
  .storefront-member-links form { margin-left: 0; }
}
@media(max-width:400px) {
  html.storefront-modern .storefront-inner .show-page-container .product-show .gallery-main { height: 245px; }
  html.storefront-modern .storefront-inner .show-page-container .product-show h1.product-title { font-size: 20px; }
  .storefront-inner .policy-page { padding: 18px; }
  .storefront-inner .panel-default > .panel-heading { font-size: 21px; }
}

/* Complete native page composition, matching the approved local inner pages. */
.storefront-context-path{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin:0 0 22px}
.storefront-page-heading{margin-bottom:24px}
.storefront-page-heading--action{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.storefront-page-heading--action .btn{flex-shrink:0}
.storefront-member-layout,.storefront-help-layout{display:grid;grid-template-columns:202px minmax(0,1fr);gap:24px;align-items:start}
.storefront-member-main,.storefront-help-main{min-width:0}
.storefront-member-sidebar,.storefront-help-sidebar{position:sticky;top:calc(var(--sticky-header-height) + 20px);padding:20px 18px;background:#fff;border:1px solid var(--line);border-radius:12px}
.storefront-member-identity{display:flex;flex-direction:column;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.storefront-member-monogram{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#edf3f5;color:var(--ink-soft);font:600 21px/1 var(--display)}
.storefront-member-identity h2{font:600 21px/1.5 var(--display);margin:0 0 5px;overflow-wrap:anywhere}
.storefront-member-identity p{font-size:11px;margin:0;color:var(--muted);overflow-wrap:anywhere}
.storefront-member-sidebar .storefront-member-links{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:14px 0 0;padding:0;border:0}
.storefront-member-sidebar .storefront-member-links a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:5px;font-size:12px;color:var(--ink-soft)}
.storefront-member-sidebar .storefront-member-links a span{font-size:11px;color:#96a7b0}
.storefront-member-sidebar .storefront-member-links [aria-current=page]{color:var(--ink);font-weight:600;background:#edf3f5}
.storefront-member-sidebar .storefront-member-links form{margin:6px 0 0}
.storefront-member-sidebar .storefront-member-links button{font-size:12px;padding:10px 12px;text-align:left;width:100%}
.storefront-sidebar-footer{display:block;border-top:1px solid var(--line);padding-top:18px;margin-top:18px;font-size:11px;color:var(--ink-soft)}
.storefront-help-sidebar h2{font:600 20px/1.4 var(--display);margin:0 0 18px}
.storefront-help-sidebar nav a{display:block;padding:10px 12px;border-radius:5px;font-size:12px;color:var(--ink-soft)}
.storefront-help-sidebar nav [aria-current=page]{background:#edf3f5;font-weight:600;color:var(--ink)}
html.storefront-modern .storefront-inner .storefront-help-main .policy-page{padding:0;margin:0}
html.storefront-modern .storefront-inner .storefront-help-main .policy-page>.panel-heading{font:600 27px/1.5 var(--display);padding:28px 32px 20px;color:var(--ink);margin:0;border-bottom:1px solid var(--line)}
html.storefront-modern .storefront-inner .storefront-help-main .policy-page-body{padding:24px 32px;font-size:13px;line-height:1.9;color:var(--ink-soft)}
html.storefront-modern .storefront-inner .storefront-help-main .policy-page-body h4{font-size:17px;line-height:1.6;margin:30px 0 12px;color:var(--ink);border:0;padding:0}
html.storefront-modern .storefront-inner .storefront-help-main .policy-page-body h5{font-size:14px;margin:24px 0 10px;color:var(--ink)}
html.storefront-modern .storefront-inner .storefront-help-main .policy-page-body p,html.storefront-modern .storefront-inner .storefront-help-main .policy-page-body li{font-size:13px;line-height:1.9;color:var(--ink-soft)}
html.storefront-modern .storefront-inner .storefront-help-main .policy-page-body .policy-notice{padding:16px 20px;background:#f4f7f9;border-left:3px solid #8ba1ad;border-radius:5px}
html.storefront-modern .storefront-inner .storefront-member-main>.row{margin:0}
html.storefront-modern .storefront-inner .storefront-member-main>.row>[class*=col-]{padding:0;margin-left:0;width:100%;float:none}
html.storefront-modern .storefront-inner .storefront-member-main .panel-heading{font-size:18px;padding:18px 24px;background:#fafcfd}
.storefront-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.storefront-address-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:10px}
.storefront-address-card header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.storefront-address-card h2{font-size:15px;font-weight:600;margin:0}
.storefront-status{font-size:10px;color:var(--ink-soft);background:#edf3f5;border-radius:4px;padding:4px 7px;white-space:nowrap}
.storefront-address-card p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 10px;overflow-wrap:anywhere}
.storefront-address-card .storefront-address-phone{color:var(--ink-soft);font-size:13px}
.storefront-address-actions{display:flex;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.storefront-inner .storefront-address-actions .btn{min-height:34px;padding:7px 12px;font-size:12px}
.storefront-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;background:#fff;border:1px solid var(--line);border-radius:12px;width:100%}
.storefront-empty svg{color:#91a4af;margin-bottom:18px}
.storefront-empty h2{font:600 22px/1.5 var(--display);margin:0 0 10px}
.storefront-empty p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 24px;max-width:400px}
html.storefront-modern .storefront-inner .storefront-cart-shell{margin:0}
html.storefront-modern .storefront-inner .storefront-cart-shell>[class*=col-]{padding:0;margin:0;width:100%}
html.storefront-modern .storefront-inner .storefront-cart-shell>.col-lg-10>.panel{background:transparent;border:0}
html.storefront-modern .storefront-inner .storefront-cart-shell>.col-lg-10>.panel>.panel-heading{display:none}
html.storefront-modern .storefront-inner .storefront-cart-shell>.col-lg-10>.panel>.panel-body{padding:0}
.storefront-inner .storefront-cart-columns{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}
.storefront-inner .storefront-cart-products,.storefront-inner .storefront-cart-confirm{min-width:0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px}
.storefront-inner .storefront-cart-confirm{position:sticky;top:calc(var(--sticky-header-height) + 20px)}
.storefront-inner .storefront-cart-section-title{font:600 21px/1.5 var(--display);margin:0 0 20px}
html.storefront-modern .storefront-inner .storefront-cart-confirm #order-form .form-group{margin:0 0 18px}
html.storefront-modern .storefront-inner .storefront-cart-confirm #order-form [class*=col-]{width:100%;margin:0;padding:0;float:none;text-align:left}
html.storefront-modern .storefront-inner .storefront-cart-confirm #order-form .control-label{display:block;padding:0 0 8px;font-size:12px;font-weight:500}
html.storefront-modern .storefront-inner .storefront-cart-confirm #order-form textarea{min-height:75px}
html.storefront-modern .storefront-inner .storefront-cart-confirm .cart-address-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
html.storefront-modern .storefront-inner .storefront-cart-confirm #btn-check-coupon{margin-top:8px;min-height:34px;background:#edf3f5;color:var(--ink-soft);border-color:#d5e1e7;font-size:12px;padding:7px 12px}
html.storefront-modern .storefront-inner .storefront-cart-confirm .cart-checkout-summary{padding:18px;margin:22px 0 0;background:#f5f8f9;border:0;border-radius:8px}
html.storefront-modern .storefront-inner .storefront-cart-confirm .summary-line{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;margin-bottom:10px;flex-wrap:wrap}
html.storefront-modern .storefront-inner .storefront-cart-confirm #settlement-tobacco-hint,html.storefront-modern .storefront-inner .storefront-cart-confirm #settlement-tobacco-progress{display:block;font-size:11px!important;line-height:1.8}
html.storefront-modern .storefront-inner .storefront-cart-confirm .summary-line-payable{padding-top:16px;margin-top:16px}
html.storefront-modern .storefront-inner .storefront-cart-confirm .summary-line-payable strong{font-size:24px}
html.storefront-modern .storefront-inner .storefront-cart-confirm .btn-create-order{width:100%;font-size:14px;min-height:44px}
html.storefront-modern .storefront-inner .storefront-cart-products .cart-items-table{margin:0}
html.storefront-modern .storefront-inner .storefront-cart-products .cart-items-table thead th{background:none;border-bottom:1px solid var(--line);font-size:11px;padding:8px}
html.storefront-modern .storefront-inner .storefront-cart-products .cart-items-table tbody td{padding:20px 8px;vertical-align:middle}
html.storefront-modern .storefront-inner .storefront-cart-products .cart-items-table .product_title{font-size:13px;line-height:1.7}
html.storefront-modern .storefront-inner .storefront-cart-products .cart-items-table .sku_title{font-size:11px;color:var(--muted)}
html.storefront-modern .storefront-inner .storefront-cart-products .cart-items-table .preview{width:64px;height:78px;flex:0 0 64px}
html.storefront-modern .storefront-inner .storefront-cart-products .amount-group{display:flex;align-items:center}
html.storefront-modern .storefront-inner .storefront-cart-products .amount-group .amount{width:40px;font-size:12px}
html.storefront-modern .storefront-inner .storefront-cart-products .amount-group button{width:29px;padding:4px}
.storefront-product-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding-bottom:18px;border-bottom:1px solid var(--line);margin:0 0 20px}
.storefront-product-specs dt{font-size:11px;font-weight:400;color:var(--muted);margin-bottom:4px}
.storefront-product-specs dd{font-size:13px;margin:0;overflow-wrap:anywhere;color:var(--ink-soft)}
.storefront-brand-filters{display:flex;gap:8px;flex-wrap:wrap;max-height:115px;overflow:auto;margin:0 0 20px}
.storefront-brand-filters a{padding:6px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:11px;color:var(--ink-soft)}
.storefront-brand-filters [aria-current=page]{border-color:var(--ink-soft);color:var(--ink)}
.storefront-related{margin-top:30px}
.storefront-related>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.storefront-related h2{font:600 21px/1.5 var(--display);margin:0}
.storefront-related>header a{font-size:12px;color:var(--muted)}
.storefront-related .products-list{grid-template-columns:repeat(4,minmax(0,1fr))}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .top-strip{gap:18px;margin-bottom:20px}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .top-card,html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:none}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .summary-card,html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .pay-card{padding:24px}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .order-title{font:600 25px/1.5 var(--display);color:var(--ink)}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .meta-lines{font-size:12px;color:var(--muted);line-height:1.8}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .main-grid{gap:20px;grid-template-columns:minmax(0,1fr)}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .card-head{padding:18px 22px;color:var(--ink);font-size:16px;font-weight:500;background:#fff;border-bottom:1px solid var(--line)}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .item-row{padding:20px 22px}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .item-title{font-size:13px;color:var(--ink);line-height:1.7}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .amount-value{font:650 30px/1.5 var(--font);color:var(--ink)}
html.storefront-modern .storefront-inner .order-list-page .order-card{margin-bottom:18px;border-radius:12px;box-shadow:none}
html.storefront-modern .storefront-inner .order-list-page .order-card__top,html.storefront-modern .storefront-inner .order-list-page .order-card__footer{padding:20px 22px;background:#fff}
html.storefront-modern .storefront-inner .order-list-page .order-card__item{padding:18px 22px}
html.storefront-modern .storefront-inner .order-list-page .order-card__product-name{font-size:13px;line-height:1.7;color:var(--ink)}
html.storefront-modern .storefront-inner .order-list-page .order-card__footer-total{font-size:23px;color:var(--ink)}
.storefront-payment .payment-gateway-container{max-width:980px;padding-top:24px}
.storefront-payment .payment-gateway-header{background:#fff;border-bottom:1px solid var(--line)}
.storefront-payment .payment-gateway-header img{max-height:74px}
@media(max-width:1020px){.storefront-inner .storefront-cart-columns{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.storefront-inner .storefront-cart-products,.storefront-inner .storefront-cart-confirm{padding:18px}.storefront-member-layout,.storefront-help-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}.storefront-address-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:860px){.storefront-inner .storefront-cart-columns{grid-template-columns:minmax(0,1fr)}.storefront-inner .storefront-cart-confirm{position:static}.storefront-inner .storefront-cart-products .cart-items-table td .price{font-size:13px}.storefront-member-layout,.storefront-help-layout{grid-template-columns:minmax(0,1fr)}.storefront-member-sidebar,.storefront-help-sidebar{position:static;padding:14px 16px}.storefront-member-identity{flex-direction:row;gap:12px;align-items:center;padding-bottom:12px}.storefront-member-monogram{width:35px;height:35px;font-size:18px}.storefront-member-identity h2{font-size:17px;margin:0}.storefront-member-identity p{font-size:10px}.storefront-member-sidebar .storefront-member-links{flex-direction:row;overflow-x:auto;white-space:nowrap;margin-top:10px;gap:6px}.storefront-member-sidebar .storefront-member-links a{flex-shrink:0;padding:8px 10px;font-size:11px}.storefront-member-sidebar .storefront-member-links a span{display:none}.storefront-member-sidebar .storefront-member-links form{flex-shrink:0;margin:0}.storefront-member-sidebar .storefront-member-links button{padding:8px 10px;font-size:11px}.storefront-member-sidebar .storefront-sidebar-footer{display:none}.storefront-help-sidebar h2,.storefront-help-sidebar .storefront-sidebar-footer{display:none}.storefront-help-sidebar nav{display:flex;gap:6px;overflow:auto;white-space:nowrap}.storefront-help-sidebar nav a{flex-shrink:0;padding:8px 10px;font-size:11px}.storefront-related .products-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.storefront-context-path{font-size:11px;margin-bottom:18px}.storefront-page-heading--action{align-items:flex-start;flex-wrap:wrap;gap:14px}.storefront-page-heading--action .btn{min-height:34px;font-size:12px;padding:7px 12px}.storefront-page-heading h1{font-size:25px}.storefront-page-heading p{font-size:12px;line-height:1.8}.storefront-inner .storefront-cart-products,.storefront-inner .storefront-cart-confirm{padding:20px}.storefront-inner .storefront-cart-section-title{font-size:20px}html.storefront-modern .storefront-inner .storefront-help-main .policy-page>.panel-heading{font-size:24px;padding:22px}html.storefront-modern .storefront-inner .storefront-help-main .policy-page-body{padding:22px}html.storefront-modern .storefront-inner .storefront-member-main .form-horizontal .form-group{margin-inline:0}html.storefront-modern .storefront-inner .storefront-cart-products .cart-items-table tbody td{padding:12px 0}html.storefront-modern .storefront-inner .storefront-cart-products .cart-items-table .product_info{gap:12px}html.storefront-modern .storefront-inner .storefront-cart-products .cart-items-table .preview{width:56px;height:70px;flex-basis:56px}.storefront-inner .storefront-cart-confirm .cart-address-actions__btn{white-space:normal}.storefront-product-specs{font-size:12px}}

html.storefront-modern body.storefront-inner #app{background:var(--paper)}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .amount-label{color:var(--muted);font-size:12px}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .top-strip{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}
@media(max-width:860px){html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .top-strip{grid-template-columns:minmax(0,1fr)}}

/* Native unpaid order: status above the product column, payment beside it. */
@media(min-width:861px){
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell.is-unpaid>.col-lg-10{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell.is-unpaid .top-strip,html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell.is-unpaid .main-grid{display:contents}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell.is-unpaid .summary-card{grid-column:1;grid-row:1;margin:0}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell.is-unpaid .pay-card{grid-column:2;grid-row:1 / span 3;margin:0}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell.is-unpaid .items-card{grid-column:1;grid-row:2;margin:0}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell.is-unpaid .side-card-stack{grid-column:1;grid-row:3;margin:0}
}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .payment-wechat-scan-notice{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .action-guide{font-size:12px;color:var(--muted);margin:16px 0 10px}
@media(max-width:860px){html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell.is-unpaid .top-strip{display:flex;flex-direction:column;gap:16px}html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell.is-unpaid .top-strip .summary-card{order:0}html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell.is-unpaid .top-strip .pay-card{order:1}}

html.storefront-modern body.storefront-inner .storefront-cart-shell--empty .storefront-cart-columns{display:none}

@media(min-width:861px){
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .items-legend,html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .item-row{grid-template-columns:60px minmax(0,1fr) 78px 30px 84px;column-gap:10px}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .thumb{width:60px;height:76px}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .item-title{display:block;overflow:visible;-webkit-line-clamp:unset;max-height:none;word-break:normal;overflow-wrap:anywhere}
html.storefront-modern body.storefront-inner #app.orders-show-page .order-shell .metric{font-size:12px;color:var(--ink);white-space:nowrap}
}


/* 20261005 mobile catalog: show products sooner */
@media (max-width: 760px) {
  .storefront-catalog-sidebar { display: none !important; }
  .storefront-catalog-results .smoke-breadcrumbs,
  .storefront-page-heading p,
  .storefront-brand-filters,
  .storefront-catalog-toolbar > span { display: none !important; }
  .storefront-page-heading { margin-bottom: 10px; }
  .storefront-page-heading h1 { font-size: 22px; }
  .storefront-catalog-toolbar { border: 0; padding: 0; margin: 0 0 12px; justify-content: flex-end; }
}

/* B shop help articles */
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:28px 32px 32px;
  color:var(--ink);
  font-size:14px;
  line-height:1.85;
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide h1{
  margin:0 0 12px;
  font:600 27px/1.45 var(--display);
  color:var(--ink);
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide .shop-guide-lead{
  margin:0 0 22px;
  color:var(--ink-soft);
  font-size:14px;
  line-height:1.85;
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide h2{
  margin:0 0 6px;
  font:600 16px/1.5 var(--display);
  color:var(--ink);
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide h3{
  margin:26px 0 8px;
  padding-top:18px;
  border-top:1px solid var(--line);
  font:600 16px/1.5 var(--display);
  color:var(--ink);
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide p{
  margin:0 0 10px;
  color:var(--ink-soft);
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide a{
  color:var(--ink);
  text-decoration:underline;
  text-underline-offset:3px;
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide-steps{
  display:grid;
  gap:10px;
  margin:0 0 8px;
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide-steps>div{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:16px 16px 14px;
  background:#f4f7f9;
  border-radius:10px;
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide-steps>div>span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#243041;
  color:#fff;
  font-weight:700;
  line-height:1;
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide-note{
  margin:18px 0 0;
  padding:14px 16px;
  background:#f4f7f9;
  border-left:3px solid #8ba1ad;
  border-radius:5px;
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide-note p{
  margin:0;
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide-links a{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:#243041;
  color:#fff;
  text-decoration:none;
  font-size:13px;
  line-height:1.4;
}
html.storefront-modern .storefront-inner .storefront-help-main .shop-guide-links a.is-quiet{
  background:#edf3f5;
  color:var(--ink);
}
@media (max-width:760px){
  html.storefront-modern .storefront-inner .storefront-help-main .shop-guide{padding:22px 18px 24px}
  html.storefront-modern .storefront-inner .storefront-help-main .shop-guide h1{font-size:24px}
}
