:root{--paper: #FAF9F5;--ink: #1C1C1E;--ink-soft: #5B5A54;--line: #E4E1D8;--marigold: #E0A526;--teal: #1F5F5B;--danger: #B3432B;--radius: 2px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Fraunces,serif;font-weight:600;margin:0 0 .4em;letter-spacing:-.01em}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input:focus,button:focus{outline:2px solid var(--teal);outline-offset:2px}.shell{min-height:100vh;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:10}.brand{font-family:Fraunces,serif;font-size:22px;font-weight:600}.brand-dot{color:var(--marigold)}.cart-btn{background:none;border:1px solid var(--ink);border-radius:var(--radius);padding:8px 16px;font-size:14px;display:flex;align-items:center;gap:8px}.cart-count{background:var(--marigold);color:var(--ink);font-weight:700;font-size:12px;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}main{flex:1;max-width:1120px;margin:0 auto;padding:0 32px 64px;width:100%}.site-footer{text-align:center;padding:24px;color:var(--ink-soft);font-size:13px;border-top:1px solid var(--line)}.hero{padding:56px 0 32px;max-width:560px}.hero h1{font-size:40px;line-height:1.1}.hero p{color:var(--ink-soft);font-size:16px}.toolbar{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.search-input{padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);font-size:15px;max-width:360px;background:#fff}.category-pills{display:flex;gap:8px;flex-wrap:wrap}.pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;color:var(--ink-soft)}.pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}.product-card{display:block}.product-card-image{aspect-ratio:1;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;margin-bottom:10px}.product-card-image img{width:100%;height:100%;object-fit:cover}.product-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--line);font-family:Fraunces,serif;font-size:14px;background:repeating-linear-gradient(135deg,#f3f1ea,#f3f1ea 8px,#faf9f5 8px,#faf9f5 16px)}.product-card-placeholder.large{font-size:20px}.badge-oos{position:absolute;top:8px;left:8px;background:var(--ink);color:#fff;font-size:11px;padding:3px 8px;border-radius:var(--radius)}.product-card-body h3{font-size:15px;font-weight:500;font-family:Inter;margin-bottom:4px}.price-tag{display:flex;align-items:baseline;gap:8px}.price-tag .price{font-weight:700}.price-tag .price-compare{color:var(--ink-soft);text-decoration:line-through;font-size:13px}.price-tag.large .price{font-size:26px;font-family:Fraunces,serif}.back-link{display:inline-block;margin:24px 0;color:var(--ink-soft);font-size:14px}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.product-detail-image{aspect-ratio:1;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.product-detail-image img{width:100%;height:100%;object-fit:cover}.product-description{color:var(--ink-soft);line-height:1.6;margin:16px 0 24px}.oos-text{color:var(--danger);font-weight:500}.qty-row{display:flex;align-items:center;gap:16px;margin-bottom:24px}.qty-row label{font-size:13px;color:var(--ink-soft)}.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius)}.qty-stepper button{background:none;border:none;width:32px;height:32px;font-size:16px}.qty-stepper span{min-width:28px;text-align:center;font-size:14px}.product-actions{display:flex;gap:12px}.btn-primary,.btn-secondary{padding:13px 24px;border-radius:var(--radius);font-size:14px;font-weight:600;border:none}.btn-primary{background:var(--teal);color:#fff}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;border:1px solid var(--ink);color:var(--ink)}.btn-primary.full,.btn-secondary.full{width:100%}.btn-primary.inline{display:inline-block;margin-top:12px}.page-cart h1{margin:32px 0 24px}.cart-list{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.cart-row{display:grid;grid-template-columns:64px 1fr auto auto;align-items:center;gap:16px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.cart-row-image{width:64px;height:64px;border-radius:var(--radius);overflow:hidden;background:#f3f1ea}.cart-row-image img{width:100%;height:100%;object-fit:cover}.cart-row-info h4{margin:0 0 4px;font-weight:500;font-size:14px}.remove-link{background:none;border:none;color:var(--danger);font-size:13px}.cart-summary{max-width:360px;margin-left:auto;border-top:1px solid var(--line);padding-top:16px}.cart-summary-row,.summary-line{display:flex;justify-content:space-between;font-size:14px;margin-bottom:10px;color:var(--ink-soft)}.summary-line.total{color:var(--ink);font-weight:700;font-size:16px;border-top:1px solid var(--line);padding-top:10px}.page-checkout h1{margin:32px 0 24px}.checkout-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start}.checkout-form{display:flex;flex-direction:column;gap:12px}.checkout-form h3{margin-top:12px;font-size:15px}.checkout-form input{padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);font-size:14px;width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{color:var(--danger);font-size:13px;margin-top:8px}.checkout-summary{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.page-success{text-align:center;padding:80px 0}.success-mark{width:56px;height:56px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:24px}.page-success p{color:var(--ink-soft);max-width:420px;margin:12px auto 24px}.empty-state{text-align:center;padding:64px 0;color:var(--ink-soft)}@media (max-width: 720px){.product-detail-grid,.checkout-grid{grid-template-columns:1fr}.cart-row{grid-template-columns:48px 1fr auto}.cart-row .qty-stepper{grid-column:2}}
