:root{
--bg:#f3f1ea;
--bg2:#e7e2d7;
--panel:#f7f3ea;
--panel-2:#efe8da;
--gold-1:#f8e7b6;
--gold-2:#e5c978;
--gold-3:#c99f3f;
--gold-4:#9c6f1c;
--ink:#4f3a16;
--ink-soft:#7a6640;
--line:#d8c28e;
--accent:#ff5a1f;
--accent-2:#ff9b2f;
--danger:#ff3b6b;
--success:#17c784;
--shadow:0 20px 50px rgba(120,88,28,.18);
--shadow-soft:0 10px 30px rgba(120,88,28,.10);
--radius:24px;
}

*{
box-sizing:border-box;
}

html,
body{
margin:0;
padding:0;
min-height:100%;
font-family:Arial, Helvetica, sans-serif;
background:
radial-gradient(circle at top, rgba(255,255,255,.95) 0%, rgba(243,241,234,.96) 35%, rgba(231,226,215,1) 100%);
color:var(--ink);
}

body{
padding:32px 18px;
}

.wrap{
position:relative;
max-width:980px;
margin:0 auto;
padding:30px 28px 24px;
background:
linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(247,243,234,.96) 100%);
border:1px solid rgba(201,159,63,.35);
border-radius:30px;
box-shadow:var(--shadow);
overflow:hidden;
}

