:root{--green:#315f17;--dark:#1d3e0c;--gold:#c98517;--cream:#fffaf0;--ink:#24231f;--muted:#6d6a61;--line:#e8dfcf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px "DM Sans",sans-serif;color:var(--ink);background:var(--cream)}a{color:inherit}.topbar{height:82px;padding:0 clamp(18px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:20;background:#fffaf0ee;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 1.35rem "Playfair Display",serif;color:var(--dark)}.brand img{width:54px;height:54px;border-radius:50%;object-fit:cover}.topbar nav{display:flex;gap:26px}.topbar nav a,footer a{text-decoration:none}.cart-button,.primary,.whatsapp{border:0;border-radius:999px;background:var(--green);color:#fff;padding:13px 20px;font:700 1rem "DM Sans";cursor:pointer;text-decoration:none;display:inline-flex}.cart-button span{background:#fff;color:var(--green);border-radius:50%;min-width:23px;height:23px;display:grid;place-items:center;margin-left:8px}.hero{max-width:1200px;min-height:610px;margin:auto;padding:70px 30px;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.eyebrow{margin:0 0 10px;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}h1,h2{font-family:"Playfair Display",serif;color:var(--dark);margin:0}h1{font-size:clamp(3.2rem,7vw,6.4rem);line-height:.97}.lead{color:var(--muted);font-size:1.15rem;line-height:1.7;max-width:610px;margin:26px 0}.hero-logo{background:#fff;padding:24px;border-radius:45%;box-shadow:0 20px 60px #44300e22}.hero-logo img{width:100%;display:block;border-radius:45%}.menu{padding:85px max(22px,calc((100vw - 1200px)/2));background:#fff}.heading{display:flex;justify-content:space-between;align-items:end;gap:25px}.heading h2,.steps h2{font-size:clamp(2.3rem,4vw,4rem)}.heading>p{color:var(--muted)}.filters{display:flex;gap:9px;overflow:auto;padding:30px 0 22px}.filter{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px;cursor:pointer}.filter.active{background:var(--dark);color:#fff}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{min-height:180px;border:1px solid var(--line);border-radius:21px;padding:21px;display:flex;flex-direction:column}.card.off{opacity:.55;background:#f3f1ed}.card-top{display:flex;justify-content:space-between;gap:10px}.card h3{margin:0}.category{color:var(--muted);font-size:.83rem}.status{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--green)}.off .status{color:#a6382d}.price{font:800 1.5rem "Playfair Display",serif;color:var(--green)}.add{margin-top:auto;border:1px solid var(--green);color:var(--green);background:#fff;border-radius:11px;padding:10px;font-weight:700;cursor:pointer}.steps{max-width:1200px;margin:auto;padding:90px 30px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:32px 0}.steps article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px}.steps article b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:#fff}.steps p{color:var(--muted)}.notice{border-left:4px solid var(--gold);padding:14px 17px;background:#fff}footer{padding:45px max(22px,calc((100vw - 1200px)/2));background:var(--dark);color:#fff;display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}footer div{display:flex;flex-direction:column;gap:7px}footer p{margin:0;color:#dce7d6}.backdrop{position:fixed;inset:0;background:#1119;z-index:40}.drawer{position:fixed;right:0;top:0;width:min(470px,100%);height:100dvh;background:#fff;z-index:50;padding:26px;overflow:auto;transform:translateX(105%);transition:.25s;box-shadow:-20px 0 60px #0003}.drawer.open{transform:none}.drawer header{display:flex;justify-content:space-between}.drawer header h2{font-size:2rem}.drawer header button{border:0;border-radius:50%;font-size:1.7rem;width:40px;height:40px}.cart-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}.cart-item p{margin:3px 0;color:var(--muted)}.qty{display:flex;align-items:center;gap:9px}.qty button{width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:50%}.empty{text-align:center;color:var(--muted);padding:35px}.total{display:flex;justify-content:space-between;border-top:2px solid var(--ink);padding:18px 0;font-size:1.2rem}label{display:block;font-weight:700;margin:13px 0}input,textarea{width:100%;display:block;margin-top:7px;padding:13px;border:1px solid #ccc4b8;border-radius:11px;font:inherit}textarea{min-height:78px}.whatsapp{width:100%;justify-content:center;background:#168b48}form small{display:block;text-align:center;color:var(--muted);margin-top:10px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,130%);background:var(--dark);color:#fff;padding:12px 18px;border-radius:999px;z-index:70;transition:.2s}.toast.show{transform:translate(-50%,0)}.admin{background:#f5f4ef}.admin-shell{max-width:950px;margin:auto;padding:40px 22px}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.login{max-width:470px;margin:50px auto}.login .primary{width:100%;justify-content:center}.admin-row{display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px;border:1px solid var(--line);border-radius:13px;margin:9px 0}.admin-row p{margin:4px 0;color:var(--muted)}.switch{width:53px;height:30px;border:0;border-radius:20px;background:#aaa;position:relative}.switch:after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:.2s}.switch.on{background:var(--green)}.switch.on:after{left:26px}.admin-status{color:var(--muted);padding:10px 0}@media(max-width:820px){.topbar nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-logo{max-width:410px;margin:auto}.grid,.steps-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.topbar{height:70px}.brand span{display:none}.brand img{width:45px;height:45px}.hero{padding:42px 20px 65px;gap:45px}h1{font-size:2.8rem}.menu,.steps{padding:62px 20px}.heading{display:block}.grid,.steps-grid,footer{grid-template-columns:1fr}.admin-head{align-items:flex-start;flex-direction:column}}
