*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui;color:#17342a;background:#f5f7f4}.shop-header{padding:32px max(5%,calc((100% - 1050px)/2));color:white;min-height:160px;background-size:cover}.shop-header img{max-width:160px;max-height:100px;object-fit:contain}h1{font-size:30px}main{max-width:1150px;margin:auto;padding:28px;min-width:0}.shop-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}.shop-products{display:grid;gap:16px}.product,.cart{padding:22px;border:1px solid #d9e3db;border-radius:18px;background:white;min-width:0}.product img{width:100%;height:160px;object-fit:cover;border-radius:12px}.product h2{font-size:21px;margin:10px 0}.product p{color:#5a7064}.cart{align-self:start;position:sticky;top:20px}.cart h2{font-size:21px}label{display:block;font-size:14px;margin:12px 0}input,select,textarea{font:inherit;width:100%;padding:10px;border:1px solid #b8cbbc;border-radius:8px;background:white;color:inherit}.choice{display:flex;align-items:center;gap:10px}.choice input{width:auto}button{padding:11px 16px;background:#194b3a;color:white;border:1px solid #194b3a;border-radius:9px;font:inherit;cursor:pointer}button.secondary{color:#194b3a;background:white}button:disabled{opacity:.55;cursor:wait}.cart-item{padding:14px 0;border-bottom:1px solid #e1e8df}.cart-item button{font-size:12px;padding:4px 8px;margin-top:6px}.notice,.preview-notice{padding:14px;background:#fff2cc;color:#694b13;border-radius:10px;margin-bottom:18px}.preview-notice{margin:0;text-align:center;border-radius:0}.shop-footer{max-width:1150px;margin:auto;padding:20px 28px;font-size:14px}.status{padding:16px;background:#e4f3e8;border-radius:12px}.muted{color:#65786b;font-size:13px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}fieldset{border:1px solid #e1e8df;border-radius:10px;padding:12px;margin:16px 0}legend{font-size:13px;font-weight:700}.message{color:#a32b20;padding:12px 0}a{color:#194b3a}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #3975bb;outline-offset:2px}[hidden]{display:none!important}@media(max-width:800px){main{padding:18px}.shop-grid{grid-template-columns:1fr}.cart{position:static}.shop-header{padding:24px}}
