/* REOSYS shop v2 — list, detail, cart, checkout, order complete, order lookup */
.shop-count{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:var(--sub);font-size:14px}
.shop-count b{color:var(--ink)}.shop-count a{color:var(--blue);font-weight:700;text-decoration:underline}.shop-count .shop-lookup{margin-left:auto;text-decoration:none}

/* product badges */
.product-image{position:relative}
.p-badges{position:absolute;left:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap}
.pb{padding:5px 10px;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:.02em;color:#fff;background:var(--navy)}
.pb.new{background:var(--blue)}.pb.few{background:#d98200}.pb.best{background:#12a150}.pb.soldout{background:#5b6785}
.product-card.sold-out .product-image img{filter:grayscale(.7);opacity:.7}
.shop-pager{display:flex;gap:6px;justify-content:center;margin:40px 0 0}
.shop-pager a{min-width:42px;height:42px;display:grid;place-items:center;border-radius:99px;border:1px solid var(--line);background:#fff;font-weight:700;transition:.2s}
.shop-pager a:hover{border-color:var(--blue);color:var(--blue)}.shop-pager a.on{background:var(--navy);border-color:var(--navy);color:#fff}

/* detail */
.product-detail-copy .stock.few{color:#d98200;font-weight:700}
.product-detail-copy .qty-form{flex-wrap:wrap}
.detail-total{margin:16px 0 0;padding:16px 20px;border-radius:14px;background:#fff;border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--sub)}
.detail-total strong{font-size:22px;color:var(--ink);letter-spacing:-.03em}
.detail-help{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:10px;font-size:14px;color:var(--sub)}
.detail-help b{color:var(--ink);margin-right:8px}.detail-help a{color:var(--blue);font-weight:700;text-decoration:underline}
.share-btn{margin-top:18px;height:36px;padding:0 16px;border-radius:99px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer;color:var(--sub);transition:.2s}.share-btn:hover{border-color:var(--blue);color:var(--blue)}
.related{padding-top:10px;padding-bottom:80px}.related h2{font-size:24px;letter-spacing:-.04em;margin:0 0 20px}

/* cart */
.cart-item{grid-template-columns:64px 1fr auto auto auto}
.cart-item .few,.cart-item-info .few{color:#d98200;font-style:normal;font-weight:700}
.cart-remove,.cart-clear{height:36px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;font-weight:700;color:var(--sub);cursor:pointer;transition:.2s}
.cart-remove:hover,.cart-clear:hover{border-color:#d93a3a;color:#d93a3a}
.cart-actions .cart-clear{margin-left:auto}
.empty-state{text-align:center;padding:70px 0}.empty-state p{font-size:18px;color:var(--sub);margin-bottom:24px}.empty-state .btn{width:auto;display:inline-flex}

/* checkout */
.checkout-form textarea{width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:14px;font:inherit;resize:vertical}
.checkout-form label small{font-weight:500;color:var(--sub)}
.agree{display:flex;gap:10px;align-items:flex-start;margin:6px 0 4px;font-size:14px;color:var(--sub)}
.agree input{width:18px;height:18px;margin-top:3px;flex:none}.agree a{color:var(--blue);font-weight:700;text-decoration:underline}
.summary-edit{display:block;margin-top:14px;text-align:center;font-size:13px;font-weight:700;color:var(--blue)}

/* order complete + lookup */
.complete-hint{display:block;margin-top:6px;color:var(--sub)}.complete-hint a{color:var(--blue);font-weight:700;text-decoration:underline}
.complete-items{margin:22px 0;text-align:left;border-top:1px solid var(--line)}
.complete-items>div{display:flex;justify-content:space-between;gap:14px;padding:12px 4px;border-bottom:1px solid var(--line);font-size:14px}.complete-items .tot{font-weight:800;font-size:16px}
.copy-acct{height:36px;padding:0 16px;margin:6px 0 10px;border-radius:99px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.complete-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.complete-actions .btn{width:auto;display:inline-flex;margin:0}
.lookup{max-width:720px;padding-top:50px;padding-bottom:100px}
.lookup-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:22px;background:#fff;border:1px solid var(--line);border-radius:20px}
.lookup-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:var(--sub)}
.lookup-form input{height:46px;padding:0 14px;border:1px solid var(--line);border-radius:12px;font:inherit}
.lookup-form .btn{height:46px;margin:0;width:auto;display:inline-flex;align-items:center}
.lookup-result{margin-top:22px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:20px}
.lookup-head{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}.lookup-head small{display:block;color:var(--sub);font-size:12px}.lookup-head b{font-size:17px}
.lookup-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:26px 0 8px;padding:0}
.lookup-steps li{position:relative;text-align:center;font-size:13px;font-weight:700;color:#9aa6c4}
.lookup-steps li i{display:block;width:18px;height:18px;margin:0 auto 8px;border-radius:50%;background:#dfe6f6;position:relative;z-index:1}
.lookup-steps li:not(:first-child):before{content:'';position:absolute;left:-50%;right:50%;top:8px;height:2px;background:#dfe6f6}
.lookup-steps li.done{color:var(--ink)}.lookup-steps li.done i,.lookup-steps li.done:before{background:var(--blue)}
.lookup-steps li.now i{box-shadow:0 0 0 6px rgba(47,107,255,.2)}
.lookup-pay{text-align:center;color:var(--sub);font-size:14px}.lookup-addr{margin:6px 0 0;font-size:14px}.lookup-addr small{display:block;color:var(--sub)}
.lookup-cancel{padding:16px;border-radius:12px;background:#fdecec;color:#9b2222;margin:20px 0 0}

@media(max-width:700px){.lookup-form{grid-template-columns:1fr}.lookup-head{grid-template-columns:1fr}.cart-item{grid-template-columns:56px 1fr auto}.cart-item .qty-stepper{grid-column:2}.cart-item-total{grid-column:3;text-align:right}.cart-remove{grid-column:3;justify-self:end}.shop-count{flex-wrap:wrap}.shop-count .shop-lookup{margin-left:0}}
.checkout-form label.agree{display:flex;flex-direction:row;align-items:flex-start;gap:10px}
.checkout-form label small{display:inline;margin-left:6px}
