.jj2{max-width:1120px;margin:24px auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.jj2-phone{position:relative;min-height:800px;border:7px solid #111;border-radius:54px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.25);background:transparent}.jj2-status{height:38px;padding:0 28px;display:flex;justify-content:space-between;align-items:center;color:#111}.jj2-topbar{display:flex!important;align-items:center;gap:12px;padding:12px 24px;background:rgba(255,255,255,.35);backdrop-filter:blur(18px)}.jj2-logo{width:46px;height:46px;border-radius:14px;background:#111;color:#fff;display:grid;place-items:center;font-size:25px;font-weight:900;overflow:hidden}.jj2-logo img{width:100%;height:100%;object-fit:contain}.jj2-brand b{font-size:24px}.jj2-brand small{display:block;font-size:11px;color:#555}.jj2-btn{border:0!important;background:#111!important;color:#fff!important;border-radius:13px;padding:10px 14px;font-weight:800;cursor:pointer;transition:background .16s ease,color .16s ease,opacity .16s ease}.jj2-btn:hover{opacity:.88}.jj2-btn:active,.jj2-btn.is-active{background:#f57c00!important;color:#fff!important}.jj2-search-btn{margin-left:auto;width:40px;height:40px;border-radius:50%;padding:0;font-size:22px}.jj2-phone main{min-height:670px;padding-bottom:108px}.jj2-phone main section>h1,.jj2-phone main section>p{text-align:center}.jj2-phone main section>h1{font-size:31px;margin:25px 0 5px;letter-spacing:-.05em}.jj2-phone main section>p{color:#666}.jj2-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 16px;max-width:900px;margin:auto;padding:18px 28px}.jj2-app{border:0!important;background:transparent!important;color:inherit!important;cursor:pointer;font-weight:700;padding:0;box-shadow:none!important;outline:0!important}.jj2-app i{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 9px;border-radius:22px;background:transparent;overflow:hidden;font-style:normal;font-size:42px;transition:opacity .18s ease,transform .18s ease}.jj2-app i img{width:100%;height:100%;object-fit:cover;border-radius:22px}.jj2-app:hover i,.jj2-app:focus-visible i,.jj2-app:active i{opacity:.52;transform:scale(.97)}.jj2-app>span{display:block}.jj2-back{margin:15px 25px}.product-head{display:grid;grid-template-columns:1fr 1fr 1fr .8fr 1.15fr;gap:8px;align-items:center;margin:18px 25px 6px;padding:0 14px;color:#555;font-size:11px;font-weight:800;text-transform:uppercase}.product-head span{text-align:center}.prod{margin:12px 25px;padding:0;border-radius:20px;background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.08);overflow:hidden}.product-row{display:grid;grid-template-columns:1fr 1fr 1fr .8fr 1.15fr;gap:8px;align-items:center;padding:15px}.product-cell{min-width:0;display:flex;align-items:center;justify-content:center;text-align:center}.image-cell img,.product-placeholder{width:64px;height:64px;border-radius:18px;object-fit:cover;display:grid;place-items:center}.product-placeholder{background:#111;color:#fff;font-weight:900}.qty{display:inline-flex;align-items:center;background:#eee;border-radius:999px;overflow:hidden}.qty .jj2-btn{border-radius:0!important;padding:0!important;width:31px;height:31px}.qty input{width:42px;height:31px;border:0;background:transparent;text-align:center}.subtotal-cell{flex-direction:column;gap:7px}.product-info{padding:0 15px 13px;border-top:1px solid rgba(0,0,0,.08)}.product-info h3{margin:10px 0 2px}.product-info p{margin:0;color:#666;font-size:12px}.low-stock{display:block;color:#b45309;font-size:11px;margin-top:4px}.jj2-float{position:absolute;left:20px;right:20px;bottom:18px;z-index:20;display:flex;gap:10px;align-items:center;background:#071a3d;color:#fff;border-radius:18px;padding:9px;box-shadow:0 15px 35px rgba(0,0,0,.3)}.jj2-float .cart-open{display:flex;align-items:center;gap:10px;flex:1;text-align:left}.jj2-float .cart-open small{display:block;margin-left:auto}.jj2-float .checkout-btn{min-width:150px}.jj2 #jj2-mini{position:absolute;top:0;right:-390px;width:350px;height:100%;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);box-shadow:-15px 0 45px rgba(0,0,0,.25);padding:20px;box-sizing:border-box;transition:right .3s}.jj2 #jj2-mini.open{right:0}.jj2 #jj2-mini header{display:flex;align-items:center;justify-content:space-between;padding:0 0 15px;background:transparent}.mini-line{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #eee}.mini-line small{display:block;color:#777;margin-top:4px}.mini-remove{padding:6px 9px!important}.mini-total{display:flex;justify-content:space-between;padding:18px 0;font-size:18px}.jj2 #jj2-mini-go{width:100%}.jj2-searchbox{position:relative}.jj2 #jj2-searchbox{padding:8px 24px;background:rgba(255,255,255,.75);position:relative;z-index:40}.jj2 #jj2-searchbox input{width:100%;box-sizing:border-box;padding:11px;border:1px solid #ddd;border-radius:12px}.search-hit{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;border-bottom:1px solid #eee;background:#fff;text-align:left;cursor:pointer}.search-hit img,.search-hit>span{width:38px;height:38px;border-radius:10px;object-fit:cover;display:grid;place-items:center;background:#111;color:#fff;font-weight:900}.search-hit small{margin-left:auto;color:#666}.table{margin:15px 25px;background:#fff;border-radius:20px;overflow:auto}.table table{width:100%;border-collapse:collapse;min-width:760px}.table td,.table th{padding:10px;border-bottom:1px solid #eee;text-align:left}.customer{display:grid;gap:8px;margin:15px 25px}.customer input,.customer textarea{padding:11px;border:1px solid #ddd;border-radius:12px}.actions{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:9px;margin:15px 25px}.actions .jj2-btn{min-height:45px}.bizum-info{display:grid;gap:7px;padding:12px;border-radius:16px;background:rgba(245,124,0,.12);border:1px solid rgba(245,124,0,.35)}.bizum-info small{color:#5d4a13}.privacy{font-size:12px;color:#555;line-height:1.4}.privacy input{width:auto!important}.jj2-modal{position:absolute;inset:0;background:rgba(0,0,0,.55);z-index:60;display:grid;place-items:center;padding:20px}.jj2-modal>div{background:#fff;border-radius:25px;padding:25px;max-width:600px;position:relative}.jj2-modal .modal-close{position:absolute;right:10px;top:10px;padding:7px 10px}.done-card{max-width:520px;margin:100px auto;text-align:center;padding:35px;border-radius:28px;background:rgba(255,255,255,.9);box-shadow:0 15px 45px rgba(0,0,0,.15)}.done-icon{width:65px;height:65px;margin:auto;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-size:35px;font-weight:900}.done-card h1{margin:20px 0 8px!important}.in{animation:jjin .32s ease}@keyframes jjin{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}[hidden]{display:none!important}@media(max-width:700px){.jj2-phone{border-width:5px;border-radius:36px}.jj2-grid{gap:16px 6px;padding:12px 8px}.jj2-app i{width:62px;height:62px;border-radius:16px;font-size:30px}.jj2-app i img{border-radius:16px}.product-head,.product-row{grid-template-columns:.9fr .85fr 1fr .65fr 1fr;gap:4px}.product-head{margin-left:8px;margin-right:8px;padding:0 4px;font-size:8px}.prod{margin-left:8px;margin-right:8px}.product-row{padding:8px 4px}.image-cell img,.product-placeholder{width:47px;height:47px;border-radius:13px}.qty .jj2-btn{width:23px}.qty input{width:28px}.product-info{padding-left:9px;padding-right:9px}.actions{grid-template-columns:1fr;margin-left:8px;margin-right:8px}.table{margin-left:8px;margin-right:8px}.customer{margin-left:8px;margin-right:8px}.jj2-float{left:8px;right:8px;bottom:8px}.jj2-float .checkout-btn{min-width:120px}.jj2 #jj2-mini{width:100%;right:-100%}}
/* Junjun 2.7 UX layer */
.jj2{max-width:560px;margin:28px auto}.jj2-phone{min-height:880px;border-radius:52px;background:rgba(255,255,255,.08);isolation:isolate}.jj2-phone main{position:relative;min-height:730px;overflow:hidden;padding-bottom:118px}.jj2-phone main section{min-height:680px}.jj2-status{font-size:12px}.jj2-topbar{position:relative;z-index:50}.jj2-brand small{max-width:250px}.jj2-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:5px 25px 0;min-height:22px;font-size:11px;color:#777}.jj2-breadcrumb .current{color:#111;font-weight:800}.crumb-sep{font-size:15px;color:#f57c00}.jj2-app i{background:transparent}.jj2-app i img{box-shadow:0 5px 14px rgba(0,0,0,.16)}.jj2-app:hover i,.jj2-app:focus-visible i,.jj2-app:active i{opacity:.48;transform:scale(.97)}
.screen-in-left{animation:screenInLeft .34s cubic-bezier(.22,.7,.2,1)}.screen-in-right{animation:screenInRight .34s cubic-bezier(.22,.7,.2,1)}@keyframes screenInLeft{from{opacity:.1;transform:translate3d(34px,0,0)}to{opacity:1;transform:none}}@keyframes screenInRight{from{opacity:.1;transform:translate3d(-34px,0,0)}to{opacity:1;transform:none}}
.product-detail-trigger{border:0;background:transparent;color:inherit;cursor:pointer}.product-detail-trigger:hover{opacity:.78}.product-price{font:inherit}.product-info{width:100%;text-align:left;color:inherit;cursor:pointer;background:transparent;border-left:0;border-right:0;border-bottom:0}.product-info h3{font-size:15px}.empty-state{text-align:center;padding:70px 25px;color:#555}.empty-state>span{font-size:38px}.empty-state h3{margin:10px 0 5px;color:#111}.empty-state p{margin:0}
#jj2-detail{padding:0 25px}.detail-card{max-width:480px;margin:18px auto}.detail-hero{display:flex;justify-content:center;margin:12px 0 18px}.detail-hero img,.detail-placeholder{width:230px;height:230px;object-fit:cover;border-radius:48px;box-shadow:0 18px 45px rgba(0,0,0,.2)}.detail-placeholder{display:grid;place-items:center;background:#111;color:#fff;font-size:70px;font-weight:900}.detail-copy{background:rgba(255,255,255,.78);border-radius:30px;padding:24px;box-shadow:0 15px 45px rgba(0,0,0,.1)}.detail-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:900;color:#f57c00}.detail-copy h1{font-size:29px;line-height:1.05;margin:7px 0}.detail-description{color:#666;line-height:1.5}.detail-price{font-size:29px;font-weight:900;margin:18px 0}.detail-price small{font-size:10px;font-weight:700;color:#777}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.detail-meta span{background:rgba(7,26,61,.07);border-radius:14px;padding:10px;font-size:10px;color:#666}.detail-meta b{font-size:12px;color:#111}.detail-buy{display:grid;gap:12px}.detail-buy label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:800}.detail-qty{display:inline-flex;align-items:center;background:#eee;border-radius:999px;overflow:hidden}.detail-qty input{width:45px;height:34px;border:0;background:transparent;text-align:center}.detail-qty .jj2-btn{width:34px;height:34px;padding:0!important;border-radius:0!important}.detail-add{width:100%;min-height:48px}
.mini-product{display:flex;align-items:center;gap:9px}.mini-thumb{width:42px;height:42px;border-radius:12px;background:#111;color:#fff;display:grid;place-items:center;font-weight:900;overflow:hidden;flex:none}.mini-thumb img{width:100%;height:100%;object-fit:cover}.mini-empty{text-align:center;padding:55px 15px;color:#666}.mini-empty span{font-size:38px}.mini-empty p{margin:10px 0 4px;color:#111;font-weight:800}.cart-pulse{animation:cartPulse .45s ease}@keyframes cartPulse{40%{transform:scale(1.06)}80%{transform:scale(.97)}100%{transform:none}}.jj2-btn.is-added{background:#f57c00!important}.checkout-summary{display:flex;gap:10px;margin:14px 25px}.checkout-summary>div{flex:1;padding:13px 15px;border-radius:16px;background:rgba(7,26,61,.08);display:flex;justify-content:space-between;align-items:center}.checkout-summary strong{font-size:19px}.continue-shopping{display:block;margin:10px 25px;width:calc(100% - 50px)}
@media(max-width:700px){.jj2{max-width:100%;margin:8px auto}.jj2-phone{min-height:820px;border-radius:38px}.jj2-phone main{min-height:680px}.jj2-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 3px}.jj2-app i{width:62px;height:62px}.jj2-breadcrumb{margin-left:12px;margin-right:12px}.detail-card{margin-top:8px}.detail-hero img,.detail-placeholder{width:180px;height:180px;border-radius:34px}.detail-copy{padding:18px;border-radius:23px}.detail-meta{gap:5px}.detail-meta span{padding:8px;font-size:9px}.checkout-summary{margin-left:8px;margin-right:8px}.continue-shopping{margin-left:8px;margin-right:8px;width:calc(100% - 16px)}}

/* Junjun 2.9 corrections: real iPhone-like public shell, readable cart and stronger five-column product table */
.jj2-phone{overflow:hidden;isolation:isolate}
.jj2-phone main{position:relative;z-index:1}
.jj2-searchbox{position:relative;z-index:70}
.jj2-topbar{position:relative;z-index:71}
.jj2 #jj2-mini{top:var(--jj2-cart-top,122px);height:calc(100% - var(--jj2-cart-top,122px));z-index:65;display:flex;flex-direction:column;overflow:hidden;padding:14px 16px}
.jj2 #jj2-mini header{flex:0 0 auto}
.jj2 #jj2-lines{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin}
.jj2 #jj2-lines::-webkit-scrollbar{width:7px}.jj2 #jj2-lines::-webkit-scrollbar-thumb{background:rgba(7,26,61,.35);border-radius:20px}
.jj2 #jj2-mini .mini-total,.jj2 #jj2-mini #jj2-mini-go{flex:0 0 auto}
.jj2 #jj2-mini.open{right:0}
.jj2-float{z-index:80}
.product-head,.product-row{grid-template-columns:1.05fr .9fr 1fr .72fr 1.05fr}
.product-head{font-size:10px}
.product-row{min-height:92px}
.product-cell button,.product-cell.product-detail-trigger{min-width:0}
.product-info{cursor:pointer}
.jj2-app i{background:transparent!important;box-shadow:none!important}
.jj2-app i img{display:block;background:transparent;box-shadow:0 5px 14px rgba(0,0,0,.16)}
.jj2-app:hover i,.jj2-app:focus-visible i,.jj2-app:active i{opacity:.5!important}
.jj2-btn{background:#111!important;color:#fff!important}
.jj2-btn:hover{background:#111!important;color:#fff!important;opacity:.88}
.jj2-btn:active,.jj2-btn.is-active,.jj2-btn.is-added{background:#f57c00!important;color:#fff!important}
@media(max-width:700px){
 .jj2 #jj2-mini{top:var(--jj2-cart-top,112px);height:calc(100% - var(--jj2-cart-top,112px));padding:12px}
 .product-head,.product-row{grid-template-columns:.92fr .78fr .98fr .62fr 1fr}
 .product-head{font-size:7px;letter-spacing:-.01em}
 .product-row{min-height:78px}
}

/* Junjun 3.0 image and cart polish */
.jj2-media-preview img{image-rendering:auto}.jj2 #jj2-mini .mini-close{font-size:11px;padding:8px 10px;white-space:nowrap}.jj2 #jj2-mini header .mini-close:hover{opacity:.86}

/* Junjun 3.2 UX refinement */
.jj2-phone{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.06));}
.jj2-status{letter-spacing:.02em}
.jj2-topbar{box-shadow:0 1px 0 rgba(0,0,0,.06)}
.jj2-app{transition:transform .18s ease,opacity .18s ease}
.jj2-app:hover{transform:translateY(-2px)}
.jj2-app:active{transform:scale(.96)}
.jj2-app i{box-shadow:0 10px 25px rgba(0,0,0,.10)}
.jj2-app i img{box-shadow:none!important}
.jj2-float{backdrop-filter:blur(14px);background:rgba(7,26,61,.94);border:1px solid rgba(255,255,255,.12)}
.jj2 #jj2-mini{border-left:1px solid rgba(0,0,0,.08)}
.jj2 #jj2-mini header{gap:10px}
.mini-product-copy{min-width:0;display:grid;gap:3px;flex:1}
.mini-product-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-qty{display:inline-flex;align-items:center;gap:5px;margin-top:3px}
.mini-qty .jj2-btn{width:25px;height:25px;padding:0!important;border-radius:8px!important;font-size:14px}
.mini-qty b{font-size:11px;min-width:16px;text-align:center}
.mini-line{align-items:center}
.mini-remove{flex:none}
.done-kicker{display:block;text-transform:uppercase;letter-spacing:.16em;color:#f57c00;font-size:10px;font-weight:900}
.done-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.done-actions .jj2-btn{text-decoration:none}
.checkout-summary>div{background:rgba(247,198,0,.14);border:1px solid rgba(247,198,0,.24)}
.table table tfoot th{font-weight:900}
@media(max-width:700px){
 .jj2 #jj2-mini{top:var(--jj2-cart-top,112px)}
 .done-actions{display:grid;grid-template-columns:1fr}
}

/* Junjun 3.7 checkout/cart fixes */
.jj2 #jj2-mini{display:flex;flex-direction:column;overflow:hidden;}
.jj2 #jj2-mini #jj2-lines{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:3px;}
.jj2 .table{overflow:visible;}
.jj2 .table table{width:100%;min-width:0;table-layout:fixed;}
.jj2 .table th,.jj2 .table td{padding:7px 4px;font-size:11px;line-height:1.2;word-break:normal;overflow-wrap:anywhere;}
.jj2 .table th:nth-child(1),.jj2 .table td:nth-child(1){width:39%;text-align:left;}
.jj2 .table th:nth-child(2),.jj2 .table td:nth-child(2){width:12%;text-align:center;}
.jj2 .table th:nth-child(3),.jj2 .table td:nth-child(3){width:16%;text-align:right;}
.jj2 .table th:nth-child(4),.jj2 .table td:nth-child(4){width:13%;text-align:center;}
.jj2 .table th:nth-child(5),.jj2 .table td:nth-child(5){width:20%;text-align:right;}
.jj2 .table thead th{white-space:nowrap;font-size:10px;}
.jj2 .table tfoot th{font-size:10px;}
@media(max-width:700px){
 .jj2 .table{margin-left:8px;margin-right:8px;border-radius:14px;}
 .jj2 .table th,.jj2 .table td{padding:6px 2px;font-size:9px;}
 .jj2 .table thead th,.jj2 .table tfoot th{font-size:8px;letter-spacing:-.02em;}
 .jj2 .table th:nth-child(1),.jj2 .table td:nth-child(1){width:37%;}
 .jj2 .table th:nth-child(2),.jj2 .table td:nth-child(2){width:12%;}
 .jj2 .table th:nth-child(3),.jj2 .table td:nth-child(3){width:17%;}
 .jj2 .table th:nth-child(4),.jj2 .table td:nth-child(4){width:13%;}
 .jj2 .table th:nth-child(5),.jj2 .table td:nth-child(5){width:21%;}
}

/* Junjun 4.0: customers, delivery and payment polish */
.customer-title{font-size:13px;margin:16px 0 7px;color:#071a3d}.choice-group{display:grid;gap:7px;margin:7px 0 12px}.choice-group label{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(7,26,61,.12);border-radius:13px;background:rgba(255,255,255,.7);font-size:11px;font-weight:700}.choice-group input{accent-color:#f57c00}.customer #ja{min-height:68px}.actions{display:grid;gap:8px}.actions #bz,.actions #cash{display:none}.jj2-btn{transition:background .18s ease,transform .18s ease,opacity .18s ease}.jj2-btn:active{transform:scale(.98)}
