*{box-sizing:border-box}body{margin:0;background:#f7f5ef;color:#242c26;font:16px/1.55 system-ui,sans-serif}header{background:#21372b;color:white}a{color:inherit}header a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 10px}nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}.shell{max-width:1080px;margin:auto;padding:0 20px}.top{display:flex;align-items:center;justify-content:space-between;min-height:64px;flex-wrap:wrap}.brand{font:700 24px Georgia,serif}.brand span{font:12px system-ui;margin-left:10px;background:#e3eadf;color:#21372b;padding:2px 8px;border-radius:5px}main{padding-bottom:50px!important}h1{font-size:clamp(30px,5vw,48px);margin:28px 0 10px}h2{font-size:20px;margin:0 0 8px}h3{margin:4px 0}.muted,small{color:#525c52}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:18px 0}.panel{background:#fff;border:1px solid #dbded5;border-radius:14px;padding:18px}.category{font-size:12px;font-weight:bold;letter-spacing:.12em;color:#45634e}.product{display:flex;flex-direction:column;justify-content:space-between;min-height:160px}.row,.controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row{justify-content:space-between}.controls output{min-width:24px;text-align:center}button,select,input{font:inherit;min-height:44px;border:1px solid #778478;border-radius:8px;padding:7px 12px;background:white;color:#21372b}button{min-width:44px;cursor:pointer}button.primary{background:#254e37;color:white;border-color:#254e37}button:disabled{opacity:.52;cursor:default}:focus-visible{outline:3px solid #096eae;outline-offset:3px}.checkout{position:sticky;bottom:0;box-shadow:0 -5px 20px #0001}.badge{background:#e5eee5;color:#254e37;border-radius:6px;padding:3px 8px;white-space:nowrap}#message:not(:empty){background:#fff0dc;padding:8px 12px;margin-bottom:12px}#ticket{display:none}label{display:inline-grid;gap:3px;font-size:14px}input{width:100%}.payment{display:grid;gap:8px;margin-top:12px}@media print{body{background:white}header,main{display:none}#ticket{display:block;color:#000;padding:8mm;width:75mm}}
.product-photo{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:9px;margin-bottom:10px}
