:root{--cream:#fbf6ef;--paper:#fff;--cocoa:#4a2f27;--cocoa-soft:#7a5a4f;--sage:#5f7d5a;--sage-dark:#48623f;--line:#e8ddd0;--error:#a23b2a;--radius:12px;color:var(--cocoa);background:var(--cream);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55}*{box-sizing:border-box}body{margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--sage-dark)}h1,h2,h3{font-family:Georgia,Times New Roman,serif;line-height:1.2}h1{margin:1.5rem 0 .5rem;font-size:clamp(1.9rem,4vw,2.6rem)}.wrap{max-width:1080px;margin:0 auto;padding:0 1.25rem}main.wrap{min-height:60vh;padding-bottom:3rem}.lead{color:var(--cocoa-soft);font-size:1.15rem}.muted{color:var(--cocoa-soft);font-size:.95rem}.skip-link{position:absolute;left:-999px}.skip-link:focus{background:var(--paper);padding:.5rem;top:1rem;left:1rem}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;display:flex}.brand{color:var(--cocoa);font-family:Georgia,serif;font-size:1.4rem;font-weight:700;text-decoration:none}nav{gap:1.25rem;display:flex}nav a{color:var(--cocoa);font-weight:500;text-decoration:none}nav a:hover{color:var(--sage-dark)}.basket-count{background:var(--sage);color:#fff;border-radius:999px;padding:0 .5em;font-size:.85em}.site-footer{border-top:1px solid var(--line);background:var(--paper);padding:1.5rem 0;font-size:.95rem}.button{background:var(--sage);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;display:inline-block}.button:hover{background:var(--sage-dark)}.button:disabled{opacity:.6;cursor:wait}.link-button{color:var(--sage-dark);cursor:pointer;font:inherit;background:0 0;border:0;text-decoration:underline}.hero{padding:2.5rem 0 1.5rem}.steps ol{padding-left:1.25rem}.steps li{margin-bottom:.4rem}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-link{color:inherit;height:100%;text-decoration:none;display:block}.card-image{aspect-ratio:4/3;object-fit:cover;width:100%}.card-body{padding:1rem}.card-body h3{margin:0 0 .35rem}.card-body p{margin:0 0 .5rem}.price{font-weight:700}.menu-group{margin-top:2rem}.badges{flex-wrap:wrap;gap:.4rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.badge{border:1px solid var(--line);background:var(--cream);border-radius:999px;padding:.1rem .6rem;font-size:.8rem}.badge-vegan{border-color:var(--sage);color:var(--sage-dark)}.crumbs{margin-top:1.5rem;font-size:.95rem}.product{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=800px){.product{grid-template-columns:1fr 1fr}}.product-image{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover;width:100%}.product h1{margin-top:0}.add-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin:1rem 0;padding:1rem}fieldset{border:0;margin:0 0 1rem;padding:0}legend{margin-bottom:.5rem;font-weight:600}.variant{align-items:center;gap:.6rem;padding:.4rem 0;display:flex}.variant .price{margin-left:auto}.qty{align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.form-status{min-height:1.5em;margin:.75rem 0 0}.notice{border-radius:var(--radius);background:#fff4e0;border:1px solid #f0d9a8;padding:.75rem 1rem}input,textarea{font:inherit;color:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;padding:.55rem .7rem}input[type=number]{width:5rem}.basket{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=900px){.basket{grid-template-columns:3fr 2fr;align-items:start}}.basket-lines{margin:0;padding:0;list-style:none}.basket-line{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr auto auto auto;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.9rem 1rem;display:grid}.basket-line p{margin:0}.line-total{text-align:right;min-width:4.5rem;font-weight:700}.checkout-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.checkout-form h2{margin-top:0}.checkout-form label{margin-top:1rem;font-weight:600;display:block}.checkout-form input,.checkout-form textarea{width:100%;margin-top:.3rem}.field-msg{min-height:1.3em;margin:.3rem 0 0;font-size:.95rem}.totals{grid-template-columns:1fr auto;gap:.3rem 1rem;margin:1.5rem 0 1rem;display:grid}.totals dd{text-align:right;margin:0}.totals .total{border-top:1px solid var(--line);padding-top:.4rem;font-size:1.1rem;font-weight:700}.errors{color:var(--error);padding-left:1.2rem}.zones{border-collapse:collapse;background:var(--paper);width:100%}.zones th,.zones td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem .8rem}