.wrap::before{
content:"";
position:absolute;
left:0;
top:0;
right:0;
height:8px;
background:
linear-gradient(90deg,
#b77410 0%,
#f6d978 22%,
#ff5a1f 48%,
#ff9b2f 65%,
#f6d978 84%,
#b77410 100%);
box-shadow:
0 0 12px rgba(255,90,31,.45),
0 0 28px rgba(255,155,47,.22);
z-index:1;
}

.wrap::after{
content:"";
position:absolute;
inset:0;
pointer-events:none;
border-radius:30px;
box-shadow:
inset 0 1px 0 rgba(255,255,255,.75),
inset 0 -1px 0 rgba(173,128,31,.18);
}

h1{
position:relative;
z-index:2;
margin:0 0 16px;
font-size:40px;
line-height:1.1;
font-weight:800;
letter-spacing:-.02em;
color:var(--gold-4);
text-shadow:
0 1px 0 rgba(255,255,255,.65),
0 0 10px rgba(201,159,63,.10);
}

h1::after{
content:"";
display:block;
width:170px;
height:3px;
margin-top:10px;
border-radius:999px;
background:linear-gradient(90deg, var(--gold-3), var(--accent), transparent);
box-shadow:0 0 12px rgba(255,90,31,.18);
}

p{
margin:0 0 14px;
}

p strong{
color:var(--gold-4);
}

.seller-box{
position:relative;
margin:18px 0 22px;
padding:18px 18px 16px;
background:
linear-gradient(180deg, rgba(255,249,235,.95) 0%, rgba(241,232,212,.96) 100%);
border:1px solid rgba(201,159,63,.40);
border-radius:22px;
box-shadow:var(--shadow-soft);
overflow:hidden;
}

.seller-box::before{
content:"";
position:absolute;
left:0;
top:0;
bottom:0;
width:7px;
background:linear-gradient(180deg, var(--gold-3), var(--accent), var(--gold-2));
box-shadow:0 0 18px rgba(255,90,31,.18);
}

.seller-box strong{
display:block;
margin-bottom:8px;
font-size:18px;
color:var(--gold-4);
}

.seller-box div{
margin:6px 0 0;
color:var(--ink-soft);
font-size:15px;
}

.cart-list{
display:flex;
flex-direction:column;
gap:14px;
margin-top:8px;
}

.cart-item{
display:flex;
justify-content:space-between;
align-items:center;
gap:16px;
padding:16px 18px;
background:
linear-gradient(180deg, rgba(255,252,244,.96) 0%, rgba(243,236,223,.96) 100%);
border:1px solid rgba(201,159,63,.32);
border-radius:22px;
box-shadow:var(--shadow-soft);
position:relative;
overflow:hidden;
}

.cart-item::before{
content:"";
position:absolute;
left:0;
top:0;
bottom:0;
width:6px;
background:linear-gradient(180deg, var(--gold-3), var(--gold-2));
}

.cart-item > div:first-child{
flex:1 1 auto;
min-width:0;
padding-left:6px;
}

.cart-name{
font-size:20px;
font-weight:800;
line-height:1.15;
color:var(--gold-4);
text-shadow:0 1px 0 rgba(255,255,255,.65);
word-break:break-word;
}

.cart-price{
margin-top:6px;
font-size:18px;
font-weight:800;
color:#b66a00;
text-shadow:0 1px 0 rgba(255,255,255,.5);
}

.qty-box{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
padding:8px 10px;
background:rgba(255,255,255,.46);
border:1px solid rgba(201,159,63,.28);
border-radius:16px;
box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

.qty-box span{
min-width:22px;
text-align:center;
font-size:16px;
font-weight:800;
color:var(--ink);
}

.qty-box button,
.cart-remove,
.btn-clear,
.btn-pay{
appearance:none;
border:none;
outline:none;
cursor:pointer;
font-weight:800;
transition:
transform .14s ease,
box-shadow .14s ease,
filter .14s ease,
opacity .14s ease;
}

.qty-box button:hover,
.cart-remove:hover,
.btn-clear:hover,
.btn-pay:hover{
transform:translateY(-1px);
filter:brightness(1.03);
}

.qty-box button:active,
.cart-remove:active,
.btn-clear:active,
.btn-pay:active{
transform:translateY(0);
}

.qty-box button{
width:34px;
height:34px;
border-radius:12px;
font-size:18px;
color:#fff;
background:
linear-gradient(180deg, #cba242 0%, #9c6f1c 100%);
box-shadow:
0 6px 14px rgba(156,111,28,.22),
inset 0 1px 0 rgba(255,255,255,.26);
}

.cart-remove{
min-width:48px;
height:44px;
padding:0 14px;
border-radius:14px;
font-size:18px;
color:#fff;
background:
linear-gradient(180deg, #ff6d7c 0%, #ff2c62 100%);
box-shadow:
0 10px 18px rgba(255,59,107,.22),
inset 0 1px 0 rgba(255,255,255,.26);
}

.cart-count{
margin-top:18px;
font-size:17px;
font-weight:700;
color:var(--ink-soft);
}

.cart-total{
margin-top:10px;
font-size:32px;
font-weight:900;
letter-spacing:-.02em;
color:var(--gold-4);
text-shadow:
0 1px 0 rgba(255,255,255,.75),
0 0 18px rgba(201,159,63,.08);
}

.actions{
display:flex;
gap:12px;
flex-wrap:wrap;
margin-top:22px;
}

.btn-clear,
.btn-pay{
padding:14px 18px;
border-radius:16px;
font-size:15px;
letter-spacing:.01em;
}

.btn-clear{
color:#fff;
background:
linear-gradient(180deg, #7f6b45 0%, #5f4d2b 100%);
box-shadow:
0 12px 18px rgba(95,77,43,.20),
inset 0 1px 0 rgba(255,255,255,.18);
}

.btn-pay{
color:#fff;
background:
linear-gradient(180deg, #ff9d32 0%, #ff5a1f 55%, #d94813 100%);
box-shadow:
0 14px 24px rgba(255,90,31,.24),
0 0 20px rgba(255,155,47,.18),
inset 0 1px 0 rgba(255,255,255,.24);
}

.empty{
margin:6px 0 0;
padding:20px 18px;
background:
linear-gradient(180deg, rgba(255,252,244,.88) 0%, rgba(243,236,223,.88) 100%);
border:1px dashed rgba(201,159,63,.40);
border-radius:20px;
font-size:18px;
font-weight:700;
color:var(--ink-soft);
text-align:center;
box-shadow:var(--shadow-soft);
}

@media (max-width: 820px){

.wrap{
padding:24px 18px 20px;
border-radius:24px;
}

h1{
font-size:32px;
}

.cart-item{
flex-direction:column;
align-items:stretch;
padding:15px 15px 14px;
}

.cart-item > div:first-child{
padding-left:4px;
}

.qty-box{
justify-content:flex-start;
}

.cart-remove{
width:100%;
height:42px;
}

.cart-total{
font-size:28px;
}

.actions{
flex-direction:column;
}

.btn-clear,
.btn-pay{
width:100%;
}
}

@media (max-width: 480px){

body{
padding:16px 10px;
}

.wrap{
padding:20px 14px 16px;
}

h1{
font-size:28px;
}

.cart-name{
font-size:18px;
}

.cart-price{
font-size:16px;
}

.cart-total{
font-size:24px;
}
}

.cart-left{
display:flex;
align-items:center;
gap:12px;
}

.cart-img{
width:60px;
height:60px;
object-fit:cover;
border-radius:8px;
border:1px solid #e0c07a;
background:#fff;
}

.btn-back{
color:#fff;
background:
linear-gradient(180deg, #7f6b45 0%, #5f4d2b 100%);
box-shadow:
0 12px 18px rgba(95,77,43,.20),
inset 0 1px 0 rgba(255,255,255,.18);
}