/* Hardware Store MV - responsive storefront and quick view */
:root{--ink:#16232d;--muted:#62727b;--teal:#087f72;--dark:#102a35;--line:#e2e8ea;--bg:#f6f8fa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:#006d68}header{background:var(--dark);color:white}header a{color:white;text-decoration:none}.wrap{max-width:1150px;margin:auto;padding:20px}.nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.nav nav{display:flex;gap:22px;flex-wrap:wrap}.brand{font-weight:800;font-size:21px}.hero{background:#123e47;color:white;padding:42px 32px;border-radius:14px;margin:20px 0}.hero h1{font-size:clamp(26px,4vw,43px);margin:0}.hero p{margin-bottom:0}.filters{display:flex;gap:10px;margin:20px 0}.filters input{flex:1;min-width:0}.filters select{min-width:180px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.product{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:box-shadow .2s,transform .2s}.product:hover{box-shadow:0 9px 26px rgba(16,42,53,.1);transform:translateY(-2px)}.picture{height:190px;background:#f1f5f5;display:grid;place-items:center;font-size:40px}.picture img{width:100%;height:100%;object-fit:contain;padding:12px}.product-body{padding:16px;display:flex;flex-direction:column;flex:1;gap:7px}.product-body h3{margin:0;font-size:17px}.product-body p{color:var(--muted);min-height:42px;font-size:14px;margin:0}.product-body strong,.product-body small{display:block;margin:2px 0}.product-body strong{font-size:19px}.product-body form{margin-top:4px}.product-body>.secondary{margin-top:auto}input,select,textarea{padding:11px;border:1px solid #bccbd0;border-radius:7px;font:inherit;max-width:100%;background:white}button,.button{display:inline-block;background:var(--teal);color:white;border:0;border-radius:7px;padding:11px 17px;cursor:pointer;text-decoration:none;font:inherit;text-align:center}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#60717a}.product button{width:100%}.product button.picture{width:100%;height:190px;border:0;border-radius:0;padding:0;background:#f1f5f5;color:var(--ink);cursor:zoom-in;overflow:hidden}.product button.picture img{transition:transform .2s}.product button.picture:hover img{transform:scale(1.06)}.product button.picture:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f4bc56;outline-offset:2px}.cart-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid #ddd}.checkout{max-width:560px;background:white;padding:22px;border:1px solid #e0e7e9;border-radius:12px;display:grid;gap:15px}.checkout label{display:grid;gap:5px}.checkout input:not([type=checkbox]),.checkout select,.checkout textarea{width:100%}.error{color:#b42318}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:white}td,th{padding:11px;border:1px solid #dce4e7;text-align:left;white-space:nowrap}footer{margin-top:60px;background:var(--dark);color:#e5f1ef}
/* Enlarged product details dialog */
.quick-view-dialog{position:fixed;inset:0;width:min(900px,94vw);max-width:94vw;max-height:90vh;margin:auto;overflow-y:auto;border:0;border-radius:16px;padding:30px;background:#fff;color:var(--ink);box-shadow:0 20px 70px rgba(0,0,0,.25)}.quick-view-dialog:not([open]){display:none}.quick-view-dialog::backdrop{background:rgba(10,24,30,.72)}.quick-view-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center}.quick-view-image{background:#f6f8fa;border-radius:12px;min-height:280px;display:grid;place-items:center;padding:15px}.quick-view-image img{display:block;width:100%;max-height:450px;object-fit:contain}.quick-view-image img[hidden],#qvNoImage[hidden]{display:none}.quick-view-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;padding:0;background:#edf1f2;color:#23323b;font-size:26px;line-height:1;z-index:1}.quick-view-info{min-width:0;padding:12px 8px}.quick-view-info h2{margin:0 0 12px;font-size:clamp(23px,3vw,32px);line-height:1.2}.quick-view-info p{color:var(--muted)}.quick-view-info h3{font-size:25px;margin:18px 0}.quick-view-info form button{width:100%;max-width:320px;margin-top:12px}
@media(max-width:650px){.filters{flex-wrap:wrap}.filters input{flex-basis:100%}.filters select{flex:1;min-width:0}.cart-row{flex-wrap:wrap}.wrap{padding:15px}.nav{flex-wrap:wrap}.nav nav{gap:14px}.hero{padding:28px 22px}.grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px}.product-body{padding:12px}.product button.picture{height:165px}.quick-view-dialog{padding:45px 18px 20px;max-height:92vh}.quick-view-layout{grid-template-columns:1fr;gap:14px}.quick-view-image{min-height:190px}.quick-view-image img{max-height:270px}.quick-view-info{padding:0}.quick-view-info form button{max-width:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
