body{background:#f5f6f8;font-size:.95rem}
a{text-decoration:none}
.topline{background:#0b3d91;color:#dce6ff;padding:5px 0}.topline a{color:#fff}
.shop-head{background:#0d6efd;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.shop-head .logo{color:#fff;font-weight:800;font-size:1.35rem;white-space:nowrap}
.cart-btn{color:#fff;font-size:1.4rem;position:relative;white-space:nowrap}.cart-btn span.d-md-inline{font-size:.95rem}
.cart-btn .badge{position:absolute;top:-4px;left:16px;font-size:.65rem}
.catnav{background:#fff;border-bottom:1px solid #e5e7eb}
.catnav .container{display:flex;gap:4px;overflow-x:auto}
.catnav a{padding:10px 14px;color:#333;white-space:nowrap;border-bottom:2px solid transparent}
.catnav a:hover,.catnav a.on{color:#0d6efd;border-bottom-color:#0d6efd}
.hero{background:linear-gradient(120deg,#0d6efd,#20c997);color:#fff;border-radius:16px;padding:40px 32px}
.hero h1{font-weight:800;color:#fff}
.prod{background:#fff;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;height:100%;transition:.15s}
.prod:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px)}
.prod .img{display:block;position:relative;aspect-ratio:1;background:#f1f3f5}
.prod .img img{width:100%;height:100%;object-fit:cover}
.prod .sale{position:absolute;top:8px;left:8px;background:#dc3545;color:#fff;font-size:.75rem;font-weight:700;padding:2px 7px;border-radius:6px}
.prod .soldout{position:absolute;inset:0;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;font-weight:700;color:#555}
.prod .name{color:#222;display:block;font-weight:500;line-height:1.3;height:2.6em;overflow:hidden}
.price{color:#e03131;font-weight:700}.price del{color:#999;font-weight:400;font-size:.8em}
.shop-foot{background:#1f2937;color:#cbd5e1;margin-top:40px}.shop-foot h6{color:#fff}.shop-foot a{color:#93c5fd}
.steps{display:flex;justify-content:space-between}
.step{flex:1;text-align:center;font-size:.8rem;color:#999;position:relative}
.step span{display:block;width:30px;height:30px;line-height:30px;margin:0 auto 4px;border-radius:50%;background:#e9ecef;font-weight:700}
.step.on{color:#198754}.step.on span{background:#198754;color:#fff}
