:root{--green:#31543c;--green-dark:#24422e;--ink:#26362b;--muted:#72796f;--line:#e3e6dd;--paper:#fff;--bg:#f7f7f2;--sand:#ebece2;--clay:#bf7953;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px}.locked{overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.topbar{height:74px;padding:0 max(calc((100vw - 1120px)/2),5%);background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:15px;font-weight:700;letter-spacing:-.3px}.brand-mark{font-family:var(--serif);font-weight:600;font-size:23px;letter-spacing:-2px;position:relative}.brand-mark span{position:absolute;top:-4px;right:-9px;color:var(--clay);font-size:10px}.top-note{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.fresh-dot{width:8px;height:8px;border-radius:50%;background:#6b8a59}.bag-button{border:1px solid #cbd3c6;background:var(--paper);color:var(--ink);padding:10px 15px;border-radius:6px;font-size:12px;font-weight:600;display:flex;gap:10px;align-items:center}.bag-button span{background:var(--green);color:white;border-radius:20px;min-width:21px;height:21px;display:grid;place-items:center;font-size:10px}.shop-intro{max-width:1120px;margin:auto;padding:42px 0 31px}.eyebrow{color:var(--green);font-weight:700;font-size:10px;letter-spacing:1.2px;margin:0 0 10px}.shop-intro h1{font-family:var(--serif);font-size:43px;line-height:1.1;letter-spacing:-1px;font-weight:500;margin:0}.mobile-break{display:none}.intro-note{color:var(--muted);font-size:13px;margin:12px 0 0}.shop-area{max-width:1120px;margin:0 auto 0;padding-bottom:24px}.shop-heading{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:14px}.shop-heading h2{font-family:var(--serif);font-size:23px;font-weight:500;margin:0}.shop-heading span{font-size:11px;color:var(--muted)}.categories{display:flex;gap:9px;padding:17px 0 20px;overflow-x:auto}.category{border:1px solid #d9ded4;background:var(--paper);color:#596458;border-radius:30px;padding:9px 15px;font-size:11px;white-space:nowrap}.category:hover{border-color:#98a493}.category.active{background:var(--green);color:white;border-color:var(--green)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.product-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:box-shadow .2s,transform .2s}.product-card:hover{box-shadow:0 8px 22px rgba(37,54,42,.08);transform:translateY(-2px)}.product-image{height:220px;position:relative;background:#e8e9e1}.product-image img{width:100%;height:100%;object-fit:cover;display:block}.product-label{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.95);padding:7px 9px;border-radius:3px;color:#586553;font-size:8px;letter-spacing:.8px;font-weight:700}.product-info{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:15px 15px 11px}.product-info h3{font-size:15px;margin:0 0 6px;font-weight:600;letter-spacing:-.3px}.product-info p{font-size:10px;color:var(--muted);margin:0}.price{font-size:13px;white-space:nowrap;color:var(--green-dark)}.add-button{width:calc(100% - 30px);margin:0 15px 15px;border:1px solid var(--green);border-radius:5px;background:white;color:var(--green);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;transition:background .15s,color .15s}.add-button b{font-size:17px;font-weight:500;line-height:10px}.add-button:hover{background:var(--green);color:white}.delivery-info{max-width:1120px;margin:12px auto 50px;border-radius:6px;padding:14px 16px;background:#eff1e9;display:flex;gap:11px;align-items:center;font-size:11px;color:#5f695c}.delivery-info b{color:var(--ink)}.delivery-info a{color:var(--green);font-weight:700}.delivery-icon{color:var(--green);background:#dbe4d5;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:700}footer{min-height:54px;border-top:1px solid var(--line);background:var(--paper);padding:15px max(calc((100vw - 1120px)/2),5%);display:flex;justify-content:space-between;color:#8a9085;font-size:10px}.overlay,.checkout-overlay{position:fixed;inset:0;z-index:10;background:rgba(23,38,27,.43);opacity:0;visibility:hidden;transition:.22s}.overlay.open,.checkout-overlay.open{opacity:1;visibility:visible}.bag-drawer{position:fixed;z-index:11;inset:0 0 0 auto;width:min(430px,100%);background:var(--paper);padding:27px 27px 22px;display:flex;flex-direction:column;transform:translateX(101%);transition:transform .25s}.bag-drawer.open{transform:translateX(0)}.drawer-header{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:18px}.drawer-header .eyebrow{margin-bottom:6px}.drawer-header h2{font-family:var(--serif);font-size:29px;font-weight:500;margin:0}.drawer-header h2 span{font-family:var(--sans);font-size:13px;color:var(--muted)}.close-button{border:0;background:none;color:#596458;font-size:27px;line-height:1;padding:0 3px}.cart-items{overflow-y:auto}.cart-line{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}.cart-line>img{width:72px;height:68px;object-fit:cover;border-radius:4px}.cart-line-info h3{font-size:12px;margin:0 0 5px}.cart-line-info p{font-size:9px;color:var(--muted);margin:0}.cart-line>b{font-size:11px;white-space:nowrap}.quantity{display:flex;align-items:center;gap:9px;margin-top:8px;font-size:11px}.quantity button{width:23px;height:23px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--green);font-weight:700}.cart-empty{margin:auto;text-align:center}.empty-bag{display:grid;place-items:center;margin:auto;width:45px;height:45px;border-radius:50%;background:#edf0e8;color:var(--green);font-size:24px}.cart-empty h3{font-family:var(--serif);font-size:24px;font-weight:500;margin:15px 0 7px}.cart-empty p{color:var(--muted);font-size:11px;margin:0 0 20px}.cart-footer{border-top:1px solid var(--line);padding-top:16px;margin-top:auto}.subtotal{display:flex;justify-content:space-between;font-size:13px}.delivery-note,.payment-note{font-size:10px;color:var(--muted);margin:8px 0 14px}.primary-button{border:0;border-radius:5px;background:var(--green);color:white;font-weight:700;font-size:12px;padding:14px 16px;min-height:45px;display:flex;width:100%;justify-content:space-between;align-items:center}.primary-button:hover{background:var(--green-dark)}.primary-button span{font-size:17px}.cart-footer .payment-note{text-align:center;font-size:9px;margin-bottom:0}.checkout-overlay{z-index:20;display:grid;place-items:center;padding:20px;overflow:auto}.checkout-card{background:var(--paper);width:min(500px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:30px 33px;position:relative;transform:translateY(8px);transition:transform .2s}.checkout-overlay.open .checkout-card{transform:none}.checkout-close{position:absolute;right:21px;top:20px}.checkout-card h2{font-family:var(--serif);font-weight:500;font-size:29px;line-height:1.17;letter-spacing:-.4px;margin:0 0 13px}.checkout-summary{background:#f0f1ea;padding:11px 13px;font-size:10px;color:#697264;display:flex;justify-content:space-between;margin-bottom:14px}.checkout-summary b{color:var(--ink)}#checkoutForm{display:grid;gap:10px}#checkoutForm label{font-size:10px;font-weight:600;color:#4e5c4d;display:grid;gap:5px}#checkoutForm input,#checkoutForm textarea,#checkoutForm select{width:100%;border:1px solid #d9ded4;border-radius:4px;background:white;padding:10px;font-size:11px;color:var(--ink);outline:none}#checkoutForm input:focus,#checkoutForm textarea:focus,#checkoutForm select:focus{border-color:var(--green)}#checkoutForm textarea{resize:vertical}.optional{font-size:9px;color:#8a9085;font-weight:400}.checkout-total{border-top:1px solid var(--line);padding-top:12px;margin-top:3px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.checkout-total small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.checkout-total>b{font-size:15px}.place-order{margin-top:1px}.success-view{text-align:center;padding:45px 4px 25px}.success-icon{width:50px;height:50px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:#e7eee3;color:var(--green);font-size:24px}.success-view h2{font-size:29px;margin:8px 0}.success-view>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.6}.order-number{font-size:10px!important}.toast{position:fixed;z-index:40;bottom:20px;left:50%;transform:translate(-50%,12px);background:var(--green-dark);color:white;padding:12px 17px;border-radius:5px;font-size:11px;opacity:0;transition:.2s;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(max-width:1200px){.shop-intro,.shop-area,.delivery-info{margin-left:5%;margin-right:5%}.topbar{padding-inline:5%}footer{padding-inline:5%}}
@media(max-width:700px){.topbar{height:63px}.top-note{display:none}.shop-intro{padding-top:30px;padding-bottom:23px}.shop-intro h1{font-size:34px}.mobile-break{display:inline}.intro-note{font-size:12px;max-width:270px;line-height:1.5}.shop-heading h2{font-size:21px}.categories{padding-block:13px 16px;gap:7px}.category{padding:8px 12px;font-size:10px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.product-image{height:clamp(125px,37vw,215px)}.product-label{left:7px;top:7px;padding:6px;font-size:7px}.product-info{display:block;padding:10px 9px 8px;min-height:73px}.product-info h3{font-size:12px;margin-bottom:5px}.product-info p{font-size:9px;line-height:1.35}.price{display:block;font-size:12px;margin-top:8px}.add-button{width:calc(100% - 18px);margin:0 9px 10px;padding:9px;font-size:10px}.delivery-info{margin-top:7px;margin-bottom:30px;font-size:10px;line-height:1.5}footer{font-size:9px}.bag-drawer{padding:22px 18px}.checkout-card{padding:28px 20px}.checkout-card h2{font-size:25px}}

.auth-button{border:1px solid #cbd3c6;background:var(--paper);color:var(--green-dark);padding:10px 13px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.auth-button:hover{border-color:var(--green);background:#f5f7f2}.auth-button:focus-visible,.bag-button:focus-visible{outline:2px solid var(--green);outline-offset:2px}@media(max-width:700px){.topbar{gap:8px}.auth-button{padding:9px 10px;font-size:10px}.brand{font-size:13px;gap:8px}}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer-links a{color:var(--green-dark);text-decoration:underline;text-underline-offset:3px}.policy-page{max-width:820px;margin:0 auto;padding:42px 24px 72px;line-height:1.7}.policy-page h1,.policy-page h2{font-family:var(--serif);font-weight:500;color:var(--green-dark)}.policy-page h1{font-size:38px;line-height:1.2}.policy-page h2{font-size:22px;margin:30px 0 8px}.policy-page p,.policy-page li{color:#465348}.policy-page .policy-updated{color:var(--muted);font-size:12px}.policy-page footer{margin:48px -24px -72px}.policy-page .back-link{display:inline-block;margin:4px 0 14px;color:var(--green-dark);font-weight:600}@media(max-width:700px){.footer-links{gap:12px}.policy-page{padding-top:28px}.policy-page h1{font-size:31px}.policy-page footer{margin-top:36px}}

footer{gap:12px;align-items:center;flex-wrap:wrap}
