:root{--ink: #12333d;--ink-soft: #5b7680;--surface: #f6f9fa;--card: #ffffff;--line: #dde7ea;--accent: #0b7d8a;--in-stock: #157347;--low: #b57d0a;--out: #9aa7ab}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--surface)}.site-header{display:flex;align-items:baseline;gap:.75rem;padding:1rem 2rem;background:var(--card);border-bottom:1px solid var(--line)}.brand{font-size:1.4rem;font-weight:700;color:var(--ink);text-decoration:none}.brand-mark{color:var(--accent)}.brand-sub{color:var(--ink-soft);font-size:.9rem}.page{max-width:1100px;margin:0 auto;padding:1.5rem 2rem 4rem}.crumbs{margin:0 0 1rem;color:var(--ink-soft);font-size:.9rem}.crumbs a{color:var(--accent);text-decoration:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--ink);transition:box-shadow .12s ease,translate .12s ease}.card:hover{box-shadow:0 4px 14px #12333d1f;translate:0 -2px}.card-img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:flex;align-items:center;justify-content:center}.placeholder{background:linear-gradient(135deg,#d7e9ec,#a9ccd3);color:#fffc;font-size:3rem;font-weight:700}.card-body{padding:.75rem 1rem 1rem;display:grid;gap:.3rem}.card-title{font-weight:600}.card-meta{color:var(--ink-soft);font-size:.8rem}.card-row{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem}.price{font-weight:700}.qty-badge{margin-left:.5rem;font-size:.7rem;font-weight:600;color:var(--accent);border:1px solid currentColor;border-radius:999px;padding:.1rem .45rem;vertical-align:middle}.avail{font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;color:#fff}.avail-in_stock{background:var(--in-stock)}.avail-low{background:var(--low)}.avail-out{background:var(--out)}.status-msg{color:var(--ink-soft)}.header-user{margin-left:auto;display:flex;align-items:baseline;gap:.75rem;color:var(--ink-soft);font-size:.9rem}.link-btn{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.auth-panel{max-width:420px;margin:3rem auto 0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:2rem;display:grid;gap:1rem}.auth-panel h1{margin:0;font-size:1.4rem}.btn{font:inherit;font-weight:600;padding:.6rem 1rem;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--ink-soft);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--line)}.auth-form{display:grid;gap:.5rem}.auth-form label{font-size:.9rem;color:var(--ink-soft)}.auth-form input{font:inherit;padding:.55rem .75rem;border:1px solid var(--line);border-radius:8px}.auth-error{color:#a3352b;margin:0}.auth-fine-print{color:var(--ink-soft);font-size:.85rem;margin:0}.auth-fine-print a,.auth-panel a{color:var(--accent)}.product-layout{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:2rem;align-items:start}@media(max-width:720px){.product-layout{grid-template-columns:1fr}}.product-img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:5rem}.price-ladder{font-size:1.15rem}.price-ladder .break{color:var(--ink-soft);margin-left:.4rem;font-size:.95rem}.description{color:var(--ink-soft);line-height:1.5}.variants{margin-top:1.5rem;display:grid;gap:.5rem}.variants h2{font-size:1rem;margin:0}.variant-row{display:grid;grid-template-columns:1fr auto auto auto auto;gap:1rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.6rem 1rem}.variant-name{font-weight:600}.add-to-cart{display:inline-flex;gap:.5rem;align-items:center;margin-top:.5rem}.add-to-cart input[type=number],.cart-line input[type=number]{width:4.5rem;font:inherit;padding:.45rem .5rem;border:1px solid var(--line);border-radius:8px}.cart-lines{display:grid;gap:.5rem;margin:1rem 0}.cart-line{display:grid;grid-template-columns:56px 1fr auto auto auto;gap:1rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.6rem 1rem}.cart-line.order-line{grid-template-columns:1fr auto auto}.cart-thumb{width:56px;height:42px;object-fit:cover;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.cart-line-main{display:grid;gap:.15rem}.cart-totals{max-width:420px;display:grid;gap:.5rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.25rem}.cart-totals>div{display:flex;justify-content:space-between}.cart-total-row{font-weight:700;border-top:1px solid var(--line);padding-top:.5rem}.checkout-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(260px,380px);gap:2rem;align-items:start}@media(max-width:820px){.checkout-layout{grid-template-columns:1fr}}.checkout-form{max-width:480px}.checkout-form h2{font-size:1rem;margin:.75rem 0 0}.checkout-form textarea{font:inherit;padding:.55rem .75rem;border:1px solid var(--line);border-radius:8px}.field-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.5rem}.checkbox-row{display:flex;gap:.5rem;align-items:center;color:var(--ink-soft)}.checkout-summary{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.25rem;display:grid;gap:.5rem}.checkout-summary h2{font-size:1rem;margin:0}.summary-line{display:flex;justify-content:space-between;gap:1rem}.orders-table{display:grid;gap:.4rem}.orders-head,.orders-row{display:grid;grid-template-columns:1fr 1fr 1.5fr 1fr auto;gap:1rem;align-items:center;padding:.6rem 1rem}.orders-head{color:var(--ink-soft);font-size:.85rem}.orders-row{background:var(--card);border:1px solid var(--line);border-radius:8px;color:var(--ink);text-decoration:none}.orders-row:hover{box-shadow:0 3px 10px #12333d1a}.order-status-shipped{color:var(--in-stock)}.order-status-cancelled{color:var(--out)}.order-placed{background:#e8f6ee;border:1px solid var(--in-stock);color:var(--in-stock);border-radius:8px;padding:.75rem 1rem}
