/* Storefront refresh: merchant content first, one accent, no remote assets. */
:root {
    --sf-paper:#f5f6f4; --sf-surface:#fff; --sf-ink:#202d2b; --sf-muted:#63726e;
    --sf-line:#dce4df; --sf-soft:#edf3ef; --sf-accent:var(--primary-color,#0f766e);
    --sf-shadow:0 5px 20px rgba(34,57,47,.045);
}
.storefront {
    --bg-color:var(--sf-paper); --card-bg:var(--sf-surface); --input-bg:var(--sf-surface);
    --text-color:var(--sf-ink); --text-muted:var(--sf-muted); --border-color:var(--sf-line);
    --input-border:var(--sf-line); --text-secondary:var(--sf-muted); --header-text:var(--sf-ink);
    color:var(--sf-ink); background:var(--sf-paper); font:400 15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
    -webkit-font-smoothing:antialiased; overflow-wrap:anywhere; min-height:100dvh;
}
.storefront *, .storefront *::before, .storefront *::after { box-sizing:border-box; }
.storefront .container { max-width:1200px; }
.storefront h1,.storefront h2,.storefront h3,.storefront h4,.storefront h5 { color:var(--sf-ink); letter-spacing:-.025em; font-weight:650; text-wrap:balance; }
.storefront h1 { font-size:28px; line-height:1.35; }
.storefront h2 { font-size:24px; line-height:1.4; }
.storefront h3 { font-size:21px; }
.storefront h5 { font-size:17px; }
.storefront a { color:var(--sf-accent); text-decoration:none; }
.storefront a:hover { text-decoration:none; }
.storefront header,.storefront .mobile-header {
    color:var(--sf-ink); background:var(--sf-surface)!important; border-bottom:1px solid var(--sf-line);
    box-shadow:none; border-radius:0; padding:26px 0; margin-bottom:0;
}
.storefront header::before,.storefront header::after,.storefront .mobile-header::before,.storefront .mobile-header::after { display:none!important; }
.storefront header .col-md-6 { color:var(--sf-ink)!important; }
.storefront header h1 { color:var(--sf-ink)!important; margin:0; }
.storefront header p { margin-top:5px!important; color:var(--sf-muted); font-size:14px; }
.storefront header a,.storefront header .btn,.storefront header .dropdown-toggle { color:var(--sf-ink)!important; }
.storefront header .btn { border:1px solid var(--sf-line); background:var(--sf-surface); }
.storefront header .btn:hover { background:var(--sf-soft); }
.storefront main { padding-top:28px!important; padding-bottom:36px!important; }
.storefront .card,.storefront .product-card,.storefront .payment-box {
    border:1px solid var(--sf-line); border-radius:8px!important; background:var(--sf-surface); box-shadow:var(--sf-shadow)!important; color:var(--sf-ink);
}
.storefront .card-header,.storefront .order-card-header,.storefront .description-header {
    color:var(--sf-ink)!important; background:var(--sf-surface)!important; border-bottom:1px solid var(--sf-line); padding:20px 24px;
    border-radius:8px 8px 0 0!important;
}
.storefront .order-card-header h2,.storefront .card-header h2,.storefront .card-header h3 { color:var(--sf-ink)!important; }
.storefront .product-card-header,.storefront .order-details-header { background:var(--sf-surface)!important; color:var(--sf-ink)!important; border-bottom:1px solid var(--sf-line); padding:20px 24px; }
.storefront .product-card-header h2 { color:var(--sf-ink)!important; }
.storefront .order-details-header > .d-flex { width:100%; gap:16px; }
.storefront-buy .product-card .card-body { display:block; }
.storefront-buy .product-detail-section { padding:24px; }
.storefront-buy .product-price-stock { display:flex; flex-direction:row; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:12px 0; margin-bottom:12px; }
.storefront-buy .product-stock { margin:0; }
.storefront .manual-check-btn { min-height:44px; border:1px solid var(--sf-line); color:var(--sf-accent); background:var(--sf-surface); border-radius:6px; padding:10px 16px; }
.storefront .card-body { padding:24px; }
.storefront .card-footer { background:transparent!important; border-top:0; padding:0 20px 20px; }
.storefront .shadow-sm { box-shadow:none!important; }
.storefront .text-muted,.storefront .form-text { color:var(--sf-muted)!important; }
.storefront .btn { border-radius:6px!important; min-height:44px; padding:10px 16px; font-size:14px; font-weight:600; line-height:1.5; box-shadow:none!important; transition:background-color .16s,border-color .16s,transform .16s; white-space:normal; }
.storefront .btn-primary,.storefront .btn-buy { background:var(--sf-accent)!important; border-color:var(--sf-accent)!important; color:#fff!important; background-image:none!important; }
.storefront .btn-primary:hover,.storefront .btn-buy:hover { filter:brightness(.93); transform:translateY(-1px); }
.storefront .btn:active { transform:translateY(1px); }
.storefront .btn::before,.storefront .btn::after { display:none!important; }
.storefront .btn-outline-primary { color:var(--sf-accent)!important; border-color:var(--sf-line)!important; background:transparent; }
.storefront .btn-outline-primary:hover { background:var(--sf-soft)!important; }
.storefront .btn-outline-secondary { color:var(--sf-muted); border-color:var(--sf-line); }
.storefront .btn:disabled,.storefront .btn.disabled { opacity:.55; cursor:not-allowed; transform:none; }
.storefront [aria-disabled=true] { opacity:.55; cursor:not-allowed; }
.storefront :is(a,button,input,select,textarea,[role=button]):focus-visible { outline:3px solid var(--sf-accent)!important; outline-offset:3px; box-shadow:none!important; }
.storefront .form-control,.storefront .form-select,.storefront #email-mobile,.storefront .quantity-input {
    border:1px solid var(--sf-line); border-radius:6px; min-height:46px; font-size:15px; line-height:1.5;
    color:var(--sf-ink); background:var(--sf-surface); box-shadow:none; padding:10px 12px;
}
.storefront .form-control:focus,.storefront .form-select:focus { border-color:var(--sf-accent); box-shadow:0 0 0 3px rgba(15,118,110,.12); }
.storefront .form-control::placeholder { color:var(--sf-muted); opacity:.85; }
.storefront .form-label { color:var(--sf-ink); font-size:14px; font-weight:600; margin-bottom:8px; }
.storefront .form-text { font-size:13px; line-height:1.65; }
.storefront .input-group-text { color:var(--sf-muted); background:var(--sf-soft); border-color:var(--sf-line); }
.storefront .form-check-input { accent-color:var(--sf-accent); }
.storefront .form-section { margin-top:24px; }
.storefront .payment-methods-group { display:grid!important; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:10px!important; }
.storefront .payment-method-item { position:relative; min-width:0; margin:0!important; }
.storefront .payment-method-input { position:absolute!important; opacity:0!important; width:1px!important; height:1px!important; display:block!important; }
.storefront .payment-method-label { display:flex!important; width:100%; min-height:68px; border:1px solid var(--sf-line)!important; border-radius:6px!important; padding:12px!important; background:var(--sf-surface)!important; box-shadow:none!important; }
.storefront .payment-method-input:checked + .payment-method-label { border-color:var(--sf-accent)!important; background:var(--sf-soft)!important; }
.storefront .payment-method-input:focus-visible + .payment-method-label { outline:3px solid var(--sf-accent); outline-offset:3px; }
.storefront .payment-method-content { gap:10px; }
.storefront .payment-method-name { font-size:14px!important; color:var(--sf-ink)!important; }
.storefront .payment-gateway-name { color:var(--sf-muted); }
.storefront .quantity-selector { width:180px; max-width:100%; border-radius:6px!important; margin:0; }
.storefront .quantity-btn { min-width:44px; min-height:46px; border-radius:4px; }
.storefront .quantity-btn { color:var(--sf-ink); }
.storefront .quantity-input { min-width:0; width:76px; text-align:center; }
.storefront .price-tag,.storefront .product-price,.storefront .amount-value,.storefront .sf-purchase-summary strong { font-variant-numeric:tabular-nums; letter-spacing:-.03em; color:var(--sf-accent)!important; }
.storefront .product-price { font-size:30px; }
.storefront .product-grid-container { gap:20px!important; align-items:stretch; }
.storefront .product-card { overflow:hidden; position:relative; display:flex; flex-direction:column; height:auto!important; opacity:1!important; transform:none!important; animation:none!important; transition:border-color .16s; }
.storefront .product-card:hover { border-color:var(--sf-accent); transform:none!important; box-shadow:var(--sf-shadow)!important; }
.storefront .product-card .card-body { padding:18px 20px; display:flex; flex-direction:column; flex:1; gap:10px; }
.storefront .product-card .card-title { margin:0!important; font-size:17px; line-height:1.5; min-height:0; overflow-wrap:anywhere; }
.storefront .product-card .product-description { color:var(--sf-muted); font-size:13px; line-height:1.7; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.storefront .product-card .card-body > .d-flex { margin-top:auto; gap:8px; flex-wrap:wrap; }
.storefront .product-card .price-tag { font-size:24px; font-weight:700; }
.storefront .price-tag { background:none!important; -webkit-text-fill-color:currentColor!important; animation:none!important; }
.storefront .product-card .product-image,.storefront .product-card .product-image-container { height:174px; background:var(--sf-soft); overflow:hidden; display:block; border-radius:0!important; }
.storefront .product-card img.product-image,.storefront .product-card .product-image img { width:100%; height:174px; object-fit:cover; transform:none!important; }
.storefront .product-no-image { min-height:120px; height:174px; background:var(--sf-soft)!important; display:flex; align-items:center; justify-content:center; color:var(--sf-muted); font-size:14px; }
.storefront .badge.stock-status,.storefront .stock-status { position:static; background:var(--sf-soft)!important; color:var(--sf-muted)!important; padding:5px 7px; border-radius:4px!important; font-size:11px; font-weight:500; }
.storefront .stock-status.bg-danger { color:#a63732!important; background:#fcf0ec!important; }
.storefront .hot-product-badge,.storefront .discount-badge { background:var(--sf-accent)!important; border-radius:0 0 4px 0!important; box-shadow:none!important; padding:5px 9px; font-size:11px; }
.storefront .categories-container { margin-top:18px; }
.storefront .category-tabs { gap:6px; padding:4px 0 8px; border:0; }
.storefront .category-tabs .nav-link { min-height:44px; border:0!important; border-radius:5px!important; background:transparent; font-size:14px; color:var(--sf-muted); padding:10px 15px; }
.storefront .category-tabs .nav-link.active { background:var(--sf-soft)!important; color:var(--sf-accent)!important; font-weight:650; }
.storefront .category-count { background:transparent; color:inherit; font-variant-numeric:tabular-nums; }
.storefront .category-tabs .nav-link.active .category-count { color:var(--sf-accent)!important; background:transparent!important; }
.storefront-index .search-sort-container { margin-top:12px!important; padding-bottom:12px; }
.storefront-index .categories-container { margin-top:12px!important; }
.storefront-index .card-text { margin-bottom:12px!important; }
.storefront-index .category-tabs { margin-bottom:0; }
.storefront-index .count-text { margin-top:8px!important; padding-top:8px; }
.storefront .announcement-text,.storefront .announcement-html { border-radius:6px; background:var(--sf-soft); border:0; color:var(--sf-ink); }
.storefront .count-text { font-size:13px; color:var(--sf-muted); }
.storefront .alert { border:1px solid var(--sf-line); border-radius:6px; box-shadow:none!important; font-size:14px; }
.storefront .alert-info { background:var(--sf-soft); color:var(--sf-ink); }
.storefront .empty-state-container,.storefront .empty-state { background:transparent!important; box-shadow:none!important; border:0!important; }
.storefront .empty-state-container::before,.storefront .empty-state-container::after { display:none!important; }
.storefront .product-description-section { padding:0; border-top:1px solid var(--sf-line); background:var(--sf-surface)!important; border-radius:6px; margin-top:24px; }
.storefront .product-description-section::before { display:none!important; }
.storefront .product-full-description { padding:20px 24px; font-size:14px; line-height:1.85; overflow-wrap:anywhere; color:var(--sf-ink); }
.storefront .product-full-description img { max-width:100%; height:auto; }
.storefront .product-full-description table { max-width:100%; display:block; overflow-x:auto; }
.storefront .sf-purchase-summary { border-top:1px solid var(--sf-line); padding:18px 0; margin-top:8px; display:flex; justify-content:space-between; align-items:center; gap:16px; color:var(--sf-muted); }
.storefront .sf-purchase-summary strong { font-size:26px; }
.storefront .order-card { max-width:820px; margin-inline:auto; }
.storefront .order-details-card,.storefront .order-info-card,.storefront .order-list-card { max-width:1040px; margin-inline:auto; }
.storefront .order-info-row,.storefront .info-row { border-bottom:1px solid var(--sf-line); padding:12px 0; gap:18px; }
.storefront .order-info-label,.storefront .info-label { color:var(--sf-muted); flex-shrink:0; }
.storefront .order-info-value,.storefront .info-value { color:var(--sf-ink); overflow-wrap:anywhere; min-width:0; font-variant-numeric:tabular-nums; }
.storefront .order-info-card-mobile .info-value { max-width:70%; }
.storefront pre { padding:18px; border:1px dashed var(--sf-line); border-radius:4px; background:var(--sf-soft); color:var(--sf-ink); white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; }
.storefront pre code { color:inherit; font:13px/1.8 Consolas,"SFMono-Regular",monospace; }
.storefront .copy-card-btn { min-width:44px; min-height:44px; }
.storefront .table { color:var(--sf-ink); border-color:var(--sf-line); }
.storefront .table td,.storefront .table th { padding:14px 16px; vertical-align:middle; }
.storefront .history-dropdown-item { border:0; background:transparent; text-align:left; min-height:44px; cursor:pointer; color:var(--sf-ink); }
.storefront .history-dropdown-menu { background:var(--sf-surface); border-color:var(--sf-line); max-width:min(360px,80vw); z-index:1050; }
.storefront footer { border-top:1px solid var(--sf-line); color:var(--sf-muted); background:var(--sf-paper)!important; font-size:12px; }
.storefront .sf-skip-link { position:fixed; top:-100px; left:16px; z-index:3000; padding:12px 18px; color:#fff; background:var(--sf-accent); border-radius:4px; }
.storefront .sf-skip-link:focus { top:10px; }
.storefront .sf-feedback { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:2100; width:max-content; max-width:calc(100vw - 32px); background:var(--sf-ink); color:var(--sf-surface); padding:12px 18px; border-radius:6px; font-size:14px; box-shadow:var(--sf-shadow); }
.storefront .sf-form-error { color:#a63732; background:#fcf0ec; padding:12px 14px; border-radius:5px; margin-bottom:16px; }
.storefront [hidden] { display:none!important; }
.storefront-mobile_basic header { padding:15px 16px; }
.storefront-mobile_basic .container { max-width:1000px; }
.storefront-mobile_basic .product-grid-container { gap:14px!important; }
.storefront-mobile_basic .product-card .card-body { padding:14px; }
.storefront-mobile_basic .price-stock-line { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:12px 0; }
.storefront-mobile_basic .bottom-nav,.storefront-mobile_basic .action-bar { background:var(--sf-surface)!important; border-top:1px solid var(--sf-line); box-shadow:none; padding-bottom:max(10px,env(safe-area-inset-bottom)); }
.storefront-mobile_basic .action-bar { position:static; width:auto; padding:0; margin:20px 0; border:0; background:transparent!important; }
.storefront-mobile_basic .bottom-nav a { min-height:48px; color:var(--sf-muted); }
.storefront-mobile_basic .bottom-nav a.active { color:var(--sf-accent)!important; }
.storefront-mobile_basic .categories-panel,.storefront-mobile_basic .sort-dropdown { background:var(--sf-surface); color:var(--sf-ink); border-radius:8px 8px 0 0; visibility:hidden; }
.storefront-mobile_basic .categories-panel.active,.storefront-mobile_basic .sort-dropdown.active { visibility:visible; }
.storefront-mobile_basic .category-item,.storefront-mobile_basic .sort-item { min-height:44px; color:var(--sf-ink); }
.storefront-mobile_basic .product-buy-image { max-height:220px; width:100%; object-fit:contain; background:var(--sf-soft); }
.storefront-mobile_basic .product-buy-image-placeholder { height:120px; background:var(--sf-soft); }
.storefront-mobile_basic .card-body .product-full-description { padding:0; }
@media (min-width:992px) {
    .storefront-buy main > .row > .col-md-12 { max-width:860px; margin-inline:auto; }
    .storefront-mobile_basic.storefront-buy main { max-width:760px; }
    .storefront-mobile_basic .product-grid-container.grid-2-items { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .storefront-mobile_basic .action-bar { position:static; border:0; padding:0; background:transparent!important; }
}
@media (max-width:767px) {
    .storefront { font-size:14px; }
    .storefront .container { padding-inline:16px; }
    .storefront header { padding:20px 0; }
    .storefront header .text-md-end { margin-top:16px; }
    .storefront h1 { font-size:23px; }
    .storefront h2 { font-size:21px; }
    .storefront header h1 { font-size:23px!important; }
    .storefront main { padding-top:20px!important; }
    .storefront .card-body { padding:18px; }
    .storefront .card-header,.storefront .order-card-header,.storefront .description-header { padding:16px 18px; }
    .storefront .product-grid-container { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; }
    .storefront .product-grid-container.grid-1-items { grid-template-columns:minmax(0,1fr)!important; }
    .storefront-mobile_basic .product-grid-container.grid-3-items { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
    .storefront .product-card .card-body { padding:12px; gap:8px; }
    .storefront .product-card .card-title { font-size:14px; line-height:1.55; }
    .storefront .product-card .card-footer { padding:0 12px 12px; }
    .storefront .product-card .product-image,.storefront .product-card .product-image-container,.storefront .product-card img.product-image,.storefront .product-card .product-image img,.storefront .product-no-image { height:120px; }
    .storefront .product-card .price-tag { font-size:21px; }
    .storefront .product-card .btn { padding:9px 6px; font-size:13px; }
    .storefront .product-card .btn svg,.storefront .product-card .btn i { display:none; }
    .storefront .product-full-description { padding:16px 18px; }
    .storefront .order-info-row,.storefront .info-row { gap:12px; }
    .storefront .sf-feedback { bottom:90px; }
    .storefront-mobile_basic { padding-bottom:90px; }
    .storefront-mobile_basic .mobile-header { padding:14px 16px; }
    .storefront-mobile_basic.storefront-buy main { padding-bottom:105px!important; }
    .storefront .payment-methods-group { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .storefront .payment-method-label { padding:10px!important; }
    .storefront .payment-icon-wrapper { width:26px!important; min-width:26px; }
    .storefront .payment-icon-wrapper svg,.storefront .payment-icon-wrapper img { max-width:26px; }
    .storefront .payment-method-name { font-size:13px!important; }
}
@media (prefers-color-scheme:dark) {
    :root { --sf-paper:#17211f; --sf-surface:#202d29; --sf-ink:#e3ece7; --sf-muted:#b2c0b8; --sf-line:#3d5046; --sf-soft:#293a31; --sf-shadow:none; }
    .storefront .text-dark,.storefront .text-secondary { color:var(--sf-ink)!important; }
    .storefront .bg-light,.storefront .bg-white { background:var(--sf-surface)!important; }
    .storefront .product-card .price-tag,.storefront .product-price,.storefront .sf-purchase-summary strong { color:var(--sf-accent)!important; }
    .storefront .sf-form-error { color:#ffc0b3; background:#4a302b; }
    .storefront .stock-available { color:#79c9b9!important; background:var(--sf-soft)!important; }
    .storefront .stock-available *, .storefront .quantity-btn { color:#79c9b9!important; }
    .storefront .btn-outline-primary,.storefront .text-primary,.storefront .category-tabs .nav-link.active,.storefront .category-tabs .nav-link.active .category-count { color:var(--sf-accent)!important; }
    .storefront a:not(.btn-primary):not(.btn-buy):not(.sf-brand) { color:var(--sf-accent); }
}
html[data-theme=dark] { --sf-paper:#17211f; --sf-surface:#202d29; --sf-ink:#e3ece7; --sf-muted:#b2c0b8; --sf-line:#3d5046; --sf-soft:#293a31; --sf-shadow:none; }
@media (prefers-reduced-motion:reduce) {
    .storefront *,.storefront *::before,.storefront *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Keep the copy action visible without covering delivered text on narrow screens. */
.storefront .card-content-wrapper .copy-card-btn { position:static; display:flex; align-items:center; justify-content:center; width:fit-content; min-height:36px; margin:0 0 10px auto; opacity:1; color:var(--sf-accent); background:var(--sf-surface); border:1px solid var(--sf-line); }
.storefront .repurchase-btn { color:var(--sf-accent)!important; background:var(--sf-surface)!important; border:1px solid var(--sf-line)!important; }
.storefront .repurchase-btn:hover,.storefront .card-content-wrapper .copy-card-btn:hover { background:var(--sf-soft)!important; }
