*{box-sizing:border-box}.jsf-body{margin:0;background:#f6f8fc;color:#0f172a;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.jsf-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid #e8edf5}.jsf-brand{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none}.jsf-brand img,.jsf-logo-fallback{width:44px;height:44px;border-radius:13px;object-fit:contain;background:#fff;border:1px solid #e5e7eb}.jsf-logo-fallback{display:grid;place-items:center;background:var(--jsf-primary);color:white;font-size:22px;font-weight:800}.jsf-brand b{display:block;font-size:18px;color:var(--jsf-primary)}.jsf-brand small{display:block;color:#64748b;margin-top:2px}.jsf-head-actions{display:flex;gap:8px}.jsf-head-actions a{width:40px;height:40px;display:grid;place-items:center;background:#f1f5f9;border-radius:12px;text-decoration:none;color:#0f172a}.jsf-main{max-width:1180px;margin:auto;padding:14px 14px 100px}.jsf-hero{border-radius:22px;overflow:hidden;margin-bottom:22px;box-shadow:0 16px 40px rgba(15,23,42,.09)}.jsf-hero img{width:100%;display:block;aspect-ratio:16/7;object-fit:cover}.jsf-default-hero{min-height:240px;display:flex;align-items:center;padding:32px;background:linear-gradient(135deg,var(--jsf-primary),#0f172a);color:white}.jsf-default-hero h1{font-size:36px;margin:4px 0}.jsf-default-hero p{opacity:.85}.jsf-default-hero a{display:inline-block;background:var(--jsf-accent);color:white;text-decoration:none;padding:12px 20px;border-radius:12px;font-weight:800}.jsf-section-title{display:flex;justify-content:space-between;align-items:center;margin:22px 2px 12px}.jsf-section-title h2,.jsf-page-title h1{margin:0}.jsf-section-title a{color:var(--jsf-primary);text-decoration:none;font-weight:700}.jsf-cat-row{display:flex;gap:12px;overflow:auto;padding-bottom:6px}.jsf-cat{min-width:94px;text-align:center;text-decoration:none;color:#0f172a}.jsf-cat img,.jsf-cat span{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;object-fit:cover;background:white;border:1px solid #e5e7eb;margin:auto auto 7px}.jsf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jsf-card{background:white;border-radius:18px;overflow:hidden;border:1px solid #e7ecf3;box-shadow:0 8px 24px rgba(15,23,42,.05)}.jsf-img{display:block;aspect-ratio:1/1;background:#f8fafc}.jsf-img img{width:100%;height:100%;object-fit:cover}.jsf-img span{height:100%;display:grid;place-items:center;font-size:40px}.jsf-card-body{padding:11px}.jsf-card h3{font-size:14px;line-height:1.35;margin:0 0 8px;min-height:38px}.jsf-price{font-size:18px;font-weight:900;color:var(--jsf-primary)}.jsf-price small{font-size:11px;color:#64748b;font-weight:500}.jsf-price.big{font-size:28px}.jsf-moq{display:grid;grid-template-columns:1fr 1fr;background:#f8fafc;border-radius:12px;padding:9px;margin:9px 0;font-size:10px;color:#64748b}.jsf-moq span+span{border-left:1px solid #e2e8f0;padding-left:9px}.jsf-moq b{font-size:12px;color:#0f172a}.jsf-stock{font-size:11px;color:#16a34a;font-weight:700}.jsf-add,.jsf-form button,.jsf-checkout button,.jsf-login-card button{width:100%;border:0;background:var(--jsf-primary);color:white;padding:11px;border-radius:12px;font-weight:800;cursor:pointer}.jsf-add.wide{padding:15px;font-size:16px}.jsf-page-title{margin:8px 0 18px}.jsf-page-title p{color:#64748b}.jsf-category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.jsf-category-grid a{background:#fff;border-radius:18px;padding:12px;text-decoration:none;color:#0f172a;text-align:center}.jsf-category-grid img,.jsf-category-grid span{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;display:grid;place-items:center;font-size:42px;background:#f1f5f9}.jsf-category-grid b{display:block;padding:10px 0 3px}.jsf-product-detail{background:#fff;border-radius:22px;padding:16px}.jsf-product-detail>img{width:100%;max-height:460px;object-fit:contain;border-radius:18px}.jsf-description{color:#475569}.jsf-bottom{position:fixed;bottom:0;left:0;right:0;z-index:30;background:rgba(255,255,255,.96);border-top:1px solid #e5e7eb;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.jsf-bottom a{text-align:center;text-decoration:none;color:#64748b}.jsf-bottom span{display:block;font-size:20px}.jsf-bottom small{font-size:10px}.jsf-bottom a.active{color:var(--jsf-primary);font-weight:800}.jsf-login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,var(--jsf-primary),#0f172a)}.jsf-login-card{width:min(420px,100%);background:white;padding:24px;border-radius:24px}.jsf-login-card input{width:100%;padding:14px;margin:7px 0;border:1px solid #dbe2ea;border-radius:12px}.jsf-back{text-decoration:none;color:var(--jsf-primary)}.jsf-dashboard{min-height:100vh;background:#f4f7fb}.jsf-dash-head{padding:18px;color:white;background:linear-gradient(135deg,var(--jsf-primary),#0f172a);display:flex;justify-content:space-between;align-items:center}.jsf-dash-head h1{margin:3px 0}.jsf-dash-head a{color:white;text-decoration:none;background:rgba(255,255,255,.15);padding:9px 12px;border-radius:10px}.jsf-dash-tabs{display:flex;overflow:auto;background:white;border-bottom:1px solid #e5e7eb}.jsf-dash-tabs a{white-space:nowrap;padding:14px;text-decoration:none;color:#64748b}.jsf-dash-tabs a.active{color:var(--jsf-primary);font-weight:800;border-bottom:3px solid var(--jsf-primary)}.jsf-dash-main{max-width:980px;margin:auto;padding:16px}.jsf-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.jsf-stat-grid>div,.jsf-panel{background:#fff;border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.04);margin-bottom:14px}.jsf-stat-grid small{display:block;color:#64748b}.jsf-stat-grid b{font-size:22px}.jsf-view-store{display:block;margin-top:14px;padding:15px;background:var(--jsf-primary);color:white;text-align:center;border-radius:14px;text-decoration:none;font-weight:800}.jsf-form label{display:block;font-size:13px;font-weight:700;margin:10px 0}.jsf-form input,.jsf-form select,.jsf-form textarea,.jsf-checkout input,.jsf-checkout textarea{width:100%;padding:12px;border:1px solid #d8e0e9;border-radius:11px;margin-top:5px;background:#fff}.jsf-form textarea,.jsf-checkout textarea{min-height:90px}.jsf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jsf-check input{width:auto}.jsf-list-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf1f5}.jsf-list-item img{width:54px;height:54px;border-radius:12px;object-fit:cover}.jsf-list-item>div:nth-child(2){flex:1}.jsf-list-item small{display:block;color:#64748b}.jsf-list-actions a{display:block;text-decoration:none;font-size:12px}.jsf-list-actions .danger{color:#dc2626}.jsf-orders article{border:1px solid #e5e7eb;border-radius:14px;padding:13px;margin:10px 0}.jsf-order-top{display:flex;justify-content:space-between}.status{padding:4px 8px;border-radius:99px;background:#f1f5f9;font-size:11px}.jsf-order-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.jsf-order-actions a{padding:7px 9px;background:#eef2ff;border-radius:8px;text-decoration:none;font-size:12px}.jsf-alert{padding:12px;border-radius:12px;background:#dcfce7;color:#166534;margin-bottom:12px}.jsf-alert.bad{background:#fee2e2;color:#991b1b}.jsf-checkout{background:white;border-radius:18px;padding:16px}.jsf-cart-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid #e5e7eb}.jsf-cart-total{font-size:20px;font-weight:900;margin:18px 0}.jsf-cart-qty button{width:30px;height:30px;border:0;border-radius:8px}.jsf-empty{text-align:center;padding:40px;color:#64748b}@media(min-width:760px){.jsf-grid{grid-template-columns:repeat(4,1fr)}.jsf-category-grid{grid-template-columns:repeat(5,1fr)}.jsf-bottom{max-width:520px;left:50%;transform:translateX(-50%);border-radius:18px 18px 0 0}.jsf-card h3{font-size:16px}.jsf-main{padding-top:24px}}@media(max-width:420px){.jsf-stat-grid{grid-template-columns:1fr 1fr}.jsf-stat-grid>div:last-child{grid-column:1/-1}.jsf-form-row{grid-template-columns:1fr}}

/* v1.0.2 premium mobile UI */
.jsf-body{background:linear-gradient(180deg,#f8fafc 0,#f4f7fb 50%,#eef3f9 100%)}
.jsf-header{padding:10px 14px;box-shadow:0 7px 24px rgba(15,23,42,.06)}
.jsf-brand{min-width:0}.jsf-brand>span:last-child{min-width:0}.jsf-brand b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
.jsf-head-actions a{position:relative;box-shadow:inset 0 0 0 1px rgba(15,23,42,.04)}
.jsf-cart-badge{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--jsf-accent);color:#fff;font-size:10px;font-style:normal;font-weight:900;display:grid;place-items:center;border:2px solid #fff}
.jsf-search-wrap{height:48px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;display:flex;align-items:center;gap:10px;padding:0 14px;margin:0 0 18px;box-shadow:0 8px 24px rgba(15,23,42,.045)}
.jsf-search-wrap span{font-size:24px;color:#64748b;transform:rotate(-15deg)}.jsf-product-search{border:0!important;outline:0;width:100%;height:100%;font-size:15px;background:transparent!important;padding:0!important;margin:0!important}
.jsf-hero{border-radius:24px}.jsf-hero img{aspect-ratio:16/8}.jsf-default-hero{position:relative;overflow:hidden}.jsf-default-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.09);right:-70px;top:-80px}.jsf-default-hero>div{position:relative;z-index:2}
.jsf-cat img,.jsf-cat span{box-shadow:0 8px 18px rgba(15,23,42,.06)}
.jsf-card{border:0;box-shadow:0 10px 30px rgba(15,23,42,.07);transition:.2s transform,.2s box-shadow}.jsf-card:active{transform:scale(.985)}
.jsf-img{position:relative}.jsf-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(15,23,42,.04))}
.jsf-card-body{padding:12px}.jsf-card h3{font-weight:800}.jsf-price{letter-spacing:-.3px}.jsf-add{background:linear-gradient(135deg,var(--jsf-primary),color-mix(in srgb,var(--jsf-primary) 75%,#000));box-shadow:0 8px 18px color-mix(in srgb,var(--jsf-primary) 22%,transparent)}
.jsf-bottom{box-shadow:0 -8px 30px rgba(15,23,42,.08)}.jsf-bottom a{border-radius:12px;padding:4px 0}.jsf-bottom a.active{background:color-mix(in srgb,var(--jsf-primary) 10%,#fff)}
.jsf-dash-head{padding:20px 16px 24px;box-shadow:0 12px 30px rgba(15,23,42,.16)}.jsf-dash-head h1{font-size:24px}.jsf-dash-tabs{position:sticky;top:0;z-index:20;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.jsf-stat-grid>div{position:relative;overflow:hidden;min-height:112px;display:flex;flex-direction:column;justify-content:flex-end}.jsf-stat-grid>div:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-22px;top:-20px;background:color-mix(in srgb,var(--jsf-primary) 10%,transparent)}.jsf-stat-icon{position:absolute;left:16px;top:14px;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--jsf-primary) 12%,#fff);color:var(--jsf-primary);font-weight:900}.jsf-stat-grid b{font-size:23px;letter-spacing:-.5px}
.jsf-quick-panel{margin:18px 0}.jsf-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jsf-quick-grid a{min-height:135px;background:#fff;border-radius:20px;padding:16px;text-decoration:none;color:#0f172a;box-shadow:0 8px 24px rgba(15,23,42,.055);display:flex;flex-direction:column}.jsf-quick-grid a>span{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--jsf-primary) 11%,#fff);color:var(--jsf-primary);font-size:22px;margin-bottom:auto}.jsf-quick-grid b{margin-top:12px}.jsf-quick-grid small{color:#64748b;margin-top:3px}
.jsf-panel{border:1px solid #edf1f5}.jsf-panel h2{margin-top:0}.jsf-form input[type=color]{height:48px;padding:5px}.jsf-form button{margin-top:10px;padding:14px;font-size:15px}
.jsf-no-results{grid-column:1/-1;text-align:center;background:#fff;border-radius:18px;padding:30px;color:#64748b}
@media(max-width:420px){.jsf-brand b{max-width:155px}.jsf-main{padding-left:12px;padding-right:12px}.jsf-grid{gap:10px}.jsf-card-body{padding:10px}.jsf-moq{padding:8px 6px}.jsf-moq span+span{padding-left:6px}.jsf-quick-grid{gap:10px}.jsf-quick-grid a{padding:14px;min-height:128px}}

/* v1.0.3 mobile owner product manager */
.jsf-panel-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.jsf-panel-title h2{margin:2px 0}.jsf-panel-title small{font-size:10px;letter-spacing:1.2px;color:var(--jsf-primary);font-weight:900}.jsf-panel-title>a{padding:9px 11px;border-radius:10px;background:#eef2ff;color:var(--jsf-primary);text-decoration:none;font-size:12px;font-weight:800}.jsf-product-form input[type=file]{padding:10px;background:#f8fafc;border-style:dashed}.jsf-upload-help,.jsf-form label>small{display:block;color:#64748b;font-size:11px;font-weight:500;margin-top:6px}.jsf-current-image{width:88px;height:88px;display:block;object-fit:cover;border-radius:14px;margin-top:10px;border:1px solid #e2e8f0}.jsf-gallery-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.jsf-gallery-preview img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid #e2e8f0}.jsf-featured{display:flex!important;align-items:center;gap:8px;background:#f8fafc;padding:12px;border-radius:11px;margin-top:27px!important}.jsf-featured input{margin:0!important}.jsf-list-placeholder{width:54px;height:54px;border-radius:12px;display:grid;place-items:center;background:#f1f5f9;font-size:24px}.jsf-product-status{display:inline-block;margin-top:5px;padding:3px 7px;border-radius:99px;font-size:10px;font-style:normal;font-weight:800}.jsf-product-status.active{background:#dcfce7;color:#166534}.jsf-product-status.draft{background:#f1f5f9;color:#64748b}.jsf-empty-mini{padding:22px;text-align:center;color:#64748b;background:#f8fafc;border-radius:14px}.jsf-list-actions{display:flex;flex-direction:column;gap:8px}.jsf-list-actions a{padding:7px 9px;background:#eef2ff;border-radius:8px;text-align:center;font-weight:800}.jsf-list-actions a.danger{background:#fff1f2}
@media(max-width:420px){.jsf-gallery-preview{grid-template-columns:repeat(3,1fr)}.jsf-panel{padding:14px}.jsf-featured{margin-top:10px!important}.jsf-list-item{align-items:flex-start}.jsf-list-actions{min-width:58px}}
.jsf-payment-box{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;margin:0 0 18px;text-align:center}.jsf-payment-box h2{margin:0 0 12px}.jsf-payment-qr,.jsf-setting-qr{display:block;width:min(260px,100%);aspect-ratio:1;object-fit:contain;margin:10px auto;border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:8px}.jsf-payment-rule{font-weight:800;color:var(--jsf-primary)}.jsf-form select{width:100%;min-height:48px;border:1px solid #dbe1ea;border-radius:12px;padding:10px;background:#fff}


/* v1.0.5 theme application and banner slider */
.jsf-body .jsf-brand b,
.jsf-body .jsf-section-title a,
.jsf-body .jsf-price,
.jsf-body .jsf-back,
.jsf-body .jsf-payment-rule,
.jsf-body .jsf-panel-title small,
.jsf-body .jsf-panel-title>a,
.jsf-body .jsf-bottom a.active,
.jsf-body .jsf-dash-tabs a.active{color:var(--jsf-primary)!important}
.jsf-body .jsf-add,
.jsf-body .jsf-form button,
.jsf-body .jsf-checkout button,
.jsf-body .jsf-login-card button,
.jsf-body .jsf-view-store,
.jsf-body .jsf-logo-fallback{background:var(--jsf-primary)!important;color:var(--jsf-primary-text)!important}
.jsf-body .jsf-default-hero a{background:var(--jsf-accent)!important;color:var(--jsf-accent-text)!important}
.jsf-body .jsf-cart-badge{background:var(--jsf-accent)!important;color:var(--jsf-accent-text)!important}
.jsf-body .jsf-bottom a.active{background:color-mix(in srgb,var(--jsf-primary) 12%,#fff)!important}
.jsf-body .jsf-dash-tabs a.active{border-bottom-color:var(--jsf-primary)!important}
.jsf-body .jsf-default-hero,
.jsf-body .jsf-default-hero *{color:#fff!important}
.jsf-body .jsf-default-hero h1,
.jsf-body .jsf-default-hero p,
.jsf-body .jsf-default-hero small{position:relative;z-index:2;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.jsf-body .jsf-add{background-image:linear-gradient(135deg,var(--jsf-primary),color-mix(in srgb,var(--jsf-primary) 78%,#000))!important}
.jsf-banner-slider{position:relative;background:#e2e8f0;isolation:isolate}
.jsf-banner-track{position:relative;aspect-ratio:16/8}
.jsf-banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s ease;display:block}
.jsf-banner-slide.active{opacity:1;visibility:visible;z-index:1}
.jsf-banner-slide img{width:100%;height:100%;object-fit:cover;display:block}
.jsf-banner-dots{position:absolute;z-index:4;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:7px;padding:6px 9px;border-radius:99px;background:rgba(15,23,42,.28);backdrop-filter:blur(8px)}
.jsf-banner-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}
.jsf-banner-dots button.active{width:20px;border-radius:99px;background:var(--jsf-accent)}
.jsf-banner-preview img{aspect-ratio:16/8!important}
@media(max-width:520px){.jsf-banner-track{aspect-ratio:16/9}.jsf-hero img{aspect-ratio:auto}.jsf-default-hero{min-height:220px}.jsf-default-hero h1{font-size:31px}}

/* v1.0.6 theme consistency */
.jsf-header,.jsf-dash-head{border-color:var(--jsf-primary)!important}
.jsf-add,.jsf-form button,.jsf-view-store,.jsf-default-hero a{background:var(--jsf-primary)!important;color:var(--jsf-primary-text)!important}
.jsf-section-title a,.jsf-price,.jsf-dash-tabs a.active,.jsf-list-actions a{color:var(--jsf-primary)!important}
.jsf-cart-badge,.jsf-banner-dots button.active{background:var(--jsf-accent)!important;color:var(--jsf-accent-text)!important}
.jsf-banner-preview img,.jsf-banner-new-preview img{width:110px;height:58px;object-fit:cover;border-radius:10px}
.jsf-current-logo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px;margin:8px 0 14px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px}.jsf-current-logo>span{font-weight:800}.jsf-current-logo img{width:88px;height:88px;object-fit:contain;background:#fff;border:1px solid #dbe2ea;border-radius:16px;padding:4px}.jsf-current-logo .jsf-check{margin-left:auto}.jsf-upload-help{display:block;margin-top:6px;color:#64748b;font-size:11px;font-weight:500}

/* v1.1.0 premium mobile storefront */
.jsf-body{background:#f4f6f9;color:#172033}
.jsf-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 5px 24px rgba(15,23,42,.08);border-bottom:3px solid var(--jsf-primary)!important;padding:11px max(14px,env(safe-area-inset-left))}
.jsf-brand{min-width:0}.jsf-brand img,.jsf-logo-fallback{width:48px!important;height:48px!important;border-radius:15px!important;box-shadow:0 5px 16px rgba(15,23,42,.12)}
.jsf-brand>span:last-child{min-width:0}.jsf-brand b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.jsf-brand small{display:block;color:#667085;font-size:11px;margin-top:2px}
.jsf-head-actions{gap:9px}.jsf-owner-link,.jsf-cart-link{width:43px;height:43px;border-radius:14px;background:#f1f4f8;display:grid;place-items:center;text-decoration:none;font-size:19px;box-shadow:inset 0 0 0 1px #e7ebf0}.jsf-cart-link{position:relative}
.jsf-main{max-width:1120px;margin:0 auto;padding:14px 14px 92px}
.jsf-hero{border-radius:22px!important;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.14);margin-bottom:15px}
.jsf-banner-track{aspect-ratio:16/6.6}.jsf-banner-slide img{object-fit:cover}
.jsf-search-wrap{position:sticky;top:77px;z-index:30;margin:13px 0 16px;background:#fff;border:1px solid #e6eaf0;border-radius:17px;box-shadow:0 7px 22px rgba(15,23,42,.08);height:52px}.jsf-search-wrap span{font-size:25px;color:var(--jsf-primary)}.jsf-search-wrap input{font-size:14px;font-weight:600}
.jsf-benefit-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:4px 0 22px}.jsf-benefit-row>div{background:#fff;border:1px solid #e9edf2;border-radius:16px;padding:11px 8px;text-align:center;box-shadow:0 5px 16px rgba(15,23,42,.05)}.jsf-benefit-row span{display:grid;place-items:center;width:30px;height:30px;margin:0 auto 6px;border-radius:10px;background:color-mix(in srgb,var(--jsf-primary) 12%,#fff);color:var(--jsf-primary);font-weight:900}.jsf-benefit-row b{display:block;font-size:11px}.jsf-benefit-row small{display:block;font-size:9px;color:#7b8494;margin-top:2px}
.jsf-section-title{margin:22px 2px 12px}.jsf-section-title h2{font-size:20px;letter-spacing:-.3px}.jsf-section-title a{font-size:12px;font-weight:800;background:color-mix(in srgb,var(--jsf-primary) 10%,#fff);padding:7px 10px;border-radius:10px;text-decoration:none}
.jsf-cat-row{gap:12px;padding:2px 2px 8px;scroll-snap-type:x proximity}.jsf-cat{min-width:84px;scroll-snap-align:start}.jsf-cat img,.jsf-cat>span{width:72px!important;height:72px!important;border-radius:20px!important;background:#fff!important;border:1px solid #e8ecf2;box-shadow:0 6px 16px rgba(15,23,42,.07);object-fit:cover}.jsf-cat b{font-size:11px;margin-top:7px;max-width:82px}
.jsf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.jsf-card{position:relative;background:#fff;border:1px solid #e7ebf0;border-radius:19px!important;overflow:hidden;box-shadow:0 7px 22px rgba(15,23,42,.07);transition:transform .18s ease,box-shadow .18s ease}.jsf-card:active{transform:scale(.985)}
.jsf-featured-badge{position:absolute;top:9px;left:9px;z-index:4;background:var(--jsf-accent);color:var(--jsf-accent-text);font-size:9px;font-weight:900;padding:5px 8px;border-radius:999px;box-shadow:0 4px 12px rgba(15,23,42,.18)}
.jsf-img{aspect-ratio:1/1;background:linear-gradient(145deg,#f8fafc,#eef2f7);padding:8px}.jsf-img img{width:100%;height:100%;object-fit:contain;border-radius:13px}
.jsf-card-body{padding:11px}.jsf-card h3{font-size:13px;line-height:1.35;min-height:35px;margin:0 0 7px;color:#20293a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jsf-price{font-size:17px!important;font-weight:900;display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.jsf-price small{font-size:9px;color:#7c8595;font-weight:600}.jsf-price del{font-size:10px;color:#98a0ad;font-weight:600}
.jsf-moq{display:grid!important;grid-template-columns:1fr 1fr;gap:5px;margin:8px 0!important;background:#f7f9fc;border-radius:11px;padding:7px!important}.jsf-moq span{font-size:8px!important;color:#778092}.jsf-moq b{font-size:10px!important;color:#273044}
.jsf-stock{font-size:10px!important;font-weight:800;color:#12805c!important;margin:6px 0}
.jsf-add{width:100%;min-height:39px;border-radius:12px!important;font-size:12px!important;font-weight:900!important;margin-top:8px;box-shadow:0 6px 14px color-mix(in srgb,var(--jsf-primary) 25%,transparent)}
.jsf-bottom{left:50%!important;transform:translateX(-50%);width:min(100%,600px);bottom:0;border-radius:20px 20px 0 0;box-shadow:0 -8px 28px rgba(15,23,42,.12);border-top:1px solid #e7ebf0;padding-bottom:max(6px,env(safe-area-inset-bottom));background:rgba(255,255,255,.97);backdrop-filter:blur(14px)}.jsf-bottom a{border-radius:13px;font-size:10px;font-weight:700}.jsf-bottom a.active{font-weight:900}
.jsf-page-title{background:linear-gradient(135deg,color-mix(in srgb,var(--jsf-primary) 12%,#fff),#fff);border:1px solid #e6eaf0;border-radius:20px;padding:17px;margin-bottom:12px}.jsf-page-title h1{font-size:24px;margin:0}.jsf-page-title p{margin:4px 0 0;color:#748094}
.jsf-category-grid a{background:#fff;border:1px solid #e6eaf0;border-radius:18px;box-shadow:0 6px 18px rgba(15,23,42,.06)}
@media(min-width:760px){.jsf-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.jsf-benefit-row>div{padding:15px}.jsf-benefit-row b{font-size:13px}.jsf-benefit-row small{font-size:10px}}
@media(max-width:520px){.jsf-main{padding-left:10px;padding-right:10px}.jsf-banner-track{aspect-ratio:16/7.3}.jsf-hero{border-radius:17px!important}.jsf-search-wrap{top:73px}.jsf-benefit-row{gap:6px}.jsf-benefit-row>div{padding:9px 4px;border-radius:13px}.jsf-benefit-row b{font-size:9px}.jsf-benefit-row small{display:none}.jsf-cat img,.jsf-cat>span{width:65px!important;height:65px!important}.jsf-grid{gap:9px}.jsf-card{border-radius:16px!important}.jsf-card-body{padding:9px}.jsf-card h3{font-size:12px}.jsf-price{font-size:15px!important}.jsf-add{font-size:11px!important;min-height:37px}}

/* v1.2.0 smart variants */
.jsf-variant-builder{margin:18px 0;padding:16px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}.jsf-attribute-builder{padding:14px 0;border-top:1px solid #e2e8f0}.jsf-attribute-builder:first-of-type{border-top:0}.jsf-attribute-values{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.jsf-attribute-values label{display:flex;align-items:center;gap:5px;padding:8px 10px;background:#fff;border:1px solid #dbe3ee;border-radius:10px;font-size:13px}.jsf-custom-value{display:flex;gap:8px}.jsf-custom-value input{flex:1}.jsf-custom-value button,.jsf-generate-variants{border:0;border-radius:10px;background:var(--jsf-primary);color:var(--jsf-primary-text);padding:10px 14px;font-weight:700}.jsf-generate-variants{width:100%;margin:14px 0}.jsf-variant-table-wrap{overflow:auto}.jsf-variant-table{width:100%;min-width:720px;border-collapse:collapse;background:#fff}.jsf-variant-table th,.jsf-variant-table td{padding:9px;border:1px solid #e2e8f0;text-align:left;vertical-align:middle}.jsf-variant-table input{min-width:74px;width:100%}.jsf-remove-variant{border:0;background:#fee2e2;color:#b91c1c;border-radius:8px;padding:7px 10px}.jsf-variant-picker{margin:16px 0;padding:14px;border:1px solid #e2e8f0;border-radius:14px}.jsf-option-group{margin-bottom:14px}.jsf-option-values{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.jsf-option-values button{background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:9px 14px;font-weight:700}.jsf-option-values button.active{background:var(--jsf-primary);border-color:var(--jsf-primary);color:var(--jsf-primary-text)}.jsf-variant-message{margin:4px 0 0;color:#64748b;font-size:13px}.jsf-add[disabled]{opacity:.5;cursor:not-allowed}.jsf-select-options{display:block;text-align:center;text-decoration:none}.jsf-cart-variant{font-size:12px;color:#475569;margin:3px 0}.jsf-product-main-image{width:100%;max-height:440px;object-fit:contain;border-radius:16px;background:#fff}

/* v1.2.1 variant visibility fixes */
.jsf-card-variants{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 10px}.jsf-card-variants span,.jsf-card-variants em{font-size:10px;line-height:1.2;padding:5px 7px;border-radius:999px;background:#f1f5f9;color:#334155;font-style:normal;border:1px solid #e2e8f0}.jsf-card-variants span{font-weight:700}.jsf-add:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.jsf-pwa-install{position:fixed;left:16px;right:16px;bottom:82px;z-index:99999;display:flex;align-items:center;gap:12px;border:0;border-radius:16px;padding:10px 14px;background:var(--jsf-primary,#2563eb);color:var(--jsf-primary-text,#fff);box-shadow:0 12px 32px rgba(0,0,0,.24);text-align:left}.jsf-pwa-install[hidden]{display:none!important}.jsf-pwa-install img{width:44px;height:44px;border-radius:11px;object-fit:cover;background:#fff}.jsf-pwa-install span{display:flex;flex-direction:column}.jsf-pwa-install b{font-size:15px}.jsf-pwa-install small{opacity:.88;font-size:12px}


/* v1.2.8 product enquiry modal */
.jsf-enquiry-btn{width:100%;min-height:39px;margin-top:8px;border:0;border-radius:12px;background:var(--jsf-primary);color:var(--jsf-primary-text);font-size:12px;font-weight:900;box-shadow:0 6px 14px color-mix(in srgb,var(--jsf-primary) 25%,transparent);cursor:pointer}.jsf-enquiry-btn.wide{min-height:46px;font-size:14px}.jsf-enquiry-modal[hidden]{display:none!important}.jsf-enquiry-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:end center;padding:16px}.jsf-enquiry-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(3px)}.jsf-enquiry-dialog{position:relative;z-index:1;width:min(100%,520px);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:22px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.3)}.jsf-enquiry-dialog h2{margin:0 40px 8px 0;font-size:22px}.jsf-enquiry-product{margin:0 0 15px;padding:10px 12px;border-radius:12px;background:#f1f5f9;color:#334155}.jsf-enquiry-close{position:absolute;right:13px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#eef2f7;color:#172033;font-size:25px;line-height:1;cursor:pointer}.jsf-enquiry-dialog label{display:block;margin:11px 0;font-size:12px;font-weight:800;color:#334155}.jsf-enquiry-dialog label small{font-weight:500;color:#64748b}.jsf-enquiry-dialog input,.jsf-enquiry-dialog textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #dbe3ee;border-radius:12px;padding:11px 12px;font:inherit;background:#fff;color:#172033}.jsf-enquiry-dialog textarea{min-height:72px;resize:vertical}.jsf-enquiry-dialog form>button[type=submit]{width:100%;min-height:44px;margin-top:8px;border:0;border-radius:12px;background:var(--jsf-primary);color:var(--jsf-primary-text);font-weight:900;cursor:pointer}.jsf-enquiry-result{margin-top:10px;font-size:12px;font-weight:700}.jsf-enquiry-result.bad{color:#b91c1c}.jsf-enquiry-open{overflow:hidden}@media(min-width:600px){.jsf-enquiry-modal{place-items:center}.jsf-enquiry-dialog{border-radius:22px}}@media(max-width:599px){.jsf-enquiry-modal{padding:0;align-items:end}.jsf-enquiry-dialog{width:100%;border-radius:22px 22px 0 0;padding:18px 16px max(20px,env(safe-area-inset-bottom))}}


/* v1.3.1 mobile banner fit fix - preserve full uploaded artwork */
@media(max-width:520px){.jsf-banner-slider{background:#fff}.jsf-banner-track{aspect-ratio:16/9!important}.jsf-banner-slide img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff}}

/* v1.3.2 natural banner ratio fix: no fixed crop on any screen */
.jsf-banner-slider .jsf-banner-track{aspect-ratio:auto!important;height:auto;min-height:0;overflow:hidden;transition:height .22s ease}
.jsf-banner-slider .jsf-banner-slide{top:0;left:0;right:0;bottom:auto}
.jsf-banner-slider .jsf-banner-slide img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
.jsf-banner-slider .jsf-banner-slide.active{position:relative}
.jsf-banner-slider .jsf-banner-slide:not(.active){position:absolute}
@media(max-width:520px){.jsf-banner-slider .jsf-banner-track{aspect-ratio:auto!important}.jsf-banner-slider .jsf-banner-slide img{height:auto!important;max-height:none!important}}

/* Super Admin custom footer HTML: fixed above store bottom navigation */
.jsf-custom-fixed-html{position:fixed;left:50%;transform:translateX(-50%);bottom:68px;z-index:29;width:min(100%,600px);padding:0 10px;pointer-events:auto}
.jsf-custom-fixed-html>*{max-width:100%}
@supports(padding:max(0px)){.jsf-custom-fixed-html{bottom:calc(68px + env(safe-area-inset-bottom))}}
@media(min-width:760px){.jsf-custom-fixed-html{bottom:70px}}


/* v1.3.3 store social/location section - normal flow, mobile first */
.jsf-connect{margin:2px auto 88px;width:min(calc(100% - 20px),580px);padding:16px;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #e6eaf0;border-radius:22px;box-shadow:0 10px 28px rgba(15,23,42,.08)}
.jsf-connect-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.jsf-connect-title>span{width:5px;height:34px;border-radius:999px;background:var(--jsf-primary)}.jsf-connect-title small{display:block;font-size:8px;letter-spacing:1.3px;font-weight:900;color:#8a94a6}.jsf-connect-title h2{margin:2px 0 0;font-size:18px;line-height:1.1;color:#172033}
.jsf-connect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.jsf-connect-item{display:flex;align-items:center;gap:9px;min-height:66px;padding:10px;background:#fff;border:1px solid #e7ebf0;border-radius:16px;text-decoration:none!important;color:#172033!important;box-shadow:0 5px 14px rgba(15,23,42,.05);transition:transform .16s ease,box-shadow .16s ease}.jsf-connect-item:active{transform:scale(.98)}
.jsf-connect-icon{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:12px;background:color-mix(in srgb,var(--jsf-primary) 10%,#fff);color:var(--jsf-primary)}.jsf-connect-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.jsf-connect-icon svg .fill{fill:currentColor;stroke:none}.jsf-connect-icon svg .play{fill:#fff;stroke:none}
.jsf-connect-copy{min-width:0;display:flex;flex:1;flex-direction:column}.jsf-connect-copy b{font-size:12px;line-height:1.2}.jsf-connect-copy small{margin-top:3px;font-size:9px;color:#7b8596}.jsf-connect-arrow{font-size:20px;line-height:1;color:#a2aaba}
@media(max-width:380px){.jsf-connect-grid{grid-template-columns:1fr}.jsf-connect-item{min-height:60px}}
@media(min-width:760px){.jsf-connect{margin-bottom:92px}.jsf-connect-copy b{font-size:13px}}

/* v1.3.4 defensive social icon sizing */
.jsf-connect .jsf-connect-icon{overflow:hidden!important;display:grid!important;place-items:center!important;width:39px!important;height:39px!important;min-width:39px!important;max-width:39px!important;min-height:39px!important;max-height:39px!important}
.jsf-connect .jsf-connect-icon>svg{display:block!important;width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;min-height:22px!important;max-height:22px!important;margin:0!important;padding:0!important}
@media(max-width:520px){.jsf-connect{margin-top:14px!important;margin-bottom:88px!important}.jsf-connect-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.jsf-connect-item{min-width:0!important;overflow:hidden!important}}
