/* 登录注册、购物车、确认订单、付款、扫码登录 */
.pg-login main,.pg-forgot main{position:relative;overflow:hidden;background:linear-gradient(115deg,#FF7A1F 0%,#FF8C3A 42%,#FFB079 100%)}
.pg-login main::before,.pg-forgot main::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 30%,rgba(255,255,255,.28),transparent 34%),radial-gradient(circle at 12% 90%,rgba(255,255,255,.16),transparent 30%),repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 36px),repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 36px)}
.auth{position:relative;display:grid;grid-template-columns:1fr 440px;gap:60px;align-items:center;min-height:calc(100vh - 420px);padding:64px 20px 70px}
.auth-one{grid-template-columns:440px;justify-content:center}
.auth-side{color:#fff}
.auth-side h2{font-size:40px;line-height:1.35;font-weight:800}
.auth-side p{max-width:520px;margin-top:16px;font-size:16px;line-height:1.85;color:rgba(255,255,255,.92)}
.auth-side ul{display:flex;flex-direction:column;gap:12px;margin-top:26px}
.auth-side li{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500}
.auth-side li::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF761A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/13px no-repeat}
.auth-qr{display:inline-flex;align-items:center;gap:14px;margin-top:30px;padding:10px 18px 10px 10px;border-radius:8px;background:rgba(255,255,255,.95);font-size:13px;color:var(--ink2)}
.auth-qr img{width:96px;height:96px;border-radius:4px}
.auth-box{padding:6px 36px 28px;border:0;border-radius:10px;box-shadow:0 30px 60px -28px rgba(120,40,0,.55)}
.auth-tabs{display:flex;gap:28px;margin:0 -36px 24px;padding:0 36px;border-bottom:1px solid var(--line)}
.auth-tabs button{position:relative;height:60px;font-size:17px;color:var(--ink2)}
.auth-tabs button.on{font-weight:700;color:var(--brand)}
.auth-tabs button.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:2px;background:var(--brand)}
.auth-box .input{height:44px}
.auth-box .btn.lg{height:46px}
.auth-row{display:flex;justify-content:flex-end;margin:-6px 0 16px;font-size:13px}
.auth-row a:hover{color:var(--brand)}
.auth-agree{margin-top:16px;text-align:center}
.auth-agree a{color:var(--brand)}
.cap-row{display:flex;gap:10px}
.cap-row .input{flex:1}
.cap-row .btn{height:44px;min-width:118px}
.cap-img{flex:none;width:120px;height:44px;overflow:hidden;border:1px solid #DCDFE6;border-radius:4px;background:#F6F7F9}
.cap-img img{width:100%;height:100%}

/* 购物车与确认订单 */
.cartpage{display:flex;flex-direction:column;gap:14px;padding-bottom:90px}
.cart-g,.co-sec{border:0}
.cart-it,.co-it{display:grid;grid-template-columns:24px 80px 1fr 110px 120px 110px 60px;align-items:center;gap:14px;padding:16px 20px;border-top:1px solid var(--line)}
.co-it{grid-template-columns:80px 1fr 150px 120px}
.cart-img{display:grid;place-items:center;width:80px;height:80px;overflow:hidden;border-radius:4px;background:#F5F5F5}
.cart-img img{width:100%;height:100%;object-fit:cover}
.cart-img svg{width:86%;height:auto;aspect-ratio:240/132}
.cart-t{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:14px}
.cart-t a:hover{color:var(--brand)}
.cart-t .faint,.cart-t .err{font-size:12px}
.cartpage .price{font-size:18px}
.cart-bad .cart-it{grid-template-columns:60px 80px 1fr;opacity:.6}
.cart-bar,.co-bar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;gap:18px;padding:14px 20px;background:#fff;border-radius:8px;box-shadow:0 -6px 24px -14px rgba(0,0,0,.25)}
.cart-total,.co-sum{display:flex;align-items:center;gap:16px;margin-left:auto;font-size:14px;color:var(--ink2)}
.cart-total .price,.co-total .price{font-size:26px}
.alert{margin-bottom:14px;padding:12px 16px;border:1px solid rgba(240,45,45,.3);border-radius:6px;background:rgba(240,45,45,.05);font-size:14px;color:var(--danger)}
.co{display:flex;flex-direction:column;gap:14px}
.addr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.addr{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #E2E2E2;border-radius:6px;font-size:13px;cursor:pointer}
.addr input{position:absolute;opacity:0}
.addr b{font-size:14px}
.addr.on{border-color:var(--brand);background:var(--brand-bg2);box-shadow:inset 0 0 0 1px var(--brand)}
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.co-note{text-align:right}

/* 付款 */
.pay{padding-bottom:20px}
.pay-head{display:grid;grid-template-columns:1fr auto;gap:10px 24px;padding:20px 24px;border:0}
.pay-head>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.pay-head>div:last-child{grid-column:1 / -1;font-size:13px}
.pay-amt .price{font-size:32px}
.pay-tabs{display:flex;gap:10px;margin:18px 0 12px}
.pay-tabs button{height:42px;padding:0 22px;border:1px solid #DCDCDC;border-radius:4px;background:#fff;color:var(--ink2)}
.pay-tabs button.on{border-color:var(--brand);background:var(--brand-bg2);color:var(--brand)}
.pay-box{display:flex;gap:32px;padding:26px;border:0}
.pay-box h3{margin-bottom:10px;font-size:17px}
.pay-qr{flex:none;width:200px;height:200px;padding:10px;border:1px solid #EEE;border-radius:6px;background:#fff}
.pay-qr svg{width:100%;height:100%}
.pay-box .muted{margin-bottom:16px}
.pay-offline>div{flex:1}
.acct{display:grid;grid-template-columns:80px 1fr;gap:10px;margin:6px 0 14px;font-size:14px}
.acct dt{color:var(--ink3)}
.voucher{flex:1;padding-left:32px;border-left:1px solid var(--line)}
.upl{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 8px}
.upl-it,.upl-add{position:relative;width:96px;height:96px;overflow:hidden;border-radius:6px}
.upl-it img{width:100%;height:100%;object-fit:cover}
.upl-it button{position:absolute;right:4px;top:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff}
.upl-add{display:grid;place-items:center;border:1px dashed #D6D6D6;background:#FAFAFA;font-size:13px;color:var(--ink2);cursor:pointer}
.upl-add:hover{border-color:var(--brand);color:var(--brand)}
.voucher .btn{margin-top:10px}

/* 扫码登录 */
.scan-box{display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 0 10px}
.scan-qr{width:196px;height:196px;padding:10px;border:1px solid #EEE;border-radius:8px;background:#fff;transition:opacity .2s}
.scan-qr svg{width:100%;height:100%}
.scan-qr.dim{opacity:.25}
.scan-tip{font-size:13px;color:var(--ink2);text-align:center}

@media (max-width:1100px){.auth{grid-template-columns:1fr;justify-items:center}.auth-side{display:none}.auth-one{grid-template-columns:1fr}.auth-box{width:100%;max-width:440px}}
@media (max-width:767px){
  .auth{min-height:0;padding:24px 14px}
  .auth-box{padding:4px 16px 18px}
  .auth-tabs{gap:18px;margin:0 -16px 18px;padding:0 16px}
  .auth-tabs button{height:50px;font-size:15px}
  .cart-it{grid-template-columns:22px 64px 1fr;grid-template-areas:"c i t" "c i p" ". . s";row-gap:6px;padding:12px}
  .cart-it .check{grid-area:c}.cart-it .cart-img{grid-area:i;width:64px;height:64px}.cart-it .cart-t{grid-area:t}
  .cart-it>.price:not(.cart-sub){grid-area:p}.cart-it .stepper{grid-area:s;justify-self:start}.cart-it .cart-sub{display:none}
  .cart-it [data-remove]{grid-column:3;justify-self:end;margin-top:-34px}
  .co-it{grid-template-columns:64px 1fr;row-gap:4px;padding:12px}.co-it .cart-img{grid-row:span 3;width:64px;height:64px}
  .cart-bar,.co-bar{position:fixed;left:0;right:0;bottom:0;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-radius:0}
  .cart-bar [data-remove-checked],.co-sum>span:not(.co-total){display:none}
  .cart-total .price,.co-total .price{font-size:20px}
  .cart-bar .btn,.co-bar .btn{height:40px;padding:0 16px;font-size:15px}
  .pg-cart .m-tab,.pg-checkout .m-tab{display:none}
  .co-grid{grid-template-columns:1fr}
  .pay-box{flex-direction:column;gap:16px;padding:16px}
  .voucher{padding:16px 0 0;border-top:1px solid var(--line);border-left:0}
  .pay-head{grid-template-columns:1fr}
}
@media (max-width:767px){.pc-only{display:none}}
