:root{--ink:#29211e;--paper:#fff9f2;--cream:#f5e7d5;--accent:#b85c38;--green:#526b56;--line:#e9d8c6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Noto Sans Thai",sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,6vw,88px);border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff9f2ef;backdrop-filter:blur(8px);z-index:5}.brand{color:var(--ink);font-family:Georgia,serif;font-size:23px;text-decoration:none;font-weight:700;display:flex;align-items:center;gap:9px}.brand img{height:38px;width:38px;object-fit:contain;border-radius:8px}.brand span{color:var(--accent)}.cart,.link{border:0;background:none;color:var(--accent);font-weight:700}.cart b{background:var(--accent);color:#fff;border-radius:99px;padding:2px 7px;margin-left:4px}main{max-width:1200px;margin:auto;padding:0 24px}.hero{min-height:420px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(110deg,#f6dfbd,#ead0ae);margin:0 -24px;padding:clamp(40px,8vw,100px) max(24px,calc((100vw - 1200px)/2 + 24px));border-radius:0 0 36px 36px}.hero p:first-child,.section-title p{font-weight:700;letter-spacing:.06em;color:var(--green);text-transform:uppercase;margin:0}.hero h1{font-family:Georgia,serif;font-size:clamp(40px,7vw,78px);line-height:1.02;margin:15px 0}.lead{font-size:18px;max-width:520px;margin:0 0 27px}.button{border:0;background:var(--accent);color:#fff;text-decoration:none;border-radius:9px;padding:13px 20px;font-weight:700;width:max-content}.wide{width:100%}section#menu{padding:68px 0}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.section-title h2{font-family:Georgia,serif;font-size:36px;margin:5px 0 0}.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:18px}.product{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:18px;display:flex;flex-direction:column;min-height:236px}.product-image{height:110px;margin:-18px -18px 16px;background:#f1d4a9 center/cover}.product h3{font-size:19px;margin:0 0 7px}.product p{color:#70645d;font-size:14px;margin:0 0 15px;flex:1}.product-bottom{display:flex;justify-content:space-between;align-items:center}.price{font-weight:800;color:var(--accent);font-size:18px}.add{border:1px solid var(--accent);color:var(--accent);background:#fff;border-radius:7px;padding:7px 10px}.drawer{position:fixed;right:0;top:0;width:min(420px,100%);height:100vh;background:#fff;z-index:20;padding:22px;transform:translateX(105%);transition:.25s;box-shadow:-8px 0 30px #0002;overflow:auto}.drawer.open{transform:none}.drawer-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.close{border:0;background:none;font-size:30px;color:var(--ink)}.line-item{display:grid;grid-template-columns:1fr auto;gap:5px;padding:13px 0;border-bottom:1px solid var(--line)}.qty{display:flex;align-items:center;gap:9px}.qty button{width:26px;height:26px;border:1px solid var(--line);background:#fff;border-radius:5px}.checkout{padding-top:18px}.hidden{display:none!important}.total{font-size:20px;display:flex;justify-content:space-between;margin-bottom:15px}.checkout input,.checkout textarea{width:100%;padding:11px;margin:0 0 10px;border:1px solid var(--line);border-radius:7px;background:#fffdf9}.checkout textarea{min-height:75px}.payment{display:grid;gap:9px;font-size:14px;margin:5px 0 17px}.modal{position:fixed;inset:0;background:#291b164f;display:grid;place-items:center;z-index:30;padding:20px}.modal-card{position:relative;width:min(460px,100%);background:var(--paper);border-radius:16px;padding:27px;box-shadow:0 10px 40px #0004}.modal-card>.close{position:absolute;right:12px;top:6px}.status{display:inline-block;padding:5px 10px;border-radius:30px;background:var(--cream);font-weight:700;color:var(--green)}.notice{background:#f3e2cc;padding:14px;border-radius:9px}footer{text-align:center;padding:32px;color:#766860;border-top:1px solid var(--line)}@media(max-width:550px){.hero{min-height:390px}.section-title h2{font-size:28px}.products{grid-template-columns:1fr 1fr}.product{padding:13px;min-height:220px}.product-image{margin:-13px -13px 13px}.product h3{font-size:16px}.product p{font-size:12px}}
