:root { --store-accent:#1677ff; --store-background:#f6f8fb; }
body { min-width:320px; margin:0; background:var(--store-background); color:#283247; padding-bottom:calc(70px + env(safe-area-inset-bottom)); letter-spacing:0; }
body *,button,input,select { letter-spacing:0; }
#storeName,#heroTitle,#heroSubtitle { min-width:0;max-width:100%;overflow-wrap:anywhere; }
body.without-bottom-nav { padding-bottom:0; }
.mobile-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; height:58px; padding:0 16px; border-bottom:1px solid #eef1f5; background:#fff; }
.mobile-header > a:first-child { display:flex; align-items:center; gap:9px; min-width:0; text-decoration:none; }
.mobile-header img { width:28px; height:28px; object-fit:contain; }
.mobile-header > a:first-child.has-logo { gap:0; }
.mobile-header > a:first-child.has-logo img { width:120px; height:54px; }
.mobile-header > a:first-child.has-logo #storeName { display:none; }
.mobile-header strong { font-size:17px; font-weight:600; color:#29374e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mobile-header .mobile-brand { display:flex; align-items:center; gap:9px; min-width:0; text-decoration:none; }
.mobile-header-actions { display:flex; align-items:center; flex:0 0 auto; gap:3px; margin-left:8px; }
.mobile-header-actions .quick-link { position:relative; display:grid; place-items:center; width:32px; height:32px; color:#728198; text-decoration:none; }
.mobile-header-actions .quick-link svg { width:18px; height:18px; stroke-width:1.8; }
.mobile-header-actions .quick-badge { position:absolute; top:0; right:-1px; min-width:14px; height:14px; padding:0 3px; border-radius:999px; background:#ff4d4f; color:#fff; font-size:8px; font-style:normal; font-weight:700; line-height:14px; text-align:center; }
.mobile-header-actions .quick-badge[hidden] { display:none; }
.mobile-header-actions .quick-link[data-quick-notifications].has-unread svg { transform-origin:50% 12%; animation:quick-bell-pulse 1.35s ease-in-out infinite; }
.mobile-header-actions .quick-link[data-quick-notifications].has-unread .quick-badge { animation:quick-badge-pulse 1.35s ease-in-out infinite; }
.mobile-header #accountLink { flex:0 0 auto; margin-left:4px; padding:6px 8px; border:0; border-radius:4px; background:#eef5ff; color:var(--store-accent); font-size:11px; text-decoration:none; }
@media (max-width:360px) { .mobile-header { padding-left:10px; padding-right:10px; } .mobile-header-actions .quick-link { width:28px; } .mobile-header #accountLink { padding-left:5px; padding-right:5px; } }
#storeContent { width:min(100%,680px); margin:0 auto; }
#mobileCatalogSearchForm { display:flex; align-items:center; gap:8px; height:41px; margin:14px 14px 0; padding:0 0 0 13px; border:1px solid #e5ecf5; border-radius:6px; background:#fff; }
.store-search svg { width:17px; height:17px; flex:0 0 auto; color:#a0b0c6; }
#mobileCatalogSearchForm input { min-width:0; width:100%; height:38px; padding:0; border:0; background:transparent; color:#334056; font:inherit; font-size:12px; }
#mobileCatalogSearchForm button { align-self:stretch; flex:0 0 58px; border:0; border-radius:0 5px 5px 0; background:var(--store-accent); color:#fff; font-size:12px; }
.mobile-intro { display:block; min-height:0; margin:0; padding:20px 15px 15px; border:0; background:transparent; text-align:left; }
.mobile-intro h1 { margin:0 0 5px; color:#2a3951; font-size:22px; line-height:1.4; }
.mobile-intro p { margin:0; color:#9aa4b3; font-size:12px; line-height:1.6; }
.mobile-intro #heroAction { display:inline-flex; min-height:28px; padding:0; margin-top:8px; background:none; color:var(--store-accent); font-size:12px; }
#storeHeroImage { display:block; width:100%; height:auto; object-fit:contain; margin:12px 0 0; border-radius:6px; }
[data-mall-page-sections] { display:grid; gap:12px; padding:0 14px; margin:0 0 24px; }
body[data-app=mall-mobile] .mps-band { padding:16px 12px; border:0; background:#fff; }
body[data-app=mall-mobile] .mps-band-banner { padding:0; background:transparent; }
body[data-app=mall-mobile] .mps-band-notice { padding:10px 12px; background:#fff8ec; color:#a18151; }
.mps-shortcuts { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px 9px; }
.mps-shortcuts a { font-size:12px; }
.mps-shortcut-icon { width:42px; height:42px; border-radius:12px; }
.announcement { padding:10px 14px; background:#fff8ec; color:#a18151; font-size:11px; line-height:1.6; }
.mobile-catalog { margin:0; padding:0 14px; border:0; background:transparent; scroll-margin-top:70px; }
.mobile-catalog-heading { display:flex; align-items:center; justify-content:space-between; padding:0; margin-bottom:15px; }
.mobile-catalog-heading h2 { margin:0; font-size:19px; font-weight:600; color:#2c3a51; }
.mobile-catalog-heading p { display:none; }
#mobileCategoryButton { min-height:28px; padding:4px 10px; border:1px solid #e5ebf3; border-radius:4px; background:#fff; color:#7c8b9f; font-size:11px; }
.mobile-category-meta { margin:0 0 9px; color:#a2adba; font-size:10px; }
.mobile-category-rail { display:flex; gap:8px; padding:0 0 12px; margin:0; overflow-x:auto; scrollbar-width:none; }
.mobile-category-rail button { flex:0 0 auto; min-height:32px; padding:6px 12px; border:1px solid transparent; border-radius:4px; background:#fff; color:#79869a; font-size:12px; }
.mobile-category-rail button.is-active { border-color:#d7e8ff; background:#ecf5ff; color:var(--store-accent); }
.mobile-catalog .product-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mobile-catalog .product-card { display:flex; flex-direction:column; min-width:0; min-height:0; padding:0; border:1px solid #e9eef4; border-radius:6px; background:#fff; overflow:hidden; }
.mobile-catalog .product-visual { display:grid; place-items:center; flex:0 0 auto; width:100%; height:auto; min-height:0; aspect-ratio:1.25; border:0; border-radius:0; background:#edf4fd; color:#86b3e8; }
.mobile-catalog .product-visual img { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; }
.product-visual > svg { width:38px; height:38px; stroke-width:1.4; }
.product-card:nth-child(3n+2) .product-visual { background:#fff5ea; color:#dba366; }
.product-card:nth-child(3n+3) .product-visual { background:#eef8f3; color:#78b69c; }
.mobile-catalog .product-card > .product-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:11px; }
.mobile-catalog .product-label { margin-bottom:6px; color:#8c98ab; font-size:9px; }
.mobile-catalog .product-card h3 { margin:0 0 5px; color:#374358; font-size:13px; line-height:1.6; font-weight:600; overflow-wrap:anywhere; white-space:normal; }
.mobile-catalog .product-card p { display:block; min-height:0; margin:0 0 12px; color:#8592a4; font-size:10px; line-height:1.6; overflow-wrap:anywhere; }
.mobile-catalog .product-meta { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin:auto 0 0; }
.mobile-catalog .product-meta strong { color:#eb704c; font-size:16px; white-space:nowrap; }
.mobile-catalog .product-meta button { width:auto; min-height:29px; padding:4px 7px; border:0; border-radius:4px; background:#edf5ff; color:var(--store-accent); font-size:10px; }
.mobile-catalog .product-meta button:disabled { background:#f1f3f6; color:#a4adbb; }
body[data-product-display-mode=list] .product-list { grid-template-columns:1fr; }
body[data-product-display-mode=list] .product-card { display:grid; grid-template-columns:100px minmax(0,1fr); }
body[data-product-display-mode=list] .product-visual { height:100%; aspect-ratio:auto; }
.bottom-nav { position:fixed; bottom:0; left:50%; right:auto; transform:translateX(-50%); z-index:30; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:min(100%,480px); min-height:64px; padding:8px 5px calc(8px + env(safe-area-inset-bottom)); border-top:1px solid #e8edf3; background:#fff; }
.bottom-nav a { display:grid; align-content:center; justify-items:center; gap:4px; padding:0; border:0; color:#a0abba; font-size:10px; text-decoration:none; }
.bottom-nav svg { width:21px; height:21px; stroke-width:1.7; }
.bottom-nav a.is-active { color:var(--store-accent); background:transparent; }
.mobile-category-drawer nav button { display:flex; align-items:center; gap:10px; }
.mobile-category-drawer nav svg { width:17px; height:17px; }
.account-view { padding:22px 14px 30px; }
.account-heading h1 { font-size:23px; }
.account-heading p,.auth-kicker,.panel-heading p { letter-spacing:0; }
.auth-intro { display:none; }
.auth-panel { padding:20px; border:1px solid #e8edf3; border-radius:6px; background:#fff; box-shadow:none; }
.member-auth { padding:0; border:0; background:transparent; }
.member-form input { border-color:#dfe7f1; border-radius:4px; }
.primary-action { background:var(--store-accent); }
.member-welcome { background:#fff; color:#33435c; border-bottom:2px solid #d9eaff; }
.member-welcome p,.member-state span { color:#8b9ab0; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; } }
/* Category artwork uses the same public catalog as the PC storefront. */
.catalog-category-image { width: 22px; height: 22px; object-fit: contain; flex: 0 0 22px; vertical-align: middle; margin-right: 8px; }
